Методы стегоанализа цифровых изображений

advertisement
Методы стегоанализа цифровых изображений
А.М. ПРУДНИКОВ, М.В. МАРКОВСКИЙ
Московский инженерно-физический институт (государственный университет)
МЕТОДЫ СТЕГОАНАЛИЗА ЦИФРОВЫХ ИЗОБРАЖЕНИЙ
В работе рассматриваются методы внедрения информации в цифровые изображения, способы выявления наличия
скрытой информации, внедренной с помощью наиболее распространенных методов и существующего на текущий момент программного обеспечения, а также исследуется возможность поиска скрытых сообщений в мультимедиаконтейнерах, хранящихся в базе данных.
За последние несколько лет во всем мире существенно возросли объемы информации, обрабатываемые и передаваемые с помощью ЭВМ. Естественно, что при этом увеличении возрастают и
риски при работе со всевозможными сведениями, представленными в электронном виде. К таким
рискам можно отнести нарушение конфиденциальности данных, потерю их доступности, утрату
их целостности. Снижать подобные риски призваны криптография и стеганография. И если вопросы криптографии довольно широко и подробно описаны и активно обсуждаются, то вопросам стеганографии уделено гораздо меньше внимания.
Наиболее распространенные случаи использования цифровой стеганографии – встраивание
информации в контейнер с целью ее скрытой передачи и встраивание цифровых водяных знаков
[1, 2]. Эти направления и рассмотрим подробно, используя в качестве контейнеров цифровые
изображения. Основными способами внедрения информации в изображения являются аддитивное
внедрение и нелинейное встраивание. При аддитивном внедрении происходит линейная модификация используемого в качестве контейнера изображения, нелинейное встраивание подразумевает
под собой использование скалярного или векторного квантования.
Рассмотрим типичную методику аддитивного внедрения, которая реализуется несколькими
схожими способами:
(1)
f (m, n)  f (m, n)(1  wi ) ,
(2)
f (m, n)  f (m, n)  wi ,
(3)
f (m, n)  f (m, n)eαwi ,

где f – исходное изображение; f – модифицированное изображение; α – весовой коэффициент;
wi – элемент скрываемой последовательности длины N.
Тогда декодирование, обратное встраиванию (1), осуществляется следующим образом:
f * (m, n)  f (m, n)
,
(4)
wi* 
f (m, n)
где f * – анализируемое изображение, содержащее (или не содержащее) внедренные элементы wi* .
Из (4) видно, что для декодирования в общем случае необходимо иметь исходное, немодифицированное изображение, что не всегда возможно, и потому область применения подобных методов достаточно сужена.
Без исходного изображения возможна работа с так называемыми «слепыми» методами. Их
принципиальная суть состоит в вычислении корреляции последовательности w со всеми N коэффициентами исследуемого изображения f *:

 f * (m, n) wi
N
,
(5)
N
а затем полученное с помощью (5) значение коэффициента корреляции сравнивается с порогом
обнаружения:
α
(5)

 f * (m, n) .
3N N
Достоинство «слепых» (или корреляционных) методов в том, что для декодирования не нужно
иметь исходное изображение; однако есть и недостатки, причем достаточно существенные. Действительно, из (5) и (6) видно, что в данном случае при декодировании получается не скрытая ранее последовательность, а лишь некая вероятностная характеристика, позволяющая с определенной долей уверенности утверждать, есть в данном изображении скрытая информация или нет. По-
Методы стегоанализа цифровых изображений
лучение же самого скрытого сообщения при данном подходе есть очень сложная вычислительная
задача.
Несколько проще выглядит задача внедрения информации в цифровое изображение при создании так называемых цифровых водяных знаков (ЦВЗ). В этом случае часто используются алгоритмы «слияния» изображений, так как ЦВЗ чаще всего тоже представляет собой цифровое изображение (меньшее по сравнению с изображением-контейнером). В связи с вышесказанным можно
допустить небольшое искажение скрываемого изображения (аналогичное, например, JPEGсжатию), так как и программно, и визуально его все равно можно будет распознать. Общий принцип, используемый в подобных алгоритмах «слияния», следующий:

выполняется вейвлет-преобразование исходного и внедряемого изображения;

все коэффициенты вейвлет-преобразований контейнера и ЦВЗ поэлементно
складываются (так как ЦВЗ меньше, чем контейнер, перед сложением количество коэффициентов вейвлет-преобразования ЦВЗ тем или иным образом увеличивают);

выполняется отображение полученных коэффициентов к исходной шкале и
обратное вейвлет-преобразование.
Помимо рассмотренных выше аддитивных алгоритмов существуют нелинейные алгоритмы на
основе квантования. Квантование – процесс сопоставления бесконечного множества значений с
некоторым конечным множеством чисел. Различают скалярное и векторное квантование, однако
принцип квантования и в том, и в другом случае одинаковый: точка или вектор отображаются в
ближайшие кодовые точку или вектор соответственно.
Основная идея методов на основе квантования заключается в следующем: внедряемое сообщение m определенным образом складывается с исходным изображением x , в результате чего получается заполненный контейнер s ( x, m) . Перейдя на другой уровень абстракции, этот контейнер
можно рассматривать как набор функций от x , проиндексированный по m, т.е. как sm ( x) .
Указанные функции должны обладать следующими свойствами:
 каждая функция должна быть близка, неотличима от x;
 точки одной функции должны находиться на достаточном расстоянии от точек другой
функции – это необходимо для робастного детектирования внедренной информации.
Тогда в качестве упомянутых функций может выступать семейство квантователей. Число возможных сообщений m определяет необходимое число квантователей, индекс m определяет используемый квантователь.
В настоящее время все стегоалгоритмы, использующие в своей работе базовые принципы, описанные выше, подразделяются на закрытые, которые используются крупными корпорациями в их
программных продуктах, а также силовыми структурами различных государств, и открытые,
находящиеся в свободном доступе. Анализ открытых программ, используемых ими алгоритмов и
создаваемых ими изображений представляется заслуживающим внимания, так как позволяет понять, могут ли использоваться для реальных практических задач уже имеющиеся открытые наработки.

Mandelsteg генерирует в качестве контейнера изображение множества Мандельброта (фрактал). Изображение сохраняется в формате BMP, а поскольку его внутреннее строение известно, «подвох» легко заметить – под цветовую палитру отведено
256 цветов, но генерируется она по шаблону и содержит всего 128 цветов, по две записи на каждый цвет.

Hide&Seek создает изображения с цветовой палитрой, содержащей цвета, у
которых каждый байт в схеме RGB кратен 4; при этом «шаг» между «соседними» цветами тоже равен 4.

Hide4PGP использует для сокрытия данных широко распространенный
LSB-метод (занимает 1 младший бит в 8-битных изображениях и 4 младших бита в
24-битном). Все файлы имеют одинаковую длину заголовка – 54 и 1078 байт для 24битных и 8-битных изображений соответственно, поэтому абсолютно точно известно,
где «начинаются» данные.

S-tools располагает цвета в палитре группами по 8 по убыванию яркости,
причем в каждой группе все цвета практически одинаковые (различаются на 1 бит).
Методы стегоанализа цифровых изображений

Jpeg-Jsteg использует метод, аналогичный дискретному косинуспреобразованию. Информация «прячется» в коэффициэнтах этого преобразования, а
не в специальным образом сгенерированной палитре, поэтому данная программа выгодно отличается на фоне других.
Исходя из приведенных наблюдений, можно сделать вывод: большинство программ, находящихся в свободном доступе, создают контейнеры на основе определенных шаблонов, обнаружение которых легко алгоритмизируется и может производиться в автоматическом режиме без участия человека. Практически в каждом случае (среди рассмотренных программ лишь Jpeg-Jsteg является исключением) используются те или иные «махинации» с палитрой цветов, что достаточно
легко обнаружить. Использование подавляющего большинства таких программ в реальных задачах представляется нецелесообразным, поэтому перспективной задачей является разработка и реализация новых открытых стегоалгоритмов.
Кроме того, в век стремительно развивающихся информационных технологий все большее развитие приобретают всевозможные информационные системы. Главным компонентом любой информационной системы является база данных (БД). База данных позволяет удобно организовывать
и упорядочивать хранение любых объектов. Поэтому совершенно нелишним будет рассмотреть
особенности работы с наборами изображений, хранящимися в БД и содержащими в себе скрытые
данные.
Основными способами хранения мультимедиа-контента (в частности, цифровых изображений)
в базе данных являются следующие [3]:
 хранение ссылок на файлы в файловой системе или сети Интернет;
 хранение с помощью закодированных длинных текстовых строк (в символьных полях или
полях-массивах);
 хранение с использованием больших бинарных объектов (Binary Large Object, BLOB).
Очевидно, что при хранении в базе данных лишь ссылок на файлы работа с изображениями будет вестись обычным образом, поскольку не будут задействоваться специальные механизмы конкретной СУБД для обработки изображений. Однако большой недостаток такого подхода заключается в том, что он не позволяет обеспечить ссылочную целостность базы данных, так как изображения и база данных в общем случае физически никак не связаны. В этом случае могут свободно
применяться любые стеганографические методы, так как изображение никак не связано с базой
данных, но само использование базы данных в этом случае представляется излишним. По сути
дела база данных в этом случае будет лишь мешающей «прослойкой», а не полезным средством
организации хранения и доступа к данным.
При использовании закодированных текстовых строк база данных хранит изображения в виде
длинной строки, каждый элемент которой представляет собой, например, очередной байт исходного файла. Такую строку можно хранить в текстовом поле или поле-массиве (array). В спецификациях конкретной СУБД указан максимальный размер таких полей, и, если размер изображения
больше, чем размер поля, то такое изображение можно «разрезать» и хранить в нескольких записях. Подобный подход имеет свои достоинства и недостатки. Достоинства состоят в следующем:
 все современные СУБД позволяют хранить наборы байт в текстовых полях и почти все – в
полях-массивах;
 клиент или сама СУБД может обрабатывать считываемый файл в реальном времени практически любыми алгоритмами (кроме тех, которые имеют большую вычислительную сложность)
незаметно для пользователя;
 хранение изображения в описываемом виде неочевидно, то есть полезные данные на первый
взгляд предстают лишь бессмысленным набором байт;
 подобная организация хранения изображений наиболее удобна при отсутствии в СУБД механизмов работы с BLOB или при невозможности использовать эти механизмы.
Среди недостатков можно отметить следующие:
 считывание изображения из базы данных для анализа затруднено – в общем случае неизвестен порядок сортировки (если изображение большое и хранится в нескольких строках), а также
начальные и конечные записи;
 априори неизвестен тип изображений в базе данных – в общем случае требуется полное считывание изображения для определения его типа.
В связи с вышесказанным можно заключить, что подобный подход хранения изображений является выгодным с точки зрения устойчивости к чтению скрываемой информации, так как для по-
Методы стегоанализа цифровых изображений
лучения скрытой информации необходимо не только выявить ее из изображения, но и сначала получить само изображение из базы данных, алгоритм хранения которого может оказать весьма нетривиальным. Таким образом, при хранении изображений в закодированных текстовых строках
анализ содержимого базы данных на наличие «закладок» затруднен.
При использовании механизма больших бинарных объектов база данных хранит изображения в
специальных полях типа BLOB. В BLOB-поле в общем случае может храниться любой объект, и
использование этого механизма позволяет избавиться от первого недостатка закодированных текстовых строк, так как всё изображение хранится строго в одном определенном месте. В этом случае могут свободно применяться любые стеганографические методы (как и в случае хранения
ссылок на файлы), так как изображение хотя и связано с базой данных, но операции чтения-записи
возвращают обычное изображение, а не набор байт.
Суммируя вышеизложенное, можно сделать вывод, что из трех подходов к хранению изображений в базах данных наибольший интерес представляет исследование методов хранения с использованием закодированных текстовых строк, так как в этом случае приемы стегоанализа базы
данных отличаются от стандартных алгоритмов при использовании ссылок на файлы и механизма
BLOB. Следует отметить, что в силу описанных недостатков при использовании закодированных
текстовых строк, стегоанализ такой базы данных должен производиться с применением статистических методов.
По утверждению [4], «информация и средства телекоммуникации стали сегодня факторами,
определяющими способность обеспечить стратегическую стабильность и развитие общества и
государства в целом». Залогом этой стабильности является защищенность информации, ее целостность и доступность. При этом наиболее значимая (и, соответственно, требующая защиты) информация сосредоточена во всевозможных базах данных. Исходя из вышесказанного, можно заключить, что исследование методов стегоанализа для поиска «закладок» в содержимом баз данных
и применение этих методов на практике позволит повысить защищенность информации.
СПИСОК ЛИТЕРАТУРЫ
1. Грибунин В.Г. Цифровая стеганография / В.Г. Грибунин, И.Н. Оков, И.В. Туринцев. М.:
СОЛОН-Пресс, 2002.
2. Прудников А.М. // Научная сессия МИФИ-2008. XI конференция «Молодежь и наука». Тезисы докладов. В 2-х частях. Ч. 1. М.: МИФИ, 2008. С. 72.
3. Стоунз Р. PostgreSQL: Основы / Р. Стоунз, Н. Мэтью: пер. с англ. СПб: Символ-Плюс,
2002.
4. Ковалевский С.С. // Научная сессия МИФИ-2008. Сборник научных трудов. М.: МИФИ,
Т.13: Автоматизированные системы обработки информации и управления. Электронные измерительные системы. 2007. С. 13.
Download