aletheia — стеганализ изображений с использованием самых современных методов машинного обучения

Aletheia — это инструмент стеганализа для обнаружения скрытых сообщений в изображениях.

Сначала вам нужно клонировать репозиторий GIT:

 # git clone https://github.com/daniellerch/aletheia.git 

Внутри каталога Aletheia вы найдете файл требований для установки зависимостей Python с pip:

 # sudo pip install -r requirements.txt 

Aletheia использует Octave, поэтому вам нужно установить его и некоторые зависимости.

Вы найдете зависимости в файле octave-requirements.txt.

В дистрибутивах Linux на базе Debian вы можете установить зависимости с помощью следующих команд, представленных ниже.

Для других дистрибутивов вы можете найти соответствующие.

 # sudo apt-get install octave octave-image 

После этого вы можете выполнить Aletheia с:

 # ./aletheia.py

# ./aletheia.py <command>

COMMANDS:

Attacks to LSB replacement:
- spa: Sample Pairs Analysis.
- rs: RS attack.

Feature extractors:
- srm: Full Spatial Rich Models.
- srmq1: Spatial Rich Models with fixed quantization q=1c.

Embedding simulators:
- hugo-sim: Embedding using HUGO simulator.
- wow-sim: Embedding using WOW simulator.
- s-uniward-sim: Embedding using S-UNIWARD simulator.
- hill-sim: Embedding using HILL simulator.

Model training:
- esvm: Ensemble of Support Vector Machines.
- e4s: Ensemble Classifiers for Steganalysis. 

Статистические атаки на замену LSB

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

Aletheia реализует две атаки на эти методы: анализ пробных пар (SPA) и атаку RS.

Чтобы выполнить атаку SPA на включенное изображение с данными замены LSB, используйте следующую команду:

 # ./aletheia.py spa sample_images/lena_lsbr.png
Hiden data found in channel R 0.0930809062336
Hiden data found in channel G 0.0923858529528
Hiden data found in channel B 0.115466382367

Команда, используемая для выполнения атаки RS, аналогична:

 # ./aletheia.py rs sample_images/lena_lsbr.png
Hiden data found in channel R 0.215602586771
Hiden data found in channel G 0.210351910548
Hiden data found in channel B 0.217878287806 

В обоих случаях результаты дают оценку скорости внедрения.

Атаки на основе машинного обучения

Большинство современных методов в стеганографии используют какое-то соответствие LSB.

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

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

В этом примере мы будем использовать базу данных изображений в оттенках серого, называемую Bossbase.

 #  wget http://dde.binghamton.edu/download/ImageDB/BOSSbase_1.01.zip
unzip BOSSbase_1.01.zip 

Мы собираемся построить детектор для алгоритма HILL с полезной нагрузкой 0,40.

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

Следующая команда включает информацию во все загруженные изображения:

 # ./aletheia.py hill-sim bossbase 0.40 bossbase_hill040 

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

Aletheia предоставляет различные экстракторы, в этом случае мы будем использовать хорошо известные Rich Models.

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

 # ./aletheia.py srm bossbase bossbase.fea
# ./aletheia.py srm bossbase_hill040 bossbase_hill040.fea 

Теперь мы можем обучить классификатор.

Aletheia предоставляет различные классификаторы, в этом случае мы будем использовать Ensemble классификаторы:

 # ./aletheia.py e4s bossbase.fea bossbase_hill040.fea hill040.model
Validation score: 73.0 

В результате мы получаем оценку с использованием набора валидации (небольшое подмножество, не используемое во время обучения).

Результатом является файл «hill040.model», поэтому мы можем использовать его для будущих классификаций.

Наконец, мы можем классифицировать изображение:
 # ./aletheia.py e4s-predict hill040.model srm my_test_image.png
Stego, probability: 0.81 

cryptoparty

Cryptography is typically bypassed, not penetrated.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *