Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОЗІ / Лекц_ї / все / Методы и средства защиты информации, 2003.doc
Скачиваний:
450
Добавлен:
05.06.2015
Размер:
9.25 Mб
Скачать

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

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

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

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

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

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

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

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

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

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

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

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

М

ы

р

е

д

к

о

д

о

к

о

н

ц

а

п

о

-

н

и

м

а

е

м

,

ч

т

о

м

ы

д

е

й

с

т

-

в

и

т

е

л

ь

н

о

х

о

т

и

м

.

М

ы

р

е

д

к

о

д

о

к

о

н

ц

а

п

о

-

н

и

м

а

е

м

,

ч

т

о

м

ы

д

е

й

с

т

-

в

и

т

е

л

ь

н

о

х

о

т

и

м

.

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

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

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

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

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

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

>

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

<

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

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

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

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

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

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