
Ранее мы подробно рассмотрели семь методов встраивания информации в видеопоток. Однако не видео единым жива стеганография. В этот раз поговорим о том, какие в принципе существуют типы стегоконтейнеров и какие алгоритмы сокрытия данных к ним применяются. Также коснемся основных видов атак на бизнес с использованием стеганографии, проблем и перспектив в этой области.
Сложных формул и математических «игр разума» на сей раз не ждите: статья носит обзорный характер и адресована, прежде всего, безопасникам, которые могут столкнуться с подобными угрозами. Материал будет полезен и начинающим исследователям, которые пока только зондируют почву и еще не определились с областью для ресерча. Итак, поехали!
Типы современных стегоконтейнеров
Поскольку стеганография до сих пор остается уделом сумасшедших исследователей-энтузиастов, общепринятой классификации стегоконтейнеров нет. Лично я выделяю следующие виды:
изображения;
аудио (в потоковом или файловом формате);
видео (в потоковом или файловом формате);
текст в любых форматах;
сетевые протоколы (например, поле ID в пакете протокола TCP, поле TTL в пакете протокола IP);
файлы любого формата (пустые информационные поля файла, зависит от специфики);
метаданные всего вышеперечисленного;
эмодзи и стикеры (да, теперь они тоже используются как стегоконтейнеры, так что будьте внимательны при переписке в мессенджерах).
Подобная классификация не претендует на истину в последней инстанции. Например, некоторые исследователи объединяют текст и метаданные. В моей же картине мира это разные виды стегоконтейнеров. Метаданные содержат не только текстовые, но и числовые значения: информацию о времени появления, создателе файла, изменениях.
Изображения и видео тоже нередко рассматриваются в тандеме, поскольку при работе с ними применяются схожие алгоритмы. Но взглянем на вопрос глазами разработчика стегосистем. У видео есть специфические параметры — например, битрейт: чем он выше, тем качественнее картинка, но тем выше требования к пропускной способности канала. Если канал недостаточно широкий, битрейт снижается, и при сжатии встроенные биты (скрытое сообщение) могут повредиться. Вдобавок у видео появляются дополнительные лакуны, куда можно спрятать передаваемую информацию, о чем шла речь в прошлой статье. Словом, предложенная классификация — это попытка взглянуть на стегоконтейнеры комплексно, с позиции как пользователей, так и разработчиков стегосистем.
Алгоритмы встраивания информации в стегоконтейнеры
С видами стегоконтейнеров в общих чертах разобрались. Теперь поговорим о том, как в них встраивают информацию. Одни стеганографические алгоритмы универсальны, другие применимы только к одному или нескольким видам контейнеров.
Алгоритмы встраивания для изображений, видео и аудио
Это как раз те методы, которые подробно рассматривались в предыдущей статье, поэтому не будем повторяться и ограничимся лишь кратким обзором. Уже знакомый нам LSB-метод замены наименее значащего бита годится для сокрытия данных сразу в трех вышеобозначенных видах стегоконтейнеров.
Для встраивания информации в аудиодорожку видеофайлов также используется сравнительный метод квантования, завязанный на расхождении в 1% амплитуд для левого и правого человеческого уха. На этой разнице между двумя дорожками выстраивается битовое значение байта, из которого вырисовывается юникод или текст, в зависимости от передаваемой информации.
В свою очередь, метод Куттера-Джордана-Боссена математически не предусматривает расположения на аудиодорожке и применяется исключительно при работе с изображениями и видео. Хотя не исключено, что в будущем появится «форк» этого алгоритма и для аудио-контейнеров.
Алгоритмы встраивания для текста
Текст — это реликтовое животное в зоопарке современных стегоконтейнеров. Достаточно вспомнить средневековые виды тайнописи, когда буквы переворачивались вверх ногами и писались наполовину, или придуманную еще в XVI веке Решетку Кардано.
Сегодня встраивание информации в такие контейнеры основывается на особенностях компьютерного представления текстов либо специфике языка. Наглядный пример первого метода (компьютерной стеганографии) — это «укладывание» данных пробелами. Допустим, два пробела означают единицу, а один — ноль. Другой подход — когда по определенному заданному правилу чередуются латинские и кириллические символы со схожим написанием (е, а, с, В, Т, etc).
К использованию специфики языка (лингвистическая стеганография), помимо прочего, относится применение синонимов и стеганографического ключа. Допустим, задается ключ «2». Получатель сообщения берет старый добрый словарь Даля и для каждого слова выбирает второй синоним, восстанавливая скрытый текст. Таким образом, очевидная связанность предложений разрывается, но адресат с легкостью получает смысл послания. Информацию в тексте можно скрывать и при помощи намеренных орфографических ошибок, чередования полных и неполных предложений и т. д.
Алгоритмы встраивания в метаданные файлов любого формата
Прежде всего речь идет о стаганографическом встраивании информации в пустые поля метаданных. В качестве примера метаданных вспомним раздел «Сведения» в Word, где можно создавать текстовые поля и распределять их по документу. Для сокрытия в них информации зачастую применяются вышеописанные методы «укладывания» текста пробелами или лингвистическая стеганография. Притом встраивание в файлы и метаданные отличается тем, что первые укладываются в функциональную структуру документа. Метаданные же находятся вне функциональной области памяти: это служебные сведения, которые характеризуют свойства, атрибуты и контекст других данных. Главный минус подобного типа контейнеров в том, что информация легко теряется при редактировании или пересохранении. К тому же метаданные часто проверяются антивирусом, а это создает дополнительный риск обнаружения скрытого сообщения.
Алгоритмы встраивания для сетевых протоколов
Когда мы вбиваем запрос в поисковик и по щелчку пальцев получаем ответ, то даже не задумываемся, какой путь проходят данные по так называемой семиуровневой модели OSI.

Это как семиэтажное здание со сложной планировкой, где в самом низу MAC-адрес компьютера, а наверху — конечная сессия с нужным ресурсом. Протоколы же разного уровня выступают для данных своеобразными лифтами и лестницами, которые можно использовать для обхода сетевого оборудования при стеганографической передаче информации.
Так, протокол SSH предназначен для администрирования с помощью консоли коммутаторов или других устройств, прежде всего, с ядром Linux. Если грамотно настроить стеганографический канал, всё промежуточное оборудование — роутеры и прочее — будет воспринимать SSH-команды как обычные запросы в поисковик. Например, при использовании HTTP в качестве контейнера можно подключиться к серверу облачного провайдера по SSH и запрашивать доступы, изучать конфигурации, вводить пароли. Ответы сервера «заворачиваются» в HTTP-трафик, и со стороны всё выглядит безобидно.
Другой способ — встраивание информации в свободные поля DNS и других протоколов. У любого пакета данных есть заголовки, которые сообщают сетевому оборудованию, что это за информация, в какую службу её передать и прочее. В подобных заголовках имеются полупустые поля, где можно спрятать сообщение разными стеганографическими методами.

Например, поля QDCOUNT, ANCOUNT, NSCOUNT, ARCOUNT в заголовке — это просто счетчики, указывающие количество записей в других секциях DNS-сообщения (Question, Answer, Authority, Additional). Этими значениями можно манипулировать: создавать «пустые» записи, указывать большее количество записей, чем фактически присутствует, или добавлять дополнительные метки. Даже редко используемые поля — например, QR, Opcode, или RCODE — могут стать контейнером.
Другое удобное для стеганографии место в DNS-сообщении — поле QNAME в секции Question. Здесь можно незаметно кодировать данные в виде субдоменов: ZGVzdGVn.example.com будет выглядеть как валидное имя, хотя «ZGVzdGVn» может выступать как зашифрованное послание.
Алгоритмы для эмодзи
Стоит только появиться новому средству коммуникации, как его тут же начинают применять в качестве стегоконтейнера — так уж повелось со времен зарождения письменности и изобразительного искусства. Эмодзи в этом плане не стали исключением. Существуют два метода такой стеганографии.
Метод 1. Замена похожих эмодзи и применение невидимых Unicode-символов
Некоторые идеограммы и смайлики выглядят практически одинаково, но имеют разные коды Unicode. Можно заменить один эмодзи на другой для кодирования битов. Вот пример:
? (U+1F60A) → 0
☺️ (U+263A) → 1
Сообщение 0101 можно закодировать как ?☺️?☺️.
При этом информация встраивается при помощи блоков Unicode вроде Tags Block (U+E0000-U+E007F), которые нужны только для разметки, а потом никак не используются. Эти символы игнорируются при рендеринге текста, но сохраняются в памяти. Инструмент Батлера преобразует произвольные данные (текст, числа) в последовательность невидимых знаков и «прикрепляет» их к обычным символам, например, эмодзи. Скрытый текст можно встроить в сообщение, документы или URL. AI-чатботы и другие программы при копировании или обработке воспринимают такое послание как часть обычных данных.
❤️? (U+200D ZWJ) → 1
❤️ (U+200D) → 0
Метод 2. Использование вариаций одного эмодзи
Нередко идеограммы и смайлики имеют несколько версий, которые можно использовать для кодирования. Пример:
? (обычный) → 00
?? (светлый тон) → 01
?? (темный тон) → 10
Как выбрать подходящий контейнер и стегосистему
Перефразируя народную мудрость про неразрешимые проблемы, нет плохих стегоконтейнеров — есть неподходящие способы вст��аивания информации. Каждый из перечисленных носителей имеет свои плюсы и минусы. Например, видео содержит множество удобных мест для сокрытия данных и может передаваться как конечным файлом, так и в потоке. Метаданные такую свободу действий не предоставляют, зато работать с ними гораздо проще. Главное — подобрать стеганографический метод, уместный в каждом конкретном случае.
Вот возможный сценарий, как построить оптимальную стеганографическую систему:
Шаг 1. Определите свойства незаметности, на которые будет ориентироваться система (например, невидимость тех или иных данных для человеческого глаза).
Шаг 2. Выберите алгоритм, удовлетворяющий таким свойствам (в нашем случае это алгоритм Куттера-Джордона-Боссена).
Шаг 3. Выберите метод встраивания информации в зависимости от конкретных нужд. Для этого можно использовать таблицу с оценкой эффективности методов из прошлой статьи.
Шаг 4. При необходимости — усильте алгоритм дополнительными решениями, такими как подписание содержимого при помощи ЭЦП или шифрование исходного алгоритма.
Важно помнить: любой метод стеганографии сводится к добавлению в файл дополнительной модуляции — сигнала или структурного «шума», который остается незаметным для пользователя, но может быть надежно считан при повторной обработке. Выбирая алгоритм, полезно держать в уме этот базовый принцип.
Атаки с использованием стегоконтейнеров
В прошлой статье мы рассмотрели атаки на сами стегосистемы. Теперь взглянем на проблему под другим углом: поговорим о возможных атаках на бизнес с использованием описанных стегоконтейнеров и алгоритмов встраивания информации.
Как действуют злоумышленники
Как правило, злоумышленникам не нужно изобретать велосипед — достаточно взять общедоступные опенсорсные инструменты. В том же Kali Linux реализован готовый руткит, позволяющий настроить стеганографический канал передачи информации и удаленного управления. Существуют вредоносы для Linux, которые прячут полезную нагрузку в JPG или PNG методом LSB и осуществляют скрытый обмен данными через DNS или HTTP-протоколы. Именно такие готовые решения и применяются в большинстве случаев.

Наиболее распространены атаки с использованием LSB-метода преобразования изображения. Файрвол на внешнем периметре видит «безобидную» картинку и не бьет тревогу. В конце концов, обмениваться видеофайлами в Telegram-чатах или загружать изображения с проверенных ресурсов не запрещено. В итоге картинка со скрытым посланием попадает на эндпоинт к адресату, который извлекает спрятанные коммерческие данные или другую критичную информацию.
В этом контексте вспоминается атака 2019 года на Airbus. Кибершпионская группа Ocean Lotus использовала стеганографию в JPEG-файлах для кражи данных у международной авиастроительной компании. Вредоносное ПО извлекало команды из изображений, загруженных с легитимных сайтов, таких как Imgur и GitHub.
На втором месте по популярности — атаки через сетевые протоколы. Например, CobaltStrike использует DNS для выполнения C2-команд, а Metasploit Framework поддерживает скрытие трафика в HTTP.
Пожалуй, лишь при атаках на хорошо защищенный банковский сектор и другие объекты КИИ применяются не только стандартные методы и опенсорсные инструменты, но и кастомные стеганографические разработки. И то подобные случаи редки.
Парирование атак с использованием стегоконтейнеров
Теперь перейдем с темной на светлую сторону. Многие средства защиты уже умеют вычислять стегоканалы. Причем для этого задействуются возможности искусственного интеллекта и машинного обучения. Межсетевые экраны нового поколения (NGFW) и DLP-системы обладают поведенческим анализом и адаптивными алгоритмами, которые можно научить распознавать подозрительные закономерности. Представим, что в Telegram-чате постоянно пересылаются документы с заполненным заголовком «Автор», хотя он не обязателен для заполнения. Вполне возможно, что там-то и кроется дьявол встроенная информация. Если в NGFW или DLP настроена соответствующая сигнатура, то средство защиты заподозрит неладное и предупредит безопасников.
Правда, на первых порах любая защитная система будет выдавать ложно-положительные срабатывания или, проще говоря, фолзить. Придется долго и нудно дообучать ИИ, чтобы он перестал ошибаться и правильно распознавал стеганографические каналы. В какой-то момент недообученная DLP становится тем самым мальчиком из басни, который в любой ситуации кричит «Волки!». На этом этапе возрастает риск пропустить реальную атаку с использованием стеганографии.
К тому же немногие ИБ-службы вспоминают о таких угрозах, пока не клюнет жареный петух и бизнес не понесет серьезные потери. Злоумышленники могут годами перекидываться теми же картинками со встроенными LSB-методом данными, и на это никто не обращает внимания.
Вместо выводов: перспективы применения стеганографии в России
Напоследок попробуем заглянуть в будущее и порассуждать о том, как будет развиваться эта сфера.
Стеганография традиционно идет рука об руку с криптографией, а последняя стремительно движется в сторону квантовых вычислений. В России и мире активно создаются постквантовые алгоритмы шифрования: взять хотя бы отечественный «Шиповник», разработанный группой «Криптонит». Стеганография тоже будет развиваться в этом направлении.
Разумеется, потребуется создание принципиально новых постквантовых способов встраивания информации в стегоконтейнеры. Серьезным подспорьем для разработчиков здесь станут уже существующие наработки в криптографии. Словом, ожидаем «суперпозицию стеганозавра»! Как минимум, это наиболее перспективное направление для исследователей.
Другой важное направление развития — проработка нормативной базы, которая позволит задать более понятные правила игры. Сейчас с этим туманно: формально стеганография не запрещена, но в официальных документах (например, методических рекомендациях ФСТЭК) чаще упоминается как потенциальная угроза. Из-за этого исследователи и практики оказываются в подвешенном состоянии — непонятно, где технология легитимна, а где её использование может вызвать вопросы.
Между тем, потенциал у стеганографии огромный. Она может защищать врачебную тайну, коммерческие секреты, государственные данные и вообще любую чувствительную информацию — одним словом, приносить конкретную прикладную пользу. Поэтому от закрепления стеганографии в качестве легального СЗИ выиграют все: и государство, и бизнес, и исследовательское сообщество.

Бастион — защищаем бизнес от киберугроз
t.me/bastiontech — делимся собственным опытом, экспертизой, результатами исследований и прогнозами
JBFW
Вечная борьба между:
-- хочу всё знать!
-- не хочу чтобы вы всё знали...