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

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

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

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

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

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

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

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

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

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

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

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

Стеганографические модели

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

Основные понятия

В 1983 году Симмонс предложил т. н. «проблему заключенных». Её суть состоит в том, что есть человек на свободе (Алиса), в заключении (Боб) и охранник Вилли. Алиса хочет передавать сообщения Бобу без вмешательства охранника. В этой модели сделаны некоторые допущения: предполагается, что перед заключением Алиса и Боб договариваются о кодовом символе, который отделит одну часть текста письма от другой, в которой скрыто сообщение. Вилли же имеет право читать и изменять сообщения. В 1996 году на конференции Information Hiding: First Information Workshop была принята единая терминология:

  • Стеганографическая система (стегосистема) - объединение методов и средств используемых для создания скрытого канала для передачи информации . При построении такой системы условились о том, что: 1) враг представляет работу стеганографической системы. Неизвестным для противника является ключ с помощью которого можно узнать о факте существования и содержания тайного сообщения. 2) При обнаружении противником наличия скрытого сообщения он не должен смочь извлечь сообщение до тех пор пока он не будет владеть ключом . 3) Противник не имеет технических и прочих преимуществ.
  • Сообщение - это термин , используемый для общего названия передаваемой скрытой информации, будь то лист с надписями молоком, голова раба или цифровой файл.
  • Контейнер - так называется любая информация , используемая для сокрытия тайного сообщения. Пустой контейнер - контейнер, не содержащий секретного послания. Заполненный контейнер (стегоконтейнер) - контейнер, содержащий секретное послание.
  • Стеганографический канал (стегоканал) - канал передачи стегоконтейнера.
  • Ключ (стегоключ) - секретный ключ , нужный для сокрытия стегоконтейнера. Ключи в стегосистемах бывают двух типов: секретные и открытые. Если стегосистема использует секретный ключ, то он должен быть создан или до начала обмена сообщениями, или передан по защищённому каналу. Стегосистема, использующая открытый ключ , должна быть устроена таким образом, чтобы было невозможно получить из него закрытый ключ . В этом случае открытый ключ мы можем передавать по незащищённому каналу.

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

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

  • Использование зарезервированных полей компьютерных форматов файлов - суть метода состоит в том, что часть поля расширений , не заполненная информацией о расширении, по умолчанию заполняется нулями. Соответственно мы можем использовать эту «нулевую» часть для записи своих данных. Недостатком этого метода является низкая степень скрытности и малый объём передаваемой информации.
  • Метод скрытия информации в неиспользуемых местах гибких дисков - при использовании этого метода информация записывается в неиспользуемые части диска , к примеру, на нулевую дорожку. Недостатки: маленькая производительность, передача небольших по объёму сообщений.
  • Метод использования особых свойств полей форматов, которые не отображаются на экране - этот метод основан на специальных «невидимых» полях для получения сносок, указателей. К примеру, написание чёрным шрифтом на чёрном фоне. Недостатки: маленькая производительность, небольшой объём передаваемой информации.
  • Использование особенностей файловых систем - при хранении на жестком диске файл всегда (не считая некоторых ФС, например, ReiserFS) занимает целое число кластеров (минимальных адресуемых объёмов информации). К примеру, в ранее широко используемой файловой системе FAT32 (использовалась в Windows98 / /) стандартный размер кластера - 4 Кб . Соответственно для хранения 1 Кб информации на диске выделяется 4 Кб информации, из которых 1Кб нужен для хранения сохраняемого файла, а остальные 3 ни на что не используются - соответственно их можно использовать для хранения информации. Недостаток данного метода: лёгкость обнаружения.

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

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

Изображение кота, извлеченное из изображения дерева, расположенного выше

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

Алгоритмы

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

  • Работающие с самим цифровым сигналом. Например, метод LSB.
  • «Впаивание» скрытой информации. В данном случае происходит наложение скрываемого изображения (звука, иногда текста) поверх оригинала. Часто используется для встраивания ЦВЗ.
  • Использование особенностей форматов файлов . Сюда можно отнести запись информации в метаданные или в различные другие не используемые зарезервированные поля файла.

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

  • А17 (Cox)
  • А18 (Barni)
  • L18D (Lange)
  • А21 (J. Kim).
  • А25 (С. Podilchuk).

Метод LSB

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

Суть метода заключается в следующем: Допустим, имеется 8-битное изображение в градациях серого. 00h (00000000b) обозначает чёрный цвет, FFh (11111111b) - белый. Всего имеется 256 градаций (). Также предположим, что сообщение состоит из 1 байта - например, 01101011b. При использовании 2 младших бит в описаниях пикселей, нам потребуется 4 пикселя. Допустим, они чёрного цвета. Тогда пиксели, содержащие скрытое сообщение, будут выглядеть следующим образом: 00000001 00000010 00000010 00000011 . Тогда цвет пикселей изменится: первого - на 1/255, второго и третьего - на 2/255 и четвёртого - на 3/255. Такие градации, мало того что незаметны для человека, могут вообще не отобразиться при использовании низкокачественных устройств вывода.

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

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

Все методы LSB являются, как правило, аддитивными (A17, L18D).

Другие методы скрытия информации в графических файлах ориентированы на форматы файлов с потерей, к примеру, JPEG. В отличие от LSB они более устойчивы к геометрическим преобразованиям. Это получается за счёт варьирования в широком диапазоне качества изображения, что приводит к невозможности определения источника изображения.

Эхо-методы

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

Эхо-методы устойчивы к амплитудным и частотным атакам, но неустойчивы к атакам по времени.

Фазовое кодирование

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

Метод расширенного спектра

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

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

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

  • Атака по известному заполненному контейнеру;
  • Атака по известному встроенному сообщению;
  • Атака на основе выбранного скрытого сообщения;
  • Адаптивная атака на основе выбранного скрытого сообщения;
  • Атака на основе выбранного заполненного контейнера;
  • Атака на основе известного пустого контейнера;
  • Атака на основе выбранного пустого контейнера;
  • Атака по известной математической модели контейнера.

Рассмотрим некоторые из них:

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

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

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

Стеганография и цифровые водяные знаки

Для повышения устойчивости к искажениям часто применяют помехоустойчивое кодирование или используют широкополосные сигналы. Начальную обработку скрытого сообщения делает прекодер . Важная предварительная обработка ЦВЗ - вычисление его обобщенного Фурье-преобразования . Это повышает помехоустойчивость. Первичную обработку часто производят с использованием ключа - для повышения секретности. Потом водяной знак «укладывается» в контейнер (например, путем изменения младших значащих бит). Здесь используются особенности восприятия изображений человеком. Широко известно, что изображения имеют огромную психовизуальную избыточность. Глаза человека подобны низкочастотному фильтру, который пропускает мелкие элементы изображения. Наименее заметны искажения в высокочастотной области изображений. Внедрение ЦВЗ также должно учитывать свойства восприятия человека.

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

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

В современных принтерах

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

Применение цифровой стеганографии

Из рамок цифровой стеганографии вышло наиболее востребованное легальное направление - встраивание цифровых водяных знаков (ЦВЗ) (watermarking), являющееся основой для систем защиты авторских прав и DRM (Digital rights management) систем. Методы этого направления настроены на встраивание скрытых маркеров, устойчивых к различным преобразованиям контейнера (атакам).

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

Например, разработки Digimarc в виде плагинов к редактору Adobe Photoshop позволяют встроить в само изображение информацию об авторе. Однако такая метка неустойчива, впрочем как и абсолютное их большинство. Программа Stirmark, разработчиком которой является ученый Fabien Petitcolas, с успехом атакует подобные системы, разрушая стеговложения.

Предполагаемое использование террористами

Пример, показывающий то, как террористы могут использовать аватары для передачи скрытых сообщений. Эта картинка содержит в себе сообщение «Босс сказал, что мы должны взорвать мост в полночь.», зашифрованное с помощью http://mozaiq.org/encrypt с использованием сочетания символов «växjö» в качестве пароля.

Слухи о использовании стеганографии террористами появились с момента публикации в газете USA Today 5 февраля 2001 года двух статей - «Террористы прячут инструкции онлайн» и «Террористические группы прячутся за веб-шифрованием». 10 июля 2002 года в той же газете появилась статья «Боевики окутывают веб с помощью ссылок на джихад». В этой статье была опубликована информация о том, что террористы использовали фотографии на сайте eBay для передачи скрытых сообщений. Многие средства массовой информации перепечатывали данные сообщения, особенно после терактов 11 сентября , хотя подтверждения данной информации получено не было. Статьи в USA Today написал иностранный корреспондент Джек Келли, который был уволен в 2004 году после того, как выяснилось, что данная информация была сфабрикована. 30 октября 2001 года газета The New York Times опубликовала статью «Замаскированные сообщения террористов могут скрываться в киберпространстве». В статье было высказано предположение о том, что Аль-Каида использовала стеганографию для скрытия сообщений в изображениях, а затем передавала их по электронной почте и Usenet в целях подготовки терактов 11 сентября . В пособии по обучению террориста «Технологичный муджахид, учебное пособие для джихада » присутствует глава, посвященная использованию стеганографии.

Предполагаемое использование спецслужбами

  • Скандально известный греческий миллионер Аристотель Онассис несколько раз использовал при подписании контрактов ручку с симпатическими чернилами.
  • В фильме «Гений » главный герой - персонаж Александра Абдулова - обманывает милицию , написав признание симпатическими чернилами.

Ссылки

Программные реализации

  • OpenPuff: Двойная стеганография, Bmp , Jpeg , Png , Tga , Pcx , Aiff , Mp3 , Next, Wav , 3gp , Mp4 , Mpeg I , MPEG II , Vob , Flv , Pdf , Swf

Статьи

  • Обзор программ для поиска скрытых стеганографией материалов

Прочее

  • Стеганография (рус.) Иоганна Тритемия

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

За последние несколько лет активность спецслужб значительно возросла. Увеличились также их права относительно методов добычи информации, теперь они имеют право на чтение твоей личной переписки.
Хорошо если ты общаешься только с тетками или корешами из чата. А что будет, когда анализируя твою переписку они наткнутся на пароль от
какого-нибудь забугорного сервачка или прочитают как ты хвастаешься знакомому о последнем дефейсе? Эти письма могут стать уликой преступления и послужить
прекрасной причиной для возбуждения криминального дела… Ну как
перспектива? Не очень… Поэтому следует
тщательно прятать содержимое такой переписки. Именно этим и занимается стеганография, а если она используется с элементами криптографии, прочитать письмо сможет только адресат, знающий схему извлечения защищенного
текста.

Название стеганография произошло от двух греческих слов
— steganos(тайна) и graphy(запись), поэтому ее можно назвать тайнописью. Основная задача стеганографии: сокрытие самого факта существования секретного сообщения. Возникла данная наука, в Египте. Ее использовали для передачи разнообразной государственной информации. Для этих целей стригли раба налысо и били бедняге тату. Когда волосы
отрастали, посланца отправляли в путь 🙂

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

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

Текстовый документ.txt

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

1. Использовать регистр букв.
2. Использовать пробелы.

Для первого варианта, процесс заключается в следующем: пускай нам необходимо спрятать букву «А» в тексте «stenography». Для этого берем двоичное представление кода символа «А» — «01000001». Пускай для обозначения бита содержащего единицу используется символ нижнего регистра, а для нуля — верхнего. Поэтому после накладывания маски «01000001» на текст «stenography», результат будет «sTenogrAphy». Окончание «phy» нами не использовано поскольку для сокрытия одного символа используется 8 байт (по биту на каждый символ), а длинна строки 11 символов, вот и получилось, что последние 3 символа «лишние». Исспользуя такую технологию можно спрятать в текст длинной N, сообщение из N/8 символов. Поскольку данное решение нелзя назвать наиболее удачным, часто используется технология передачи данных через пробелы. Дело в том, что пробел обозначен символом с кодом 32, но в тексте его можно заменить также символом имеющим код 255 или TAB’ом на худой конец. Также как и в прошлом примере, передаем биты шифруемого сообщения используя обычный текст. Но на этот раз 1 — это пробел, а 0 — это пробел с кодом 255.

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

GIF, JPG и PNG

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

Самый простой пример использования изображений в стеганоргафии — третье задание из « «. Решается оно достаточно просто и
без особых усилий можно получить спрятанное сообщение. Для начала необходимо скопировать его в буфер обмена, далее установите цвет заливки для правой клавиши в цвет фона изображения
(голубой). Следующим этапом должна стать очистка рисунка и его заливка в черный цвет. Для завершения данной операции просто
вставьте изображение из буфера обмена, не увидит надпись «WELL DONE!», только слепой 🙂

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

Достойным примером использования стеганографии может быть интернет браузер
Camera/Shy , от
известной хакерской команды Cult of Dead
Cow . С виду он напоминает обычный обозреватель интернета, но при входе на web-ресурс происходит автоматическое сканирование всех GIF изображений на наличие скрытых сообщений.

MP3 и все, что ты слышишь

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

Другие решения

Для стеганографии можно использовать документы Microsoft Word, формат RTF также может быть использован в качестве контейнера для сообщения. Существует ряд утилит, которые способны передавать файлы посредством пустых пакетов, используя
те же стенографические решения. При такой технологии одним пакетом передается один бит копируемого файла, который хранится в заголовке передаваемого пакета. Такая технология не предоставляет высокой скорости передачи данных, зато имеет ряд
преимуществ при передачи файлов через межсетевые экраны.

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

28 февраля 2011 в 11:32

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

  • Информационная безопасность

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

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

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

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

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

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

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

Способ 3 - LSB

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

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

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

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

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

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

Способ 5

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

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

1 . ОБЗОР СУЩЕСТВУЮЩИХ ПРОГРАММ И АЛГОРИТМОВ СКРЫТИЯ ИНФОРМАЦИИ В КОМПЬЮТЕРНЫХ ИЗОБРАЖЕНИЯХ

1.1 Алгоритмы скрытия информации в компьютерных изображениях

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

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

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

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

F : M ´ B ´ K ® B , F -1 : B ´ K ® M , (1)

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

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

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

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

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

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

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

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

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

BMP c 24 или 32 битами на пиксель /5/.

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

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

Стегоалгоритмы, использующие изображения формата BMP c 256-цветной палитрой /3/.

Рассмотрим наиболее типичный в этом случае алгоритм EzStego , получившему свое название от одноименной программы, в которой он был реализован.

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

Первоначально EzStego сортирует цвета палитры c 0 , c 1 , . . . , c P− 1 , P ≤ 256 в цикле c π (0) , c π (1) , . . . , c π (P− 1) , π (P ) = π (0) так, чтобы сумма расстояний была мала. В последнем выражении π – перестановка сортировки. Для получения итоговой перестановки может использоваться несколько вариантов, например, сортировка по значению компоненты яркости каждого пикселя или приблизительное решение задачи коммивояжера на графе, вершинами которого будут являться элементы палитры. Набор пар E , в которых цвета будут обменены друг на друга в процессе внедрения, будет

E = { (c π (0) , c π (1)), (c π (2) , c π (3)), . . . , (c π (P− 2) , c π (P− 1))}. (3)

Используя стегоключ (пароль) генерируется псевдослучайный путь по пикселям изображения. Для каждого пикселя на этом пути его цвет c π (k ) заменяется цветом c π (j ) , где j – индекс k , в котором его НЗБ заменен на бит сообщения. Данный этап повторяется до тех пор, пока все биты сообщения не оказываются внедрены или пока не будет достигнут конец файла изображения.

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

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

С помощью программы S - Tools (Steganography Tools ) (рисунок 1), имеющей статус freeware , можно спрятать информацию в графическом или звуковом файле. Причем графический файл после этого можно спокойно просмотреть, а звуковой – прослушать. Утилита не требует инсталляции, достаточно распаковать архив и запустить файл s - tools . exe . Архив программы занимает всего лишь порядка 280 KiB .

Рисунок 1 – Основное окно программы S - Tools

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

Сам процесс шифрования информации очень прост: Для этого достаточно из проводника Windows перетащить графический или звуковой файл в окно программы. В правом нижнем углу программы появится информация о размере файла, который можно спрятать. На следующем этапе нужно перетащить файл с информацией на изображение, ввести пароль, выбрать вар иант шифрования и определить метод скрытия. Через некоторое время программа выдаст вторую картинку с условным именем hidden data ,

которая уже содержит скрытую информацию. Затем следует сохранить новую картинку с конк ретным именем и расширением gif или bmp , выбрав команду « Save as ».

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

Программа Steganos Security Suite (рисунок 2) также является довольно популярной программой, по качеству превосходящей S - Tools , однако не являющейся бесплатной. Данный программный продукт представляет собой универсальный набор средств, необходимых для защиты информации.

Рисунок 2 – Основное окно программы Steganos

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

шифровании какого-либо файла можно дополнительно к этому выбрать контейнер (изображение формата BMP , JPEG или аудиофайл WAV ), в который будет встроено предварительно сжатый и зашифрованный файл. Касательно формата BMP программа позволяет использовать изображения только в режиме True Color .

Программа Secur Engine (рисунок 3) позволяет как просто шифровать файлы с использованием криптографических методов, так и встраивать их в контейнеры форматов BMP , JPEG , WAV . Имеется возможность выбрать один из 6 алгоритмов шифрования, одним из которых является отечественный алгоритм ГОСТ.

Рисунок 3 – Основное окно программы Secur Engine

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

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

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

  • Стеганография: Немного теории
  • Стеганография на практике
  • Программы для стеганографии
    • ImageSpyer G2
    • StegoTC G2 TC
    • RedJPEG
    • DarkCryptTC и Проект «Заря»
  • Стеганография своими руками

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

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

Если раньше не совсем честному работнику, чтобы вынести какой-нибудь секретный чертеж или документ, нужно было скрывать бумажную копию, то в эпоху цифровых технологий выносить секреты стало намного легче. Зашифрованный файл можно отослать по сети, а можно скинуть на съемный носитель, флешку и скрытно вынести в кармашке.

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

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

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

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

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

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

Стеганография: Немного теории

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

Методы типа LSB (Least Significiant Bit, наименьший значащий бит) и аналогичные. Их суть заключается в замене последних значащих битов в контейнере (изображения, аудио или видеозаписи) на биты скрываемого сообщения. Возьмем в качестве примера графический файл. Наглядно это выглядит следующим образом: мы меняем младшие биты в коде цвета пикселя на картинке. Если считать, что код цвета имеет 32-битное значение, то замена 0 на 1 или наоборот не приведет к сколько-нибудь существенному искажению картинки, ощутимому для органов восприятия человека. А между тем в этих битах для большой картинки можно что-то спрятать.

Рассмотрим небольшой пример. Допустим, имеется 8-битное изображение в градациях серого. 00h (00000000Ь) обозначает черный цвет, FFh (11111111Ь) — белый. Всего имеется 256 градаций (). Также предположим, что сообщение состоит из 1 байта — например, 01101011Ь. При использовании двух младших бит в описаниях пикселей нам потребуется 4 пикселя. Допустим, они черного цвета. Тогда пиксели, содержащие скрытое сообщение, будут выглядеть следующим образом: 00000001 00000010 00000010 00000011. Тогда цвет пикселей изменится: первого — на 1/255, второго и третьего — на 2/255 и четвертого — на 3/255. Такие градации, мало того, что незаметны для человека, могут вообще не отобразиться при использовании низкокачественных устройств вывода.

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

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

И третий метод — использование особенностей форматов файлов. К примеру, это может быть запись информации в метаданные, используемые данным форматом файла, или в различные другие, не используемые зарезервированные поля. Например, это может быть документ Microsoft Word, внутри которого будет спрятана информация, никак не отображаемая при открытии данного документа.

Аудио стеганография

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

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

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

На сегодняшний день фазовое кодирование является одним из самых эффективных методов скрытия информации.

Стеганография на практике

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

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

В качестве файла для хранения данных я использовал изображение 1680х1050, сохраненное в различных форматах: ВМР, PNG, JPEG. Скрываемым документом выступал текстовый файл размером порядка 40 Кб. Все описанные программы справились с поставленной задачей: текстовый файл был успешно сохранен и затем извлечен из исходного файла. При этом сколько-нибудь заметных искажений картинки обнаружено не было. Представленные далее утилиты можно скачать с сайта.

ImageSpyer G2

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


ImageSpyer G2

Утилита совместима с Windows 8. В качестве исходных графических файлов могут использоваться форматы ВМР, JPEG, WMF, EMF, TIFF.

Скачать бесплатно ImageSpyer G2, вы можете по .

StegoTC G2 TC

Стеганографический архиваторный плагин (wcx) для Total Comander позволяет скрывать данные в любом изображении, при этом поддерживаются форматы ВМР, TIFF и PNG.

Скачать бесплатно StegoTC G2, вы можете по .

RedJPEG

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


RedJPEG

Профессиональная расширенная версия RedJPEG ХТ дополнена маскировкой факта внедрения и усиленной процедурой инициализации поточного шифра на основе характеристик изображения. Включены х86 и х86-64 сборки.

Также имеется RedJPEG ХТ for ТС WCX плагин Total Comanderг, обладающий аналогичным функционалом.

Скачать бесплатно RedJPEG, вы можете по .

DarkCryptTC и Проект «Заря»

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


DarkCryptTC и Проект «Заря»

Список поддерживаемых форматов действительно впечатляет: *.txt, *.html, *.xml, *.docx, *. odt, *.bmp, *jpg, *.tiff, *.png, *.jp2, *.psd, tga, *.mng, *.wav, *.ехе, *.dll.

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

Скачать бесплатно DarkCryptTC, вы можете по .

Также, на нашем сайте представлены и другие материалы касающиеся Стеганографии. Для поиска всех программ и книг, сделайте поиск по слову «Стеганография»

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

Для тех, кто хорошо знаком с программированием, в частности, с Visual Studio и С#, могу порекомендовать также довольно интересный , в котором можно найти исходные тексты стеганографических утилит для различных форматов данных: для работы с графическими форматами и для сокрытия информации, например, в ZIP-архивах. Общий принцип такого преобразования заключается в использовании заголовков архивируемых файлов. Фрагмент исходного кода для работы с ZIP-архивами выглядит следующим образом:

private void ZipFiles(string destinationFileName, ↵
string password)
{
FileStream outputFileStream = ↵
new FileStream(destinationFileName, ↵
FileMode.Create);
ZipOutputStream zipStream = ↵
new ZipOutputStream(outputFileStream);
bool isCrypted = false;
if (password != null && password.Length > 0)
{ //encrypt the zip file, if password is given
zipStream.Password = password;
isCrypted = true;
}
foreach(ListViewItem viewItem in lvAll.Items)
{
inputStream = new FileStream(viewItem.Text, ↵ FileMode.Open);
zipEntry = new ICSharpCode.SharpZipLib.Zip.ZipEntry(↵ Path.GetFileName(viewItem.Text));
zipEntry.IsVisible = viewItem.Checked;
zipEntry.IsCrypted = isCrypted;
zipEntry.CompressionMethod = ↵ CompressionMethod.Deflated;
zipStream.PutNextEntry(zipEntry);
CopyStream(inputStream, zipStream);
inputStream.Close();
zipStream.CloseEntry();
}
zipStream.Finish();
zipStream.Close();
}

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