Главная » Безопасность » Как спрятать файл в изображение в Linux
Steghide

Как спрятать файл в изображение в Linux

Мы когда-то рассказывали как спрятать файл в картинку в операционной системе Windows. В сегодняшней статье я покажу как в ОС Linux используя утилиту Steghide скрыть информацию в изображение.

Что такое стеганография

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

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

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

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

Изменение последних двух бит в полностью красном пикселе от 11111111 до 11111101 только изменяет красное значение от 255 до 253, что невооруженным глазом создает почти незаметное изменение цвета, но все же позволяет нам прятать данные внутри изображения.

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

спрятать файл в изображение linux

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

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

Еще две вещи, которые следует учитывать, — это шифрование и сжатие. Шифрование данных перед их внедрением добавляет дополнительный уровень безопасности, а сжатие данных, кроме всего прочего, позволит уместить скрываемый файл в файл-оболочку. Steghide имеет две техники шифрования и сжатия, о них мы поговорим ниже.

Установка Steghide

Использовать Steghide достаточно просто. Чтобы установить его с терминала в Linux, просто используйте команду apt.

apt-get install steghide

Скрытие файла в изображение

Как только Steghide установлен, для скрытия ваших данных в файл введите команду:

steghide embed -ef secretFile -cf coverFile -sf outputFile -z compressionLevel -e scheme

Аргументы утилиты Steghide:

  • -ef указывает путь к файлу, который вы хотите скрыть. Вы можете вставлять любые файлы внутрь файла-оболочки, включая скрипты Python.
  • -cf — это файл, в который скрываются данные. Могут использоваться следующие файлы изображений: BMP, JPEG, WAV и AU.
  • -sf — необязательный аргумент, указывающий выходной файл. Если аргумент не указан, исходный файл-оболчка будет перезаписан вашим новым стеганографическим файлом.
  • -z указывает уровень сжатия от 1 до 9. Если вы предпочитаете не сжимать свой файл, используйте вместо этого аргумент -Z.
  • -e указывает тип шифрования. Steghide поддерживает множество способов шифрования, и если этот аргумент не указан, Steghide будет использовать 128-битное шифрование AES. Если вы предпочитаете не использовать шифрование, просто введите -e none.

В моем примере я скрываю секретный текст внутри изображения кошки. Я не переписываю исходное изображение без использования шифрования и сжатия:

steghide embed -ef secret.txt -cf StegoCat.jpg -e none -Z

спрятать файл в изображение linux

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

Еще по теме: Стеганография в Linux

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

спрятать файл в изображение linux

Извлечение скрытых данных из файла

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

$ steghide extract -sf stegoFile -xf outputFile

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

Я извлек данные stego из изображения в файл и отобразил его содержимое в терминале.

спрятать файл в изображение linux

Скрытие данных в изображениях — это просто!

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

  • Во-первых, небольшие стеганографии (внесенные небольшие различия) трудно обнаружить — если рядом с файлом-оболочкой не будет лежать оригинальный файл изображения.
  • Использование изображения, которое вы нашли в сети без его изменения, значительно облегчает обнаружение скрытой информации. Чтобы проверить это, попробуйте поиск по изображениям в Google Image или еще лучше в Яндекс-фотографии, чтобы убедиться, что оригинал не засвечен в сети. Еще лучше использовать какую-нибудь оригинальную фотографию снятую вами.

На этом все. Надеюсь, вам понравился эта статья. Теперь вы знаете насколько легко использовать стеганографию в Linux. Спрятать файл в изображение или какой-нибудь другой медиафайл займет у вас всего минуту.

Еще по теме: Как скрыть информацию в изображение Андроид

2 комментария

  1. егор

    как пользоваться steghide я разобрался. посоветуйте еще другие приложения.

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

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