Стеганография. Особенности использования программ на основе метода наименьшего значащего бита

Стеганография. Особенности использования программ на основе метода наименьшего значащего бита

Введение

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

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

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

1.2. Итак, приступим: основные понятия и определения.

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

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

Определения просты, но понятны:

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

· Пустой контейнер - контейнер, в который ещё не внедрена информация. Соответственно, когда информацию внедрили, то контейнер становится заполненным.

· Сообщение - секретная информация, наличие которой в контейнере необходимо скрыть, то, из-за чего весь сыр-бор. Это может быть файл, текст, что угодно. Исторически сложилось, что это всё называется сообщением.

· Канал передачи - путь, по которому контейнер попадает от отправителя к получателю (пусть будут Юстас и Алекс, для интереса. Или Алиса и Боб, что тоже хорошо…).

· Наблюдатель - промежуточное звено, задачей которого является определение, не передаётся ли от Юстаса Алексу чего-то скрытое и насквозь запрещённое в обычном их общении. Существует три типа наблюдателей: пассивный, активный и злонамеренный. Самый безопасный пассивный - он не может разрушить сообщение, или скажем заменить его ложным, все его возможности сконцентрированы на одном: смотреть, смотреть и еще раз смотреть… и быть тревогу, если что-то там высмотрит.

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

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

Собственно НЗБ

Что такое метод НЗБ? Это метод скрытия данных с искажением контейнера, основанный на особенностях человеческого восприятия. Конкретнее, идея метода заключается вот в чём: если взять картинку в формате BMP (или, скажем, как альтернативу 8 и более- битный оцифрованный звук), лучше всего TrueColor, в 24-х битном формате и взять да изменить младшие значащие биты цвета, то на глаз это будет незаметно. Почему 24 бита? Существует такой немаловажный фактор, как объём контейнера - сколько всего можно впихнуть в картинку, пока это не станет явным. Логично предположить, что чем больше контейнер, тем больше можно и внедрить, а распространенные на сегодня 24-х битные BMP - самая благодатная почва.

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

Внедрение может осуществляться так:

· Берём сообщение и предварительно подготавливаем его: шифруем и пакуем. Этим достигается сразу две цели - повышение КПД и увеличение стойкости системы (см. далее). В начало для удобства можно записать сигнатуру метода, что не секретно, зато просто.

· Берём контейнер и внедряем подготовленное сообщение в младшие его - контейнера -биты любым удобным для нас способом. Самое простое:

o раскладываем упакованное сообщение в битовую последовательность;

o заменяем избыточные биты (НЗБ) контейнера битами сообщения. Просто и со вкусом.

А вот тут-то собака обычно и закапывается… Надежность такого внедрения прямо пропорциональна соответствию характера распределения НЗБ в контейнере и сообщении. А распределения эти в подавляющем большинстве случаев совпадать-то и не будут. А еще в некоторых случаях это будет визуально заметно на картинке, построенной из одних только младших битов контейнера. Вот простейший пример, послуживший поводом к написанию статьи - берём исходную картинку:

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

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

Конечно, для большинства наблюдателей достаточно и того, что "на глаз не видно", но… слабые места своей защиты надо знать.

Как с этим бороться

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

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

А вот - изначально компьютерное:

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

А вот это же изображение, но с внедрением:

Чётко видна граница между "своим" шумом и шумом, возникшим в результате внедрения сообщения. Отсюда вытекает еще одно необходимое правило - всегда нужно распределять биты сообщения по всем младшим битам контейнер (например, внедрять не последовательно, а в каждый 2-й, 3-й и т. д. НЗБ) или же дополнять чем-то (шумом с тем же законом распределения) длину сообщения так, чтобы она стала равна объему НЗБ контейнера.

Есть еще одно интересное решение - подбор картинки под сообщение: из множества имеющихся картинок подобрать такую, которая исказится менее всего при внедрении указанного сообщения.

Резюме, оно же вывод

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

Цели стеганографии


Цель — это абстрактная задача, относительно которой разрабатывается научная теория и методология достижения данной цели. Не нужно путать цель и применение. Цель предельно абстрактна, в отличие от применения.

Как я уже говорил, в стеганографии существуют три цели.

Скрытая передача данных (СПД)


Это «классическая» цель стеганографии, известная со времен Энея Тактика (Αινείας ο Τακτικός, см его труд, содержащий простые стеганографические приемы: «О перенесении осады»). Задача — передать данные так, чтобы противник не догадался о самом факте появления сообщения.

В современных русскоязычных работах, посвященных стеганографии, часто используется термин ЦВЗ (Цифровые водяные знаки). Под этим термином подразумевают то СВЗ, то ЦО. (А иногда СВЗ и ЦО одновременно, да еще в одной статье!) Тем не менее при реализации ЦО и СВЗ возникающие проблемы и задачи принципиально различные! Действительно, СВЗ на всех копиях электронного документа одинаков, а ЦО на всех копиях документов различен. По этой причине, например, атака сговором принципиально невозможна в СВЗ! Хотя бы по этой причине следует различать СВЗ и ЦО. Всех, кто собирается работать в области стеганографии, настоятельно советую не употреблять термин ЦВЗ в своей речи.

Данная, казалось бы очевидная мысль, до сих пор у многих вызывает недоумение. Аналогичную точку зрения о необходимости различать СВЗ и ЦО высказывали такие небезызвестные в узких кругах «стеганографы», как Кашен (Cachin), Петикола (Petitcolas), Каценбейзер (Katzenbeisser).

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

Международный журнал Springer: Information Hidding вообще предлагает под стеганографией называть только СПД, так как ЦО и СВЗ не требуют сокрытия самого факта передачи данных. Например, вы знаете, что купюра в 100 рублей защищена. Некоторые механизмы вам известны, некоторые известны только специалистам, а некоторые содержат государственную тайну. Но сам факт о том, что существуют некие секретные механизмы всем известны; неизвестно только каким образом и какие именно технологии дополнительно защищают бумажную купюру…

Называние стеганографией только цель СПД в журнале Springer кажется разумным, но русскоязычный термин "Информационное сокрытие" в отечественных статьях и диссертациях пока не прижился. Поэтому в данной работе под термином Springer'а Information Hiding будем подразумевать всю стеганографию, а под термином Springer'а steganography будем подразумевать только одну цель стеганографии — СПД.

Незаметная передача информации (СПД)


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

Скрытое хранение информации (СПД)


Данная цель стеганографии во многом похожа на предыдущую. Только в данном случае стеганография используется не для передачи, а для хранения какой-либо информации, обнаружение самого факта наличия которой (пускай хоть даже в зашифрованном виде) пользователю нежелательно. Очевидно, что данная задача реализуема на носителях данных, но не в каналах связи. Причем избыточность на многих носителях может быть невероятно большой. Например общий объем данных (с учетом кодов RLL), которые можно записать на CD диск составляют 1828 Мб данных. Это огромная избыточность, которую можно использовать для сокрытия данных!

Если бы Гена Рыжов из фильма }{0ТТ@БЬ)Ч подумал бы об этом и не поленился бы немножко попаять и попрогать, то он вряд ли хранил бы CD'шки с «компрометирующим» ПО в горшке из под кактуса. Я думаю хакер Геннадий просто бы вкраплял данные в ECC оптических дисков, а сами диски с фотографиями котиков хранил бы в открытую! Согласитесь, это гораздо лучше горшка из под кактуса! :)

Недекларированное хранения информации (СПД)


Многие информационные ресурсы позволяют хранить данные только определенного вида. Например портал YouTube позволяет хранить только видеоинформацию в форматах MOV, MPEG4, AVI, WMV, MPEG-PS, FLV, 3GPP, WebM. Однако можно использовать стеганографию для хранения данных в других форматах. Не спорю, что в условиях существования различных ресурсов наподобие Yandex Disk, данная цель может показаться странной. Скорее всего практической значимости и нет; только just4fun и забавная курсовая для студента.

Однако сайт hid.im позволяет пользователям скрывать файлы .torrent внутри изображений PNG. Вот как прокомментировал Майкл Наттом (Michael Nutt), создатель проекта:

Это попытка сделать торренты более живучими. Разница в том, что нет больше нужды именно в индексирующем сайте, чтобы хранить ваш торрентовый файл. Многие форумы дозволяют закачку картинок, но более никаких других типов файлов
(@Mithgol Hid.im преобразует торренты в изображения PNG)

Есть так же проект StegTorrent, который в отличие от онлайн-сервиса hid требует установки.

В феврале 2015 года в Хакере опубликовали заметку "Десятки тысяч баз MongoDB доступны через интернет". В принципе данные «косяки», помимо прочего, можно использовать для недекларированного хранения данных. (Еще один аналог горшка с кактусом?)

Десятки тысяч баз MongoDB доступны через интернет (Хакер, 12.02.2015)

Скрытая передача управляющего сигнала (СПД)


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

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

Стеганографические botnet-сети (СПД)


Если быть педантом, то данное применение можно считать частным случаем скрытой передачей управляющего сигнала. Тем не менее, я решил обозначит данное применение отдельно. Мой коллега из ТГУ прислал мне весьма любопытную статью неких Shishir Nagaraja, Amir Houmansadr, Pratch Piyawongwisal, Vijit Singh, Pragya Agarwal и Nikita Borisov'а «Stegobot: a covert social network botnet». Я не специалист по botnet-сетям. Не могу сказать, лажа это или интересная фича. Буду раз услышать мнение хабрасообщества!

Funkspiel («Радиоигра») (СПД)


Из википедии:

Определение Funkspiel'я

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

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

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

Стеганографическое отслеживание (СПД)


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

Почему бы не перенять опыт «реальных коллег» в наш виртуальных мир? Таким образом стеганографическое отслеживание напоминает чем-то вроде honeypot'а.

Требования

Любая стегосистема должна отвечать следующим требованиям:

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

Приложения

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

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

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

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

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

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

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

Ограничения

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

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

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

Контейнеры

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

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

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

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

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

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

Возможны следующие варианты контейнеров:

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

Методы

В настоящее время существует достаточно много различных методов (и их вариантов) встраивания сообщений (имеется в виду и встраивание цифровых водяных знаков). Из-за ограниченности объема публикации невозможно описать все используемые методы, однако некоторые из них достаточно хорошо описаны в специальной литературе [8, 9, 10, 11].

Методы сокрытия информации

В настоящее время наиболее распространенным, но наименее стойким является метод замены наименьших значащих битов или LSB-метод. Он заключается в использовании погрешности дискретизации, которая всегда существует в оцифрованных изображениях или аудио- и видеофайлах. Данная погрешность равна наименьшему значащему разряду числа, определяющему величину цветовой составляющей элемента изображения (пикселя). Поэтому модификация младших битов в большинстве случаев не вызывает значительной трансформации изображения и не обнаруживается визуально. Более подробно LSB-метод описан в статье В. Н. Кустова и А. А. Федчука "Методы встраивания скрытых сообщений" ("Защита информации. Конфидент", №3, 2000, стр. 34).

Другим популярным методом встраивания сообщений является использование особенностей форматов данных, использующих сжатие с потерей данных (например JPEG). Этот метод (в отличии от LSB) более стоек к геометрическим преобразованиям и обнаружению канала передачи, так как имеется возможность в широком диапазоне варьировать качество сжатого изображения, что делает невозможным определение происхождения искажения. Более подробно этот метод описан в статье С. Ф. Быкова "Алгоритм сжатия JPEG с позиции компьютерной стеганографии" ("Защита информации. Конфидент", №3, 2000, стр. 26).

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

Цифровые водяные знаки

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

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

ИСТОРИЧЕСКИЕ ЗАМЕТКИ

История стеганографии - это история развития человечества.

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

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

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

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

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

В XV веке монах Тритемиус (1462-1516), занимавшийся криптографией и стеганографией, описал много различных методов скрытой передачи сообщений. Позднее, в 1499 году, эти записи были объединены в книгу "Steganographia", которую в настоящее время знающие латынь могут прочитать в Интернет.

XVII - XVIII века известны как эра "черных кабинетов" - специальных государственных органов по перехвату, перлюстрации и дешифрованию переписки. В штат "черных кабинетов", помимо криптографов и дешифровальщиков, входили и другие специалисты, в том числе и химики. Наличие специалистов-химиков было необходимо из-за активного использования так называемых невидимых чернил. Примером может служить любопытный исторический эпизод: восставшими дворянами в Бордо был арестован францисканский монах Берто, являвшийся агентом кардинала Мазарини. Восставшие разрешили Берто написать письмо знакомому священнику в город Блэй. Однако в конце этого письма религиозного содержания, монах сделал приписку, на которую никто не обратил внимание: "Посылаю Вам глазную мазь; натрите ею глаза и Вы будете лучше видеть". Так он сумел переслать не только скрытое сообщение, но и указал способ его обнаружения. В результате монах Берто был спасен.

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

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

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

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

Литература:

1. Kahn D. The Codebreakers. N-Y, 1967.

2. Жельников В. Криптография от папируса до компьютера. М., 1996.

3. Simmons G.J. The prisoner`s problem and the subliminal channel, Proc. Workshop on Communications Security (Crypto`83), 1984, 51-67.

4. Pfitzmann B. Information Hiding Terminology, in Information Hiding, Springer Lecture Notes in Computer Science, v.1174, 1996, 347-350.

5. Aura T. Invisible communication. In Proc. of the HUT Seminar on Network Security '95, Espoo, Finland, November 1995. Telecommunications Software and Multimedia Laboratory, Helsinki University of Technology.

6. Ross J. Anderson. Stretching the limits of steganography. In IH96 [3], pages 39-48.

7. Zollner J., Federrath H.,Klimant H., Pfitzmann A., Piotraschke R., Westfeld A., Wicke G., Wolf G. Modeling the security of steganographic system, Proc. 2nd International Workshop on Information Hiding, 1998, LNCS, v.1525, 344-354.

8. E. Franz, A. Jerichow, S. Moller, A. Pfitzmann, I. Stierand. Computer Based Steganography: How it works and why therefore any restrictions on cryptography are nonsense, at best, In Information hiding: first international workshop, Cambridge, UK. Lecture Notes in Computer Science, vol. 1174, Berlin Heidelberg New York: Springer-Verlag, 1996.

9. N.F. Johnson, S. Jajodia. Exploring Steganography: Seeing the Unseen, IEEE Computer, February 1998, vol. 31, no. 2, pp.26-34.

10. Walter Bender, Daniel Gruhl, Norishige Morimoto, and Anthony Lu. Techniques for data hiding. IBM Systems Journal, 35(3 & 4):313{336, 1996.

11. Raymond B. Wolfgang and Edward J. Delp. A watermark for digital images. In International Conference on Images Processing, pages 219-222, Lausanne, Switzer-land, September 1996. IEEE.

26 мая 2009, 07:23 · se

Список литературы

1. 1. Голубев Е.А. Стеганография как одно из направлений обеспечения информационной безопасности / Е.А. Голубев, Г.В. Емельянов // T-Comm: Телекоммуникации и транспорт. – 2009. – С. 185–186.

2. 2. Жмакин М.О. Стеганография и перспективы ее применения в защите печатных документов // Безопасность информационных технологий. – 2010. – С. 74–77.

3. 3. Сизов А.С. Обзор и тенденции развития методов анализа стеганографических сообщений / А.С. Сизов, Е.И. Никутин, С.В. Котенко // Известия Юго-Западного государственного университета. Серия: управление, вычислительная техника, информатика, медицинское приборостроение. – 2013. – С. 43–48.

4. 4. Елисеев А.С. Исследование и разработка методов и алгоритмов стеганографического анализа отдельных контейнеров и их связанных наборов: Дисс. на соиск. уч. ст. канд. тех. нау

Наши рекомендации