Стеганография - учебная и научная деятельность анисимова владимира викторовича. Стеганография

УДК 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 с.

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

На хабрахабре было много различных статей о конкретных алгоритмах информационной стеганографии , например DarkJPEG , «TCP стеганография» , ну и конечно любимый всеми студентами во время курсового проектирования «алгоритм LSB» (например LSB стеганография , Стеганография в GIF , Котфускация исполняемого.net кода)

Стеганографических способов бесчисленное множество. На момент написания данной статьи в США уже опубликовано не менее 95 патентов по стеганографии , а в России не менее 29 патентов . Более всего мне понравился патент Kursh К. и Lav R. Varchney «Продовольственной стеганографии» («Food steganography» , PDF)

Картинка из «пищевого» патента для привлечения внимания:

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

  1. Цели стеганографии - на самом деле их три, а не одна.
  2. Практическое применение стеганографии - я насчитал 15.
  3. Место стеганографии в XXI веке - я считаю, что с технической точки зрения современный мир уже подготовлен, но «социально» стеганография пока «запаздывает».

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

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

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

Как я уже говорил, в стеганографии существуют три цели.

Цифровые отпечатки (ЦО) (Digital Fingerprint)

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

Таким образом, при извлечении ЦО третья сторона (т.е. противник) может преследовать две цели:

  1. извлечение ЦО из контейнера («слабая цель» );
  2. подмена одного ЦО другим ЦО («сильная цель» ).

В качестве примера ЦО можно привести продажу электронных книг (например в формате *.PDF). При оплате книги и отправки её получателю можно в *.pdf вкраплять информацию о e-mail; IP; данных, введенные пользователем и т.д. Конечно это не отпечатки пальцев и не анализ по ДНК, но, согласитесь, это лучше, чем ничего. Возможно в России, по причине иной культуры и иного, исторически сложившегося, отношения к исключительному праву данное применение стеганографии неактуально; но, например, в Японии, где за скачивание torrent-файлов могут посадить, применение стеганографических ЦО более вероятно.

Стеганографические водяные знаки (СВЗ) (Stego Watermarking)

В отличие от ЦО, СВЗ подразумевает наличие одинаковых меток для каждой копии контейнера. В частности СВЗ можно использовать для подтверждения авторского права. Например, при записи на видеокамеру можно в каждый кадр вкраплять информацию о времени записи, модели видеокамеры и/или имени оператора видеокамеры.
В случае если отснятый материал попадет в руки конкурирующей компании, вы можете попытаться использовать СВЗ для подтверждения авторства записи. Если ключ держать в секрете от владельца камеры, то с помощью СВЗ можно подтверждать подлинность фото и/или видео снимков. Кстати, наш коллега по цеху, Дмитрий Витальевич Скляров , успешно поломал стеганографию на некоторых моделях камеры Canon . Проблема правда была аппаратной, саму стеганку Дмитрий Витальевич не трогал, тем не менее он стеганографически «доказал» подлинность Сталина с iPhone"ом.

Фотография Сталина с iPhone"ом, сделанная Д.В. Скляровым (с корректным СВЗ)


Скрытая передача данных (СПД)

Это «классическая» цель стеганографии, известная со времен Энея Тактика (Αινείας ο Τακτικός , см его труд, содержащий простые стеганографические приемы: ). Задача - передать данные так, чтобы противник не догадался о самом факте появления сообщения.

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

Данная, казалось бы очевидная мысль, до сих пор у многих вызывает недоумение. Аналогичную точку зрения о необходимости различать СВЗ и ЦО высказывали такие небезызвестные в узких кругах «стеганографы» , как Кашен (Cachin), Петикола (Petitcolas), Каценбейзер (Katzenbeisser).

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

4. Защита исключительного права (ЦО)

В качестве возможного применения можно привести голографический многоцелевой диск (Holographic Versatile Disc, HVD). (Правда есть точка зрения, что данная технология изначально «мертворожденная») Разрабатываемые ныне HVB могут содержать до 200 Гб данных на один cartridge. Эти технологии предполагают использовать компаниями теле и радиовещания для хранения видео и аудио информации. Наличие ЦО внутри корректирующих кодов этих дисков может использоваться в качестве основного или дополнительного средства для защиты лицензионного права.

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

Данную цель попыталась воплотить в 2007-2011 годах компания amazon.com . Цитата artty из статьи «Защита» mp3 файлов на amazon.com :

Если по-русски: скачанный файл будет содержать уникальный идентификатор покупки, дату/время покупки и др. информацию (...).

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

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

5. Защита авторского права (СВЗ)

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

6. Защита подлинности документов (СВЗ)

Технология может быть такая же, как и для защиты авторского права . Только в данном случае стеганография используется не для подтверждения авторства, а для подтверждения подлинности документа. Документ, не содержащий СВЗ считается «не настоящим», т.е. поддельным. Уже упомянутый выше Дмитрий Скляров как раз решал противоположенную задачу. Он нашел уязвимость фотоаппарата Cannon и смог подделать подлинность фотографии Сталина с iPhone"ом.

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

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

8. Водяной знак в DLP системах (СВЗ)

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

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

9. Скрытая передача управляющего сигнала (СПД)

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

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

10. Стеганографические botnet-сети (СПД)

Если быть педантом, то данное применение можно считать частным случаем скрытой передачей управляющего сигнала . Тем не менее, я решил обозначит данное применение отдельно. Мой коллега из ТГУ прислал мне весьма любопытную статью неких Shishir Nagaraja , Amir Houmansadr , Pratch Piyawongwisal , Vijit Singh , Pragya Agarwal и Nikita Borisov "а «Stegobot: a covert social network botnet» . Я не специалист по botnet-сетям. Не могу сказать, лажа это или интересная фича. Буду раз услышать мнение хабрасообщества!

11. Подтверждение достоверности переданной информации(ЦО).

Стегосообщение в данном случае содержит данные, подтверждающие корректность передаваемых данных контейнера. В качестве примера это может быть контрольная сумма или хеш-функция (дайджест). Задача подтверждения достоверности является актуальной, если противник имеет необходимость подделать данные контейнера; по этой причине данное применение не нужно путать с защитой подлинности документов ! Например если речь идет о фотографии, то защитой подлинности является доказательство того, что данная фотография настоящая, не подделанная в фотошопе. Мы как бы защищаемся от самого отправителя (в данном случае фотографа). В случае подтверждения достоверности необходимо организовать защиту от третей стороны (man in the middle), которая имеет возможность подделать данные между отправителем и получателем.

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

12. Funkspiel («Радиоигра») (СПД)

Из википедии :

Определение Funkspiel"я

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

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

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

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

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

13. Неотчуждаемость информации (СВЗ)

Существует ряд документов, для которых важна целостность. Ее можно осуществить резервированием данных. Но что делать, если есть необходимость иметь документы в таком виде, чтобы невозможно было одну информацию отделить от другой информации? В качестве примера можно привести медицинские снимки. Многие авторы для надежности предлагают вовнутрь снимков вкраплять информацию об имени, фамилии и иных данных пациента. См например книгу Штефана Каценбейзера (Stefan Katzenbeisser) и Фабиана Петикола (Fabien A. P. Petitcolas) "Information Hiding Techniques for Steganography and Digital Watermarking ":

Отрывок про использование стеганографии в медицине. из книги ""Information Hiding Techniques for Steganography and Digital Watermarking""

The healthcare industry and especially medical imaging systems may benefit from information hiding techniques. They use standards such as DICOM (digital imaging and communications in medicine) which separates image data from the caption, such as the name of the patient, the date, and the physician. Sometimes the link between image and patient is lost, thus, embedding the name of the patient in the image could be a useful safety measure. It is still an open question whether such marking would have any effect on the accuracy of the diagnosis but recent studies by Cosman et al. revealing that lossy compression has little effect, let us believe that this might be feasible. Another emerging technique related to the healthcare industry is hiding messages in DNA sequences. This could be used to protect intellectual property in medicine, molecular biology or genetics.

Аналогичные рассуждения можно сделать по поводу современной астрономии. Приведем цитату отечественного астронома Владимира Георгиевича Сурдина (ссылка на видео):

Я завидую тем, кто сейчас входит в науку. Последние 20 лет мы [астрономы] в общем-то топтались на месте. Но сейчас ситуация изменилась. В мире построено несколько телескопов совершенно уникального свойства. Они видят почти все небо и огромные объемы информации получают каждую ночь. Вот достаточно сказать, что за предыдущие 200 лет астрономы открыли несколько тысяч объектов. (...) Это за 200 лет! Сегодня каждую ночь мы открываем триста новых объектов солнечной системы! Это больше, чем человек ручкой смог записать бы в каталог. [за сутки]

Подумать только, каждую ночь 300 новых объектов. Понятно, что это различные мелкие космические астеройды, а не открытие новых планет, но все же… Действительно, возможно было бы разумно вкраплять информацию о времени съемки, месте съемки и иные данные непосредственно в изображение? Тогда при обмене снимков между астрономами, ученые всегда могли бы понять, где, когда и при каких обстоятельствах был сделан тот или иной снимок. Можно даже вкраплять информацию без ключа, считая, что противника нет. Т.е. использовать стеганографию только ради «неотчуждения» самих снимков от дополнительной информации, надеясь на честность пользователей; возможно, это было бы гораздо более удобно, чем сопровождать каждый снимок информацией.

Из мира компьютерных игр можно привести WoW . Если сделать скриншот игры, то автоматически внедряется СВЗ , содержащий имя пользователя, время снятия скриншота (с точностью до минуты и IP) адрес сервера.

14. Стеганографическое отвлечение (?)

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

Грубо говоря, стеганографическое отвлечение чем-то напоминает DoS и DDoS атаки. Вы отвлекаете внимание противника от контейнеров, которые действительно содержат что-то ценное.

15. Стеганографическое отслеживание (СПД)

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

Почему бы не перенять опыт «реальных коллег» в наш виртуальных мир? Таким образом стеганографическое отслеживание напоминает чем-то вроде honeypot"а .

Прогноз о будущем стеганографии в первой четверти XXI века

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

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

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

Отсутствие единой теории - важный тормоз. Математически доказано, что шифр Вернама (=«одноразовый блокнот») взломать невозможно, по этой причине связь между В.В. Путиным и Баракой Обамой осуществляется именно с помощью этого алгоритма. Существует определенная теория, создающая и изучающая абстрактные (математические) криптографические объекты (Bent-функции, LFSR, циклы Фейстейля, SP-сеты и т.д.). В стеганографии существует зоопарк терминов и моделей, но большинство из них необоснованны, изучены не полностью или притянуты за уши.

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

Второе . Стеганография - наука междисциплинарная ! Это первое, что должен уяснить любой начинающий «стеганограф». Если криптография может абстрагироваться от оборудования и решать исключительно задачи в мире дискретной математике, то специалист по стеганографии обязан изучать среду. Хотя конечно и в построении криптосистем существует ряд проблем, например атака по побочным каналам; но это не вина качества шифра. Я думаю, что стеганография будет развиваться в соответствии с развитием изучения среды, в которой передаются скрытые сообщения. Таким образом разумно ожидать появления «химической стеганографии», «стеганографии в изображениях», «стеганографии в кодах, исправляющих ошибки», «продовольственной стеганографии» и т.д.

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

Третее . Современный виртуальный мир перенасыщен текстами, картинками котиков, видеороликами и прочая и прочая… На одном сайте YouTube ежеминутно загружается более 100 часов видео! Вы только подумайте, ежеминутно ! Вот сколько минут вы читаете этот пространный опус?.. А теперь умножьте это число на 100! Вот столько часов различного видео на одном только YouTube появилось за это время!!! Вы можете себе это представить? А ведь это огромная «почва» для сокрытия данных! То есть «технически» мир давным давно готов к стеганографии. И я, если честно, глубоко уверен, что стеганография и противодействие стеганографии в ближайшем будущем станет такой же актуальной проблемой, как проблема BigData Colossus …

Данная информация перестала быть секретной, если мне не изменяет память, только в 2000-х годах. В качестве другого исторического примера можно привести алгоритм RSA, который был изобретен в конце ВМВ британскими криптографами. Но, по понятным причинам, военные засекретили первый в мире алгоритм асимметричного шифрования и пальма первенства досталась Диффи, Хелману, а затем Ривесту, Шамиру и Адлеману.

К чему я это? Дело в том, что в информационной безопасности все изобретается минимум два раза: один раз «в закрытую», а второй раз «в открытую»; а в некоторых случаях даже больше, чем два раза. Это нормально. Думаю тоже ждет и стеганографию (ели уже не постигло).

В современной западной литературе почему-то «исчезли» (т.е. перестали публиковаться) многие ученые, которые в 1998-2008 годах предлагали весьма интересные идеи. (например Питер Вайнер, Мишель Элиа). Примерно аналогичная ситуация была перед изобретением атомного оружия… Кто знает, может быть уже изобретены совершенные стегосистемы и они успешно используются ГРУ и/или АНБ? А мы, дочитывая этот пост и глядя на наручные часы высчитываем, сколько ещё часов мурлыкающих котиков закачали миллионы пользователей на YouTube и есть ли среди них котики с перепиской террористов; команд для botnet-сети или чертежи РТ-2ПМ2, зашифрованные шифром Вернама.

Лекция

доцента кафедры ИВТ Гродненского госуниверситета

канд. техн. наук Ливак Елены Николаевны

Стеганографическая защита информации

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

Назначение стеганографической защиты

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

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

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

Основные стеганографические понятия

Основными стеганографическими понятиями являются сообщение иконтейнер .

Сообщением m ∈ M , называют секретную информацию, наличие которой необходимо скрыть, где M - множество всех сообщений, обычно M = Z 2 n для n ∈ Z.

Контейнером b ∈ B называют несекретную информацию, которую используют для сокрытия сообщений, где B - множество всех контейнеров, обычно B=Z 2 q , при этом q>>n .

Пустой контейнер (контейнер-оригинал ) - это контейнер b , не содержащий сообщения, заполненный контейнер (контейнер-результат ) b m - это контейнер b , содержащий сообщение m .

Стеганографическим преобразованием принято называть зависимости

F: M×B×K → B,   F -1: B×K → M,

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

F(m,b,k) = b m,k , F -1 (b m,k) = m, где m ∈ M, b, b m ∈ B, k∈K

Стеганографической системой называют (F, F -1 , M, B, K ) совокупность сообщений, контейнеров и связывающих их преобразований [Мотуз].

Методы компьютерной стеганографии

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

Теоретическая база и методы стеганографии только формируются, нет общепризнанной классификации методов, не существуют критерии оценки надежности методов и механизмов стеганографических систем, производятся первые попытки проводить сравнительные характеристики методов, например, в [Барсуков, 54].

Но уже сегодня специалисты признают, что «... на базе компьютерной стеганографии, являющейся одной из технологий информационной безопасности XXI века, возможна разработка новых, более эффективных нетрадиционных методов обеспечения информационной безопасности» [Барсуков, 54, с. 71].

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

1. Методы, основанные на наличии свободных участков в представлении/хранении данных.

2. Методы, основанные на избыточности представления/хранения данных.

3.Методы, основанные на применении специально разработанных форматов представления/хранения данных.

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

Остановимся на стеганографических методах, которые часто применяются на практике.

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

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

Достаточно развиты методы, применяемые для тайнописи в текстовых файлах.

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

· Цветовые эффекты. Например, для символов скрываемого сообщения применяют белый цвет на белом фоне.

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

· Обобщение акростиха. Метод заключается в том, что по определенному закону генерируется осмысленный текст, скрывающий некоторое сообщение.

· Невидимые коды. Символы скрываемого сообщения кодируются определенным количеством дополнительных пробелов между словами или числом пустых строк.

Разработаны методы внедрения скрытой информации и для файлов в формате HTML :

· в конец каждой строки добавляют определенное число пробелов, кодирующее скрываемую информацию;

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

· присоединяют дополнительные страницы, на которых и размещают скрываемую информацию;

· записывают скрываемую информацию в мета-тэги (эти команды предназначены для сообщения информации о html -документе поисковым серверам и не видны при отображении страницы на экране);

· записывают скрываемую информацию в тэги с неизвестными программам-браузерам идентификаторами;

· применяют цветовые эффекты.

Особое внимание обратим на методы, применяемые для внедрения скрытой информации в исполняемые файлы .

Большинство из применяемых методов основано на наличии свободных участков в исполняемых файлах: полностью или частично свободные секторы (блоки) файла; структуры заголовков файлов в форматах EXE , NE - executable и PE - executable содержат зарезервированные поля; существуют пустоты между сегментами исполняемого кода и другие. Заметим, что именно такие методы компьютерной стеганографии традиционно используют авторы компьютерных вирусов для внедрения тел вирусов в исполняемые файлы. Обратим внимание, что для удаления скрытой таким образом информации нарушителю достаточно просто «обнулить» все имеющиеся свободные участки.

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

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

Самой известной технологией в области защиты прав автора на графическую информацию является технология Digital Water Marc (цифровой водяной знак) компании Digimarc Corporation (www . digimarc . com ). Специальный программный продукт PictureMarc (ключевая часть технологии) позволяет внедрять в изображение цифровой идентификатор (метку) создателя. Для получения собственного идентификатора пользователь обязан зарегистрироваться в сервисном центре компании Digimarc (MarcCentre ). Цифровая метка при внедрении в изображение кодируется величиной яркости пикселей, что определяет стойкость метки при различных трансформациях графического файла (редактирование, уменьшение/увеличение изображения, преобразование в другой формат, сжатие). Более того, цифровая метка, внедренная таким способом, не теряется даже после печати и последующего сканирования. Однако, цифровая метка не может быть ни изменена, ни удалена из маркированного изображения. Считывается цифровая метка с помощью программы ReadMarc . Специальный программный продукт MarcSpider просматривает изображения, доступные через Internet , и сообщает о незаконном использовании.

На рынке программного обеспечения в настоящее время предлагается множество систем и технологий, работающих по принципу, аналогичному цифровому водяному знаку. Все они преобразовывают идентификационный код производителя мультимедиа в невидимую цифровую метку и встраивают ее в объект защиты. Обычно такие системы называют системами цифровых водяных знаков. На рынке представлены технологии PixelTag (производства MIT Media Lab ); EIKONAMARK (производства Alpha Tec Ltd .); TigerMark (компании NEC ) и многие другие.

Некоторые технологии вместо термина «водяной знак» используют термин «отпечаток пальца». На рынке представлена технология FBI (Fingerprinting Binary Images ) производства Signum Technologies (www . generation . net /~ pitas / sign . html ). Сервисные программы, использующие данную технологию, также позволяют встраивать, определять и читать «отпечаток пальца» из цифровых данных.

Внимания также заслуживают возможности комплексной системы управления электронным копирайтом Cryptolope (компании IBM ), основанные на технологии Java .

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

Однако необходимо заметить, что существуют и программы, удаляющие цифровые метки из файлов, содержащих изображения. Наиболее известны две из них: UnZign и StirMark , которые анонсированы в качестве средств тестирования стойкости меток, встраиваемых системами цифровых водяных знаков. Использование этих программ показывает, что на сегодняшний день «водяные знаки всех производителей уничтожаются без заметного ухудшения качества изображения» [Николенко, 56].

В настоящее время приобретают широкое распространение стеганографические продукты, позволяющие маскировать целые файлы в других файлах - файлах-контейнерах. Файлами-контейнерами обычно служат графические или звуковые файлы, иногда используются и текстовые файлы (в формате TXT и HTML ). К такому классу программ относятся широко известные программы S - Tools , Steganos , Contraband , Hide 4 PGP и другие.

Широко известны стеганографические (недокументированные) вставки Easter Eggs (www . eeggs . com ) в компьютерных программах. Разработчики программного обеспечения внедряют в свои программы самостоятельные модули, вызываемые определенной (часто довольно сложной) комбинацией клавиш или последовательностью действий. Такие программы, называемые секретами, после активизации демонстрируют различного рода шутки, развлекательную анимацию. Часто программа–секрет демонстрирует список разработчиков программного продукта, а иногда даже их фотографии. Поэтому в некоторых публикациях технологию Easter Eggs относят к технологиям за щ иты авторских прав на компьютерные программы.

[ Steganography and Digital Watermarking Tool Table // www . jjtc . com / Steganography / toolmatrix . htm ] средств, основанных на стеганографических методах и технологиях цифровых водяных знаков, анонсировано только одно средство – S – Mail производства Security Software Development (SSD ) Ltd ., которое встраивает скрытую информацию в EXE - и DLL -файлы.

Резюме

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

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

  1. В настоящее время рынок программных средств защиты интеллектуальной собственности только складывается.
  2. Несмотря на низкую стойкость цифровых меток, цифровые стеганографические технологии и системы успешно применяются на практике для защиты авторских прав создателей мультимедийной продукции при распространении их продуктов в компьютерных сетях и на цифровых носителях: компакт-дисках, цифровых музыкальных дорожках и видео.
  3. В настоящее время среди производителей программного обеспечения только разработчики и издатели мультимедиа обладают средствами, обеспечивающими на том или ином уровне защиту прав авторов.
  4. Не все существующие методы компьютерной стеганографии могут быть использованы для защиты авторских прав на компьютерные программы.
  5. Наиболее развитые методы и алгоритмы компьютерной стеганографии, относящиеся к цифровой стеганографии, не могут применяться для внедрения скрытой информации, идентифицирующей автора, в исполняемые файлы программ.
  6. Стеганографические методы защиты авторских прав на компьютерные программы сегодня недостаточно развиты.

Стеганография (от греч. στεγανός - скрытый и греч. γράφω - пишу, буквально «тайнопись») - это наука о скрытой передаче информации путём сохранения в тайне самого факта передачи.

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

Классификация стеганографических методов защиты информации

В конце 90-х годов ХХ века сформировалось несколько направлений стеганографии:

  • Классическая стеганография
  • Компьютерная стеганография
  • Цифровая стеганография

Классическая стеганография

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

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

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

Симпатические чернила

Одним из наиболее распространенных методов классической стеганографии является использование симпатических (невидимых) чернил. Текст, записанный такими чернилами, проявляется только при определенных условиях (нагрев, освещение, химический проявитель и т. д.) Изобретенные еще в I веке н.э. Филоном Александрийским, они продолжали использоваться как в средневековье, так и в новейшее время, например, в письмах русских революционеров из тюрем. В советской школьной программе в курсе литературы изучался рассказ о том, как Владимир Ленин писал молоком на бумаге между строк, см. Рассказы о Ленине. Молоко проявлялось при нагреве над пламенем.

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

Другие стеганографические методы

Во время Второй мировой войны активно использовались микроточки - микроскопические фотоснимки, вклеиваемые в текст писем, телеграмм.

Также существует ряд альтернативных методов сокрытия информации:

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

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

Компьютерная стеганография

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

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

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

Реализация цифровой стеганографии средствами ОС Linux Ubuntu

Во все без исключения дистрибутивы ОС Linux Ubuntu включено приложение steghide, позволяющее скрывать текстовые файлы в графических файлах.

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

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

Mkdir ~/steg

Выполним переход в созданную директорию:

Wget http://сайт/wp-content/uploads/2014/10/bible..jpg

Если приложение steghide еще не инсталлировано в системе, следует выполнить установку:

Sudo apt-get install steghide

Для того, чтобы встроить текстовый файл bible.txt в графический файл tiger.jpg, следует выполнить следующую команду в терминале:

Steghide embed -ef bible.txt -cf tiger.jpg -sf tiger_with_text.jpg

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

:~/steg$ steghide embed -ef bible.txt -cf tiger.jpg -sf tiger_with_text.jpg Enter passphrase: Re-Enter passphrase: embedding "bible.txt" in "tiger.jpg"... done writing stego file "tiger_with_text.jpg"... done :~/steg$

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

Рассмотрим команду встраивания текстового файла подробнее. Опция embed указывает приложению steghide о том, что пользователь хочет выполнить встраивание текстового файла в графический. Опция -ef указывает на текстовый файл, который необходимо встроить в графический; опция -cf указывает на графический файл, в который будет встроен текстовый файл, опция -sf указывает на имя графического файла, в который будет сохранен результат работы приложения, т.е. графический файл со встроенным зашифрованным текстом.

Теперь рассмотрим процесс извлечения текстового файла из фотографии с тигром. Удалите текстовый файл и убедитесь, что текстового файла нет в директории ~/steg:

Rm -rf ~/steg/bible.txt ll ~/steg

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

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

Рассмотрим опции в последней команде подробнее. Опция extract указывает приложению steghide на то, что пользователь хочет выполнить извлечение текста из графического файла; опция -sf указывает на графический файл, содержащий скрытую текстовую информацию; опция -xf указывает на имя текстового файла, в который будет записана извлеченная из фотографии текстовая информация.

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

Wget http://сайт/wp-content/uploads/2014/10/tiger_with_text.jpg

и, используя пароль: 123456, извлечь текстовую информацию из фотографии:

Steghide extract -sf tiger_with_text.jpg -xf bible.txt

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

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

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

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

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

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

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

Другое находчивое решение принадлежит тирану Гистею, который в 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 веке ). То есть ей безуспешно заниматься в одиночестве математикам и в одиночестве инженерам, программистам и так далее – необходимо объединять знания.

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