На главную | Содержание | Назад | Вперёд
Наши друзья

 

 

Принципы построения компьютерной стеганографии

Стеганография занимает свою нишу в обеспечении безопасности: она не заменяет, а дополняет криптографию, защищая информацию от злоумышленников. Сокрытие сообщения методами стеганографии значительно снижает вероятность обнаружения
самого факта передачи сообщения. А если это сообщение к тому же зашифровано, то оно имеет еще один, дополнительный, уровень защиты.
Стеганография бывает полезна, когда необходимо не просто передать секретное
сообщение, а секретно передать секретное сообщение, то есть скрыть сам факт пере­дачи секретного сообщения. Такой способ ведения тайной коммуникации, однако, имеет ряд недостатков:
трудно обосновать его стойкость — вдруг злоумышленникам станет известен способ «подмешивания» секретных данных к «болванке» — массиву открытых данных; О при его использовании объем передаваемых или хранимых данных может увеличи­ваться, что отрицательно сказывается на производительности систем их обработки. В зависимости от способа засекречивания передаваемых сообщений, а именно пря­чется ли секретное сообщение или оно просто делается недоступным для всех, кроме получателя, можно выделить два класса засекречивания данных — стеганографию и шифрование.
Если рассматривать информацию отдельно от ее материального представления, а именно так мы и будем ее рассматривать, то возникает вопрос — где же информа­цию можно спрятать? Ответ однозначен: только в еще
большем массиве информации — как иголку в стоге сена. В этом и заключается принцип действия стеганографии,
т.е. стеганография предполагает, что передаваемый текст «растворяется» в сообщении большего размера с совер­шенно «посторонним» смыслом. Но если взять и извлечь из него некоторые символы по определенному закону,


например, — каждый второй, третий, и т.д., то получим вполне конкретное тайное
сообщение.
Компьютерная стеганография (стеганографические программные продукты) бази­руется на двух основных принципах:
D файлы, содержащие оцифрованное изображение или звук, могут быть до неко­торой степени видоизменены без потери своей функциональности, в отличие от
других типов данных, требующих абсолютной точности;
органы чувств человека неспособны различить незначительные изменения в цвете изображения или в качестве звука. Например, мы отправляем нашему корреспонденту по электронной почте файл с рас­тровой черно-белой картинкой, в котором наименее значащий бит в коде яркости каждой
точки изображения будет элементом нашего тайного сообщения. Получатель письма из­влечет все такие биты и составит из них «истинное» сообщение. Картинка, присутствую­щая здесь только для отвода       так и останется для непосвященных простой картинкой.
По аналогии с криптографической системой введем понятие стеганографической
системы       как ее еще называют более сокращенно,
Стеганографическая система, или стегосистема, — это совокупность средств и ме­тодов, которые используются для формирования скрытого канала передачи информа­ции. Модель обобщенной стегосистемы представлена на рис.
При построении любой стегосистемы должны учитываться следующие положения: противник имеет полное представление о стеганографической системе, деталях ее реализации, и единственной информацией, которая остается неизвестной по­тенциальному противнику, является ключ, с помощью которого только его дер­жатель может установить факт присутствия и содержание скрытого сообщения;
О если противник каким-то образом узнает о факте существования скрытого сооб­щения, это не должно позволить ему извлечь подобные сообщения в других дан­ных до тех пор, пока ключ хранится в тайне;
□ потенциальный противник должен быть лишен каких-либо технических и иных преимуществ в распознавании или раскрытии содержания тайных сообщений.
В стегосистеме в качестве данных может использоваться любая информация: текст,
сообщение, изображение и т. п. В общем же случае, для обозначения скрываемой ин­формации, целесообразно использовать слово «сообщение», так как сообщением мо­жет быть как текст или изображение, так и, например, аудиоданные. В современной компьютерной стеганографии существует два основных типа файлов: сообщение — файл, который предназначен для скрытия, и контейнер — файл, который может быть
использован для скрытия в нем сообщения.
Сообщение, которое необходимо передать отправителю, с помощью специального
программного обеспечения встраивается в контейнер. Контейнер — любая информа­ция, предназначенная для сокрытия тайных сообщений. Данные контейнера должны
быть достаточно шумными, чтобы небольшое изменение в их беспорядочности не могло быть заметным. Биты контейнера, хотя и являются шумом сточки зрения точности измерений, могут иметь некоторые специальные статистические характеристики. Пред­полагается, что кодирование тайного сообщения должно воспроизводить характерис­тики шума контейнера. Цель труднодостижимая, но реальная. Поэтому выбор контей­нера оказывает существенное влияние на надежность всей стегосистемы и возможность обнаружения факта передачи скрытого сообщения. Например, опытный глаз цензора с художественным образованием легко обнаружит изменение цветовой гаммы при внедрении сообщения в репродукцию «Мадонны» Рафаэля или «Черного ' квадрата» Малевича.
Возможны следующие варианты контейнеров: О контейнер генерируется самой стегосистемой;
□ контейнер выбирается из некоторого множества контейнеров; О контейнер поступает извне;
□ контейнер, получаемый с помощью моделирования шумовых характеристик. Примером генерации контейнера самой стегосистемой может служить программа
MandelSteg, в которой в качестве контейнера для встраивания сообщения генерирует­ся фрактал Мандельброта. Такой подход получения стегосообщения можно назвать
конструирующей стеганографией.
Если используется выборка контейнера из некоторого множества, то в этом случае первоначально генерируется большое число альтернативных контейнеров, чтобы за­тем выбрать наиболее подходящий для сокрытия сообщения. Такой подход к выбору контейнера называют селектирующей стеганографией. В данном случае при выборе оптимального контейнера из множества сгенерированных важнейшим требованием является естественность контейнера. Единственной же проблемой остается то, что
даже оптимально организованный контейнер позволяет спрятать незначительное ко­личество данных при очень большом объеме самого контейнера.
В случае, когда контейнер поступает извне, отсутствует возможность выбора кон­тейнера и для сокрытия сообщения берется первый попавшийся контейнер, не всегда подходящий к встраиваемому сообщению. Такой подход называется безальтернатив­ной стеганографией.
Следующий шаг — моделирование характеристик шума контейнера. Подражатель­ная функция должна быть построена так, чтобы не только кодировать секретное сооб­щение , но и придерживаться модели первоначального шума. В предельном случае це­


лое сообщение конструируется в соответствии с моделью шума. Такой подход называ­ют конструирующей стеганографией, и он также имеет много недостатков. Его трудно
совместить с сильным алгоритмом шифрования, да и моделирование шума или компо­нентов ошибок в данных — занятие не из легких. Формирование модели требует зна­чительных усилий, творческой работы над каждым каналом связи или контейнером.
Поскольку попытки подражания первоначальному шуму либо ведут к сомнитель­ной безопасности или к слишком малому диапазону рабочих частот для
практических применений, наиболее привлекательной остается следующая базовая
процедура.
Выбирается класс достаточно шумных контейнеров и идентифицируются биты
шума. Затем определяется, какую порцию шумовых битов контейнера можно заме­нить псевдослучайными данными без значительного изменения его статистических
характеристик. Так, если контейнер представляет собой цифровую фотографию, нас
должны интересовать младшие биты градаций серой шкалы или RGB-значений при цветном изображении, либо коэффициенты Фурье в JPEG-формате изображений. Из­меняя в среднем, допустим, только 100-й пиксель изображения, в одном мегабайте несжатого изображения можно спрятать примерно один килобайт тайных данных.
Для дополнительной безопасности и придания тайному сообщению вида случай­ных данных оно должно быть зашифровано сильным криптоалгоритмом. Замена псев­дослучайными битами некоторых наиболее шумных битов контейнера только немно­го увеличит уровень шума сообщения, Включение открытого текста в контейнер может
заметно изменить его статистические характеристики. Более того, последовательность
скрывающих битов должна выбираться псевдослучайным способом как функция сек­ретного ключа. Иначе противник, имеющий алгоритм, без труда вскроет контейнер.
Но и шифрование с ключом не освобождает от проблем. Если скрывающие биты в
подозреваемом сообщении имеют некоторые статистические отклонения от других аналогичных сообщений, то противник получит все основания для вывода, что оно содержит скрытые данные. Тогда путем дополнительного зашумления он может иска­зить сообщение и этим фактически его уничтожить.
По протяженности контейнеры можно подразделить на два типа:
□ непрерывные (потоковые);
□ ограниченной (фиксированной) длины.
Они представляют собой или поток непрерывных данных, подобно цифровой теле­фонной связи, или файл, подобный растровому изображению.
Особенностью потокового контейнера является то, что невозможно определить его начало или конец. Более того, нет возможности узнать заранее, какими будут после­дующие шумовые биты, что приводит к необходимости включать скрывающие сооб­щение биты в поток в реальном масштабе времени, а сами скрывающие биты выбира­ются с помощью специального генератора, задающего расстояние между последовательными битами в потоке. Такой способ называют произвольно-интерваль­ным методом. Следует заметить, что в достаточно длинном контейнере можно скры­вать несколько сообщений.
В непрерывном потоке данных самая большая трудность для получателя заключа­ется в определении момента, когда же начинается скрытое сообщение. В простом слу­чае, если поток данных имеет конечную длину и часто вновь открывается, тайное сообщение может начинаться при открытии сеанса. При наличии в потоковом контейне­ре сигналов синхронизации или границ пакета скрытое сообщение начинается сразу же после одного из них. В свою очередь, для отправителя возможны проблемы, если он не уверен в том, что поток контейнера будет достаточно долгим для размещения
целого тайного сообщения.
При использовании контейнеров фиксированной длины, которые свободны от не­достатков потоковых контейнеров, отправитель заранее знает размер файла и может
выбрать скрывающие биты в подходящей псевдослучайной последовательности. По­скольку контейнер известен заранее, есть время оценить его эффективность примени­тельно к выбранному алгоритму сокрытия информации. С другой стороны, контейне­ры фиксированной длины имеют ограниченный объем и иногда встраиваемое сообщение
может не поместиться в файл-контейнер.
Другой недостаток заключается в том, что расстояния между скрывающими бита­ми равномерно распределены между наиболее коротким и наиболее длинным задан­ными расстояниями, в то время как истинный случайный шум будет иметь экспонен­циальное распределение длин интервала. Конечно, можно породить псевдослучайные экспоненциально распределенные числа, но этот путь обычно слишком трудоемок. Однако на практике чаще всего используются именно контейнеры фиксированной дли­ны, как наиболее распространенные и доступные.
Для большинства современных методов, используемых для сокрытия сообщения в цифровых контейнерах, имеет место зависимость надежности системы от объема встра­иваемых сообщений, представленная зависимость показывает, что при увеличении объема встраиваемых сооб­щений снижается надежность системы (при неизменности размера контейнера). Та­ким образом, используемый в стегосистеме контейнер накладывает ограничения на
размер встраиваемых данных.
В любом случае контейнер без встроенного сообщения — это пустой контейнер, а контейнер, содержащий встроенную информацию, - это заполненный или стегокон-тейнер.


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


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

 

На главную | Содержание | Назад | Вперёд
 
Яндекс.Метрика