Шпионская компьютерная "тайнопись"

Никита Кислицин

Xakep, номер #058, стр. 058-062-1

(nikitoz@real.xakep.ru)

Компьютерная стеганография

Криптография в защите информации всегда играла важнейшую роль. С ростом вычислительных способностей компьютеров требовались все более изощренные алгоритмы криптования данных: на смену DES, RC2 и MDC пришли triple-DES, IDEA, HWY1, Blowfish, RC5 и т.д. Но даже самый совершенный алгоритм неспособен защитить информацию на 100% - тут-то на помощь и приходит стеганография.

Шо це таке?

Слово "стеганография" пришло в русский язык из латинского: "Steganos" - "тайный", "Grapho" - "пишу". Т.е. дословно получается "тайнопись". Основная идея стеганографии заключается в том, чтобы скрыть не только саму информацию, но и факт ее передачи, замаскировав ценные данные в какую-нибудь обыденную форму. В самых примитивных случаях может быть использовано несколько подходов. Один из них - использование "невидимых" носителей, которые в обычных условиях незаметны, а проявляются лишь в определенных случаях. Например, молоко, фенолфталеин, моча и т.д. :).

Компьютерная стеганография

Под компьютерной стеганографией понимается сокрытие одной цифровой информации в другой. Причем сокрытие это должно реализовываться таким образом, чтобы, во-первых, не были утрачены свойства и некоторая ценность скрываемой информации, а во-вторых, неизбежная модификация информационного носителя не только не уничтожала смысловые функции, но и на определенном уровне абстракции даже не меняла их.

Так, например, если в цветной картинке модифицировать некоторым образом младший разряд 24-битного числа, описывающего один пиксел, это приведет к незначительному изменению оттенка картинки, которое нормальный человек вообще не заметит. Или, скажем, если модифицировать младшие разряды звуковых отсчетов, несущих очень мало полезной информации, то при прослушивании подобного файла человек не услышит изменений. Именно на этой избыточности информации в представлении некоторых цифровых форматов и основывается существенная часть методов сокрытия данных.

Компьютерная стеганография широко используется при обмене секретными сообщениями, написании вирусных программ (см. ст. 273 УК РФ), в защите авторских прав, для скрытия информации от копирования и т.д.

Ниже мы более подробно обсудим все эти сферы применения стеганографии, рассмотрим основные приемы сокрытия информации и даже напишем программу на Perl, которая прячет информацию в обычном текстовом файле! Следует также заметить, что написанный текст не следует расценивать как пособие для юных шпионов, это всего лишь познавательный экскурс в мир стеганографии.

Прячемся в системных структурах

Специфика файловых систем такова, что при хранении файл всегда занимает целое число блоков - это сделано из соображений удобства адресации. Из-за этого хранение маленьких файлов реализуется крайне нерационально - в системе Fat32 файл размером 1 байт занимает на диске 4 Кб! При этом очевидно, что все 4 Кб, за вычетом 1 байта, забиты мусором и никак не используются. А ведь могут быть заняты полезными данными! Такой метод широко используется для долговременного скрытого хранения небольших объемов информации - однако он довольно легко обнаруживается и крайне небезопасен. Также существует возможность записи данных просто на неиспользуемые области накопителей (например, нулевую дорожку).

Содержание  Вперед на стр. 058-062-2
ttfb: 3.2691955566406 ms