Иногда нам необходимо зашифровать очень конфиденциальные данные в наших системах таким образом, чтобы ни один человек, использующий нашу систему, не смог определить, что мы скрыли какую-либо информацию. Один из способов сделать это - спрятать файлы и секретные сообщения внутри других существующих файлов, таких как изображения и аудио. Это также очень удобно, когда вы хотите передать личное сообщение или отправить файл по сети другому человеку без ущерба для его безопасности. Вы можете просто встроить конфиденциальные данные вместе с паролем или ключом, чтобы только доверенное лицо могло открыть этот файл. Этот тип шифрования, когда вы надежно прячете один файл в другой, называется стеганографией.
Почему именно стеганография?
Стеганография предпочтительнее криптографии, потому что в последнем случае противник будет знать, что в тексте или файле что-то спрятано. Они даже могут взломать код и получить информацию, приложив некоторые усилия. В стеганографии же третий человек даже не будет знать о том, что безобидное на первый взгляд изображение или аудиофайл содержит секретное сообщение или файл, встроенный в него.
В этой статье мы рассмотрим три метода, с помощью которых вы можете зашифровать конфиденциальные файлы в изображения, как через пользовательский интерфейс Ubuntu, так и через командную строку.
Поскольку для установки трех стеганографических утилит мы используем командную строку Ubuntu, приложение Terminal можно открыть либо через системный Dash, либо через сочетание клавиш Ctrl+Alt+T.
Способ 1: С помощью утилиты Steghide (командная строка)
Steghide - это утилита командной строки, которая позволяет скрывать конфиденциальные данные внутри различных типов изображений и аудиофайлов.
Установка Steghide
Для того чтобы установить последнюю версию этой утилиты, откройте терминал Ubuntu и сначала обновите индекс репозитория с помощью следующей команды sudo:
1 | sudo apt update |
Теперь установите утилиту steghide с помощью следующей команды:
1 | sudo apt-get install steghide |
Система предложит вам ввести Y/n, чтобы подтвердить, хотите ли вы продолжить установку. Пожалуйста, введите Y и нажмите Enter для продолжения, после чего программа будет успешно установлена на вашу систему.
Шифрование файлов с помощью steghide
Для того чтобы зашифровать конфиденциальный файл, вам необходимо иметь файл, который вы хотите зашифровать, и изображение или аудиофайл, в котором вы хотите его спрятать. Steghide поддерживает шифрование в файлах типа AU, BMP, JPEG и WAV.
Вот синтаксис, который вы можете использовать для встраивания файла в файл JPEG:
1 | steghide embed -ef confidentialfile.txt -cf image.jpg |
Мы предполагаем, что файл должен быть зашифрован из текущей папки в текущую папку. В случае если исходный конфиденциальный файл находится в другом месте вашей системы, вам необходимо указать полный путь к нему. Аналогично, если файл изображения расположен в другом месте, необходимо указать полный путь к нему с помощью этой команды.
Пример:
1 | steghide embed -ef confidential.txt -cf sample.jpg |
Система попросит вас ввести парольную фразу, необходимую для встраивания конфиденциального файла. Эту кодовую фразу нужно будет ввести при извлечении или расшифровке файла. Вам нужно ввести эту кодовую фразу дважды, или вы можете просто нажать Enter, чтобы зашифровать без кодовой фразы.
В этом примере мы внедрили текстовый файл в файл JPEG. После шифрования вы можете удалить исходный конфиденциальный файл и сохранить только файл изображения, который впоследствии будет использован для расшифровки.
Извлечение файла
Используйте следующий синтаксис, чтобы извлечь исходный конфиденциальный файл из файла изображения, в который он был внедрен:
1 | steghide extract -sf image.jpg |
Пример:
1 | steghide extract -sf sample.jpg |
Система попросит вас ввести парольную фразу; как только вы введете правильную парольную фразу, ваш конфиденциальный файл будет извлечен из файла изображения.
Удаление/деинсталляция
Если вы хотите удалить инструмент Steghide из вашей системы, просто введите следующую команду sudo:
1 | sudo apt-get remove steghide |
Метод 2: Через утилиту Outguess (командная строка)
Outguess - это стеганографическая утилита командной строки, которая позволяет вставлять скрытую информацию в избыточные биты источников данных. Программа полагается на специфические обработчики данных, которые извлекают избыточные биты и записывают их обратно после модификации. В настоящее время программа поддерживает такие форматы файлов, как JPEG, PPM и PNM, хотя она может использовать любой тип данных, если предоставлен обработчик.
Установка Outguess
Чтобы установить последнюю версию этого инструмента, откройте терминал Ubuntu и сначала обновите индекс репозитория с помощью следующей команды sudo:
1 | sudo apt update |
Теперь установите утилиту Outguess с помощью следующей команды:
1 | sudo apt-get install outguess |
Система предложит вам ввести Y/n, чтобы подтвердить, хотите ли вы продолжить установку. Пожалуйста, введите Y и нажмите Enter для продолжения, после чего программа будет успешно установлена на вашу систему.
Шифрование файлов
Для того чтобы зашифровать конфиденциальный файл, вам необходимо иметь файл, который вы хотите зашифровать, и файл изображения, в котором вы хотите его спрятать.
Вот синтаксис, который можно использовать для встраивания файла в файл JPEG:
1 | outguess -d examplefile.txt image.jpg image-output.jpg |
Файл "image-output.jpg" - это файл, в который будет внедрен ваш секретный файл.
Если вы хотите указать секретный ключ, который будет использоваться при извлечении файла после его встраивания, используйте следующий синтаксис:
1 | outguess -k "секретный ключ" -d examplefile.txt image.jpg image-output.jpg |
Мы предполагаем, что файл должен быть зашифрован из текущей папки в текущую папку. В случае если исходный конфиденциальный файл находится в другом месте вашей системы, вам необходимо указать полный путь к нему. Аналогично, если файл изображения находится в другом месте, необходимо указать полный путь к нему с помощью этой команды.
Пример:
1 | outguess -k "123456" -d confidential.txt sample.jpg sample-output.jpg |
В нашем примере выходной файл jpg будет записан в нашу текущую папку. После завершения шифрования вы можете удалить исходный конфиденциальный файл и сохранить только выходной файл изображения, который впоследствии будет использован для расшифровки.
Извлечение файла
Используйте следующий синтаксис, чтобы извлечь исходный конфиденциальный файл из выходного файла изображения, в который он был внедрен:
1 | outguess -r image-output.jpg secret.txt #(если секретный ключ не был предоставлен) |
1 | outguess -k "секретный ключ" -r image-output.jpg secret.txt #(если при шифровании был указан секретный ключ) |
Пример:
1 | outguess -k "123456" -r sample-output.jpg examplefile.txt |
После извлечения инструмент Outguess также проверяет статистику, чтобы убедиться, что исходный файл точно такой же, каким он был до шифрования.
Удаление/деинсталляция
Если вы хотите удалить Outguess из вашей системы, просто введите следующую команду sudo:
1 | sudo apt-get remove outguess |
Метод 3: С помощью инструмента Stegosuite (пользовательский интерфейс)
Stegosuite - это графический, бесплатный и открытый инструмент стеганографии, написанный на языке Java. Вы можете легко использовать его для скрытия конфиденциальных файлов в изображениях. Вы можете установить этот инструмент через Ubuntu Software Manager или командную строку. Он поддерживает скрытие нескольких файлов и текстовых сообщений в файлы изображений BMP, GIF и JPG.
Установка Stegosuite
Чтобы установить последнюю версию этого инструмента через командную строку, откройте терминал Ubuntu и сначала обновите индекс репозитория с помощью следующей команды sudo:
1 | sudo apt update |
Теперь установите утилиту Stegosuite с помощью следующей команды:
1 | sudo apt-get install stegosuite |
Система предложит вам ввести Y/n, чтобы подтвердить, хотите ли вы продолжить установку. Введите Y и нажмите Enter для продолжения, после чего программное обеспечение будет успешно установлено на вашу систему.
Запуск Stegosuite
Вы можете запустить инструмент пользовательского интерфейса через командную строку следующим образом:
1 | stegosuite |
Вы также можете запустить его через пользовательский интерфейс Ubuntu, найдя его в Dash или непосредственно из списка приложений:
Утилита Stegosuite откроется в следующем виде:
Шифрование файлов
Для того чтобы зашифровать файл изображения с конфиденциальным файлом, сначала необходимо загрузить файл изображения через меню Файл.
Выберите файл в формате BMP, GIF, JPG или PNG в браузере файлов, а затем нажмите кнопку OK. Файл изображения будет загружен в главное окно Stegosuite.
Через это окно вы можете выполнить следующие три задачи:
- Ввести секретное сообщение вместе с файлом(ами), который(ые) вы хотите вставить.
- Щелкните правой кнопкой мыши, а затем добавьте секретный файл в область "Встроенные файлы".
- Введите пароль, который будет использоваться при извлечении внедренных файлов и секретного сообщения из изображения.
После выполнения этих действий нажмите кнопку Embed, и в вашей системе будет создан новый файл изображения с именем "filename_embed". Поскольку это имя содержит слово "embed", вы можете изменить имя этого файла на какое-либо другое, чтобы сделать его более конфиденциальным. Вы также можете удалить оригинальный конфиденциальный файл из вашей системы, если хотите.
Извлечение файла
В этом примере мой конфиденциальный файл был встроен в новый файл jpg с именем "sample_embed.jpg", но позже я изменил имя на "example.jpg" в целях конфиденциальности. Чтобы извлечь оригинальный конфиденциальный файл из файла изображения, в который он был внедрен, вы можете щелкнуть правой кнопкой мыши файл изображения в браузере файлов и выбрать в меню "Open With Other Application", а затем выбрать Stegosuite из списка Select Application, как показано ниже:
Или вы можете открыть приложение Stegosuite и загрузить встроенный файл изображения из меню "Файл". После загрузки файла просто введите пароль и нажмите кнопку Extract, после чего оригинальный конфиденциальный файл будет извлечен обратно в вашу систему.
Удаление/деинсталляция
Если вы хотите удалить утилиту Stegosuite из вашей системы, вы можете сделать это через менеджер программ Ubuntu или просто введя следующую команду sudo в терминале:
1 | sudo apt-get remove stegosuite |
Заключение
Из этой статьи вы узнали о навыках стеганографии в Linux, которая используется для того, чтобы скрыть или внедрить конфиденциальные файлы и сообщения в изображения и аудио файлы. Если вы предпочитаете пользовательский интерфейс или даже если вы умеете работать с терминалом, вы можете выбрать инструмент из тех, которые мы описали в этой статье, и умело спрятать любой файл конфиденциальной информации в вашей системе в, казалось бы, неважно выглядящий файл изображения.