Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алексеев информатика.doc
Скачиваний:
321
Добавлен:
15.03.2015
Размер:
17.6 Mб
Скачать

9.8.3. Понятие о стеганографии

Стеганография – это наука, изучающая такие методы организации передачи секретных сообщений, которые скрывают сам факт передачи информации.

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

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

Упрощенно идею стеганографии можно представить так.

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

Рассмотрим пример.

Данная фраза на первый взгляд посвящена искусству:

Созерцать творения Евдокии Гигиенталь апатично невозможно. Однозначно: гравюра «Радость абитуриента» – феерический, искристый яхонт.

Тем не менее предыдущий текст – это всего лишь контейнер, в котором запрятано «секретное» слово стеганография (нужно читать только первые буквы каждого слова). Подобным образом можно передавать различные скрытые сообщения. Сходная идея используется в акростихах.

Акростих – стихотворение, в котором начальные буквы строк составляют слово или фразу.

Известны исторические примеры, когда для сокрытия факта передачи информации сообщение писали молоком между строк готового письма (симпатические чернила). После нагревания листка с невидимым текстом над открытым пламенем свечи появлялся текст.

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

Хрестоматийным стал пример передачи скрытой информации, использованный в древности. Рабу брили голову, делали татуировку на голове, ждали, когда вырастут волосы, и отправляли раба в назначенное место. В месте приема «информации» его опять брили и читали секретное сообщение. Контейнером служила курчавая голова человека.

При шифровании сообщений методами компьютерной стеганографии чаще всего используют информацию, запрятанную в изменении последнего (наименьшего) значащего бита LSB (Least Significant Bits). При цифровом представлении графики и звука последний бит контейнера считается малозначимым, часто изменяющимся по случайному закону. Шумы, существующие при аналогово-цифровом преобразовании звука и изображения (шумы квантования), случайным образом изменяют последний бит каждого отсчета.

Рассмотрим простейший учебный пример.

Предположим, что имеется следующая последовательность двоичных чисел (8 байтов), отображающих в цифровом виде какой-то графический образ в формате BMP:

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

Предположим, что в приведенный выше фрагмент двоичных чисел (контейнер) необходимо запрятать русскую букву «А», представленную с помощью кодовой таблицы СР-1251. Десятичное представление буквы «А» имеет вид 192D, а двоичное – 11000000В.

Модифицируя имеющийся поток двоичных чисел, поместим в контейнер двоичное число 11000000В. При этом 8 битов файла-сообщения записываются в 8 чисел файла-контейнера:

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

На рисунке показан пользовательский интерфейс программы Courier (автор программы – Kelce Wilson). Программа позволяет скрыть передаваемое сообщение внутри рисунка или фотографии.

Программа управляется с помощью пяти командных кнопок: Open a New Bitmap (Открыть новый рисунок), Extract Message (Извлечь сообщение), Hide New Message (Скрыть новое сообщение), Save Bitmap (Сохранить рисунок), Help – Instructions (Помощь).

Максимально возможное число символов в сообщении зависит от размера выбранного рисунка-контейнера.

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

Теоретически один пиксель 24-битной цветной картинки позволяет скрыть 3 бита секретной информации.

Если размер цветного рисунка или фотографии составляет 400  600 пикселей, то такой контейнер способен вместить 400  600  3 = 720000 битов секретной информации. Так как для передачи (или хранения) одного символа текста требуется 1 байт информации, то контейнер может содержать «начинку» объемом 90 000 байтов (т. е. символов, букв, цифр). Такой контейнер-рисунок способен уместить более 30 страниц секретного текста.

Анализ работы программы Courier показал, что ее автор не полностью руководствовался теорией стеганографии и для маскировки сообщения использовал два последних (младших) бита файла-контейнера (а не один, как этого требует теория). Это позволило ему вдвое увеличить объем сохраненной в контейнере информации.

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

Значительно профессиональнее сделана программа Steganography-Tools (сокращенное название S-Tools, автор – Andrew Brown). Данная программа вначале сжимает текст сообщения, затем шифрует его методами криптографии и лишь потом помещает сообщение в файл-контейнер. При этом скрываемая информация равномерно «распыляется» по всей поверхности рисунка.

В качестве контейнера программа допускает использовать как графический, так и звуковой файлы. Графические файлы должны быть представлены в форматах BMP или GIF, а звуковые файлы – в формате WAV.

Криптографическое шифрование осуществляется одним из алгоритмов (IDEA, DES, Triple DES или MDC) со 128-битным ключом, причем ключ формируется из символов пароля, введенного пользователем.

Порядок работы с программой достаточно прост. Он базируется на принципе Drag and Drop (перенеси и положи). Вначале нужно развернуть окно программы так, чтобы оно занимало часть экрана. На свободной части экрана развернуть Проводник или папку Мой компьютер с изображением значка (пиктограммы, иконки) файла-контейнера. Иконку файла-контейнера следует перенести внутрь окна программы S-Tools. В правом нижнем углу программы появится информация с указанием допустимого объема файла-сообщения. Затем по технологии Drag and Drop внутрь программы нужно перенести иконку файла-сообщения. После этого следует ввести пароль и сохранить зашифрованное сообщение.

Дешифрация скрытого сообщения ведется в обратном порядке: вначале скрытый файл перетаскивается (буксируется) внутрь окна программы. Затем правой кнопкой вызывается контекстное меню и вводится использованный пароль (пункт Reveal).

На рисунке показан внешний вид программы S-Tools с изображенным звуковым файлом-контейнером (его имя – AUTORUN). Надпись в правом нижнем углу информирует пользователя о том, что внутрь программы можно запрятать текст объемом 10810 байтов.

Музыкальные файлы позволяют скрывать большой объем информации. Так, если преобразование аналогового сигнала в цифровой сигнал происходит с частотой дискретизации 44,1 кГц, то это позволяет ежесекундно сохранять 44 100 битов в монофоническом сигнале и 88 200 битов – в стереофоническом. Таким образом, в звуке, длящемся 1 секунду, можно поместить текст объемом более 10 Кбайтов.

Завершая данный раздел, приведем краткое сравнение способов создания шифрованных сообщений методами криптографии и стеганографии.

Криптография и стеганография решают сходные задачи, но разными способами. Криптография превращает секретное сообщение в непонятный для непосвященного человека текст, а стеганография делает секретное сообщение невидимым.