Visa или MasterCard? Карту какой платежной системы выбрать? Кто на свете всех богаче? Анализ роста благосостояния в мире.

Возможности сокрытия банковской информации в текстовых файлах

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

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

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

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

1. Встраивание информации с целью ее скрытой передачи.

2. Встраивание идентификационных номеров (fingerprinting).

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

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

В настоящей статье будет рассмотрено построение стегоканала.

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

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

Доступные стегопрограммы, работающие с текстовыми файлами

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

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

Начнем с популярной программы FFENCODE, написанной под ОС MS-DOS. Программа представляет собой два исполняемых файла: ffencode.com — для встраивания защищаемой информации в контейнер и ffdecode.com — для извлечения. Параметры (имя файла-контейнера, имя файла, содержащего встраиваемую информацию, и имя выходного сообщения) передаются с помощью командной строки (классика MS-DOS). Запуск исполняемого файла без параметров выводит простейшую справку.

Попытка встроить информацию в русскоязычный контейнер потерпела крах. Размер контейнера увеличился до 9 Кбайтов, а содержимое было испорчено: заменены некоторые буквы в словах и добавлен «паразитный» текст, состоящий из цепей буквы «я» (это заметно, если использовать в качестве текстового редактора блокнот OC Windows или стандартный редактор Norton Commander). Извлечь информацию из контейнера по каким-то причинам не удалось.

Переход к англоязычному контейнеру позволил корректно извлечь информацию, встроенную в контейнер. Паразитные буквы «я» в редакторе Norton Commander замечены не были, но при использовании блокнота они отлично просматриваются. На основе полученных данных можно предположить, что правило встраивания кодирует 0 пробелом, а 1 — буквой «я» (в раскладке MS-DOS незаметной), или наоборот (что несущественно).

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

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

Скачать полную версию программы можно по адресу http//doc.lipetsk.ru/fravia/stego.htm

В отличие от рассмотренной выше программа Snow, разработанная под ОС MS-DOS, встраивает информацию, добавляя пробелы и знаки табуляции (согласно прилагаемой документации) в конец строк текста. Если защищаемые данные — английский текст, рекомендуется воспользоваться предварительным сжатием (алгоритм Хаффмана). Встраиваемые данные предварительно могут быть зашифрованы (по алгоритму ICE).

Оценка качества контейнера производится с помощью опций (подробно см. документацию). В англоязычный контейнер (см. выше) можно встроить 13 байтов секретной информации («File has storage capacity of between 89 and 122 bits. Approximately 13 bytes»), что составляет 0,25% размера контейнера — удручающие цифры.

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

Скачать полную версию программы можно по адресу http//doc.lipetsk.ru/fravia/stego.htm

Стеганографическая часть программного пакета SecurEngine 4.0 представляет собой комплекс программ, предназначенных для встраивания информации в графические файлы (JPEG и BMP-формата), текстовые и WAV-файлы. Предусмотрена возможность предварительной шифровки встраиваемой информации (алгоритмы 3-WAY, Blowfish, CAST256, GOST, MARS256, VERNAME).

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

Главным недостатком алгоритма встраивания информации является отсутствие стеганографического ключа, т. е. скрытие информации используемым методом возможно лишь благодаря тому, что противнику неизвестен метод скрытия. Между тем еще в 1883 г. Кергофф писал о том, что система защиты информации должна обеспечивать свои функции даже при полной информированности противника о ее структуре и алгоритмах функционирования, т. е. вся секретность системы защиты передаваемых сведений должна заключаться в стеганографическом ключе (см.: Грибунин В. Г. и др. Цифровая стеганография. М.: СОЛОН-Пресс. 2002.). Будем считать стеганографическим ключом секретную битовую последовательность, на основании которой происходит модификация стеганографического алгоритма, т. е. стеганографический алгоритм на основании стеганографического ключа представляет собой совокупность однотипных стеганографических алгоритмов (их количество определяется пространством ключей). Будем считать симметричным стеганографическим ключом стеганографический ключ, используемый и для встраивания и для извлечения защищаемой информации их контейнера.

В англоязычный контейнер [с русскоязычным возникли проблемы — несмотря на уменьшение объема встраиваемой информации до 30 байтов, выдавалась диагностика, что контейнер слишком мал — можно встроить только 72 байта (?!)] с помощью алгоритма встраивания можно встроить 72 байта защищаемой информации, что составляет почти 1,5% — неплохой результат (для текстовых алгоритмов). В качестве алгоритма шифрования использовался GOST, чтобы размеры полученного шифра и исходного встраиваемого сообщения совпадали; предварительная компрессия не использовалась, чтобы полученные результаты не искажались алгоритмом сжатия.

Несмотря на диагностику, в данный контейнер удалось встроить сообщение длиной всего лишь в 35 байтов, следовательно, реальная емкость контейнера упала по каким-то причинам почти в два раза! Заполненный контейнер по размеру практически совпадает с незаполненным (разница всего лишь в 1 байт), но в конце текста почему-то добавилась уже знакомая буква «я», удаление которой привело к невозможности извлечь или расшифровать информацию.

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

Скачать полную версию программы можно отсюда.

«Стеганограф Центурион» работает внутри редактора Microsoft Word 97. Он берет один документ Word, шифрует его и вставляет его в другой документ таким образом, что последний документ внешне никак не изменяется. В связи с этим возникает вопрос: вводимый пользователем пароль является стеганографическим, криптографическим или используется и там и там? При вводе пароля сообщается о том, что пароль используется для извлечения встроенной информации, что совсем запутывает ситуацию. Возможно, в полной версии программы используется стеганографический ключ (симметричный). Этот факт переводит стегосистему, построенную на основе данного ПО, в разряд вычислительно стойких стегосистем (все предыдущие стегосистемы можно считать абсолютно нестойкими).

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

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

Ложку дегтя в эту бочку меда добавило сообщение, что работа программы пока не гарантируется в редакторе Word 9.0 и старше. При работе с макросом использовался MS Word 2000, входящий в поставку MS Office 2000. Сейчас наиболее распространен MS Word XP. Отсутствие гарантии на правильную работу макроса в редакторах Word 9.0 и старше, по всей видимости, связано с тем, что точный формат файла этих редакторов держится в секрете. Самый последний формат документа, по которому встречается хорошая документация, — формат документа Word 97.

Скачать демонстрационную версию можно отсюда.

Рассмотренные программы хорошо заполняют контейнер, но обеспечивают низкое качество сокрытия информации. Более того, стегосистемы, построенные на базе этих программ, являются абсолютно нестойкими (за исключением, быть может, «Стеганографа Центурион»), потому что секретность обеспечивается за счет сохранения в тайне алгоритма встраивания информации (правило Кергоффа).

Юрий Мельников, Юрий Колошеин

Статьи, интервью, публикации