Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методы и средства защиты информации

.pdf
Скачиваний:
198
Добавлен:
03.03.2016
Размер:
5.1 Mб
Скачать

Классификацияметодов сокрытияинформации 471

Рис. 20.2. Классификация методов сокрытия информации

По способу отбора контейнера, как уже указывалось, различают методы

суррогатной стеганографии, селективной стеганографии и конструирующей стеганографии.

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

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

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

472 Глава 20. Стеганография

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

или же аппарат функций имитации (mumic function).

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

Методы, использующие потоковые контейнеры, работают с потоками не-

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

Методы, которые используются для контейнеров с произвольным досту-

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

По типу организации контейнеры, подобно помехозащищенным кодам, мо-

гут быть систематическими и несистематическими. В систематически орга-

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

По используемым принципам стеганометоды можно разбить на два класса:

цифровые методы и структурные методы. Если цифровые методы стегано-

Текстовые стеганографы 473

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

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

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

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

специальное форматирование данных ( смещение слов, предложений, абзацев или выбор определенных позиций букв);

использование незадействованных мест на магнитных носителях;

удаление идентифицирующих заголовков для файла.

Восновном, для таких методов характерны низкая степень скрытности, низкая пропускная способность и слабая производительность.

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

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

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

Текстовые стеганографы

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

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

474 Глава 20. Стеганография

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

Можно выделить следующие методы, которые встречаются в современных лингвистических стеганографах:

методы искажения формата текстового документа;

синтаксические методы;

семантические методы;

методы генерации стеганограмм с помощью скрываемого сообщения.

Методы искажения формата текстового документа

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

Сокрытие тайного сообщения ( в битовом представлении) можно проводить путем добавления одного или двух символов пробела в конце предложений после символа конца (например, точки — для натурального языка или точки с запятой — для кода программы на языке C): один дополнительный пробел кодирует значение бита “0”, а два — “1”. Этот простой метод имеет недостатки. Вопервых, он не эффективен, т.к. необходим контейнер большого объема ( скорость передачи скрытых данных в данном случае приблизительно равна одному биту на 160 байт текста). Во-вторых, возможность сокрытия зависит от структуры текста ( некоторые тексты, например белые стихи, не имеют четких признаков конца). В-третьих, текстовые редакторы часто автоматически добавляют символы пробела после точки.

Кодировать секретные данные можно дополнительными пробелами в конце каждой строчки текста (рис. 20.3): два бита кодируются одним пробелом, четыре

— двумя, восемь — тремя и т.д. Преимущество такого метода кодирования состоит в том, что оно может быть выполнено с любым текстом; изменения в формате резко не бросаются в глаза читателю, обеспечивается передача большего количества скрытых данных по сравнению с предыдущим методом (1 бит на 80 байт). Недостаток метода состоит в том, что некоторые программы (например, sendmail) могут неосторожно удалять дополнительные пробелы. Помимо этого,

Текстовые стеганографы 475

скрытые таким образом данные не всегда могут быть восстановлены с печатной копии документа.

М

ы

 

р

е

д

к

о

 

д

о

 

к

о

н

ц

а

 

п

о -

 

 

 

н

и

м

а

е

м

,

 

ч

т

о

 

м

ы

 

д

е

й

с

т -

 

 

 

в

и

т

е

л

ь

н

о

 

х

о

т

и

м

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

М

ы

 

р

е

д

к

о

 

д

о

 

к

о

н

ц

а

 

п

о -

 

 

 

н

и

м

а

е

м

,

 

ч

т

о

 

м

ы

 

д

е

й

с

т -

 

 

 

в

и

т

е

л

ь

н

о

 

х

о

т

и

м

.

 

 

 

 

 

 

 

 

Рис. 20.3. Пример сокрытия данных пробелами в конце текстовых строк

Еще один метод сокрытия данных с помощью пробелов манипулирует с текстами, которые выровнены с обеих сторон. В этом методе данные кодируются путем управляемого выбора мест для размещения дополнительных символов пробела. Один символ между словами интерпретируется как 0, а два — как 1. Метод позволяет встраивать несколько бит скрытой информации в каждую строку текста (рис. 20.4).

Рис. 20.4. Пример сокрытия битового сообщения 0110100011010110

Поскольку текст часто выравнивается по ширине листа, не каждый промежуток между словами может использоваться для кодирования скрытых данных. Для того чтобы определить, в каком из промежутков между словами спрятана информация, а какие промежутки являются частью оригинального текста, используется следующий метод декодирования. Битовая строка, которая извлекается из стеганограммы, разбивается на пары. Пара бит 01 интерпретируется как 1; пара 10 — как 0; а биты 00 и 11 являются пустыми, т.е. такими, которые не несут никакой информации. Например, битовое сообщение 1000101101 сокращается до 001, а строка 110011 — будет пустой.

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

476 Глава 20. Стеганография

ретный бит сообщения кодируется сдвигом одной строки. Если строка сдвинута, то значение секретного бита равно 1, иначе — 0.

Извлечение скрытого сообщения проводится путем анализа расстояний между центрами строк, которые расположены рядом. Обозначим через R+ — расстояние между центрами сдвинутой строки и предыдущей неизмененной строки (синхрострока), R– — расстояние между центрами сдвинутой линии и последующей синхростроки, а через Х+ и Х– — соответствующие расстояния в исходном документе. Тогда, если расстояние между строками было увеличено, то

R+ +

R– >

X+ +

X–

R+

R–

X+

X–

Аналогично, если расстояние было уменьшено, то

R+ +

R– <

X+ +

X–

R+

R–

X+

X–

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

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

Рис. 20.5. Пример сокрытия данных в промежутках между словами (для наглядности указаны вертикальные линии)

Существуют более тонкие методы сокрытия информации в текстовой среде. В некоторых текстовых редакторах реализованы опции, которые проводят автоматическое форматирование текста в соответствии с определенными критериями. Например, редактор ТЕХ использует сложный алгоритм вычисления конца строки или страницы. Фактически вычисляются некоторые специальные параметры, по которым определяется место перехода с одной строки или страницы на другую. Один из таких параметров оценивает количество пробелов, которые необходимо вставить, чтобы сохранить заданный стиль документа; другой — оценивает эстетический вид документа при выборе переноса и т.д. В результате

Текстовые стеганографы 477

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

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

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

Синтаксические методы

Ксинтаксическим методам лингвистической стеганографии относятся методы изменения пунктуации и методы изменения стиля и структуры текста.

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

вдвоичном виде. Например, если появляется форма перечисления с союзом “и”, то кодируется 1, иначе — 0. Для сокрытия можно также применять сокращения и аббревиатуры.

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

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

Ксинтаксическим методам относятся методы изменения стиля или структуры текста без существенного изменения его значения или тона. Например, предложение “До окончания ночи я буду готовым” можно представить в виде “Я буду готов быстрее, чем ночь закончится”. Такой подход более прозрачен, но возможность его ограничена.

Семантические методы

Семантические методы стеганографии аналогичны синтаксическим методам. Для этих методов элементарными лингвистическими компо-

Таблица 20.1.

Фрагмент таблицы синонимов

1

0

след

отпечаток

дыра

отверстие

оборона

защита

овация

аплодисменты

478 Глава 20. Стеганография

нентами считаются отдельные слова, поэтому сокрытие данных реализуется путем непосредственной замены слов. Для такой замены необходимы таблицы синонимов. Кодирование секретного сообщения проводится выбором синонима из необходимого места таблицы. Например, первому слову-синониму соответствует 1, а второму — 0 (табл. 20.1). Если слову соответствует большое количество синонимов, то можно кодировать большее количество бит одновременно.

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

Рис. 20.6. Пример работы семантической стегосистемы SubiText

Методы генерации стеганограмм

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

Пусть имеется файл А, который состоит из символьных строк. Обозначим через р(t, a, A) вероятность того, что символ а находится в строке t файла A, а через р(×, a, A) и p(t, ×, A) — независимые вероятности того, что символ а или строка t, соответственно, существуют в A. Два файла А и B будем считать статистически эквивалентными в пределах e, если |p(t, ×, A) – p(t, ×, B)| < e для всех строк t, длина которых меньше чем n.

Определение 20.4

Функцией имитации n-го порядка будем называть такую функцию f, которая в e-окрестности выполняет статистически эквивалентное преобразование файла А в файл В.

Текстовые стеганографы 479

Таким образом, если p(t, A) — вероятность появления некоторой строки t в файле А, то функция f преобразует файл А в файл В так, что для всех строк t длиной меньше n выполняется соотношение |p(t, f(A)) –p(t, B)| < ε.

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

Регулярные функции имитации можно смоделировать с помощью схемы кодирования по Хаффману. Известно, что любой язык обладает некоторыми статистическими свойствами. Этот факт используется многими методами сжатия данных. Если на алфавите Σ задано распределение вероятностей A, то можно

воспользоваться схемой кодирования по Хаффману для создания функции сжатия с минимальной избыточностью fA:Σ→{0,1}*, где символ * используется в смысле Σ*=i³0{x1…xi|x1,…,xiΣ}. Такую функцию можно построить на основе функции сжатия Хаффмана: G(x)=fB-1(fA(x)).

Таким образом, секретный файл можно сжать по схеме Хаффмана с распределением A, в результате чего получится файл двоичных строк, которые могут интерпретироваться как результат операции сжатия некоторого файла с распределением B. Этот файл может быть восстановлен с применением инверсной функции сжатия fB-1 к файлу двоичных строк и использоваться в дальнейшем как стеганограмма. Если функции fA и fB-1 являются взаимно однозначными, то и созданная функция имитации будет также взаимно однозначна. Доказано, что построенная таким образом функция подобия оптимальна в том смысле, что если функция сжатия Хаффмана fA является теоретически оптимальной и файл x состоит из случайных бит, то взаимно однозначная функция fA-1(X) имеет наилучшую статистическую эквивалентность к А.

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

(КСГ).

Контекстно-свободная грамматика определяется упорядоченной четверткой <V, Σ V, П, S V\Σ>, где V и Σ — соответственно множества переменных и

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

480 Глава 20. Стеганография

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

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

<{S,A,B,C},{A,…,Z, a,…,z},П,S>,

где каждой возможной продукции приписана некоторая вероятность: П={S→0.5

Alice B, S→0.3 Bob B, S→0.1 Eve B, S→0.1 I A; A→0.3 am working, A→0.4 am lazy, A→0.4 am tired; B→0.5 is С, B→0.5 can cook; C→0.5 reading, C→0.1 sleeping, C→0.4 working}.

Пусть ПVi={πi,1,…,πi,n} — набор всех продукций, которые связаны с переменной Vi. Тогда для каждого набора Пi можно создать функцию сжатия Хаффмана fПi. На рис. 20.7 показаны возможные деревья для ПS и ПА, из которых может быть легко получена функция сжатия Хаффмана. Например, продукция Eve B будет кодироваться как 110, I am tired — как 11 и т.д.

Для стеганографических задач используется инверсная функция Хаффмана. На этапе сокрытия данных отправитель получает с помощью КСГ некоторую строку, которая считается стеганограммой. Стартуя с начального символа S, самая левая переменная Vi заменяется по соответствующей продукции. Эта продукция определяется в соответствии с секретным сообщением и функцией сжатия Хаффмана для ПVi следующим образом. В соответствии с очередным битом секретного сообщения происходит просмотр дерева Хаффмана до тех пор, пока не будет достигнут лист в дереве, после чего начальный символ заменяется на значение, которое приписано данному листу. Этот процесс повторяется для всех битов сообщения. Результирующая строка состоит только из терминальных символов.

Рис. 20.7. Функция сжатия Хаффмана для ПS и ПА