Как сделать стеганографию

Добавил пользователь Евгений Кузнецов
Обновлено: 04.10.2024

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

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

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

Любое изображение представляет собой совокупность точек. Каждая точка цветного изображения кодируется комбинацией из 3-х байт, задающих уровень красного (R), зелёного (G) и голубого цветов (B) — RGB. Если в этой комбинации изменить самый последний бит, или пару — тройку битов, цвет хоть и получится отличным от исходного, но настолько незначительно, что даже самый острый глаз не заметит никакой разницы.

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

Для чего используется стеганография?

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

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

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

Программы для стеганографии

ImageSpyer G2 – это утилита для сокрытия информации в графических файлах с использованием криптографии. При этом поддерживается около 30 алгоритмов шифрования и 25 хеш-функций для шифрования контейнера. Скрывает объем, равный числу пикселей изображения. Опционально доступна компрессия скрываемых данных.

RedJPEG – утилита предназначена для сокрытия любых данных в JPEG в изображении (фото, картинка) с помощью авторского стеганографического метода. Использует открытые алгоритмы шифрования, поточный шифр AMPRNG и Cartman II DDP4 в режиме хеш-функции, LZMA-компрессию.

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

Защита от стеганографии

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

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

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

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

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

Что такое стеганография?

Для чего используется стеганография?

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

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

Инструменты стеганографии

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

Для знакомства со средствами стеганографии рекомендуем сайт Нейла Джонсона (Neil Johnson') Steganalysis site. Так же можно посетить сайт Ниелс Провос (Niels Provos), хотя он в данный момент переезжает, как что следите за его развитием.

Большое количество утилит работают под разными ОС - Windows, DOS, Linux, Mac, Unix: вам будет из чего выбирать.

Принципы работы стеганографии



Рис.2 с вложенным файлом

Стеганография и безопасность

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

Защита от стеганографии

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

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

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

В нашем телеграм канале мы рассказываем о главных новостях из мира IT, актуальных угрозах и событиях, которые оказывают влияние на обороноспособность стран, бизнес глобальных корпораций и безопасность пользователей по всему миру. Узнай первым как выжить в цифровом кошмаре!

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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


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

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

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


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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Funkspiel

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

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


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

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

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

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

Содержание

Общие сведения

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


Цифровая стеганография включает в себя следующие направления:

  • встраивание информации с целью ее скрытой передачи;
  • встраивание цифровых водяных знаков (ЦВЗ) (watermarking);
  • встраивание идентификационных номеров (fingerprinting);
  • встраивание заголовков (captioning).

Цифровые водяные знаки


Стегосиcтема ЦВЗ содержит следующие ключевые узлы:

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

Контейнер

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

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

Требования при проектировании стегосистем

Для того чтобы стегосистема была надежной, при ее проектировании необходимо выполнение ряда требований:

Требования к ЦВЗ

Математическая модель стегосистемы

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

  1. генерация ЦВЗ;
  2. встраивание ЦВЗ в кодере;
  3. обнаружение ЦВЗ в детекторе.

Этап 1 - Генерация ЦВЗ

Для повышения робастности ЦВЗ могут применяться помехоустойчивые коды, например, коды БЧХ, сверхточные коды. В ряде публикаций отмечены хорошие результаты, достигаемые при встраивании ЦВЗ в области вейвлет-преобразования с использованием турбо-кодов. Отсчеты ЦВЗ принимают обычно значения из множества , при этом для отображения → может применяться двоичная относительная фазовая модуляция (BPSK).

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

Этап 2 - Встраивание ЦВЗ в кодере


Другое возможное описание процесса внедрения получим, представив стегосистему как систему связи с передачей дополнительной информации (рис. 3). В этой модели кодер и декодер имеют доступ, помимо ключа, к информации о канале (то есть о контейнере и о возможных атаках). В зависимости от положения переключателей A и B выделяют четыре класса стегосистем (подразумевается, что ключ всегда известен кодеру и декодеру):

Этап 3 - Обнаружение ЦВЗ в детекторе


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

Примеры стегоалгоритмов

Далее дано краткое описание следующих стегоалгоритмов:

  • алгоритм Куттера;
  • алгоритм Patchwork.

Алгоритм внедрения

Если 24-битное изображение имеет RGB-кодировку, то встраивание выполняется в канал синего цвета, так как к синему цвету система человеческого зрения наименее чувствительна. Рассмотрим алгоритм передачи одного бита секретной информации. Пусть s i \,\!> – встраиваемый бит, I = R , G , B > – контейнер, p = ( x , y ) - позиция, в которой выполняется вложение. Секретный бит встраивается в канал синего цвета путем модификации яркости:

Алгоритм извлечения

Читайте также: