Стеганография - искусство пряток — Архив WASM.RU
[ Примечание переводчика: надо сказать, что между оригиналом и переводом существует немалое количество расхождений, так как в процессе перевода оказалось, что многие языковые структуры, которые употребляет автор, не входят в арсенал переводчика, поэтому кое-где последний вставал в тупик и долго думал, как из него выбраться. Однако бросать наполовину переведенный текст было переводчик не решился, поэтому он сделал всё, от него зависящее, чтобы создать перевод, более или менее передающий суть оригинала. ]
В этой статье мы поговорим о действительно интересной теме, которой во многих случаях не уделяется достаточно внимания, хотя сам предмет разговора имеет непосредственное отношение ко всему информационному сообществу.
Нет! Стеганография - это не наука, изучающая стегозавров, это наука скрывания сообщений, но не путем их превращения в нечто нераспозноваемое, как это происходит в криптографии, а путём того, чтобы они оставались незамеченными.
Перед тем как перейти непосредственно к сути дела, необходимо изложить некоторые определения того, что такое стеганография с точки зрения этимологии, с точки зрения информатики и с точки зрения науки.
Этимологически, термин "стеганография" происходит от греческого слова "stegos", которое означает крышу. Таким образом, значение слова "стеганография" - это "письменная крыша".
С научной точки зрения стеганография - это набор методов и техник, камуфлирующих сообщение так, чтобы оно прошло незамеченным.
С технической точки зрения электронная стеганография заключается в том, чтобы включить сообщение в другой файл, так чтобы... ла ла ла.
Большая часть этого документа будет посвящена тому, чтобы показать, что стеганография - это гораздо больше, чем включение одного файла в другой, как это утверждается на многих сайтах.
[ Практики включения ака: как это сделать? ]
Существует тысячи способов включить сообщение, звук или изображение в другой файл, но главное отличие этих методов состоит в том, какой тип файла используется в качестве "крыши". На сегодняшний день существуют алгоритмы для скрытия сообщения в gif, bmp, jpeg, mp3, wav, mpeg... и многих других форматах. Все они используют более или менее схожие принципы, и у всех есть значительные ограничения. Не думайте, что сможете спрятать всю Библию в фотографию своей семьи...
Разумеется, целью данной статьи не является, как включать сообщения, ни оценивать соответствующие алгоритмы, ни тестировать призванные для их осуществления программы, поскольку это всего лишь введение в эту прекрасную тему.
Рассмотрим простой пример включения сообщения в файл BMP формата, для чего нам понадобится фотография нашей тёщи (используйте фотографию СВОЕЙ тёщи! Если её у вас нет, используйте фотографию другой не менее важной персоны) и сообщение. Предполагаем, что фотография имеет размер 200x400 пикселей.
В этом формате каждый пиксель представляется байтом, который, как известно, состоит из восьми битов (например, 00110101), изображение воссоздаётся из матрицы, содержащей все эти пиксели (рекомендуется, чтобы не использовалось RLE-сжатие).
Мы можем представить, что часть матрицы выглядить следующим образом:
Код (Text):
... 00010101 10100101 01010101 00110101 01110101 01000010 01010011 01101010 00001011 01010101 10100101 01010111 11010111 10000101 01010010 01010010 10101001 10101011 00001001 10100100 00010001 10100101 00010101 10100101 ...Каждый байт означает цвет, и в чём же трюк?... Мы знаем, что если мы чуть-чуть подправим цвета, то в результате изменение изображения не будет заметно. Также мы знаем, что изменение самого младшего бита почти не скажется на получившемся в результате изображении, поэтому именно его мы и будем использовать...
Хотя об этом не было сказано ранее, сообщение, которое мы будем включать в изображение - это "SET" (название ezine, в котором был опубликован оригинал данной статьи - прим. пер), поэтому длл того, чтобы сделать задуманное нами, необходимо три октета, по одному на каждую букву. В шестнадцатиричной системе последние выглядят так - 73 65 74, а в двоичной так - 01001001 01000001 01001010.
Таким образом, изображение меняется следующим образом (изменяется последний бит каждого байта):
Код (Text):
00010100 10100101 01010100 00110100 01110101 01000010 01010010 01101011 - - - - - - - - 00001010 01010101 10100100 01010110 11010110 10000100 01010010 01010011 - - - - - - - - 10101000 10101011 00001000 10100100 00010001 10100100 00010101 10100100 - - - - - - - - ...Как можно видеть, несмотря на данные изменения, это не оказало значительного влияния на изображение. Занимательно, правда?
Разумеется, рассмотренный выше пример очень базов, усложнения этого алгоритма призваны преодолеть неизбежные ограничения. А теперь поговорим вот о чём. Ранее я написал, что есть множество методов помещать сообщения в файл. Подумайте, что если в предыдущем примере нам надо было бы поместить не три буквы, а шесть?
Легко! Можно использовать два самых младших бита, хотя это приведёт к тому, что в нашем изображении будет больше искажений. Также можно было бы поместить сообщение в заголовок файла или после финальной отметки... Всё зависит от того, какое изображение используется, есть много способов вставки сообщений, и принцип, использованный в примере выше можно использовать для многих других форматов файлов.
[ Ограничения стеганографии ака до чего можно дойти? ]
Самым приятным может показаться, что мы можем скрывать информацию, когда общаемся с кем-нибудь, и нас может радовать мысль, что даже если кто-то следить за нашей машиной, ничего важного он не встретит... Но на самом деле стеганография - это техника, которая ещё мало развита, мы пока находимся в каменном веке стеганографии.
В действительности возможность эффективного использования стеганографии зависит от размера сообщения, изображения, палитры цветов, и от того, что на мой взгляд является самым главным, от человеческого фактора: мало смысла скрывать что-либо где-то, если это где-то само по себе вызывает подозрения. Например, не стоит класть фотографию с пейзажем посреди директории, в которой находятся файлы совершенно другого типа. Файл, скрывающий сообщение, не должен привлекать к себе внимания.
Как это уже упоминалось ранее, сравнение различных стеганографических приложений не является целью данной статьи. По моему личному мнению все стеганографические приложения страдают значительными ограничениями, многие работают только с некоторыми типами файлами или очень требовательны к типу изображения, не говоря о том, что практически все только с изображениями и работают... Наконец в стеганографии не существует программы, подобной PGP в криптологии, хотя во всех этих приложений содержится большой спектр возможностей, поэтому необходимо иметь кучу таких программ, чтобы иметь выбор в том как и где скрыть ваше сообщение.
Также необходимо принимать в расчёт, что многие стеганографические алгоритмы не "переживают" модификацию файла, содержащего сообщение.
[ Приложения в реальной жизни aka когда и где они используются? ]
Вы уже могли подумать, что всё вышеизложенное парни из SET увидели в каком-то фильме, не имеющего ничего общего с реальностью. Нет, стеганография используется в реальной жизни с более или менее положительными успехами. Далее мы рассмотрим некоторые области применения: водяные знаки, передача террористических сообщений, обнаружение авторских прав и некоторые другие.
Водяные знаки
Как известно, корпорации вроде RIAA или SGAE (в Испании) употребляют слово "стеганография" как синоним "водяных знаков".
В реальности водяные знаки и стеганография - это не совсем одинаковые вещи, к тому же намерения пользователей стеганографии и пользователей водяных знаков также совпадают далеко не всегда.
Правообладатели включают водяные знаки во все свои файлы, чтобы спустить в дальнейшем своих "пауков" (специальные программы) с привязи, дабы те искали mp3 с этим водяными знаками. Когда они находят такие, то держателю ресурса, где были обнаружены пиратские mp3, приходят сообщения, подписанные адвокатами правообладателей.
Некоторое время назад прочитал (верю, что на www.barrapunto.com), что RIAA утверждает, что владеет технологией новых водяных марок, позволяющих использовать файл-носитель только ограниченное количество раз, после чего он становится нерабочим. Лично мне кажется, что подобные меры должны идти рука об руку с такими: запретить RIAA употреблять алкоголь, иначе она получит овердоз... какая ещё водяная марка, не дающая использовать файл? сколько литров алкоголя нужно выпить, чтобы ляпнуть подобную глупость?
Я ходил на уроки информатики и помню, что согласно теории mp3 подаётся на вход программе и может быть на её выходе и сам по себе не может напрямую влиять на ход выполнения программы. Поэтому, чтобы воплотить то, о чём говорит RIAA, нужна инфраструктура, которую легко спроектировать в теории, но нелегко ввести в употребление.
- Нужна программа, которая бы считывала бы количество раз запусков mp3 и прибавляла бы к этому счётчику единицу каждый раз, когда кто-то запускает mp3.
- Когда количество запусков достигает максимума, необходимо уничтожать архив.
Можно предположить следующие: меняем открытый формат mp3 на формат, в котором используется шифрование, где базой для последнего является количетство запусков... хотя, конечно, для этого нужна монополия на программы, проигрывающие mp3... Если такое случится, то пираты будут просто грабить на лету то, что должно будет идти на колонки, но это уже другая история...
Изначальное предназначение: спрятанные сообщения
Общеизвестно, что вокруг террористического акта 11 сентября витает множество мифов, одним из которых является система, использовавшаяся Бин Ладеном и его друзьями для общения друг с другом, чтобы обойти Эшелон и подобные ему системы слежения. Думаю, что знаю ответ: стеганография.
Если слухи, которые ходят по Интернету, верны, то способ, которым использовалась стеганография Аль-Каедой, наводит на мысль, что в этой организации далеко не все являются новичками в компьютерах, увидевшими его в первый раз в жизни и до этого всю жизнь читавшими Коран.
Несомненно, они умеют обращаться с техникой. Например, каким образом могли передаваться сообщения?
Был необходим сайт, через который можно было бы передавать достаточное количество сообщений, но вместе с тем, он не должен был быть подозрительным. Например, человек Аль-Каеды мог работать администратором на каком-нибудь сайте о распродажах одежды из вторых рук, сайтов вроде ebay (по крайней мере, о нём ходят такие слухи) или segundoamano.com.
Обнаружение авторских прав
Это очень похоже на то, что мы уже рассматривали - на водяные знаки. Многие софтверные фирмы (не буду перечислять по именам... ладно, например Микрософт) прячут подобным образом номер лицензии, а также персональные данные человека, пользующегося программой.
Это применение настолько очевидно, что я не буду слишком много об этом говорить, понятно, что индустрия может и должна себя защитить, хотя стоит также напомнить, что это абсолютное нарушение частной жизни, когда данные об абсолютно невинном пользователе прячутся таким образом, чтобы их мог прочитать какой-то другой человек.
Существую также другие применения, но они встречаются гораздо реже и не будут упомянуты в этой статье.
[ Ручная стеганография ]
Я уже говорил, что с долей скептицизма отношусь к современным стеганографическим приложением, так как их возможности весьма ограниченны.
Но без сомнения, я верю в другой тип стеганографии, который может назвать "ручной стеганографией", стеганографией, которая делается своими руками. Существует множество систем скрывания информацияю, и не обязательно прятать в изображениях или музыке, вы можете спрятать сообщения или шифр в других документах, таких как .exe, .xls, .txt и многих других, главное знать формат файла. Чтобы эффективно использовать эту технику, нужно с воображением подходить к делу и использовать наименее подозрительные места.
Также думаю, что не хватает гения, который добьется того, чтобы можно было включать файлы-носители друг в друга.
Одной формой стеганографии, хотя и довольно тупой является интерпретация слов. Вот пример.
"Я тебя хочу, ты меня ненавидишь, ты меня хочешь, я тебя ненавижу. На самом деле ты не понимаешь, что я чувствую, и думаю, что я чувствую боль из-за того, что чувствуешь ты".
Как видите, абсолютно нормальный текст - любовное послание. Сейчас извлечём из текста все "я" и "ты":
Код (Text):
я ты ты я ты я я тыИ если мы будем считать "я" равным 1, а "ты" равным 0, то у нас получится:
Код (Text):
1 0 0 1 0 1 1 0 0 1Это частично зашифрованное сообщение. Конечно, если письмо будет написано точно так же, как это сделано выше, то перехвативший его человек может подумать две вещи: не являются ли отправитель сообщения идиотом, либо не скрывается ли здесь что-то серьёзное. Поэтому текст должен быть гораздо больше и более сложным по контексту, чтобы не привлекать внимания.
Заканчивая с данным разделом хочу отметить, что если кто-то думаешь, что стеганография - это сравнительно недавнее изобретение, то он заблуждается. Она использовалась древними греками, в средние века, а также немцами во время Второй мировой войны.
[ Хорошие способы попрактиковаться в использовании стеганографии ]
Если кто-то решил спрятать пару-другую своих файлов, вот несколько советов, которые вам следует принять во внимание:
- Убедитесь, что ваш файл-новитель соответствует контексту. Например, изображение должно находиться там, где оно не вызовет никаких подозрений, скажем в директории с другими картинками.
- Электронная стеганография во многом предназначена для того, чтобы прятать ваши сообщения от взглядов тех, кому оно не предназначается. Учтите, вы рискуете тем, что вас примут за подразделение Аль-Каеды .
- Выбирайте правильную стеганографическую систему, избегайте слишком известных программ. Никогда не знает, по каким критериям осуществляется поиск сообщений, никто не знает, какими инструментами пользуются те, кто контролируют Эшелон, и насколько эффективно они это делают, никто не знает, какое программное обеспечение используется для шпионских сетей.
- Помните, что в случае, если это окажется нелегальным (хотя во многих странах не существует каких-либо законодательных ограничений относительно стеганографии), вы всегда сможете сослаться на случайность и незнание .
[ Некоторые ссылки ]
Для тех, кому захотелось продолжить исследования в данной области, я привожу несколько ссылок по этой теме, хотя я уже предупредил, что информация очень разбросана и почти вся на английском.
- http://www.jjtc.com/Steganography/ --> довольно хороший сайт.
- http://www.StegoArchive.com --> довольно полный сайт.
- http://steganography.com/ --> для похода за покупками.
- http://www.privacyexposed.com/resources/steganog.htm --> много ссылок.
Также можно попробовать воспользоваться ответами, которые даёт по этой теме Google. © GRRL / SET#26, пер. Aquila
Стеганография - искусство пряток
Дата публикации 3 июл 2003