Анализ формата файла JPEG с точки зрения сокрытия информации
Согласно спецификации JPEG, файлы состоят из маркеров, указывающих на начало определенной секции новых данных, например - секция таблиц квантования. каждый маркер начинается с байта, содержащий 8 двоичных единиц (FFh). После этого обязательно следует код маркера, который указывает на способ интерпретации следующих данных, если они предусмотрены этим типом маркера. Программы, которые анализируют содержимое файлов JPEG пропускают последовательность байт FFh, а если после байта FFh расположен байт 00h, то последний байт изымается из дальнейшего рассмотрения, а сам байт FFh уже не рассматривается как начало маркера. такой подход позволяет однозначно идентифицировать начало определенной секции.
Структуру файла JPEG составляют восемь таких частей:
1. Начало рисунке (SOI).
2. Маркер APP0.
3. Необязательные маркеры APPn, где n - целое число от 1 до 15.
4. Одна или несколько таблиц квантования (DQT).
5. Начало фрейма (SOF).
6. Одна или несколько таблиц Хафмен (DHT).
7. Сканирование (SOS).
8. Конец рисунка (EOI).
Рассмотрим назначение и формат маркеров первых трех типов. Каждый файл формата JPEG начинается с маркера начала рисунке (SOI), который записан двумя байтами с фиксированными значениями - FFh D8h. Вслед за ними размещены байты FFh E0h - маркер APP0. В отличие от маркеров APPn он имеет фиксированный формат и сохраняет основную информацию о рисунке и версию формата (так называемый номер ревизии), в котором его сохранено. Типичная длина секции маркера APP0 - 16 байт (10h).
Кроме обязательных маркеров, длина которых в сумме составляет 20 байт могут быть
присутствуют дополнительные маркеры, в которых может содержаться дополнительная информация. в
дополнительной информацией понимаются данные, которые, как правило записывают программы, в которых
создается рисунок. Это могут быть данные разнообразного содержания, которые являются целесообразными с
точки зрения разработчиков программного продукта, который был использован для создания данного
файла. Однако эта информация доступна исключительно только для самой программы, а не для
пользователя. Маркеры типа APPn предназначены для хранения дополнительной информации в файле JPEG-формату. Формат заголовка секции, начинается маркером APPn достаточно простым и
выглядит следующим образом:
- два байта указывают тип маркера (FFh Enh)
- следующие два байта определяют количество байт секции (включая двумя
байтами)
- далее размещаются необходимые данные, которые могут быть в дальнейшем использованы на
усмотрение разработчиков программного обеспечения.
Исходя из вышесказанного видно, что дополнительная информация может присутствовать в
изображении JPEG благодаря зарезервированном пространства в объеме файла. Учитывая, что
любой файл JPEG содержит зашифрованную информацию программ или устройств, по
помощью которых он был создан, можно предположить, что размещена собственная информация в
этой области изображения не вызовет подозрения.
Анализ структуры формата JPEG показывает, что можно использовать часть файла JPEG,
которая размечена дополнительными маркерами.
Метод сокрытия информации в изображениях на основе формата JPEG
Суть данного метода заключается в сокрытии информации в области дополнительной
служебной информации, то есть с помощью маркеров АРР1..АРР15 или маркера комментарии.
Информация записывается в файл JPEG последовательно после каждого созданного дополнительного
маркера АРРn. Для этого выбирается один из 15 возможных маркеров FFh E0h-FhEFh и
записывается столько раз подряд (вместе с блоком информации), сколько нужно для того, чтобы
поместить всю скрываемую информацию. При этом, размещенные таким образом данные абсолютно
не влияют на любые параметры рисунка. Таким образом, мы можем разместить в файле JPEG, начиная с смещение 20 байт (Или 14h), произвольную информацию, которая может нам понадобиться в будущем. пример такой
информации приведен на рисунке 2.
В этом примере в JPEG-файле содержится текст Any information, который был размещен с помощью маркера FFh ECh. Длина текста на 2 байта меньше значения в поле длины соответствующей секции APPn (как того требует спецификация формата JPEG) и составляет 11h- 2h = 0Fh, то есть 15 байт.
Максимальный объем данных, который может быть размещен в одном маркере типа APPn
достигает (216-1) 2 = 65533 байт
Алгоритм процесса сокрытия информации согласно предложенного метода таков:
1. Выбор изображения формата JPEG.
2. Выбор скрываемой информации.
3. ZIP-уплотнения скрываемой информации.
4. Выбор секретного ключа для шифрования информации.
5. Шифрование информации путем последовательного наложения секретного ключа на
уплотненную секретную информацию по модулю 2.
6. Последовательное определение существующих дополнительных маркеров APPn в заголовке
изображения JPEG с последовательным записью в них соответствующих блоков
скрываемой информации.
7. Если существующих дополнительных маркеров APPn недостаточно для размещения всей
скрываемой информации, то создать собственные дополнительные маркеры APPn с
последовательным записью в них информации блоками до тех пор, пока вся
информация не будет записана.
8. Сохранение файла изображения с секретной информацией.
Список литературы
- Быков С.Ф., Мотуз О.В. Основы стегоанализа.// Защита информации. Конфидент. – СПб.: 2000, № 3. – С. 38-41.
- Бернет С., Пейн С.: Криптография. Официальное руководство RSA Security – М. «Бином», 2012. – 325 с.
- Столлингс В. Криптография и защита сетей: теория и практика. М: Вильямс. 2001. Пер. с англ. – 235 с.