LeSora
Что такое стеганография
Стеганография — это искусство сокрытия информации на виду. В отличие от шифрования, когда очевидно, что сообщение скрыто, стеганография скрывает данные в простом виде внутри файла (в изображении например). Для тех, кто не знает, что изображение содержит скрытые данные, оно выглядит как обычная картинка.
Стеганография полезна в ситуациях, когда отправка зашифрованных сообщений может вызвать подозрение, например, в странах, где не приветствуется свобода слова. Данная техника сокрытия информации также используется в качестве цифрового водяного знака, для того чтобы находить украденные изображения или аудиофайлы.
Как работает стеганография
Существует несколько различных методов для сокрытия данных внутри обычных файлов. Одним из наиболее широко используемых и, возможно, простейших для понимания является метод замены наименее значимого бита, известный как LSB. Этот метод изменяет последние несколько бит в байте.
Изменение последних двух бит в полностью красном пикселе от 11111111 до 11111101 только изменяет красное значение от 255 до 253, что невооруженным глазом создает почти незаметное изменение цвета, но все же позволяет нам прятать данные внутри изображения.
На этой диаграмме показаны два 4-пиксельных изображения как в цветовых, так и в двоичных значениях. Каждый блок двоичного кода представляет значение соответствующего пикселя.
Техника замены наименее значимого бита хорошо работает для медиафайлов, где слегка меняющиеся значения байтов создают лишь незначительные незаметные изменения, но не так хорошо для таких вещей, как текст 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:
steghide embed -ef secret.txt -cf StegoCat.jpg -e none -Z
После того, как вы выполнили команду steghide, вам будет предложено установить пароль, который позволит вам впоследствии извлечь скрытые данные. Дважды введите пароль. Как только вы привыкнете к этому процессу, потребуется всего несколько секунд, чтобы скрыть ваши данные внутри изображения или аудиофайла с помощью утилиты Steghide.
Ниже приведено сравнение исходного изображения и стеганографического изображения. Можете ли вы обнаружить какую-либо разницу?
Извлечение скрытых данных из файла
Извлечение скрытых данных из стеганографического изображения еще проще. Команда использует синтаксис ниже.
$ steghide extract -sf stegoFile -xf outputFile
После запуска этой команды вам будет предложено ввести тот же пароль, который вы использовали выше, чтобы извлечь файл.
Я извлек данные stego из изображения в файл и отобразил его содержимое в терминале.
Скрытие данных в изображениях — это просто!
Преимущество стеганографии заключается в том, что вы можете скрыть данные на виду, но это может быть не достаточно надежно, если вы не будете следовать некоторым правилам:
Стеганография — это искусство сокрытия информации на виду. В отличие от шифрования, когда очевидно, что сообщение скрыто, стеганография скрывает данные в простом виде внутри файла (в изображении например). Для тех, кто не знает, что изображение содержит скрытые данные, оно выглядит как обычная картинка.
Стеганография полезна в ситуациях, когда отправка зашифрованных сообщений может вызвать подозрение, например, в странах, где не приветствуется свобода слова. Данная техника сокрытия информации также используется в качестве цифрового водяного знака, для того чтобы находить украденные изображения или аудиофайлы.
Как работает стеганография
Существует несколько различных методов для сокрытия данных внутри обычных файлов. Одним из наиболее широко используемых и, возможно, простейших для понимания является метод замены наименее значимого бита, известный как LSB. Этот метод изменяет последние несколько бит в байте.
Изменение последних двух бит в полностью красном пикселе от 11111111 до 11111101 только изменяет красное значение от 255 до 253, что невооруженным глазом создает почти незаметное изменение цвета, но все же позволяет нам прятать данные внутри изображения.
На этой диаграмме показаны два 4-пиксельных изображения как в цветовых, так и в двоичных значениях. Каждый блок двоичного кода представляет значение соответствующего пикселя.
Техника замены наименее значимого бита хорошо работает для медиафайлов, где слегка меняющиеся значения байтов создают лишь незначительные незаметные изменения, но не так хорошо для таких вещей, как текст 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
После того, как вы выполнили команду steghide, вам будет предложено установить пароль, который позволит вам впоследствии извлечь скрытые данные. Дважды введите пароль. Как только вы привыкнете к этому процессу, потребуется всего несколько секунд, чтобы скрыть ваши данные внутри изображения или аудиофайла с помощью утилиты Steghide.
Ниже приведено сравнение исходного изображения и стеганографического изображения. Можете ли вы обнаружить какую-либо разницу?
Извлечение скрытых данных из файла
Извлечение скрытых данных из стеганографического изображения еще проще. Команда использует синтаксис ниже.
$ steghide extract -sf stegoFile -xf outputFile
После запуска этой команды вам будет предложено ввести тот же пароль, который вы использовали выше, чтобы извлечь файл.
Я извлек данные stego из изображения в файл и отобразил его содержимое в терминале.
Скрытие данных в изображениях — это просто!
Преимущество стеганографии заключается в том, что вы можете скрыть данные на виду, но это может быть не достаточно надежно, если вы не будете следовать некоторым правилам:
- Во-первых, небольшие стеганографии (внесенные небольшие различия) трудно обнаружить — если рядом с файлом-оболочкой не будет лежать оригинальный файл изображения.
- Использование изображения, которое вы нашли в сети без его изменения, значительно облегчает обнаружение скрытой информации. Чтобы проверить это, попробуйте поиск по изображениям в Google Image или еще лучше в Яндекс-фотографии, чтобы убедиться, что оригинал не засвечен в сети. Еще лучше использовать какую-нибудь оригинальную фотографию снятую вами.