Архивы: по дате | по разделам | по авторам

Охота на стегозав[т]ра*

Архив
автор : Константин Великов   25.01.2001

Who needs information
When you’re living in constant fear?
Just give me confirmation
There’s some way out of here…
Roger Waters.
Radio KAOS, «Who needs information»


Информация о стеганографии 1 несколько раз мелькала на страницах «КТ», правда, как правило, все сводилось к упоминанию о том, что это - особый раздел криптографии (сами стеганографы, впрочем, подчеркивают различие: цель стеганографии - избежать подозрения в обмене тайными сообщениями). Заинтересовавшись тематикой, я нашел целую коллекцию стеганографических продуктов для Windows. Надо сказать, их немного, и большинство из них доступны только за деньги: freeware еще надо поискать. А такая вещь, как стеганографическая файловая система (StegFS), существует пока лишь для Linux.

Что это такое

Коротко, стеганография решает следующую задачу: хранение информации внутри другой информации, причем наличие секретного содержания доказать очень сложно (ну, конечно, иначе, чем подсмотрев за вашими действиями). Плюс к этому секретная часть шифруется зарекомендовавшим себя алгоритмом - Blowfish, Twofish, RC4, RSA, TripleDES и др. Такие программы специализируются на определенных типах файлов, с достаточно высокой избыточностью информации, то есть текстах, звуках, изображениях, видео. Так что у любителей обмена секретными посланиями появилась отличная возможность косить под любителей обмена mp3-файлами.

Как это работает

В общем случае программа требует в первую очередь «носитель» информации - файл или группу файлов определенного типа (типов), например, BMP (впрочем, есть и пакеты, специализирующиеся на EXE и DLL). В ваших интересах, чтобы картинка (музыка) была как можно более качественной и несжатой, ибо для хранения дополнительной информации будет использоваться избыточная ее часть - та же, что используется архиваторами и оптимизаторами для сокращения объема файла. Вторая составляющая - собственно ваша информация, требующая закрытия. Она может быть как простым текстовым сообщением, так и произвольным двоичным файлом. Следующее - пароль; в зависимости от продукта - текстовая строка, файл или ключ PGP.

На выходе программы получаем файл того же типа, что и исходный носитель. Он выглядит так же (в случае изображения), но уже несет в себе ваше сообщение. Извлечение сообщения происходит в обратном порядке - вводите пароль, получаете сообщение.

Примеры использования

Вообще, вариантов множество. От мини-файловой системы, размазанной по группе файлов-носителей, до генераторов псевдоанглийского текста (есть также метод замены слов и словосочетаний на синонимичные в любом английском тексте - «The auto drives fast on a slippery road over the hill» становится, например, «Over the slope the car travels quickly on an ice-covered street»).

Упомянутая стеганографическая файловая система StegFS использует в качестве носителя свободные блоки на стандартном разделе и работает параллельно со стандартным драйвером. Взяв на себя функции по выделению дискового пространства, она гарантирует неприкосновенность секретных данных. 128-битное шифрование и возможность открытия нескольких «слоев» информации практически гарантируют защиту частных данных даже в том случае, когда хозяина принудительно обязывают раскрыть их. Однако перезапись всего свободного пространства приведет к полной потере информации, но все-таки не приведет к ее раскрытию.

Для своих экспериментов я выбрал программу GIFshuffle, специализирующуюся, понятно, на GIF’ах. Программа привлекла меня тем, что она бесплатная, работает из командной строки и не подмешивается в изображение: вся информация кодируется операциями с палитрой - перестановкой цветов. Такой метод определяет небольшую емкость для сообщений. Для моего 256-цветного файла размером около 60 Кбайт максимальный объем сообщения составил 210 байт. Собственно, в данном случае объем носителя не имеет значения - важно лишь количество уникальных цветов. Задав пароль, я получил результат. Можете сравнить: найдите 210 отличий 2.

Интереса ради я понаблюдал, как при последовательных оптимизациях GIF’а потенциальный объем сообщения все сокращался и сокращался.

Зачем это нужно

Помнится, Шерлок Холмс восхищался (и возмущался), что в начале XX века можно было любые сколь угодно секретные данные отправить по обычной почте в виде микрофотографии, спрятанной под почтовой маркой или помещенной в одной из точек над i. Что бы он сказал теперь? Обычная картинка на домашней страничке может быть средством передачи сообщений. Никто ведь не заметит, что она время от времени незначительно меняется. А если и заметит, то для графики на сайте вполне естественно периодически меняться.

Представьте себе - вы переписываетесь по электронной почте и вдруг начинаете подозревать, что вашу корреспонденцию просматривают и извлекают критичную для вас информацию. Ваши действия? Правильно - начнете шифровать почту. Но! Сообщения, зашифрованные другом всех людей - PGP, содержат фразы типа «Begin PGP Message» и имеют характерный вид. А теперь представьте, что политика безопасности вашей компании или компании, где работает получатель сообщения, обязывает вас оставлять сообщения читаемыми именно с целью просмотра на предмет цензуры. А вы, как назло, не желаете с этим соглашаться. Что делаем дальше? Посылаем другу картинку (музыку, видеофрагмент, текст) или ссылку на нее в подарок!

И, наконец, какая замечательная возможность подписать свое творение самыми настоящими водяными знаками, а?

Как всегда, есть «Но»

Хотя скрытые сообщения практически невозможно прочитать, их иногда можно обнаружить и сравнительно легко уничтожить. Действие всегда рождает противодействие. В том же случае с GIF’ом простейшая операция перестановки цветов, естественно, сделает сообщение неизвлекаемым, а попросту говоря - уничтожит. И соответствующий раздел - стеганализ - уже создан и совершенствуется. В свою очередь, стеганографы разрабатывают новые алгоритмы с высокой избыточностью, устойчивые к трансформации носителя (вращение, обрезание краев изображений, печать/сканирование и т. д.), оперируя такими параметрами, как яркость, контрастность, резкость. А стеганалитики учатся искать неоднородности этих параметров в носителе, нехарактерные участки, повышенное зашумление. И, конечно, изучают алгоритмы существующих стеганографических пакетов с целью выявления характерных признаков наличия скрытых сообщений.

Возможно, именно развитый стеганализ позволит наконец определять авторство спорных текстов (и не только). Не исключено ведь, что каждый из нас, сам того не зная, подписывает все свои творения (включая и данную статью) характерными водяными знаками.

Источники

[i37954]


* - Stegosaurus ungulatus, травоядный динозавр мезозойской эры, жил в юрский период примерно 150 млн. лет назад на территории нынешней Северной Америки, достигал в длину почти 6 метров, большие костяные пластинки на хребте и длинные острые иглы на конце хвоста служили ему в качестве средства зашиты от нападения хищных видов динозавров. По материалам Ilya’s HomePage.
1 (обратно к тексту) - Steganos (греч.) - скрытый, тайный.
2 (обратно к тексту) - В данном случае визуальных различий вообще нет - изменен только порядок цветов в палитре.
© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.