(←) предыдущая запись ; следующая запись (→)
образовательное, программистское
Мне нравится концепция стеганографии. Это когда сообщение так «вшитo» в ноcитель, что сторонний наблюдатель даже не знает о том, что тайное сообщение вообще есть.
Скажем, в картинке можно чуть-чуть поменять интенсивности пикселов так, чтобы глазом разница была не заметна, но вот эти маленькие колебания (младший бит) будут составлять отдельное сообщение: другую картинку или текст, число и вообще что угодно другое (если размер сообщения влезает в оболочку)
В тексте тоже несложно скрывать информацию о ничего не подозревающего читателя. Например, можно кодировать информацию числом пробелов и неразрывных пробелов (наивный читатель почти наверняка не заметит), можно заменять буквы «о» и «с» на их латинские аналоги: в большинстве шрифтов подмена не будет видна.
Например, если суметь правильно интерпретировать информацию, тo в этoм сooбщении вы сможете прочитать данные моей банковскoй карточки.
Также можно использовать в качестве носителя информации длины слов, поскольку почти всегда существуют синонимы с разным числом букв, а нет если, переставить слова можно.
Просто скрытыми числами кодировать информацию не очень надёжно. Но всегда можно добавить больше слоёв обфускации. В детективных сюжетах вы наверняка видели шифры с использованием «словаря»: числа в тексте являются номерами страницы-строки-колонки в какой-то книге, о которой собеседники заранее договорились.
———
Начинающие «хакеры» часто считают, что могут надёжно скрыть следы своей деятельности. И, конечно, на этом прогорают.
Можно было бы подумать, что стеганография — идеальный инструмент. Увы, он хорошо работает только если ваш читатель — человек, который не ожидает, что в вашем тексте что-то скрыто. Если же вас читает криптограф (или предназначенный для массового скрининга алгоритм), то он вас раскусит.
Каким образом? Дело в том, что статистические характеристики нормального текста и нормальных картинок известны. А у сообщения со скрытым слоем статистические характеристики другие. Например, младший бит нормальной картинки должен быть распределён равномерно, он фактически является случайным шумом. А если туда вшить информацию, то в некоторых участках картинки будет сильно неслучайное распределение, это легко детектируется в автоматическом режиме. Кстати, схожими методами в картинках детектируются следы фотошопа.
———
Как и любая технология, стеганография является инструментом и защиты, и нападения. Например, её используют для фингерпринтинга документов. Например, вы копируете или фотографируете из внутренней системы компании секретный документ и анонимно его публикуете. Вы и знать не знаете, что в него как встроен как «водяной знак» ваш идентификатор, и источник утечки легко будет обнаружен.
Причём подобные «закладки» делают не только в софте, но и в железе. Так раньше печатные машинки и принтеры имели немного разные дефекты печати, чтобы можно было по распечатке сказать, на каком принтере она сделана.
Аналогично фотокамера вашего телефона имеет едва заметные дефекты оптики и матрицы. У каждого телефона такие дефекты будут чуть свои. Не факт даже, что эти дефекты сделаны специально (хотя я бы не исключал и такого варианта), они могут получиться случайно: пылинка попала.
Фокус в том, что если у кого-то есть сотня фотографий с вашего телефона (77.8% статистических величин взяты из головы) , то он поймёт, какие именно дефекты вносит ваша камера. И когда увидит сто первую фотку, он сможет сказать, сделана ли она вашим телефоном или нет.
Как вы думаете, сколько фотографий с вашего телефона лежит в соцсети? Хватит, чтобы вас зафингерпринтить? ;)