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


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


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

Сокрытие тайного сообщения (в битовом представлении) можно проводить путем добавления одного или двух символов пробела в конце предложений после символа конца (например, точки — для натурального языка или точки с запятой — для кода программы на языке 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.

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

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

>

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

<

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

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



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

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


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

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

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


Содержание раздела