Давайте предположим, что вы шпион и (как у любого уважающего себя шпиона) у вас на жестком диске имеется много секретной информации. Вам нужно её спрятать так, чтоб никто её не нашел. Причем в случае если вас поймают, то ваш компьютер отдадут на обследование и тот кто будет искать эту информацию будет на 99% уверен, что такая информация на жестком диске есть.

Так какие же способы спрятать информацию есть в нашем распоряжении…

Способ 1 - Банальный

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

Способ 2 - Банальный, продвинутый

Ещё один простой способ, но всё же более продвинутый - это склеивание двух разных файлов в один. Простейший пример: добавление RAR архива в конец JPEG изображения. Такое изображение будет без проблем открываться в любой программе для просмотра/редактирования картинок, а также будет открываться и в программе WinRar. Дело в том, что почти все программы для работы с архивами рассчитаны на то, что архив начинается не с начала файла, так как возможно, что архив заключен в самораспаковывающуюся оболочку. Но недостатки данного способа в том, что такое склеивание можно легко заметить. К примеру если картинка имеет размер 200х200 и при этом весит 2 мегабайта, то тут же возникают подозрения. К тому же все форматы (контейнеры) обычно имеют четкую структуру и если вдруг в файле имеется какая то избыточная информация, то это легко обнаружить.

Поэтому нам нужен способ скрытия информации, который не нарушает структуру файла выбранного формата.

Способ 3 - LSB

Как уже писалось ранее, данный способ очень прост в реализации, при этом он не нарушает правила контейнера и файл не хранит избыточную информацию. Но данный способ имеет и не мало минусов. Во-первых он применим лишь к малому количеству контейнеров. К примеру его нельзя применить к формату JPG, MP3 или AVI. А ведь как правило файлы именно этих форматов хранятся сотнями на наших компьютерах и именно там удобнее всего прятать информацию. Лично я сразу заподозрил бы не ладное, найдя на компьютере большую библиотеку картинок в формате BMP. Также этот способ выдает себя с потрохами на изображениях с однородной поверхностью. А попробуйте применить данный метод к MP3 файлу. Изменение всего одного бита раз в 2 и даже более байтов, приведет к неминуемой порче аудио данных.

Для желающих поиграться с этим способом могу предложить плагин для Total Commander"a который позволяет прятать данные в некоторых контейнерах картинок, а также в WAV (при условии, что аудио данные закодированы кодеком PCM).

Также имеются более продвинутые алгоритмы, к примеру алгоритм Коха-Жао, который прячет данные только в картинках. Его отличие в том, что он кодирует один бит информации в блоках 8х8 пикселей. К сожалению, из-за малого количества информации об этом алгоритме в интернете, не могу рассказать о нем что то ещё.

Способ 4 - Мета данные

Очень многие форматы могут хранить определенные мета-данные. Плюс этого способа в том, что он так же не нарушает формат файла, а также работа с этими мета-данными обычно хорошо задокументирована и есть уже готовые библиотеки позволяющие быстро написать программу для хранения своих данных в этих файлах. Почти все медиа-форматы имеют поддержку мета-данных. Однако далеко не всегда там можно хранить данные так, чтоб их не было видно. Так где же можно попробовать хранить секретные данные:
MP3
Только недавно на хабре появился пост Прячем текст в MP3 где описывается реализация на PHP хранении своей информации в тэге ID3v1. Но дело в том, что тэг ID3v1 имеет очень жесткие ограничения и много информации там не сохранить. К тому же в любом нормальном медиа-проигрывателе все ваши данные видны как на ладони. Совсем другое дело тэг ID3v2.4 который позволяет хранить данные гораздо больших размеров, а также позволяет сохранять какие либо не стандартные данные. К примеру некоторые программы хранят там настройки громкости и нормализации для каждого отдельного файла. Медиа-плееры обычно не отображают не известные им параметры.
Раз уж мы говорим об MP3, то стоит упомянуть и про малоизвестный тэг Lyrics3, который был создан для хранения в файле текста песен, а также как расширение тэга ID3v1 (к примеру позволял сохранять более длинное название песни), но выход стандарта тэга ID3v2 так и не дал тэгу Lyrics3 получить широкое распространение. Но как не странно, большое количество MP3 файлов которые сейчас можно найти на просторах интернета, содержат в себе этот тэг (хотя кроме название песни там больше ничего не хранится).
JPEG
У JPEG формата есть поддержка EXIF тэга. Данные в этом тэге хранятся парами ключ=значение. В теории нет никаких проблем добавить туда какой то не стандартный ключ содержащий ваши зашифрованные данные. Программа работающая с этим тэгом, наткнувшись на этот ключ, скорей всего просто проигнорирует его и не отобразит.
AVI
Не многим известно, что файлы формата AVI также имеют поддержку мета-данных, причем хранить там можно много всего. Как и в MP3 и JPEG можно создать какой то свой ключ, который будет просто проигнорирован программами работающими с мета-данными. Могу порекомендовать хорошую программу для просмотра мета-данных AVI файлов: abcAvi Tag Editor

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

Способ 5

Ну и напоследок хочу рассказать про один замечательный способ хранения секретных данных в MP3 файлах. Реализован он в программе MP3Stego . К сожалению автор данной программы не обновлял проект с 2006 года. Идея заключается в том, что данные сначала шифруются, а затем в сердце процесса кодирования MP3 файла (из WAV) подмешиваются в конечный результат. В итоге получается обычный MP3 файл, без заметных для слуха искажений, однако хранящий в себе закодированные данные.

Теги: Добавить метки

Подавляющее большинство методов компьютерной стеганографии (КС) базируется на двух ключевых принципах:

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

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

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

Для существующих методов компьютерной стеганографии вводят следующую классификацию (см. рисунок 2.1).

Рисунок 2.1 - Классификация методов компьютерной стеганографии

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

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

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

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

По способу доступа к скрываемой информации различают методы для потоковых (беспрерывных) контейнеров и методы для фиксированных (ограниченной длины) контейнеров.

По способу организации контейнеры, подобно помехоустойчивым кодам, могут быть систематическими и несистематическими.

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

В случае несистематической организации контейнера такое разделение невозможно. В этом случае для выделения скрытой информации необходимо обрабатывать содержимое всей стеганограммы.

По используемому принципу скрытия методы компьютерной стеганографии делятся на два основных класса: методы непосредственной замены и спектральные методы. Если первые, используя избыток информационной среды в пространственной (для изображения) или временной (для звука) области, заключаются в замене малозначительной части контейнера битами секретного сообщения, то другие для скрытия данных используют спектральные представления элементов среды, в которую встраиваются скрываемые данные (например, в разные коэффициенты массивов дискретно-косинусных преобразований, преобразований Фурье, Карунена-Лоева, Адамара, Хаара и т.д.).

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

В особую группу можно выделить методы, которые используют специальные свойства форматов представления файлов:

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

В основном для таких методов характерны низкая степень скрытности, низкая пропускная способность и слабая производительность.

По назначению различают стеганометоды собственно для скрытой передачи (или скрытого хранения) данных и методы для скрытия данных в цифровых объектах с целью защиты авторских прав на них.

По типам контейнера выделяют стеганографические методы с контейнерами в виде текста, аудиофайла, изображения и видео.

Метод замены наименее значащего бита.

Метод замены наименее значащего бита (НЗБ, LSB - Least Significant Bit) наиболее распространен среди методов замены в пространственной области.

Младший значащий бит изображения несет в себе меньше всего информации. Известно, что человек в большинстве случаев не способен заметить изменений в этом бите. Фактически, НЗБ - это шум, поэтому его можно использовать для встраивания информации путем замены менее значащих битов пикселей изображения битами секретного сообщения. При этом для изображения в градациях серого (каждый пиксель изображения кодируется одним байтом) объем встроенных данных может составлять 1/8 от общего объема контейнера. Если же модифицировать два младших бита (что также практически незаметно), то данную пропускную способность можно увеличить еще вдвое.

Популярность данного метода обусловлена его простотой и тем, что он позволяет скрывать в относительно небольших файлах большие объемы информации (пропускная способность создаваемого скрытого канала связи составляет при этом от 12,5 до 30%). Метод зачастую работает с растровыми изображениями, представленными в формате без компрессии (например, BMP и GIF).

Метод НЗБ имеет низкую стеганографическую стойкость к атакам пассивного и активного нарушителей. Основной его недостаток - высокая чувствительность к малейшим искажениям контейнера. Для ослабления этой чувствительности часто дополнительно применяют помехоустойчивое кодирование.

Метод псевдослучайного интервала.

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

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

Методы сокрытия данных в пространственной области.

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

Цветное изображение C будем представлять через дискретную функцию, которая определяет вектор цвета c (x,y) для каждого пикселя изображения (x,y), где значение цвета задает трехкомпонентный вектор в цветовом пространстве. Наиболее распространенный способ передачи цвета - это модель RGB, в которой основные цвета - красный, зеленый и синий, а любой другой цвет может быть представлен в виде взвешенной суммы основных цветов.

Вектор цвета c (x,y) в RGB-пространстве представляет интенсивность основных цветов. Сообщения встраиваются за счет манипуляций цветовыми составляющими {R (x,y), G (x,y), B (x,y) } или непосредственно яркостью л (x,y) О {0, 1, 2,…, LC}.

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

УДК 004.056.5

Стеганографический способ скрытия информации на основе последовательностей особенных точек изображения

научный руководитель канд. физ.-мат. наук

Стерлитамакская государственная педагогическая академия им. Зайнаб Биишевой

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

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

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

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

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

В данной работе в качестве контейнера рассматривается 24-битовое растровое изображение в системе цветности RGB. Каждая цветовая комбинация тона (пикселя) представляет собой комбинацию значений яркости трех составляющих цветов – красного (R), зеленого (G) и синего (B), которые занимают каждый по 1 байту (итого по 3 байта на точку). Таким образом, яркость каждой составляющей записывается 8-битным числом и может изменяться в диапазоне от 0 до 255 (комбинация (0, 0, 0) соответствует черному цвету, комбинация (255, 255, 255) – белому). Использование BMP-файлов в настоящей работе обусловлено только лишь простотой их программной обработки , – все полученные результаты с легкостью могут быть перенесены на случай изображений в файлах других форматов.

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

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

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

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

На втором этапе проводится анализ файла-контейнера на наличие точек, удовлетворяющих следующему условию: во всем изображении два оттенка цвета точек (например, синий (B) и зеленый (G)) совпадают, а третий оттенок (в данном случае красный (R) – обозначим его числовое значение через X) таков, что во всем изображении нет точек, для которых значение этого оттенка равно X+1, X-1, или X-2. Среди всех найденных таким образом точек выбирается последовательность точек, имеющая максимальную длину. Такая последовательность и используется для хранения скрытого сообщения: к значению X третьего оттенка прибавляется соответствующее значение из двоичного представления сообщения. При этом первые три байта сообщения содержат информацию о длине сообщения. Первая точка из найденной последовательности должна быть оставлена без изменений.

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

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

При таком способе сокрытия информации максимальный ее объем, который может быть размещен в файле-контейнере, целиком зависит от файла изображения: какое-то изображение позволит сохранить больше информации – какое-то меньше (или вообще не позволит). Кроме того, само расположение скрытого сообщения в файле-контейнере будет также зависеть от конкретного изображения.

Очевидно, что, если известен метод, использовавшийся для помещения информации в контейнер, то на его основе легко получить скрытое сообщение. Это является недостатком не только описанного здесь метода, но и любого другого. Именно поэтому нужно предусмотреть такое изменение метода, чтобы, даже зная алгоритм его реализации, невозможно было извлечь скрытое сообщение (извлечь сообщение должен только тот, кому оно адресовано). Для этого перед встраиванием в контейнер, в целях повышения безопасности и компактности, секретное сообщение обычно сжимается и шифруется. Для сжатия могут быть использованы различные алгоритмы, например алгоритмы семейства LZ или BWT. Кроме этого, при встраивании сообщения в контейнер можно использовать дополнительный секретный ключ, который будет определять порядок внедрения сообщения.

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

Список литературы

1. , Основы стегоанализа.// Защита информации. Конфидент. – СПб.: 2000, № 3. – С. 38-41.

2. , Цифровая стеганография. – М.: Солон-Пресс, 2002. – 272 с.

3. , Фионов стегосистемы на базе растровых изображений с учетом статистики младших бит // Вестник СибГУТИ. – 2009. № 1. – С. 67-84.

4. , Компьютерная стеганография. Теория и практика. – К.: МК-Пресс, 2006. – 288 с.

5. Жилкин графических данных на основе методов сжатия // Вестник СибГУТИ. – 2008. № 2. – С. 62–66.

6. Кувшинов и алгоритмы сокрытия больших объемов данных на основе стеганографии / Диссертация на соискание ученой степени кандидата технических наук. – Санкт-Петербург. 2010. – 116 с.

Если вы думаете, что техники тайнописи применяют только шпионы – вы немного заблуждаетесь. Техники скрытой передачи или хранения информации могут применяться повсеместно для вполне мирных целей. В данной статье я хочу рассказать о стеганографии (τεγανός [скрытый] + γράφω [пишу], дословно «скрытопись», «тайнопись»).

В самом начале необходимо провести черту между двумя понятиями: стенографией и стеганографией. Первое из них, стенография (στενός [узкий, тесный] + γράφω [пишу]) – это совокупность способов быстрой записи устной речи и не имеет ничего общего с утаиванием и скрытием от третьих глаз информации. Слова созвучные, но не стоит путать стенографию со стеганографией.

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

История стеганографии

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

В истории существует пример, когда Демерат хотел послать союзникам в Спарту сообщение об угрозе нападения Ксерксов. В Древней Греции послания писались острыми палочками на дощечках, покрытых воском. Воск с таблички был снят, сообщение нацарапали на самой дощечке, потом покрыли воском и написали по воску «легальное» письмо.

Другое находчивое решение принадлежит тирану Гистею, который в V-м веке до н. э., находясь под надзором царя Дария в Сузах, должен был послать секретное сообщение своему родственнику в анатолийский город Милет. Тайное сообщение вытатуировали на обритой голове раба, затем дождались, пока волосы отрастут вновь, скрыв своим объёмом сообщение, и отправили раба гонцом в Милет, где волосы были сбриты, а сообщение попало в руки адресата.

Упоминание о методах, описанных выше, встречается в трактате Геродота «История», относящегося к 440 году до н. э.

Ближе к нашему времени появилось упоминание о Вожде мирового пролетариата В. И. Ленине (Ульянове), который, находясь в ссылке, писал письма товарищам по партии. Межу строк он молоком вписывал тайные сообщения однопартийцам: при нагревании письма текст, написанный молоком, проявлялся. Данный пример является наиболее известным применением симпатических (невидимых) чернил.

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

Что такое стеганосистема?

Скрытый канал передачи данных между отправителем и получателем, организованный при помощи метода (или методов) стеганографии, называется стеганоканалом. По стеганоканалу передаются так называемые заполненные стеганоконтейнеры.

Стеганоконтейнер – это тот «легальный» носитель информации, в котором скрывается секретный текст. Соответственно, «легальный» носитель информации сам по себе – это пустой контейнер, когда в него встраивают стеганографическое сообщение, он становится заполненным. В исторических примерах стеганоконтейнерами были: восковая табличка, голова раба, письма Ленина, дипломатические письма.

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

На современном этапе информационных технологий можно выделить два типа стеганоконтейнеров: потоковые (непрерывная радиотрансляция, сетевой трафик и так далее) и фиксированной длинны (фотография, аудиозапись, электронный документ и так далее).

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

Цели стеганографии

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

Цифровые отпечатки (Digital Fingerprinting) подразумевают наличие различных стеганографических меток-сообщений для каждой копии контейнера. Например, при продаже электронной книги в неё может быть встроена информация о покупателе: имя, e-mail, ip- адрес и прочая информация. В последствии при возникновении спорной ситуации («Уважаемый, а не изволили ли Вы получить сие издание незаконным образом?») цифровой отпечаток может быть использован для доказательства исключительного права владения («Не могу согласиться с вами, сударь! Извольте ознакомиться с доказательствами»).

Рисунок 1: Сталин с iPhon-ом

Стеганографические водяные знаки (Digital Watermarking ) подразумевают наличие одинаковых меток для каждой копии контейнера. Например, во время фотографирования на профессиональную камеру в изображение встраивается информация о фотографе: имя, время фотографирования, модель камеры, геотеги и так далее. В последствии при возникновении спорной ситуации («А не изволили ли Вы незаконным образом присвоить себе авторское право на изображение молодой красавицы?») стеганографический водяной знак может быть использован для доказательства права авторства («Прошу прощения, но вот данные о моём фотографическом аппарате и снимок сделан в моём поместье»).

Интересен факт доказательства Дмитрием Скляровым (доцент кафедры информационной безопасности МГТУ им. Баумана) «подлинности» фотографии И. В. Сталина с iPhon- ом в руке. Для того, чтобы это проделать, Дмитрий изучил стеганографический алгоритм фотокамеры, а затем произвел атаку: подделал водяной знак таким образом, что фотография стала «настоящей».

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

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

Классификация методов стеганографии

Методы стеганографии можно разделить на три больших класса: классические методы, компьютерные и цифровые.

Термин «классическая стеганография » покрывает все «некомпьютерные» методы стеганографии: симпатические чернила, микрофотоснимки и другие методы, придуманные людьми с изворотливым умом.

Компьютерная стеганография использует особенности вычислительной платформы и специальные свой свойства компьютерных форматов данных.

Цифровая стеганография старается внедрить дополнительную информацию в цифровые аудио-/фото-/видеообъекты, используя некоторую избыточность информации. Имеется в виду, что любой цифровой объект имеет в себе заведомо много больше информации, чем воспринимают наши органы чувств (глаза, уши). Когда стеганографический алгоритм пренебрегает 1/1000 долей чёткости картинки, чтобы разместить на фотографии скрытое сообщение, наш глаз этого попросту не может заметить.

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

Текстовые контейнеры

Стеганография, использующая текстовые контейнеры, может использовать особенности компьютерного представления текстов (компьютерная стеганография), а может использовать особенности языка (лингвистическая стеганография). Примером компьютерной стеганографии будет чередование по некоторому заранее обговорённому правилу латинских/кириллических символов со схожим написанием (е, а, с, В, Т, etc ). Лингвистические методы стеганографии могут допускать осознанные орфографические ошибки, чередование полных/неполных предложений, замену синонимичных слов.

Приведу простой пример, достойный урока информатики в школе. Пусть необходимо спрятать букву «А» в тексте «steganography». В двоичном виде букву «А» можно рассматривать как «01000001». Сопоставим двоичное представление скрытого сообщения (буквы «А») контейнеру (тексту «steganography») и запишем буквы, соответствующие единицам, прописью: sTeganoGraphy. Используя такой метод можно спрятать текст длинной в сообщение 8 символов.

Особенности файловой и операционной системы

За хранение информации на машинных носителях отвечает файловая система, которая задаёт структуру носителя и правила размещения фалов на нём. Файловая система FAT32 компании Microsoft при хранении файла всегда занимает целое число кластеров. Например, если при разметке диска был указан кластер размером в 4 Кбайта и размер файла всего 1,8 Кбайта, то оставшиеся 2,2 Кбайта останутся пустыми и не будут заполнены файловой системой при размещении следующего файла. Что значит «пустыми»? Это значит, что можно записать в это пространство скрытые данные, которые система не увидит. Но надо быть аккуратным, так как файловая система в погоне за более экономичным использованием пространства может «спутать вам карты».

Рисунок 2: Прячем файл в картинку

Другую особенность, уже операционной системы, можно использовать, чтобы спрятать файлы под видом обычной картинки. В Unix-подобных операционных системах это можно сделать легко: командой «cat» читаем последовательно картинку (например, pic.png) и файл архива (ar.7z), перенаправив основной поток в новый файл (например, final.png). В итоге мы получаем изображение, которое графическими редакторами открывается как изображение, а менеджерами архивов как архив.

Метод наименее значащих битов

Метод наименее значащих битов (Least Significant Bit, LSB) считается наиболее популярным для цифровой стеганографии. Как уже говорилось, цифровая стеганография основывается на ограниченности способностей органов чувств человека и, как следствие, неспособности распознать незначительные вариации звука/цвета.

Рисунок 3: «Значимость» битов цвета

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


Рисунок 4: Кодирование цветовой палитры RGB

Таким образом, в графическом изображении размером 117 Кбайт (200 на 200 пикселей) возможно спрятать, как минимум, 14 Кбайт скрытой информации.

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

Сетевая стеганография

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

При модификации пакетов может изменяться либо сама полезная нагрузка пакета (данные), либо особые поля пакета (зарезервированные протоколом сетевой передачи, но не используемые в данный момент), либо и то и другое. Например, в заголовке пакета IPv4 поле контрольной суммы (16 бит) не является обязательным для использования (если поле не используется, в него записывается 0).

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

В качестве примера метода стеганографии, который модифицирует структуру передачи пакетов, рассмотрим пример так называемой «временной» стеганографии (Covert Timing Channel, CTC ). Существует некоторый цифровой поток, например, видеопоток по протоколу RTSP. Задержки между пакетами будут всегда немного отличаться. Если избранные пакеты искусственно «притормаживать», можно передать скрытое сообщение: «0» – короткая задержка, «1» – длинная задержка.


Рисунок 5: Принцип сетевой временной стеганографии

Атаки на стеганосистемы

В целом атаки на стеганографические системы (стеганоанализ) очень напоминают атаки на криптографию (криптоанализ): похожая терминология, подходы. Поговорим о различиях.

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

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

Если аналитик уверен, что в купленной электронной книге находится цифровой отпечаток покупателя, то он может купить эту книгу ещё 2, 3, 4 раза, используя разные данные о покупателе. У него будет ряд одних и тех же контейнеров с разной стеганографической меткой. Сравнивая их между собой, аналитик может попытаться, как и в прошлом примере, извлечь алгоритм встраивания информации.

Ряд других методов стеганоанализа является «калькой» с хорошо отработанных методов стеганоанализа.

Практическое применение стеганографии

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

Незаметная передача информации

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

Можно вспомнить про громкие аресты российских разведчиков в конце июня 2010 года – по данным США «шпионы» использовали в том числе стеганографию, чтобы переправлять в Москву разведданные.

Скрытое хранение информации

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

Недекларированное хранение информации

Многие информационные ресурсы позволяют хранить данные только определённого типа. А вам уж очень сильно хочется загрузить EXE- файл для хранения на YouTube. Один из путей решения задачи лежит через методы стеганографии.

Индивидуальный отпечаток в СЭДО

В системе электронного документооборота (СЭДО) можно использовать индивидуальный отпечаток внутри *.odt, *.docx и иных документах при работе с ними пользователей. С его помощью можно будет узнать, кто, когда и в каком объёме работал с документом. При этом куча записей о сеансах работы не будет «маячить» в начале документа и отвлекать пользователя.

Водяной знак в DLP системах

Data Leak Prevention, DLP – система обнаружения/предотвращения утечки информации. В отличие от индивидуального отпечатка в СЭДО, в данном применении стеганографии при создании документа, носящего конфиденциальный характер, в него встраивается неизменяемая метка. При попытке отправить документ по электронной почте система проверит наличие метки: если она присутствует, передача будет заблокирована, и администратор безопасности будет уведомлен , например, по SMS.

Скрытая передача управляющего сигнала

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

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

Funkspiel

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

Неотчуждаемость информации

Если сделать скриншот чистой области в игре World of Warcraft , открыть файл в каком-нибудь графическом редакторе, увеличить резкость с максимальной настройкой фильтра и повторить процедуру несколько раз, то заметен явный узор, который многократно повторяется. В данном узоре имеются данные: имя пользователя, который сделал скриншот, время снятия скриншота, координаты в игровом мире (реалм).


Рисунок 6: Стеганографический водяной знак в скриншоте Wow

Перспективы развития/применения

«Я считаю, что мир технически готов к стеганографии, но в «культурном» плане современное информационное общество пока ещё не дозрело. Я думаю, что в ближайшее время (2015-2025 годах) произойдет то, что возможно в будущем назовут «стеганографической революцией.» – пишет @PavelMSTU, предрекая рассвет эпохи повсеместного применения стеганографии.

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

В остальном же мир перенасыщен текстами, картинками милых котиков, толковыми и бестолковыми видеороликами – потенциальными контейнерами. А может уже давно и не потенциальными, а реальными?

Введение

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

Слово «стеганография» имеет греческие корни и буквально означает «тайнопись». Исторически это направление появилось первым, но затем было вытеснено криптографией. Тайнопись осуществляется самыми различными способами. Общей чертой этих способов является то, что скрываемое сообщение или секретная информация (дополнительная информация ) встраивается в некоторый безобидный, не привлекающий внимание объект, называемый далее контейнером или основным сообщением . Результат такого встраивания будем называть стеганосообщением , а сам процесс встраивания – стеганопреобразованием контейнера. Затем стеганосообщение открыто транспортируется адресату.

При криптографии наличие шифрованного сообщения само по себе привлекает внимание противников, при стеганографии же наличие скрытой связи остается незаметным.

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

Во время Второй мировой войны правительством США придавалось большое значение борьбе против тайных методов передачи информации. Были введены определенные ограничения на почтовые отправления. Так, не принимались письма и телеграммы, содержащие кроссворды, ходы шахматных партий, поручения о вручении цветов с указанием времени и их вида; у пересылаемых часов переводились стрелки. Был привлечен многочисленный отряд цензоров, которые занимались даже перефразированием телеграмм без изменения их смысла.

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

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

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

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

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

Цифровая стеганография. Предмет, терминология, области применения

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

1) встраивание информации с целью ее скрытой передачи;

2) встраивание цифровых водяных знаков (ЦВЗ) (watermarking);

3) встраивание идентификационных номеров (fingerprinting) – отпечатки пальцев;

4) встраивание заголовков (captioning).

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

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

Встраивание заголовков (невидимое) может применяться, например, для подписи медицинских снимков, нанесения легенды на карту и т.д. Целью является хранение разнородно представленной информации в едином целом. Это, пожалуй, единственное приложение стеганографии, где в явном виде отсутствует потенциальный нарушитель.

Два главных требования к стеганографическому преобразованию:

1) незаметность – надежность восприятия

2) устойчивость к различного рода искажениям.