Стеганография алгоритмы и программная реализация

Представлены основные разделы теории и систематизирована информация о новейших достижениях в области стеганографии и её практических приложений. Рассмотрены важные для практического использования вопросы сокрытия информации в текстовых документах, вопросы сетевой стеганографии, методы и алгоритмы скрытия данных в аудиосигналах форматов WAVE и MP3. Анализируются методы и алгоритмы скрытия данных в пространственной и частотной областях неподвижных изображений; программная реализация внедрения цифрового водяного знака в видеоконтейнер в форматах BMP, JPEG. Освещены вопросы внедрения водяных знаков на основе вейвлет-преобразований, в том числе алгоритмы встраивания информации в изображения формата JPEG 2000. Рассмотрены алгоритмы встраивания водяных знаков в потоковое видео стандартов MPEG и H.264; особенности внедрения водяных знаков в видеоконтент высокого разрешения, формируемого различными приложениями, в том числе HDTV. Изложены основы стеганографического анализа. Помимо теоретических разделов пособие содержит обширный практический материал – большое количество программно реализованных алгоритмов скрытия, с использованием современных пакетов прикладных программ Matlab и Mathcad, а также языков программирования Python, C++, C# и др.
Для студентов, обучающихся по направлению подготовки бакалавров и магистров 11.03.02 и 11.04.02 – «Инфокоммуникационные технологии и системы связи», будет полезно студентам, обучающимся по группе специальностей направления «Информационная безопасность», аспирантам и специалистам в области защиты информации и безопасности инфокоммуникаций.

Глава 1. Стеганография: основные положения
1.1. Основные понятия стеганографии
1.2. Общая схема стеганографической системы.
1.3. Методы компьютерной стеганографии
1.4. Основные задачи, определения и модели стеганографии
1.4.1. Задачи стеганографии
1.4.2. Основные определения
1.4.3. Модели системы стеганографического скрытия данных
1.4.4. Схемы стеганографического скрытия данных.
1.5. Классификация методов скрытия данных.
1.6. Эталонная модель взаимодействия стеганографических систем — ЭМВСС
1.7. Цифровые водяные знаки
1.7.1. Определения и принципы ЦВЗ
1.7.2. Протоколы стеганографических систем.
1.7.3. Статистические характеристики цифровых водяных знаков
1.8. Принципы внедрения и извлечения водяных знаков
1.9. Модели внедрения водяных знаков в виде телекоммуникационной системы
1.10. Атаки на стеганографические системы
1.11. Оценка качества стеганосистемы
1.12. Стеганоанализ

Глава 2. Скрытие информации в текстовых документах
2.1. Методы скрытия информации в текстовых документах.
2.1.1. Внедрение скрываемого текста в текстовом редакторе Word 2007
2.1.2. Сокрытие информации в файлах формата PDF
2.1.3. Сокрытие информации в файлах формата RTF
2.1.4. Сокрытие информации в субтитрах фильма
2.2. Скрытие данных в тексте
2.2.1. Метод изменения интервала между предложениями
2.2.2. Метод изменения числа пробелов в конце текстовых строк
2.2.3. Метод изменения числа пробелов между словами выровненного по ширине текста
2.2.4. Реализация алгоритма изменения интервала между словами в MatLab
2.3. Синтаксические и семантические методы
2.4. Сетевая стеганография для скрытия данных, передаваемых по каналам связи
2.4.1. Методы сетевой стеганографии
2.4.2. SCTP (Stream control transport protocol) — транспортный протокол с контролем пакетов
2.4.3. Комбинированный метод с использованием модификации полей заголовков IP и TCP
2.4.4. Скрытая передача информации в сегментах TCP
2.5. Оценка качества скрытия информации в текстовых документах с помощью программного обеспечения

Глава 3. Скрытие информации в аудиосигналах
3.1. Свойства слуховой системы человека
3.2. Методы скрытия информации в аудиосигналах
3.3. Оценка степени пригодности аудиосигналов для стеганографической модификации
3.3.1. Аудиофайлы WAVE формата
3.3.2. Методы, использующие в качестве контейнеров аудиофайлы со сжатием
3.4. Метод замены наименее значащих бит
3.4.1. Основные теоретические положения
3.4.2. Программная реализация метода НЗБ скрытия ЦВЗ в аудиоконтейнере в пакете MathCad
3.4.3. Другие модификации метода НЗБ
3.5. Метод расширения спектра
3.5.1. Основные теоретические положения
3.5.2. Программная реализация метода расширения спектра в MathCAD
3.5.3. Программная реализация метода расширения спектра в MatLab
3.6. Метод фазового кодирования (частотная область)
3.7. Алгоритм встраивания информации путем модификации спектральных характеристик сигналов аудиоконтейнеров
3.8. Эхо-кодирование
3.9. Обзор современных методов встраивания ЦВЗ в аудиопоследовательность
3.9.1. Методы, использующие алгоритм Patchwork
3.9.2. Методы внедрения в область сжатия
3.9.3. Методы внедрения ЦВЗ, основанные на методе опорных векторов
3.9.4. Методы, основанные на частотно-временном анализе
3.9.5. Методы маскирования ЦВЗ
3.9.6. Метод замены шума
3.9.7. Методы скрытия ЦВЗ в сжатом звуковом потоке
3.10. Оценка качества встраивания информации в аудиоконтейнер
3.10.1. Метрики
3.10.2. Реализация ПО для оценки качества встраивания информации в контейнер
3.10.3. Экспериментальные результаты оценки качества методом НЗБ
3.11. Применение аудиоводяных знаков в индустрии звукозаписи
3.11.1. Методы внедрения AWM
3.11.2. Кодирование с расширением спектра

Глава 4. Скрытие информации в неподвижных изображениях
4.1. Модель зрительной системы человека
4.1.1. Физиологические особенности человеческого восприятия
4.1.2. Высокоуровневые (психофизиологические) особенности человеческого восприятия
4.1.3. Адаптация энергии водяного знака с учетом ЗСЧ
4.2. Основные растровые форматы цифровых изображений
4.3. Классификация методов маркировки изображений цифровыми водяными знаками
4.4. Скрытие данных в пространственной области изображений
4.4.1. Метод замены наименее значащего бита
4.4.2. Метод псевдослучайной перестановки
4.4.3. Метод блочного скрытия
4.4.4. Метод Куттера-Джордана-Боссена
4.4.5. Алгоритм Брайндокса
4.4.6. Метод Дармстедтера-Делейгла-Квисквотера-Макка
4.5. Скрытие данных в частотной области изображения
4.5.1. Информативность коэффициентов дискретного косинусного преобразования изображений
4.5.2. Метод относительной замены коэффициентов ДКП (метод Коха и Жао)
4.5.3. Метод Бенгама–Мемона–Эо–Юнга
4.5.4. Алгоритм Хсу и Ву
4.6. Методы расширения спектра
4.6.1. Аддитивные алгоритмы внедрения водяных знаков
4.6.2. Алгоритм Кокса
4.6.3. Квантованные алгоритмы внедрения водяных знаков
4.6.4. Расширение спектра методом прямой последовательности
4.6.5. Программная реализация внедрения цифрового водяного знака в контейнер методом расширения спектра прямой последовательностью
4.7. Другие методы скрытия данных
4.7.1. Использование псевдослучайного шаблона
4.7.2. Встраивание в одно изображение нескольких битов или логотипов
4.7.3. Методы встраивания водяных знаков в другие области изображения
4.7.4. Методы повышения устойчивости ЦВЗ к атакам
4.7.5. Устойчивость к геометрическим преобразованиям
4.7.6. Корреляционные методы встраивания водяных знаков в область сжатия
4.7.7. Методы встраивания водяных знаков, не основанные на корреляции

Глава 5. Внедрение водяных знаков на основе вейвлет-преобразований
5.1. Дискретное вейвлет-преобразование
5.1.1. 1D Дискретное вейвлет-преобразование
5.1.2. 2D Дискретное вейвлет-преобразование
5.1.3. Схема лифтинга
5.1.4. Методы свертки
5.1.5. Преобразование Хаара 2×2 (2D Преобразование Хаара)
5.1.6. Вейвлет-преобразование «Строка-столбец» (RCWT)
5.1.7. Вейвлет-преобразование на основе линии (линейное вейвлет-преобразование LBWT)
5.1.8. Классификация алгоритмов внедрения водяных знаков, оперирующих в вейвлет-области
5.2. Алгоритмы с гауссовской последовательностью.
5.2.1. Алгоритм Барни
5.2.2. Алгоритм Корви
5.2.3. Алгоритм Се
5.2.4. Алгоритм Дугада
5.2.5. Алгоритм И.Р. Ким
5.2.6. Алгоритм Й.С. Ким
5.2.7. Алгоритм Программная реализация алгоритма И.Р. Ким в пакете MatLab
5.2.8. Алгоритм Луу
5.2.9. Алгоритм Лу
5.2.10. Алгоритм Подилчука/Вольфанга
5.2.11. Алгоритм Ся
5.2.12. Алгоритм Ван
5.2.13. Алгоритм Ван (слепой)
5.2.14. Алгоритм Чжу
5.3. Алгоритмы слияния изображений
5.3.1. Алгоритм Че
5.3.2. Алгоритм Кундура (слияние)
5.4. Внедрение ЦВЗ методами квантования
614 Оглавление
5.4.1. Скалярное квантование. Алгоритм Хсу
5.4.2. Алгоритм Иноуэ
5.4.3. Алгоритм Кундура
5.4.4. «Хрупкий» алгоритм Кундура
5.4.5. Алгоритм Матсуи
5.4.6. Алгоритм Ониcи
5.4.7. Алгоритм Ксие
5.4.8. Алгоритм Че. Векторное квантование
5.5. Встраивание ЦВЗ в изображения стандарта с потерями JPEG 2000
5.5.1. Особенности кодирования и декодирования информации в стандарте JPEG 2000
5.5.2. Кодовые таблицы квантования
5.5.3. Подход совместного сжатия и скрытия данных
5.5.4. Алгоритм встраивания ЦВЗ во время стадии квантования
5.5.5. Встраивание водяного знака
5.5.6. Извлечение водяного знака

Читайте также:  Фото девушек блондинок с каре со спины

Глава 6. Встраивание ЦВЗ в сжатые видеопоследовательности
6.1. Встраивание ЦВЗ в сжатые видеопоследовательности стандарта MPEG
6.1.1. Видеопоток MPEG 2
6.1.2. Методы встраивания водяных знаков в MPEG 2
6.2. Широкополосный метод встраивания водяных знаков в сжатой области
6.2.1. Структура алгоритма
6.2.2. Декодирование в области ДКП
6.2.3. Поблочное случайное чередование бит водяного знака
6.3. Встраивание водяных знаков в область коэффициентов MPEG
6.3.1. Модификация DC-коэффициента
6.3.2. Встраивание водяного знака в DC- и AC — коэффициенты
6.3.3. Оценка эффективности корреляционного метода
6.4. Модификация бита четности в битовой области
6.4.1. Встраивание водяных знаков в битовой области
6.4.2. Оценка эффективности алгоритма встраивания водяных знаков в битовую плоскость
6.5. Встраивание водяных знаков в сжатые видеоданные за счет энергетической разности
6.5.1. Метод МДЭдля встраивания водяных знаков в видео, закодированное по стандарту MPEG/JPEG
6.5.2. Алгоритм МДЭ
6.5.3. Реализация алгоритма МДЭв пакете МАТЛАБ
6.6. Встраивание водяного знака и его обнаружение в видеопотоке стандарта H.264
6.7. Встраивание водяных знаков на основе анализа изменения сцен
6.8. Внедрение водяных знаков в видеоконтент высокого разрешения

Глава 7. Стеганографический анализ
7.1. Методы стеганографического анализа
7.2. Статистические критерии обнаруживаемости стегосистем
7.2.1. Критерии относительной энтропии
7.2.2. Критерий стойкости стегосистемы, основанный на вычислении расстояния Бхаттачариа
7.2.3. ROC-кривые
7.3. Методы слепого стегоанализа
7.4. Целевой стегоанализ для вложений методом НЗБ
7.4.1. Визуальный метод стегоанализа
7.4.2. Метод оценки частот появления k-битовых серий в потоке НЗБ элементов контейнера
7.4.3. Метод анализа гистограмм, построенных по частотам элементов изображения
7.4.4. Стегоанализ на основе статистики 1-го порядка (гистограммная атака)
7.4.5. Оценка результатов стегоанализа аудиоконтейнеров с использованием критерия Хи-квадрат
7.4.6. Алгоритм обнаружения встроенных сообщений в аудиоконтейнер на основе дельта-критерия
7.4.7. Стегоанализ изображений на основе парно-выборочного анализа
7.5. Особенности использования вейвлет-анализа в стеганоанализе
7.6. Выводы

Приложение 1. Форматы файлов
Приложение 2. Двумерное дискретное косинусное преобразование
Приложение 3. Алгоритм JPEG
Приложение 4. Стандарт сжатия JPEG 2000
Приложение 5. Стандарт сжатия видео MPEG
Приложение 6. Стандарт H.264
Приложение 7. Двухмерное вейвлет-преобразование

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 21.02.2018
Размер файла 17,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Саратовский государственный университет им Н. Г. Чернышевского

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

кандидат наук, доцент, доцент Векслер Виталий Абрамович

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

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

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

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

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

Компьютерная стеганография на основе использование регистра букв. Если нам необходимо спрятать букву "А" в тексте "stenography". Для этого берем двоичное представление кода символа "А" — "01000001". Пускай для обозначения бита содержащего единицу используется символ нижнего регистра, а для нуля — верхнего. Поэтому после накладывания маски "01000001" на текст "stenography", результат будет "sTenogrAphy". Окончание "phy" нами не использовано поскольку для сокрытия одного символа используется 8 байт (по биту на каждый символ), а длинна строки 11 символов, вот и получилось, что последние 3 символа "лишние". Исспользуя такую технологию можно спрятать в текст длинной N, сообщение из N/8 символов) [2].

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

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

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

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

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

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

Читайте также:  Crysis 3 ошибка rld dll

Метод оверлея — по сути не является настоящей стеганографией, основан на том, что некоторые форматы содержат в заголовке размер данных, или же обработчик этих форматов будет читать файл до маркера конца данных. Примером такого метода является хорошо известный метод «rar-jpeg», который основан на конкатенации графического файла в формате JREG и RAR-архива. ПО для просмотра JPEG будет считывать информацию до границы, указанной в заголовке файла, а RAR-архиватор откинет все, что находится до сигнатуры «RAR!», которая обозначает начало архива. Таким образом, если такой файл открыть в просмотрщике графических файлов — мы увидим картинку, а если в RAR-архиваторе — содержимое RAR-архива. Очевидные минусы такого подхода заключаются в том, что оверлей, добавленный к контейнеру, легко выделяем при визуальном исследовании такого файла [3]. компьютерный стеганография сокрытие информация

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

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

Постановка задачи: Разработайте приложение на языке программирование C# для осуществления хранение информации методом стеганографии. Факт существования сообщения не должен привлекать к себе внимание.

Цель: Отработка практических навыков программирования. Создание криптографических и стеганографических моделей для решения поставленной задачи.

Базовый алгоритм: Разложение текста по последним битам красной кодировки (LSB-стеганография). Внедрение сообщения в графическое изображение.

Студенты выполнили предложенное задание. Приведем пример самой интересной реализации.

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

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

  • Стеганография, а не стенография
  • Стеганография: Немного теории
  • Стеганография на практике
  • Программы для стеганографии
  • 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();
    >

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

    Оцените статью
    Добавить комментарий

    Adblock
    detector