Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow Информатика 2015

10.6. Основные понятия стеганографии

Штирлиц увидел на окне 33 утюга, и понял, что явка провалена.

Анекдот

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

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

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

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

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

Все контейнеры можно разделить на контейнеры-оригиналы и контейнеры-результаты. Контейнер-оригинал (или «пустой» контейнер) — это контейнер, который не содержит скрытой информации. Контейнер-результат (или «заполненный» контейнер, стего) — это контейнер, который содержит скрытую информацию. Под ключом понимается секретный элемент, который определяет порядок занесения (внедрения) сообщения в контейнер.

Все контейнеры могут быть разделены на два тина: статические и динамические. Статические контейнеры могут быть использованы как для скрытого хранения информации, так и для её скрытой передачи. Примером может служить цифровая фотофафия. Динамические контейнеры могут быть использованы только для скрытой передачи информации. В качестве примера можно назва ть пакеты, передаваемые по протоколу TCP/IP.

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

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

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

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

Упрощенно идею стеганографии иллюстрирует следующий рисунок. Рисунок нужно трактовать так. Добавление скрываемого текста практически не изменяет рисунок. В данном случае контейнером служит графическое изображение.

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

Рассмотрим пример сокрытия информации в текстовых документах. Следующая фраза на первый взгляд посвящена описанию природы:

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

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

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

В следующем стихотворении поэт Николай Гумилёв поместил имя любимой женщины - Анны Ахматовой.

Ангел лег у края небосклона.

Наклонившись, удивлялся безднам.

Новый мир был синим и беззвездным.

Ад молчал, не слышалось ни сгона.

Алой крови робкое биение,

Хрупких рук испуг и содроганье.

Миру снов досталось в обладанье Ангела святое отраженье.

Тесно в мире! Пусть живет, мечтая О любви, о фусти и о тени,

В сумраке предвечном открывая Азбуку своих же откровений.

Акростихи могут составляться гак, что информация будет скрыта не в первых буквах строк, а в последних.

Это вовсе не пустяк,

И склероз мой не забава:

Завинтить забыл я кран,

Прибежал сосед мой Слава,

И, конечно, был он прав:

Старость хуже, чем отрава.

Текст найден в Интернете студенткой Калинкиной Алиной ПС-91.

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

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

Контейнером служила курчавая голова человека. Почта в те времена работала неспешно.

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

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

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

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

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

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

Эта же процедура внедрения скрытой информации иллюстрируется следующей таблицей. Заметим, что здесь буква «А» записана, начиная с младших би тов.

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

Следующая таблица наглядно показывает порядок внедрения битов.

Как уже отмечалось, число разновидностей электронных контейнеров велико. Рассмотрим, как с помощью Web-страницы, размещенной в Интернете, передать секретную информацию.

Идея сокрытия состоит в следующем.

Буквы заменяют числами в соответствии с кодовой таблицей СР-1251. Числа переводят из десятичной системы счисления в двоичную СС. Скрываемый текст размещают после закрывающего тега html, причем вместо единиц записывают пробелы, а вместо нулей — символы табуляции.

Предположим, что нужно секретно передать через Интернет слово «Щит». Буквам этого слова соответствуют три десятичных числа: 217, 232 и 242. В двоичной системе счисления эти числа будут выглядеть гак: 11011001,11101000,11110010.

Заменив единицы и нули соответственно на пробелы и символы табуляции, скрытый текст размещают на веб-сфанице ниже последнего тега. Увидеть закодированный текст можно с помощью текстового редактора MS Word, включив режим "Непечатаемые знаки".

В качестве примера рассмотрим HTML-код простейшей вебстраницы.

Пример сокрытия текста на Web-странице

Простейшая Web-c граница

Если текст HTML-кода зафузить в редактор MS Word, можно увидеть скрытую информацию:

-Пример-сокрытия-текста-на-Веб-странице

Последние фи строки содержа! секретную информацию, причем пробелы отображаются здесь точками, символ табуляции — стрелкой. Символ Ц является служебным и обозначает конец абзаца и перевод сфоки.

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

Рассмофим еще один способ сокрытия информации на носителях, использующих файловую систему FAT. Запись файлов на диск при использовании FAT всегда осуществляется фиксированными порциями — кластерами. Кластер в свою очередь состоит из более мелких блоков — секторов. Количество секторов в кластере и байтов в секторе определяется при подготовке диска к использованию. Типичные параметры для системы FAT16 таковы: каждый сектор состоит из 512 байтов, кластер состоит из 4 секторов. Таким образом, любой файл записывается фиксированными порциями по 2048 байт. Объем файлов, хранящихся на диске, в большинстве случаев не кратен размеру кластера. Эта ситуация показана на рисунке, где изображен кластер диска, занятый под хранение файла:

Часть дискового пространства остаётся неиспользованной, хотя и выделена иод хранение файла. Это место не может использоваться для хранения других файлов. Например, для хранения файла объемом 1 байт на носителе с файловой системой FAT16 с типичными параметрами операционная система выделит 2048 байт дисковою пространства. Именно в этих выделенных, но неиспользуемых частях диска можно скрыто хранить (и передавать вместе с носителем) секретную информацию, причем скрытые данные также могут занимать не все свободное пространство:

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

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

Рассмотрим практический пример внедрения информации в графическое изображение в формате Windows Bitmap.

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

00000000

42

4D

98

00

00

00

00

00

О

с

00

36

00

00

00

28

00

00000010

00

00

00

00

00

03

00

00

00

01

00

18

00

00

00

00000020

00

00

62

00

00

00

12

ОВ

00

00

12

ОВ

00

00

00

00

00000030

00

00

00

00

00

00

2D

34

BD

41

49

сз

59

СВ

70

00000040

14

D2

87

DA

9F

А2

Е1

В6

В8

Е8

СВ

CD

EF

DE

Е0

00000050

F5

ЕЕ

ЕЕ

ЕА

00

00

26

ВВ

ЗВ

42

С1

50

57

С 9

68

00000060

D0

7F

84

D7

97

DE

AF

В1

Еб

С 4

Сб

ЕС

D8

D9

00000070

F3

ЕА

ЕВ

F8

00

00

21

29

В9

33

ЗВ

BF

49

4F

С6

60

00000080

66

CD

77

D5

8F

93

DC

А7

ДА

ЕЗ

BD

BF

ЕВ

D2

D4

00000090

F1

Е4

Е5

F 6

00

00

00

00

Данные в диапазоне шестнадцатеричных адресов с 00000000 но 00000036 являются служебной информацией. Так, четырехбайтовое число по адресу 00000012 равно ширине изображения (10 пикселей), четыре байта по адресам с 00000016 по 00000019 хранят данные о высоте изображения (3 пикселя). Всего изображение состоит из 30 пикселей, следовательно, в него можно незаметно внедрить до 90 бит секретной информации. Информация о цвете пикселей первой сверху строки изображения хранится по адресам с 00000076 но 00000093. Данные о второй строке изображения в файле расположены но адресам с 00000056 но 00000073. Наконец, цвет пикселей нижней строки изображения описывается байтами в диапазоне адресов с 00000037 но 00000053.

Пусть необходимо скрыто передать в данном контейнере слово «КОД». Символы секретного текста с помощью таблицы СР-1251 преобразуем в двоичные числа: 11001010В, 11001110В, 11000100В.

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

Байты цветовых компонент левого верхнего пикселя изображения в файле расположены но адресам 00000076, 00000077 и 00000078. Переведенные в двоичную форму значения но этим адресам выглядят гак: 00100001, 00101001, 10111001. Заменим наименее значащий бит в каждой из цветовых компонент очередным битом секретного текста (биты секретного текста условимся брать в порядке от старших к младшим). Байт но адресу 00000076 не изменит свое значение, так как его младший бит совпадает со старшим битом первою байта секретного текста. Также не изменит своего значения и байт по адресу 00000077. Значение байта по адресу 00000078 изменится и станет равным 10111000. Для внедрения остальных битов секретного текста используются следующие байты графических данных.

Дамп заполненного контейнера представлен на следующем рисунке (байты, несущие секретную информацию, выделены):

00000000

42

4D

98

00

00

00

00

00

1

00

00

36

00

00

00

28

ОО

00000010

00

00

ОА

00

00

00

03

00

1

00

00

01

00

18

00

00

00

00000020

00

00

62

00

00

00

12

1

00

00

12

ов

00

00

00

00

00000030

00

00

00

00

00

00

2D

34

1

BD

41

49

сз

59

СВ

70

00000040

74

D2

87

DA

9F

А2

Е1

1

В 6

Е8

Е8

СЕ

CD

EF

DE

ЕО

00000050

F 5

ES

EF

FA

00

00

26

1

ЕВ

ЗВ

42

С1

50

57

С9

68

00000060

DO

7F

84

D7

97

DE

1

AF

В1

Е6

С4

С6

ЕС

D8

D9

00000070

F3

ЕА

ЕВ

F8

00

00

21

29

1

Вв

32

ЗВ

BE

49

С7

61

00000080

66

СС

77

7D

D5

93

DD

1

А6

АА

Е2

BD

BE

ЕА

D2

D4

00000090

F1

Е4

Е5

F6

00

00

00

00

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ ОРИГИНАЛ   След >
     

    Популярные страницы