БАРСУКОВ Вячеслав Сергеевич, кандидат технических наук
Шувалов Алексей Викторович
Ещё раз о "СТЕГАНОГРАФИИ" – самой современной из древнейших наук.
Рассматриваются некоторые современные возможности использования компьютерной стеганографии для решения задач информационной безопасности. Статья является продолжением цикла работ по стеганографической защите информации [1].
Известно, что научно-технический прогресс развивается, как правило, по спирали и “все новое – это хорошо забытое старое…”. Современная жизнь добавила к этой поговорке современное дополнение: “… плюс новая технология”. Блестящим подтверждением этому стала одна из древнейших наук стеганография. Действительно, как можно видеть из рис. 1, компьютерная технология вдохнула новые силы в древнейшую науку “стеганографию” и сегодня она не только сменила свое название на “компьютерную стеганографию”, но и совместно с криптографией стала основой, обеспечивающей безопасность передачи информации.
Рис. 1. Исторический аспект и тенденции развития стеганографии
Основные задачи, решаемые открытой стеганографией, технологии реализации и области ее применения приведены в табл. 1.
Таблица 1. Основные задачи, решаемые открытой стеганографией
Задача | Технология и пути решения | Описание примера реализации | Области применения |
Защита конфиденциальной информации от несанкционированного доступа | Встраивание скрытой информации в общедоступную мультимедийную информацию | Подробное описание практической реализации см. ниже. 1 секунда оцифрованного звука (44100 Гц, 8 бит, стерео) позволяет скрыть 5 страниц текстовой информации, при этом изменение значений отсчетов составляет 1% | Военные и другие приложения, а также применение в случаях, когда нельзя использовать криптографию |
Преодоление систем мониторинга и управления сетевыми ресурсами | Стегометоды, направленные на противодействие промышленному шпионажу, позволяют противостоять контролю над информацией в компьютерных сетях | Группа Hacktivismo выпустила утилиту Camera/Shy, которая работает на основе браузера Internet Explorer, не оставляя в нем истории деятельности, используя стеганографическую технику LSB и алгоритм шифрования AES с 256-разрядным ключом, функционирует очень быстро и позволяет скрывать сообщения в gif-файлах. Кроме того, эта программа способна также автоматически сканировать HTML-страницы на наличие графических изображений со скрытой информацией | По заявлению авторов, эта программа была создана “для обхода национальных межсетевых экранов, что дает возможность безопасно обмениваться любым цифровым контентом через Интернет” |
Камуфлирование программного обеспечения (ПО) | В случаях, когда использование ПО ограничено, оно может быть закамуфлировано под стандартные программы или скрыто в файлах мультимедиа | Используются официальные редакторы, звуковое сопровождение, реклама и т.п. | Обеспечивается многоуровневый санкционированный доступ к ПО |
Защита авторского права на интеллектуальную собственность от копирования и аутентификация | Используются технологии цифровых водяных знаков (ЦВЗ) и идентифика-ционных номеров (ИН) | ЦВЗ встраиваются в защищаемый объект и могут быть как видимыми, так и невидимыми. Они содержат аутентичный код, информацию о собственнике и управляющую информацию. Отличием ИН от ЦВЗ является то, что всякая копия имеет свой ИН (технология отпечатков пальцев) | Технологии ЦВЗ и ИН используются для защиты от копирования электронных носителей и несанкционированного использования информации в электронной коммерции, голосовой почте, системах видеонаблюдения, делопроизводстве |
Скрытая аннотация документов и оптимизация банков данных (информации) | Используются технологии ЦВЗ и ИН | Например, информация в электронных медицинских документах, доступная только лечащему врачу | Используется для скрытой аннотации документов в медицине, картографии, мультимедийных банках данных, а также для поиска в них нужной информации |
Как видно из табл. 1, основными технологиями, которые обеспечивают решение поставленных задач, являются технологии скрытой связи и ЦВЗ. Рассмотрим их более подробно. В табл. 2 приведены современные программные средства стеганографического сокрытия данных.
Таблица 2. Программные средства стеганографического сокрытия данных
Наименование | Возможности | Принцип работы | Преимущества | Недостатки | Операционная система |
OutGuess | Сокрытие данных в JPEG изображениях | Сокрытие данных в младших битах, отличных от нуля квантованных коэффициентов блоков изображения | Возможность контроля вносимых “статистических искажений”, большая стойкость к атакам | Написано для работы в UNIX-подобных операционных системах | |
JSTEG | Нестойкость к атакам пассивных противников, возможность автоматического детектирования наличия скрытого сообщения | Ориентировано на операционную систему MS-DOS | |||
JPHS | |||||
Gifshuffle | Сокрытие данных в графических файлах в формате GIF | Сокрытие информации посредством изменения порядка цветов в палитре | Возможность предварительного сжатия или шифрования скрываемого сообщения | Малый объем скрываемого сообщения, не зависящий от размера контейнера | Написано для работы в UNIX-подобных операционных системах. |
Hide-and-Seek | Сокрытие информации путем замены младших битов цветовых индексов точек изображения | Использует алгоритм шифрования “Blowfish”, осуществляет случайный выбор точек хранения | Ориентировано на операционную систему MS-DOS. | ||
Steganos | Сокрытие в графических файлах BMP, DIB,VOC, WAV, ASCII | Сокрытие информации путем замены младших битов элементов изображения | Заполнение неиспользованного пространства контейнера шумоподобным сигналом | Использование устаревших форматов контейнеров | Ориентировано на операционную систему MS-DOS и Windows |
Steghide | Сокрытие данных в графических BMP- и звуковых WAV- и AU- файлах | Сокрытие информации путем замены младших бит элементов контейнера | Возможность предварительного шифрования скрываемого сообщения | Ориентировано на операционную систему MS-DOS | |
DC-Stegano | Сокрытие данных в графических файлах в формате PCX | Сокрытие посредством замены младших битов цветовых индексов точек изображения | Отсутствие стегоключа, строго заданный размер изображения-контейнера | ||
Invisible Secrets 2002 | Внедрение данных в аудиоданные в формате PCM , WAV,BMP,DIB,VOC,HTML, ASCII | Сокрытие информации путем замены младших битов элементов контейнера, а также путем добавления пробелов в конце строки для формата ASCII | Отсутствие распределения скрываемой информации по контейнеру, отсутствие предварительного анализа контейнера на пригодность | Ориентировано на операционную систему Microsoft Windows | |
Steganos for Windows | Заполнение неиспользованного пространства контейнера шумоподобным сигналом | Использование устаревших форматов контейнеров | |||
Hide4PGP | Распределение скрываемой информации по контейнеру | Отсутствие предварительного анализа контейнера на пригодность | |||
StegoWav | Внедрение данных в аудиоданные в формате PCM (WAV) | Сокрытие информации путем замены младших битов элементов контейнера | Шифрование скрываемого сообщения, распределение скрываемой информации по контейнеру | Неразвивающийся продукт, использование устаревших форматов контейнеров | Ориентировано на операционную систему Microsoft Windows |
Steaghan | Сокрытие данных в графических BMP- и звуковых WAV-файлах | Написано для работы в UNIX-подобных операционных системах | |||
S-Tools | Внедрение данных в аудиоданные в формате PCM (WAV) | Использование устаревших форматов контейнеров | Ориентировано на операционную систему Microsoft Windows | ||
MP3Stego | Внедрение данных в аудиоданные в формате MP3 | Сокрытие информации на основе изменения четности при квантовании частотных коэффициентов на этапе сжатия аудиопотока | Сжатие и шифрование скрываемого сообщения, зашумление неиспользуемого пространства контейнера | Нестойкость к атакам активного противника (к уничтожению скрытых данных) | Ориентировано на операционные системы Microsoft Windows и UNIX |
UnderMP3 Cover | Сокрытие информации путем встраивания в контейнер некорректных MP3 кадров | Низкая стойкость к пассивному стегоанализу | Написано для работы в UNIX-подобных операционных системах | ||
WNS (Белый шумовой шторм) | Универсальная программа стеганографии | Предварительно скрываемый файл шифруется алгоритмом PGP и затем скрывается в контейнере | Хорошее качество сопровождающей документации | Завышенные требования к размерам контейнера за счет выбранного метода шифрования | OC DOS |
Covert_TCP | Программа управляет TCP_IP заголовком и передает с каждым файлом один скрытый байт | Передача скрытых данных осуществляется как с пакетами данных, так и со служебными пакетами | Большие возможности передачи скрытых данных. Программа может работать как станция и как пользователь | OC Linux | |
SecurEngine | Внедрение данных в текстовые файлы, графические файлы (BMP, JPG) и аудиофайлы (WAV) | Сжатие и шифрование скрываемого сообщения | Ориентировано на операционную систему Microsoft Windows |
Проводя подробный анализ стеганографических программ, нельзя не отметить также, что в настоящее время, помимо представленных выше, все еще могут использоваться такие программы как:
- DiSi-Steganоgraph (DOS-приложение, прячет данные в графических файлах РСХ);
- StegoDOS (DOS, графические форматы);
- Gif-It-Up (Win95, прячет данные в Gif-файлах);
- EZStego (Java-приложение, метод LSB для форматов GIF и PICT);
- Contraband (Win95, формат ВМР);
- FFEncode (DOS, формат ASCII);
- Isteg (DOS, JPEG);
- Steganography Tools 4 (шифрует информацию алгоритмами DEA, MPJ2, DES, TripleDES, NSEA и затем прячет ее в графических и звуковых файлах, а также в секторах дисков);
- Winstorm (DOS, OS/2, PCX) и др.
В качестве примера использования стеганографических программ рассмотрим более подробно программу JPEG Hide-and-Seek [3]. Этот программный продукт предназначен для сокрытия данных в графических файлах формата JPEG, который на данный момент является одним из самых популярных форматов для хранения графической информации (в частности, цифровых фотографий).
Программа JPHS состоит из трех частей:
- jhide.exe – консольное ДОС приложение, предназначенное для сокрытия данных в изображениях;
- jseek.exe – консольное ДОС приложение, предназначенное для извлечения сокрытых данных;
- jphswin.exe – Windows приложение, совмещающее в себе функции jhide.exe и jseek.exe.
В данном разделе мы рассмотрим только третью из них. Внешний вид главного окна программы представлен на рис. 2.
Рис. 2 Главное окно программы JPHSWin
Меню программы содержит следующие пункты:
- Exit – выход из программы;
- Open jpeg – загрузка стегоконтейнера (JPEG изображения);
- Hide – сокрытие сообщения в контейнере;
- Seek – извлечение сообщения из контейнера;
- Save jpeg – запись контейнера на диск;
- Save jpeg as – запись контейнера на диск под другим именем;
- Pass phrase – задание кодовой фразы, используемой при кодировании сообщения;
- Options – настройки программы;
- Help – краткая справка по использованию программы;
- About – информация о разработчике программы.
Кроме самой программы нам понадобится подходящий стегоконтейнер. Как известно, контейнер по размеру должен в несколько раз превосходить размер скрываемого сообщения. К тому же при сокрытии большого объема информации желательно, чтобы контейнер имел сложную структуру – это затруднит визуальное (в нашем случае) обнаружение искажений, вносимых скрытым сообщением.
В качестве сообщения мы будем использовать файл с информацией о программе JPHS (readme.txt) размером 972 байта. В связи с небольшим его размером нам понадобится не слишком большое и сложное изображение, например, такое, которое представлено на рис. 4а.
Сам процесс сокрытия сообщения можно разделить на четыре основных операции:
1. Для загрузки изображения воспользуемся пунктом “Open jpeg” главного меню программы. После загрузки изображения в верхней части окна программы выводится информация о контейнере (рис. 3): Filesize (размер контейнера), Width (ширина изображения), Height (высота изображения), Approximate max capacity (оценка максимального размера скрываемого сообщения) и recommended limit (рекомендуемый максимальный размер скрываемого сообщения).
Рис. 3. Информация об изображении
2. После загрузки изображения необходимо ввести кодовую фразу, используемую при кодировании сообщения. Для этого нужно воспользоваться пунктом меню “Pass phrase”. Однако если этого не сделать, то при попытке сокрытия сообщения программа сама предложит вам ввести её.
а) | б) |
Рис. 4. Пустой стегоконтейнер (а) и стегоконтейнер со скрытым сообщением (б)
3. После ввода кодовой фразы необходимо выбрать скрываемое сообщение, для чего существует пункт меню “Hide”.
4. После сокрытия сообщения остается только сохранить заполненный контейнер (“Save jpeg” или “Save jpeg as”, если вы хотите сохранить исходный контейнер) и отправить его адресату. Внешний вид заполненного контейнера представлен на рис. 4б.
Как видно из рис. 4 визуально контейнер с сообщением не отличается от исходного. Однако не стоит забывать о существовании статистических методов анализа потенциальных стегоконтейнеров. В частности, о программе stegdetect, которая в некоторых случаях позволяет проводить такой анализ в автоматическом режиме. К недостаткам программы можно отнести довольно низкий процент использования контейнера (максимальный размер скрываемого сообщения составляет примерно 15% от исходного размера контейнера). Для извлечения сообщения необходимо проделать операции 1 – 3 с тем отличием, что для извлечения сообщения из контейнера вместо пункта “Hide” главного меню программы используется пункт “Seek”.
В последние годы в связи с интенсивным развитием мультимедийных технологий очень остро встал вопрос защиты авторских прав и интеллектуальной собственности, представленной в цифровом виде. Особенно актуальной эта проблема стала с развитием общедоступных компьютерных сетей, в частности, сети Интернет. С учетом этого в настоящее время задачи защиты от копирования и обеспечения аутентификации решаются, помимо мер организационно-юридического характера, с использованием технологий цифровых водяных знаков (ЦВЗ), основные особенности которых приведены в табл. 3 (более подробно принципы работы и практической реализации ЦВЗ рассмотрены в [1]).
Таблица 3. Основные особенности технологий цифровых водяных знаков
Технология ЦВЗ | Особенности ЦВЗ | Примечание |
Робастные (РЦВЗ) | Обладают высокой устойчивостью к внешним воздействиям | Анализ литературы показывает, что РЦВЗ посвящено наибольшее количество работ |
Хрупкие (ХЦВЗ) | Разрушаются при незначительной модификации заполненного контейнера. Применяются для аутентификации сигналов. В отличие от ЭЦП ХЦВЗ все же допускают некоторую модификацию контента | Отражают не только факт модификации контейнера, но также вид и местоположение этого изменения |
Полухрупкие (ПЦВЗ) | Устойчивы по отношению к одним воздействиям и не устойчивы — к другим | ПЦВЗ могут, например, позволять выполнять сжатие изображения, но запрещать вырезку из него или вставку в него фрагмента |
Необходимо отметить, что наибольшие достижения стеганографии в прошедшем десятилетии были достигнуты именно в области развития цифровых водяных знаков. Эти достижения вызваны реакцией общества на актуальнейшую проблему защиты авторских прав в условиях общедоступных компьютерных сетей.
В табл. 4 приведены результаты анализа современных алгоритмов встраивания ЦВЗ в изображения.
Таблица 4. Алгоритмы встраивания ЦВЗ в изображения
№ | Характеристика ЦВЗ | Принцип работы | Преимущества | Недостатки |
Аддитивные алгоритмы | ||||
A17 | Последовательность псевдослучайных чисел, распределенных по закону Гаусса, длиной 1000 чисел | Модификация 1000 самых больших коэффициентов дискретного косинусного преобразования (ДКП) | Сильная робастность ЦВЗ при сжатии и других видах обработки сигнала | Трудоемкость вычисления двумерного ДКП |
А18 | Последовательность бинарных псевдослучайных чисел wi I {-1, 1}, длина которой определяется размерами исходного изображения | Модификация всех коэффициентов детальных поддиапазонов первого подуровня разложения при выполнении четырехуровневого вейвлет-преобразования | Возможность обнаружения ЦВЗ без исходного изображения. Сильная визуальная незаметность ЦВЗ | Для извлечения ЦВЗ необходимо иметь исходное изображение |
А19 | Массив псевдослучайных чисел, распределенных по закону Гаусса, размером 1024 числа | Модификация всех коэффициентов LL поддиапазона вейвлет-преобразования изображения | Возможность модификации алгоритма для использования секретного ключа | Для извлечения ЦВЗ необходимо иметь исходное изображение |
А20 | Последовательность псевдослучайных действительных чисел, распределенных по закону Гаусса | Модификация наибольших коэффициентов детальных поддиапазонов трехуровневой декомпозиции изображения | Хорошая визуальная маскировка внедренных данных. Для обнаружения ЦВЗ не требуется наличие исходного изображения | |
А21 | Последовательность псевдослучайных действительных чисел, распределенных по закону Гаусса, длиной 1000 чисел | Модификация перцептуально значимых коэффициентов трехуровневой декомпозиции изображения с использованием биортогональных вейвлет-фильтров | Робастность ЦВЗ ко многим видам атак. Для обнаружения ЦВЗ не требуется наличие исходного изображения | |
А22 | Последовательность псевдослучайных действительных чисел, распределенных по гауссовскому закону | Модификация наибольших коэффициентов каждого поддиапазона трехуровневой декомпозиции изображения (за исключением поддиапазонов наивысшего уровня разрешения) | Для обнаружения ЦВЗ не требуется наличие исходного изображения | |
А23 | Массив биполярных псевдослучайных чисел | Модификация 1000 наибольших коэффициентов комплексного вейвлет-преобразования (ЦВЗ также подвергается преобразованию) | Для обнаружения ЦВЗ не требуется наличие исходного изображения | |
А24 | Последовательность псевдослучайных действительных чисел, распределенных по гауссовскому закону wi I {1, -1} | Модификация наибольших коэффициентов трехуровневого вейвлет-преобразования (коэффициенты отбираются в соответствии с заданным порогом) | Высокая робастность ЦВЗ к некоторым видам атак | Для извлечения ЦВЗ необходимо иметь исходное изображение |
А25 | Последовательность псевдослучайных действительных чисел, длина которой зависит от пропускной способности изображения, вычисляемой на основе модели человеческого зрения | Модификация коэффициентов четырехуровнего вейвлет-преобразования, отобранных с учетом заданного порога | Высокая робастность внедряемого ЦВЗ | Для извлечения ЦВЗ необходимо иметь исходное изображение |
А26 | Последовательность псевдослучайных действительных чисел, распределенных по гауссовскому закону | Модификация наибольших коэффициентов из высокочастотного и среднечастотного диапазонов преобразования Хаара | Высокая робастность к атакам с изменением масштаба. Возможность сокращения количества вычислительных операций при обнаружении ЦВЗ | Для извлечения ЦВЗ необходимо иметь исходное изображение |
А27 | Последовательность псевдослучайных действительных чисел, распределенных по гауссовскому закону (длина соответствует количеству модифицируемых коэффициентов) | Модификация значимых коэффициентов всех поддиапазонов пятиуровневого вейвлет-преобразования | Возможность модификации алгоритма для использования стегоключа | Для извлечения ЦВЗ необходимо иметь исходное изображение |
А28 | То же | Алгоритм А28 представляет собой модифицированный вариант алгоритма А27, со слепым извлечением ЦВЗ | Для обнаружения ЦВЗ не требуется наличие исходного изображения | Сильно пониженная помехоустойчивость по сравнению с алгоритмом А27 |
Алгоритмы на основе слияния ЦВЗ и контейнера | ||||
А29 | Черно-белый логотип, размером до 25% от исходного изображения | Модификация всех коэффициентов одноуровневой декомпозиции исходного изображения | Большой размер скрываемого ЦВЗ (до четверти размера исходного изображения) | Для извлечения ЦВЗ необходимо иметь исходное изображение |
А30 | Черно-белый логотип | Модификация всех коэффициентов детальных поддиапазонов вейвлет-преобразования исходного изображения | Для обнаружения ЦВЗ не требуется наличие исходного изображения | |
Алгоритмы с использованием скалярного квантования | ||||
А31 | Последовательность ±1 | Модификация высокочастотных коэффициентов голубой компоненты изображения после пятиуровневого целочисленного вейвлет-преобразования | Для обнаружения ЦВЗ не требуется наличие исходного изображения | |
А32 | Бинарное изображение, размером 1/2 от исходного | Модификация ВЧ-НЧ и НЧ-ВЧ областей двухуровневого вейвлет-преобразования исходного изображения | Большой размер скрываемого ЦВЗ | Для извлечения ЦВЗ необходимо иметь исходное изображение; Низкая стойкость алгоритма по отношению к операциям обработки сигнала |
А33 | Последовательность символов, полученная из логотипа размером 25% от исходного изображения | Модификация n-мерного вектора коэффициентов дискретного вейвлет-преобразования исходного изображения | Большой размер скрываемого ЦВЗ Возможно контролировать робастность, уровень искажений и качество внедряемого изображения | Для извлечения ЦВЗ необходимо иметь исходное изображение |
Алгоритмы с использованием фрактальных преобразований | ||||
А34 | Формируется из исходного изображения (до 15 различных ЦВЗ) | Для обнаружения ЦВЗ не требуется наличие исходного изображения | ||
А35 | Строка бит | Наличие секретного ключа; Устойчивость к сжатию JPEG | ||
A36 | Строка бит | Наличие секретного ключа | Возможно заметное ухудшение качества изображения при встраивании ЦВЗ |
Примечание. В табл. 4 для алгоритмов ЦВЗ использованы обозначения, принятые в [2]
Таким образом, в настоящее время одна из наиболее древних наук стеганография становится основой для создания перспективных систем защиты информации, оперативно-технические характеристики которых определяются новыми информационными технологиями. Сегодня стеганография (от греческого “тайнопись”) позволяет не только успешно решать основную задачу – скрытно передавать информацию, но и решать целый ряд других актуальнейших задач, в том числе, помехоустойчивой аутентификации, защиты от несанкционированного копирования, мониторинга информации в сетях связи, поиска информации в мультимедийных базах данных и др.
Литература
1. “Специальная техника”//№№ 5/1998, 6/1999, 6/2000, 3/2002.
2. Грибунин В.Г. и др. Цифровая стеганография. М.: СОЛОН-Пресс, 2002.
3. http://www.securitylab.ru/tools/22202.html
Статья опубликована на сайте: 28.04.2006