Основы стеганографии

Стеганография в изображениях

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

Стеганогра́фия (от греч. στεγανός — скрытый + γράφω — пишу; буквально «тайнопись») — способ передачи или хранения информации с учётом сохранения в тайне самого факта такой передачи (хранения). Этот термин ввел в 1499 году Иоганн Тритемий в своем трактате «Стеганография» (Steganographia), зашифрованном под магическую книгу.

Википедия

Постановка задачи

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

Один байт текста будет кодироваться в одном пикселе изображения. Так, один байт текста будет расположен в пикселе изображения следующим образом:

R: 111100
G: 00001
B: 11001

Алгоритм кодирования информации:

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

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

#pragma pack(push, 1) typedef struct { unsigned char b1,b2; unsigned long bfSize; unsigned short bfReserved1; unsigned short bfReserved2; unsigned long bfOffBits; } BITMAPFILEHEADER; typedef struct { unsigned int biSize; int biWidth; int biHeight; unsigned short biPlanes; unsigned short biBitCount; unsigned int biCompression; unsigned int biSizeImage; int biXPelsPerMeter; int biYPelsPerMeter; unsigned int biClrUsed; unsigned int biClrImportant; } BITMAPINFOHEADER; #pragma pack(pop)

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

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

  • Кодирование любого текста из заранее известных кодировок (UTF-16, CP-1251, UTF-8)
  • Использование других форматов изображения без потерь
  • Шифрование текста перед кодированием в изображение для большей защищённости передачи информации
  • Использование других схем записи байта текста в пиксель изображения, например, 1 бит текста в 1 пиксель, таким образом, кодировка является менее заметной, но существенно сокращается размер доступного для кодирования текста

Требования к отчёту

Отчёт выполняет в формате docx или odt вместе с копией на pdf. В отчёте должны присутствовать следующие части:

  1. Постановка задачи
  2. Теоретическое описание проблем стеганографии
  3. Выбранные методы кодирования информации в выполненной работе с подробным описанием алгоритма кодирования и декодирования
  4. Части программ, демонстрирующие основную моменты работы программы
  5. Описание программы в части работы пользователем: вызов, аргументы, скриншоты и прочее
  6. Заключение о проделанной работе

Вопросы для самопроверки

  • Зачем используется ?
  • Как осуществляется чтение и запись бинарных файлов?
  • Что такое формат хранение без потерь?
  • Что из себя представляет формат bmp?
  • Что такое бит/байт текста?
  • Какие каналы используются для хранения информации о цвете пикселя?
  • Как в программу передаются аргументы при вызове?
  • Каким могут быть варианты хранения скрытого текста, кроме как в изображениях?
  • Какая информация может быть скрыта?

Вопросы, которые стоит гуглить

  • c++ read binary file to struct
  • why i need pragma push c++
  • bmp format structure
  • steganography to bmp

Владимир Голубев

Crime-research.ru

 

Компьютерная стеганография – защита информации или инструмент преступления?

Задача надежной защиты информации от несанкционированного доступа является одной из древнейших и не решенных до настоящего времени проблем. Способы и методы скрытия секретных сообщений известны с давних времен. Стеганографияс греческого steganos(секрет, тайна) и graphy (запись), буквально “тайнопись”. Хотя методы стеганографии появились, вероятно, раньше, чем появилась сама письменность (первоначально использовались условные знаки и обозначения).

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

Еще один, весьманеожиданный способ сокрытия информации или условных знаков — татуировка на голове бритого посланца. Когда в V веке до н.э. тиран Гистий, находясь под надзором царя Дария в Сузах, должен был послать секретное сообщение своему родственнику в анатолийский город Милет, он побрил наголо своего раба и вытатуировал послание на его голове. Когда волосы снова отросли, раб отправился в путь. Так Геродот описывает один из первых случаев применения в древнем мире стеганографии — искусства скрытого письма [1].

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

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

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

Борьба с терроризмом и преследование виновных в совершении теракта 11 сентября 2001 года привлекли особое внимание к стеганографии. Некоторые специалисты считают, что террористическая организация «Аль-Каида» использовала Интернет для разработки плана нападений, а стеганография помогла сохранить в тайне их преступные намерения.

Процесс стеганографии можно разделить на несколько этапов.

1. Выбор информационного файла.

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

2. Выбор файла-контейнера.

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

3. Выбор стеганографической программы.

Третьим этапом в процессе стеганографии является выбор стеганографической программы.

Один из лучших и самых распространенных продуктов в этой области для платформы Windows95/NT — это S-Tools (имеет статус freeware). Программа позволяет прятать любые файлы как в изображениях формата gif и bmp, так и в аудиофайлах формата wav. При этом S-Tools — это стеганография и криптография "в одном флаконе", потому что файл, подлежащий сокрытию, еще и шифруется с помощью одного из криптографических алгоритмов с симметричным ключом: DES (времена которого прошли), тройной DES или IDEA — два последних на сегодня вполне заслуживают доверия [2].

Программа: S-Tools (Steganography Tools) для операционной системы: Windows 95/98:

URL:ftp://ftp.clark.net/pub/phoenix/steg/s-tools4.zip,

ftp://ftp.bogus.net/pub/mirrors/ftp.giga.or.at/stego/s-tools4.zip.

Программа S-Tools прячет информацию вграфических файлах форматов BMP и GIF, а также в звуковых файлахформата WAV. Внешне работа с программой выглядит так. После распаковки архива запускаем файл s-tools.exe, затем WindowsExplorer (Проводник). Последний понадобится, так как S-toolsиспользует технологию drag and drop, соответственно окна не должны полностью перекрываться. Перетаскиваем мышью файл в окно программы S-tools, он отображается в окне либо как есть (для картинки), либо в виде линии, изображающей уровни сигнала (для звука).В правом нижнем углу окна S-tools появится информация о размере данных, которые можно спрятать в этом файле. Перетаскиваем в окно с картинкой, либо уровнем сигналалюбой файл, предназначенный для скрытия, размером, не более указанного. После проверки размера данных программа запросит пароль, набрав который можно будет восстановить информацию. Затем начнется скрытие, время которого зависит от размера данных (наблюдать за процессом можно в окне Action).

Когда все будет готово, появится окно Hidden data. Сохранить результат можно, щелкнув в окне правой кнопкой мыши и выбрав пункт "Save as…", введя имя файла и нажав ОК. Для восстановления послания необходимо перетащить картинку либо звук в окно S-tools, щелкнуть на изображении правой кнопкой и выбрать пункт "Reveal…". После вводапароля, если спрятанные данные есть, начнется их восстановление, за процессом которого можно наблюдать в окне Action, либо если данных нет, то ничего и не произойдет.

Другая распространенная стеганографическая программа — Steganos for Wm95 , которая является легкой в использовании, но все же мощной программой для шифрования файлов и скрытия их внутри BMP, DIB, VOC, WAV, ASCII и HTML файлов. Она обладает практически теми же возможностями, что и S-Tools, но использует другой криптографический алгоритм (HWY1), и, кроме того, способна прятать данные не только в файлах формата bmp и wav, но и в обычных текстовых и HTML файлах, причем весьма оригинальным способом — в конце каждой строки добавляется определенное число пробелов. С новыми свойствами и дополнительными возможностями Steganos for Win95 является серьезным конкурентам на рынке информационной безопасности для скрытия файлов Contraband программное обеспечение позволяющее скрывать любые файлы в 24 битовых графических файлах формата BMP [3].

4. Кодирование файла.

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

5. Отправление сокрытого сообщения по электронной почте и его декодирование.

Пятым и последним этапом в процессе стеганографии является отправление спрятанного файла по электронной почте и его последующая расшифровка.

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

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

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

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

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

 

1. Тигулев Максим. Стегонозавр или тайнопись на компьютере.

2. Карасев Андрей. Компьютерная тайнопись – графика и звук приобретают подтекст. – Мир ПК. — № 1/97. – С.132-134.

3. Privacy Guide: Steganography. http://www.all-nettools.com/privacy/stegano.htm

 

Главная | Библиотека | Статьи | Форум
Ссылки | Команда | Контакты

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

123Следующая ⇒

Введение

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

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

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

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

Крапление карт шулерами – это тоже пример стеганографии.

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 


123Следующая ⇒


Дата добавления: 2017-02-28; просмотров: 185 | Нарушение авторских прав


Похожая информация:


Поиск на сайте:


Добавить комментарий

Закрыть меню