Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие ЗИ ГУАП 2011 - умышленные угрозы.doc
Скачиваний:
62
Добавлен:
25.11.2019
Размер:
1.38 Mб
Скачать

6.2. Методы сокрытия информации в компьютерной стеганографии

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

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

Предположим, что часть матрицы выглядит следующим образом:

00010101 10100101 01010101 00110101 01110101 01000010 01010011 01101010

00001011 01010101 10100101 01010111 11010111 10000101 01010010 01010010

10101001 10101011 00001001 10100100 00010001 10100101 00010101 10100101

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

Необходимо скрыть в изображении сообщение, «set». Для этого необходимо три октета байтов (3х8), по одному на каждую букву. В шестнадцатеричной системе последние выглядят так: 73 65 74, а в двоичной так:

01110011 01100101 01110100.

Таким образом, изображение меняется следующим образом (изменяется последний бит каждого байта):

00010100 10100101 01010101 00110101 01110100 01000010 01010011 01101011

00001010 01010101 10100101 01010110 11010110 10000101 01010010 01010011

10101000 10101011 00001001 10100101 00010000 10100101 00010100 10100100

Как можно видеть, несмотря на данные изменения, это не оказало значительного влияния на изображение. Мы рассмотрели наиболее простой базовый пример. Усложнения этого алгоритма призваны преодолеть неизбежные ограничения.

При необходимости поместить в выбранную нами матрицу шесть символов, можно использовать два младших бита, но это приведёт к тому, что в нашем изображении будет больше искажений. Уровень искажений зависит от соотношения объемов файла-сообщения и файла-контейнера. Всё зависит от того, какой файл-контейнер используется. Так в цифровом аудио файле с частотой дискретизации 44100 Гц, в режиме стерео, за счёт изменения младших битов можно скрыть до 10 Килобайт информации на каждую секунду записи.

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

1. Использование свойств формата файла-контейнера:

  • сокрытие в межформатных пространствах файла-контейнера;

  • сокрытие-маскировка.

2. Использование свойств атрибутов и данных изображения (звука) файла-контейнера, свойств сжимаемых потоков файла-контейнера:

  • сокрытие с использованием атрибутов файла-контейнера;

  • сокрытие с использованием свойств данных файла-контейнера.

3. Использование свойств файловой системы:

  • использование не декларированных возможностей файловой системы;

  • изменение атрибутов скрываемого файла.

Рис. 22. Известные методы стеганографии.

Сокрытие в межформатных пространствах файла-контейнера

Сокрытие в межформатных пространствах файла-контейнера предполагает простейший, с точки выдумки и реализации принцип. Вписать файл-сообщение в пустоты или изначально нечитаемые области, предполагаемые форматом файла-контейнера. Наиболее часто используемыми методами можно считать сокрытие в конце файла-контейнера и между блоками файла-контейнера. Иногда используют также и «межстроковые» области, располагая файл-сообщение между маркерами Конец строки (End of Line) и «возврат каретки». Эти методы, будучи абсолютно бесхитростными являются и наиболее уязвимыми, так как приводят к не обусловленному увеличению общего объема файла-контейнера, при определенной очевидности нахождения в нем файла-сообщения.

Сокрытие в конце файла-контейнера. Внутреннее устройство большинства форматов основано на принципе «блочного строительства» и в качестве идентифицирующих и управляющих систем имеет элементы, называемые маркерами. В их функции входит, в том числе, и контроль за демонстрационным процессом (выводом на экран, принтер и др. ВУ). Становится очевидно, что расположив некоторые данные «за пределами» маркера, не вмешиваясь в системное устройство файла, можно избежать их попадания на экран и при этом не вызвать сбой в программе просмотра. Самым простым способом достигнуть это можно скрыв информацию в конце файла практически любого из форматов цифрового изображения. Обработав маркер Конец изображения (напр., в BMP это — ‘А2 FF’, а в JPEG — ‘FF D9’) (Джеймс Д. Мюррей, Уильям ван Райпер. Энциклопедия форматов графических файлов / Пер. с англ. Киев: BHV, 1997), программа-вьювер начинает обработку цифровых данных в буфере вывода изображения, абсолютно не интересуясь битами оставленными между маркером и физическим адресом конца файла. В формате GIF, позволяющим хранить несколько разных изображений (как правило, анимации), после каждого следует маркер ‘00 3В’. Предварительно осуществив какую-либо криптографическую защиту скрываемых данных, что желательно во всех случаях использования стеганографических методов, этим способом можно разместить информацию, объем которой ограничен лишь нашим пониманием проблемы простоты уязвимости этого метода. Ведь открыв файл «вручную» любым текстовым редактором злоумышленник в целости и сохранности обнаружит наши секретные сведения, если, конечно, у него хватит терпения в текстовом режиме «долистать» графический файл до конца.

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

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

Сокрытие-маскировка

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

  • сокрытие в полях спецификаций файла-контейнера,

  • сокрытие в полях, зарезервированных для расширения,

  • сокрытие с использованием свойств, не отображаемых полей файла-контейнера.

Сокрытие в полях спецификаций файла-контейнера. Суть этого метода состоит в размещении файла-сообщения в теле специальных полей файла-контейнера. Дело в том, что многие программы просмотра, читая файл, следуя вертикальной последовательности маркеров, просто игнорируют все поля спецификаций формата. При этом, естественно, возникает необходимость создать соответствующие признаки скрываемых данных, сделать их по возможности внешне похожими на реальные фрагменты и блоки, чтобы их не вычислили «вручную». Файл-сообщение может «замаскироваться», например, под фрагментарные косвенные данные файла-контейнера, например, под элементы Scan Index, Tile Index (Джеймс Д. Мюррей, Уильям ван Райпер. Энциклопедия форматов графических файлов / Пер. с англ. Киев: BHV, 1997).

Данные можно размещать в полях служебных комментариев файла-контейнера. Эти комментарии могут оказаться самыми разнообразными, что связано с многочисленностью используемых графических редакторов и цифровых устройств графической фиксации (оцифрованных кадров, цифровых фотоаппаратов и камер). Их наименования, номенклатура и технические характеристики зачастую тоже являются содержимым таких полей спецификаций. Например, файлы, подготовленные или обработанные в графическом пакете Photoshop, будут содержать код: «&File written by Adobe Photoshop. 5.0»; файлы, изображения которых получены при помощи цифровой камеры Olympus C2000Z: «OLYMPUS DIGITAL CAMERA.OLYMPUS OPTICAL CO.,LTD.C2000Z».

Нельзя игнорировать и возможность разместить файл-сообщение после некоторого внутреннего идентификатора файла-контейнера, например, End of Rendering (Конец изображения) в формате JFIF или End of Directory (Конец каталога) в SPIFF. Таким образом, сокрытие здесь — это маскировка скрываемой информации под различные данные спецификаций файла-контейнера, которые порой достигают неоправданно больших размеров (GIF, SPIFF). Легко понять, что и объем скрываемой информации тогда может быть соответствующим.

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

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

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

Сокрытие с использованием атрибутов файла-контейнера

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

  • сокрытие с использованием таблиц квантования;

  • сокрытие с использованием ложных таблиц квантования.

Сокрытие с использованием таблиц квантования. (JPEG-формат) Обычно файлы JPEG содержат одну или две таблицы квантования, реализованных в структуре формата для разделения высоко и низкочастотных компонент изображения. Каждая из них соответствует таблицам, разработанных ISO и имеет размер 64 байта. Идея, приведенная С.Ф. Быковым (Быков С. Ф. Алгоритм сжатия JPEG с позиции компьютерной стеганографии // Защита информации. Конфидент. 2000. № 3) состоит в использовании младших битов чисел, представляющих коэффициенты квантования. Принципиальное достоинство метода в том, что не нарушается структура потока JPEG (упакованных данных изображения). Недостатки — это небольшой объем скрываемых данных (следствие небольшого объема таблиц) и элемент случайности, вносимый изменениями, которые отрицательно влияют на эффективность последующего кодирования и, как следствие, увеличивают размер файла.

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

Сокрытие с использованием свойств данных файла-контейнера

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

  • сокрытие в данных самого изображения (звука),

  • сокрытие с использованием дополнительных изображений,

  • сокрытие с использованием цветовой палитры.

Сокрытие в данных самого изображения (звука). Примером данного метода является рассмотренный ранее LSB-метод.

Сокрытие с использованием уменьшенного изображения. Некоторые форматы в одном файле позволяют хранить сразу несколько одинаковых изображений разного размера. Это замечательная возможность проявить «стеганографическую смекалку», пусть даже и рассматриваемый формат предполагает хранение лишь одной уменьшенной копии изображения (например, GIF, JPEG). Такая копия, как правило, труднодиагностируема на предмет количественных и качественных характеристик своего изображения. Внесенные таким образом изменения будут практически невычислимыми (хотя профессионал все равно может обнаружить файл-контейнер и тогда его вскрытие – вопрос времени ). Здесь можно поступить в стиле спецслужб и, как говорится, дать «дезу». Явно упаковав лжефайл-сообщение в основное изображение-контейнер, вы можете истинное (небольшое) скрыть в уменьшенной копии. Объем сообщения, естественно, напрямую зависит от размеров уменьшенного изображения. Если при размере 256х256 используется классическая RGB-палитра, (красный, зеленый, синий), то вышеприведенным LSB-методом с отклонением 1% можно скрыть: 3 х 256 х 256 = 196 608 бит = 24 Кбайта секретной информации.

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

  • выбирается изображение, которое имеет повсеместный избыток некоторого цвета;

  • выбирается целевой формат файла-контейнера, который и будет носителем этого изображения;

  • определяется N – число используемых в сообщении символов;

  • выбирается N цветов, незадействованных в палитре выбранного изображения, которым назначается тот самый избыточный цвет;

  • каждый из N символов «получает» соответствующий ему цвет;

  • строится файл-контейнер, где по определенной заранее систематической последовательности чередуются цвета-символы, отображаемые на экране одним единственным «избыточным» цветом.

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

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

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

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

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

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

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