Иногда нам приходится скрывать наши данные, чтобы защитить их от доступа третьих лиц к системе. Одним из способов достижения этой цели является шифрование. Но сегодня мы поговорим о другом методе, а именно о стеганографии, которая позволяет скрыть существование секретных данных, чтобы сохранить конфиденциальность коммуникаций.
В стеганографии конфиденциальные данные встраиваются в маскировочный файл таким образом, что никто, кроме отправителя и получателя, не может заподозрить наличие в нем конфиденциальной информации. Это также полезно, если вы хотите отправить кому-то конфиденциальные данные без ущерба для безопасности. Файл маскировки, в котором вы хотите скрыть конфиденциальные данные, может быть текстовым, изображением, аудио- или любым видеофайлом.
Почему именно стеганография?
Хотя стеганография не так надежна, как шифрование, она имеет ряд других преимуществ, например, то, что никто не заметит ее, поскольку внедренный файл выглядит как обычный файл. С другой стороны, зашифрованный файл также вызывает любопытство у зрителей.
В этой статье мы расскажем, как скрыть конфиденциальные файлы в обычном файле изображения с помощью различных инструментов (включая командную строку и графический интерфейс).
Способ 1: Через утилиту Steghide (командная строка)
Установка Steghide
Сначала запустите Терминал в вашей ОС. Перейдите на вкладку "Деятельность" в левом верхнем углу рабочего стола. Затем найдите приложение Terminal, набрав соответствующее ключевое слово в строке поиска. В результатах поиска нажмите на значок Терминала, чтобы открыть его.
Обновите индекс репозитория системы с помощью следующей команды:
1 | sudo apt update |
Затем установите Steghide с помощью команды apt следующим образом:
1 | sudo apt install steghide |
Система может запросить подтверждение с опцией Y/n, нажмите y, а затем Enter для подтверждения. После этого Steghide будет установлен в вашей системе.
Встраивание файлов с помощью Steghide
Чтобы скрыть конфиденциальный файл с помощью функции встраивания Steghide, вам понадобится файл, который вы хотите скрыть, а также изображение или аудиофайл, в котором вы хотите спрятать данные. Программа поддерживает встраивание файла в форматы WAV, JPEG, AU, BMP.
Синтаксис для встраивания файла в формат JPEG следующий:
1 | steghide embed -ef [файл для встраивания] -cf [image.jpg] |
В нашем примере файл с именем "testfile" находится в каталоге ~/Documents, и мы хотим внедрить его в файл изображения "sample.jpg". Поэтому сначала перейдем в каталог ~/Documents, а затем выполним команду embed. В качестве альтернативы можно указать полный путь к файлу вместо перехода в каталог.
Пример:
1 | steghide embed -ef ~/Documents/testfile -cf sample.jpg |
Затем дважды введите перефразировку для встраивания файла. Этот парафраз будет использоваться, когда вам понадобится извлечь или расшифровать файл. Если вы не хотите задавать парафраз для встраивания, просто дважды нажмите Enter. После этого ваш файл будет встроен.
Теперь мы можем оставить только файл изображения "sample.jpg", удалив конфиденциальный файл, то есть "testfile" в нашем примере.
Извлечение файла
Когда вам нужно извлечь конфиденциальный файл из файла изображения, используйте следующий синтаксис:
1 | steghide extract -sf [image.jpg] |
Пример:
1 | steghide extract -sf sample.jpg |
Система запросит парольную фразу, которую вы задали при встраивании файла в файл изображения. Введите парольную фразу, и ваш конфиденциальный файл будет извлечен из файла изображения.
Удаление/деинсталляция
Если вы хотите удалить Steghide из вашей системы, выполните следующую команду в терминале:
1 | sudo apt remove steghide |
Метод 2: С помощью утилиты Outguess (командная строка)
Outguess - это инструмент командной строки для стеганографии, который позволяет вставлять секретную информацию в избыточные биты источников данных. С помощью Outguess вы также можете спрятать конфиденциальные данные внутри файла изображения.
Установка Outguess
Откройте терминал и обновите индекс репозитория системы с помощью следующей команды:
1 | sudo apt update |
Теперь установите Outguess следующим образом:
1 | sudo apt install outguess |
Система может запросить подтверждение с опцией Y/n, нажмите y и затем Enter для подтверждения. После этого Outguess будет установлен в вашей системе.
Встраивание файлов с помощью Outguess
Чтобы внедрить конфиденциальный файл с помощью Outguess, вам понадобится файл, который вы хотите скрыть, и файл изображения, в котором вы хотите скрыть данные.
Некоторые из флагов, которые мы будем использовать в Outguess, следующие:
- d: Укажите имя файла, содержащего сообщение, которое необходимо скрыть.
- k: Укажите секретный ключ, который вы хотите использовать для шифрования.
- r: Извлекает сообщение из зашифрованного файла.
Синтаксис для встраивания файла в формат JPEG следующий:
1 | outguess -d examplefile.txt image.jpg image-output.jpg |
Файл examplefile.txt будет внедрен в новый файл "image-output.jpg".
Чтобы установить пароль для встроенного файла, синтаксис будет следующим:
1 | outguess -k "секретный ключ" -d examplefile.txt image.jpg image-output.jpg |
Если ваш файл находится не в каталоге ~/Home, вам придется перейти в этот каталог, а затем выполнить приведенную выше команду. В качестве альтернативы можно указать полный путь к файлам.
В нашем случае и конфиденциальный файл, и файл изображения находятся в каталоге ~/Documents, и мы хотим, чтобы зашифрованный файл также находился в том же каталоге. Примером этого может быть:
1 | cd ~/Documents |
1 | outguess -k "1234" -d testfile sample.jpg sample-out.jpg |
После выполнения этой команды в нашем текущем каталоге будет создан файл "sample-out.jpg". После завершения шифрования вы можете удалить исходный конфиденциальный файл и сохранить только выходной файл изображения, который будет использован позже для извлечения конфиденциального файла.
Извлечение файла
Чтобы извлечь оригинальный конфиденциальный файл из выходного файла изображения, в который он был встроен, используйте следующий синтаксис:
1 | outguess -r image-output.jpg secret.txt |
Если вы указали секретный ключ во время шифрования, то синтаксис будет следующим:
1 | outguess -k "секретный ключ" -r image-output.jpg secret.txt |
Примером этого может быть:
1 | outguess -k "1234" -r sample-out.jpg testfile.txt |
Метод Outguess также проверяет статистику после извлечения, чтобы убедиться, что исходный файл точно такой же, каким он был до встраивания.
Удалить/деинсталлировать
Если вы хотите удалить Outguess из вашей системы, просто выполните следующую команду в терминале:
1 | sudo apt-get remove outguess |
Метод 3: С помощью инструмента Stegosuite (пользовательский интерфейс)
Stegosuite - это бесплатный инструмент с открытым исходным кодом на основе графического интерфейса, который можно использовать для скрытия конфиденциального файла в файле изображения.
Установка Stegosuite
Для того чтобы установить Stegosuite, сначала обновите индекс системного репозитория. Для этого выполните следующую команду в Терминале:
1 | sudo apt update |
Затем выполните следующую команду для установки Stegosuite:
1 | sudo apt install stegosuite |
Система может запросить подтверждение с опцией Y/n, нажмите y и затем Enter для подтверждения. После этого Stegosuite будет установлен в вашей системе.
Запуск Stegosuite
После установки вы можете запустить Stegosuite либо через командную строку, либо через графический интерфейс.
Чтобы запустить Stegosuite через командную строку, просто введите stegosuite в терминале следующим образом:
1 | stegosuite |
Чтобы запустить Stegosuite через графический интерфейс, нажмите клавишу super на клавиатуре и введите stegosuite. Когда появится значок Stegosuite, нажмите на него, чтобы запустить программу.
Встраивание файлов с помощью Stegosuite
Когда Stegosuite будет запущен, вы увидите следующий вид. Для того чтобы скрыть конфиденциальный файл в файле изображения, сначала загрузите файл изображения, перейдя в меню File > Open (Файл > Открыть).
Затем выберите любой файл изображения (в формате MP, GIF, JPG или PNG), в котором вы хотите скрыть конфиденциальный файл. Выбрав файл, нажмите Open (Окрыть).
Теперь файл изображения будет загружен в окно Stegosuite. Теперь выполните следующие простые действия:
1. Введите любое секретное сообщение.
2. Щелкните правой кнопкой мыши на пустой области во втором поле и выберите Добавить файл. Затем выберите конфиденциальный файл, который вы хотите внедрить в файл изображения.
3. Введите пароль, который будет использоваться при извлечении файла.
Использование Stegosuite После выполнения описанных выше действий нажмите кнопку Embed (Вставить), как показано ниже:
Теперь ваш конфиденциальный файл будет внедрен и сохранен с именем формата "filename_embed". Поскольку имя файла содержит "embed", лучше переименовать этот файл позже, чтобы он выглядел обычным и не вызывающим подозрений.
Теперь вы можете удалить оригинальный конфиденциальный файл из системы и оставить только выходной файл встроенного изображения.
Извлечение файла
Для того чтобы извлечь конфиденциальный файл из файла изображения, в который он был внедрен, выполните следующие простые действия:
откройте внедренный файл изображения в диспетчере файлов. Затем щелкните правой кнопкой мыши и выберите Open With Other Application, как показано ниже:
Затем в диалоговом окне Выбор приложения выберите Stegosuite.
Теперь файл будет загружен в приложение Stegosuite. Введите пароль для файла и нажмите кнопку Extract (Извлечь).
Теперь оригинальный конфиденциальный файл будет извлечен в вашу систему.
Удаление/деинсталляция
Если вы хотите удалить Outguess из вашей системы, просто выполните следующую команду в Терминале:
1 | sudo apt remove stegosuite |
Заключение
В этой статье мы рассмотрели инструменты командной строки и графического интерфейса для скрытия конфиденциальных файлов в файле изображения. Используя любой из рассмотренных выше инструментов стеганографии, вы можете скрыть конфиденциальные данные в обычном на первый взгляд файле изображения.