Сокрытие данных
Сокрытие данных – распространенная практика среди хакеров и злоумышленников. Они прячут свои конфиденциальные данные в защищенной области хоста (HPA), Slack space и в альтернативных потоках данных (ADS). поскольку эти области не включены ни в какие параметры поиска. Кроме того они могут использовать методы стеганографии для тайного общения, передачи лицензий программного обеспечения, обхода систем контроля за утечками и многое друго. Однако помимо злоумышленников, методы стеганографии вполне могут найти себе применение в обеспечение информационной безопасности как в повседневной, так и в профессиональной деятельности.
Стеганография
Что такое Стеганография? Стеганография – это вековая практика тайного или скрытого письма. Она существует уже долгое время. Когда-то ее использовали шпионы, чтобы скрывать сообщения или секреты своего государства.
Чем стеганография отличается от криптографии?
Хакеры прячут свои сообщения в медиафайлы, такие как аудио, изображения или видео. Эти медиафайлы становятся носителем, пригодным для транспортировки секретного файла, содержащего некоторые данные, поэтому такие файлы можно открыто хранить или передавать по незащищенным каналам связи. Основное различие между криптографией и стеганографией заключается в том, что методы стеганографии позволяют прятать/конспирировать информацию внутри носителей, таких как изображения, аудиозаписи, спам и т.д., и скрывать тот факт, что что там вообще есть какие-либо данные, в то время как методы криптографии заключается в кодировании содержимого в нечитаемый формат с помощью таких алгоритмов, как RSA, AES, DES, ГОСТ и т.д.
При атаке “полиглот” хакеры могут спрятать вредоносное ПО в коде существующего файла (изображение). При успешной атаке с использованием инструмента полиглота веб-браузер загружает только код только по назначению, что позволяет вредоносному коду оставаться скрытым во время проведения атаки. Например, хакеры могут манипулировать кодом, чтобы он выглядел так, как будто это всего лишь изображение. Но как только веб-браузер загружает изображение, он также загружает вредоносное ПО, которое представляет собой код JavaScript. По сравнению со стеганографией, полиглот компилирует как код изображения, так и код вредоносной программы вместе, что, в свою очередь, позволяет скрыть включение вредоносного кода.
Для более детального знакомства с методами стеганографии, проведем небольшой обзор инструментов
Вот некоторые инструменты для стеганографии:
1.SilentEye
SilentEye – это инструмент с открытым исходным кодом, используемый для стеганографии, в основном для скрытия сообщений в изображениях или звуках. Он обеспечивает удобный интерфейс и легкую интеграцию нового алгоритма стеганографии и процессов криптографии с помощью системы плагинов.
Допустим, что у нас есть файл pass.txt, который содержит учетные данные для доступа к информационным системам. И мы собираемся скрыть этот файл в изображение с помощью инструмента SilentEye.
Инструмент можно загрузить с сайта https://silenteye.v1kings.io/download.html?i2. После загрузки щелкните на скачанном exe-файле и следуйте инструкциям по установке, чтобы установить этот инструмент в вашей системе. Мы используем систему Windows систему, следовательно, файл exe. Попимимо windiows доступны для скачивания установочные файлы для Linux и MAC.
a. Перетащим изображение в стартовое окно программы, которое мы хотим использовать для скрытия данных.
b. После добавления изображения нажмем на опцию кодирования (Encode)
c. Выберем позицию заголовка как “signature”, введем выбранную вами парольную фразу (эта парольная фраза будет использоваться для декодирования позже).
Выберем файл, который мы хотим спрятать в картинке (у нас это pass.txt), и нажмем на “Encode”
d. Изображение после кодирования будет сохранено в папке назначения указанную в предыдущем шаге. Мы видим, что закодированное изображение выглядит точно так же, и в нем трудно обнаружить какой-либо скрытый файл.
e. Теперь, чтобы декодировать это изображение, нажмем на опцию Decode
f. Выберем позицию заголовка как “signature” и введем кодовую фразу, которую мы ввели для кодирования этого изображения, затем выбирем на опцию “Decode”
g. Декодированный файл показан на рисунке
2. iSteg
iSteg – это инструмент стеганографии с открытым исходным кодом, используемый для скрытия файлов внутри jpeg-изображения. Достпуна для MAC. Программа относительно старая и останавливаться подробно на ней не будем, но для любителей MAC отметим ее наличие.
3. OpenStego
OpenStego также является инструментом стеганографии с открытым исходным кодом. Его можно использовать для скрытия данных (он может скрывать данные внутри изображений) или для нанесения
водяных знаков (использовать для обнаружения несанкционированного копирования файлов). Нанесение водяных знаков также может быть полезным при направлении одного документа в разные организации с нанесением меток для каждой из них, и при утечке документа в открытый доступ можно будет определить из какой именно организации произошла утечка.
Интерфейс программы прост и приятен. Для скрытия данных в поле Message File выбираем наш файл с паролями, который мы хотим спрятать, в поле Cover File выбираем исходную картинку, которая будет являться контейнером для текстового файла, в поле Output Stego File задаем имя итогового изображения с секретом. После выбираем алгоритм шифрования (AES256 в указанном случае) и задаем пароль. После наживаем Hide Date и получаем результат
Сразу бросается в глаза тот факт, что картинка с вложенным файлом намного больше по размеру, чем исходная:
Для обратных действий, соответственно, на вкладке Extract Data необходимо выбрать файл со скрытыми данными, выбрать путь для сохранения файла на выходе, ввести пароль и нажать Extract Data и мы получим наш файл passwords.txt
Функционал программы позволяет также ставить водяной знак / проверять изображения своей подписью. Сначала вам нужно сгенерировать файл подписи, а затем его можно использовать для проставления водяных знаков или для их проверки
Генерируем электронную подпись в формате *.sig
Проставляем водяной знак для itsecforu с использованием заранее сгенерированного файла подписи и получаем подписанный файл изображения isecforu_sig.jpg
Для проверки водяного знака на вкладке Verify Watermark необходимо, соответсвенно выбрать файл с водяным знаком и файл подписи
4. Open Puff
Open Puff – это бесплатное программное обеспечение для стеганографии для Microsoft Windows и Linux. Cтоит отметить, что программа не требует установки в Windows а для linux запускается с bash скрипта. Помимо картинок и аудио работает с файлами видеоформатов и pdf. Разработчиком предлагается очень подробная документация по работе продукта.
Поддерживает такие форматы изображений как BMP, JPG, PCX, PNG, TGA, такие форматы аудио как AIFF, MP#, NEXT/SUN, WAV, такие форматы видеозаписей как 3GP, FLV, MP4, MPG, SWF, VOB, а также PDF
Для скрытия предлагается ввести 3 разных пароля, однако пароль B и С можно отключить, сняв флажки с параметров Enable (B) и Enable (C), так мы и поступим и введем пароль в поле А. Затем в блоке Data выберем файл с паролями passwords.txt. На 3-м шаге выберем файл изображения itsecforu.jpg в качестве носителя. Далее выберем формат файла на выходе и стойкость, нажимаем Hide Data! и выбираем директорию для сохранения файла со скрытыми данными.
Для извлечения файла, необходимо, соответсвенно выбрать в стартовом меню Unhide, ввести парольв блок А, выбрать контейнер itsecforu.jpg и нажать Unhide!
Как видим, мы получаем наш файл password.txt
Процесс маркировки файлов также прост и понятен, поэтому рассмотривать его не станем.
5. Steghide
Steghide – Программа для скрытия данных в различных видах изображений и аудиофайлов. Мы писали о ней в статье “Стеганография в Kali Linux – Скрытие данных в изображении”
Принцип работы аналогичен при работе в ОС Windows
Запускаем утилиту из командной строки и для просмотра всех доступных параметров вводи –help
Для скрытия файла password.txt в в файл изображения itsecforu.jpg введем:
steghide.exe embed -cf D:\stega\itsecforu.jpg -ef D:\stega\passwords.txt
Затем вводим пароль и подтверждение пароля и получаем наш файл itsecforu.jpg уже со скрытыми данными
Соответсвенно для извлечения скрытых данных введем:
steghide.exe extract -sf D:\stega\itsecforu.jpg
Вводим пароль и получаем наш файл password.txt
6. Spammimic.com
Spammimic.com – сайт для преобразования сообщений в спам. По Интернету летают тонны спама и зачастую пользователель не придает ему особого значения. Этот сайт предоставляет вам доступ к программе, которая преобразует короткие сообщения в спам. По сути, предложения, которые вывыводяться в итоге различаются в зависимости от кодируемого сообщения. Настоящий спам написан так глупо, что иногда трудно отличить спам, написанный машиной. Один из способов передать пароль по почте. Вот, например, результат копирования сообщения “Qwerty123”
Занимательный раздел на сайте “Encode as Fake Russian” позволяет закодировать английское сообщение в русские символы (кириллица). Они будет достаточно читаемым для человека, но любые программы-слежки, которые ищут ключевые слова на английском языке, не будут иметь большого успеха. Так что можно смело тестировать для попыток обхода DLP-систем.
Вообще, советую обратить на указанный ресурс внимание
Также достойны внимания следующие инструменты стеганографии:
- Hide and Seek
- JPEG-JSTEG
- Pretty Good Envelope
- StegoDos
- Stegano Wav
- PGP Stealth
Мы рассмотрели пратические подходы по использованию стеганографии на примере различных иструментов. И как видим алгоритм всегда один:
- Выбираем данные которые необходимо скрыть
- Выбираем носитель, куда прячуться данные
- Задаем пароль
Методы обнаружения Стеганографии
Как скрыть информацию мы рассмотрели, но возникает закономерный вопрос – а как обнаружить факт сокрытия данных?
Существуют различные инструменты для обнаружения стеганографии В качестве примера мы привели инструмент под названием StegCracker для выявления стеганографического содержимого в файле изображения, а также произведем брут-форс атаку перебором паролем для вскрытия содержимого. Файл-носитель с данными, который мы будем идентифицировать, представляет собой файл изображения в формате jpg.
StegCracker – это бесплатный инструмент с открытым исходным кодом, используемый для анализа файла изображения (носителя) на предмет скрытия данных путем проведения статистических тестов для определения наличия или отсутствия стеганографического содержимого в файле изображения. StegCracker способен работать со словарями паролей.
Здесь мы используем файл itsecforu.jpg с некоторым стеганографическим содержимым. Мы выполнили скрытие данных на этом изображении с помощью инструмента steghide.
Также подготовили wordlist.txt с паролем, который использовался при скрытие файла passwords.txt, который содержит всего одну запись :
На Kali Linux запускаем StegCracker с следующим синтаксисом
stegcracker <file> [<wordlist>]
В нашем случае:
stegcracker itsecforu.jpg wordlist.txt
После перебора, получаем информацию об использованном пароле:
Чтобы посмотреть, что за данные были скрыты, используем команду cat в новом выходном файле, и видим запись и файла passwords.txt
Итоги
Итак мы выяснили, что
- Стеганография – это процесс сокрытия данных, при котором хакеры прячут свои сообщения за медиафайлами, такими как аудио, изображения или видео. Эти
медиафайлы становятся носителем, который подходит для транспортировки секретного файла, содержащего некоторые данные. Инстументы стеганографии мы рассмотрели на практике. - Существуют различные инструменты для обнаружения стеганографии, такие как StegCracker и рассмотрели их на практике.
круто описал!