Когда спрятать недостаточно: как устроены атаки на системы тайной передачи информации

vaspvort

Ночной дозор
Команда форума
Модератор
ПРОВЕРЕННЫЙ ПРОДАВЕЦ
Private Club
Старожил
Migalki Club
Меценат💰️
Регистрация
10/4/18
Сообщения
5.597
Репутация
10.408
Реакции
16.449
RUB
1.045
Сделок через гаранта
18
ea3ba81bccca62a5c8d7edad2faf0a01.jpg

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

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

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

В этой статье мы разберем основы стеганографии, проанализируем возможные атаки на стегосистемы и способы защиты от них.

Немного истории и матчасти​

При использовании методов стеганографии тайные сведения маскируются под обычные данные: изображение, текст или другой цифровой контент. Секретное сообщение встраивается в открытое послание так, чтобы никто не мог заподозрить существование скрытой информации. Это тайнопись — собственно, так и переводится с древнегреческого στεγανός (скрытый) и γράφω (пишу).

Первое упоминание стеганографии относится к 440 году до н. э. Греческий историк Геродот описал два метода сокрытия информации в своем трактате «История»:

  • Царь Спарты Демарат предупредил греков о готовящемся вторжении персов. Он выцарапал сообщение на деревянной подложке восковой таблички, а затем нанес поверх воск [книга VII, глава 139].
  • Рабу обрили голову и наносили на кожу татуировку с секретным посланием. Затем, когда волосы отросли, его отправили к адресату. Тот снова побрил рабу голову, чтобы прочитать послание [книга V, глава 35].
В наше время выделяют четыре основных вида стеганографии:

  1. Классическая — использует физические методы сокрытия данных: симпатические чернила, «эзопов язык», накладные трафареты, радиосвязь на плавающих частотах.
  2. Файловая — маскирует информацию внутри файлов, используя особенности их структуры. Типичный пример — встраивание скрытого сообщения в метаданные.
  3. Цифровая — основана на сокрытии или добавлении дополнительной информации в цифровые объекты. Чаще всего это мультимедиа-объекты, файловые объекты и объекты файловой системы. Главное в этом методе не какие объекты (контейнеры) он использует, а с какой целью. Цель цифровой стеганографии — создание подписи для подтверждения авторства или, например, целостности файла. Яркий пример — технология цифровых водяных знаков (digital watermark).
  4. Сетевая стеганография, при которой скрываемая информация встраивается в сетевые протоколы (TCP, UDP, ICMP).
Современные стегосистемы часто комбинируют несколько методов формирования скрытых каналов передачи данных. В основе такой стегосистемы лежит контейнер — объект, внутри которого скрывается секретное сообщение.



Передача сообщения в контейнере по стегоканалу

Передача сообщения в контейнере по стегоканалу

Взлом стеганографических систем​

Безопасность стегосистемы во многом зависит от правильного выбора контейнера для скрытой передачи данных. Рассмотрим анализ уязвимостей на примере классической модели информационной безопасности.

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

В стеганографии выделяют три основных типа нарушителей:

  1. Пассивный нарушитель может анализировать проходящий через канал трафик, но не способен его менять. В этом случае основная задача Вилли — обнаружить факт передачи скрытой информации и вовремя заблокировать канал связи.
  2. Активный нарушитель целенаправленно модифицирует все перехваченные данные для уничтожения потенциальных скрытых сообщений. В качестве атак могут применяться, например, преобразования стегоконтейнера: сжатие с потерями или низкочастотная фильтрация.
  3. Злонамеренный нарушитель может не только обнаружить факт скрытой передачи данных, но и внедрить в него ложные сообщения — например, попытаться выдать себя за Алису или Боба.
Главная угроза для стегосистемы — обнаружение скрытого канала связи. Когда нарушитель раскрывает факт передачи секретных сообщений, он переходит от пассивного наблюдения к активным действиям: перехвату данных, подмене сообщений или блокировке канала связи. При этом для обнаружения стегоканала часто не требуется сложных технических средств. Нарушителю достаточно вести систематическое наблюдение за параметрами открытого канала связи.

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

Сигнатурный метод работает по принципу поиска аномалий в структуре данных. Так, поле «Резерв» в заголовке TCP-пакета обычно содержит 0 байт. Появление в этом поле двух байт может означать, что кто-то использует пакет как контейнер для скрытой передачи данных.

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

Двое коллег, которые поддерживают дружеские отношения, придумывают свой «код» для общения в рабочем чате. Например, публикуют в общий чат мемы c котиками, чтобы показать, что намерены отвлечься от работы и вместе уйти на перерыв. Остальные сотрудники воспринимают это как обычный обмен забавными картинками и не понимают, что на самом деле речь идет о кофе-брейке.
Если некие абоненты (например, сотрудники одной компании) синхронно проявляют интерес к каким-то вещам, начинают активно обмениваться материалами по этим тематикам, это может быть косвенной уликой,
намеком на то, что в действительности они обмениваются скрытыми сообщениями.
Если подобная коммуникация перестанет быть тайной, перед ее участниками встанет угроза извлечения скрытого сообщения. Для ее реализации нарушителю требуются специальные знания и навыки в области стегоанализа.

Избежать такой угрозы можно, сохранив в секрете различные компоненты стегосистемы: ключ, параметры встраивания, либо, в наилучшем случае, сам факт наличия стегоканала.

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

Яркий исторический пример такой атаки — действия американской контрразведки во время Второй мировой войны. Опасаясь японских и германских шпионов, спецслужбы США проверяли международную корреспонденцию своих граждан.
В письмах и телеграммах производилась замена слов синонимами, изменение порядка слов и падежей, перестройка предложений. Особое внимание уделялось почерку: все рукописные сообщения перепечатывались на машинке для нейтрализации возможных стеганографических признаков в написании букв. Такие изменения, не влияющие на всем очевидный смысл сообщения, эффективно разрушали стеганографический канал.
Также был введен запрет на пересылку материалов, потенциально пригодных для передачи скрытых сообщений: кроссвордов, выкроек для шитья и вышивки, описаний шахматных партий.
Отдельного внимания заслуживает угроза подмены скрытого сообщения. Если нарушитель получает доступ к контейнеру и понимает, как на него реагирует получатель, он может внедрить в стегоканал свой контейнер с модифицированным сообщением. Это позволяет манипулировать поведением получателя и провоцировать нужную злоумышленнику реакцию.

Какие типы атак можно реализовать​

Теперь рассмотрим возможные типы атак на стегосистемы в зависимости от уровня активности злоумышленника Вилли. Представим, что Алиса и Боб — коллеги, пересылающие друг другу картинки с зашифрованными посланиями, а прозорливый Вилли пытается вывести их на чистую воду.

Атака с известным контейнером. В этом случае Вилли еще не до конца уверен в том, что стегоканал вообще существует, но может сравнить оригинальное изображение без изменений с тем, что Алиса посылает Бобу. Если Вилли сумеет обнаружить скрытое сообщение и определить использованный Алисой стеганографический метод, стегоканал будет раскрыт. Такая атака достаточно проста: чтобы ее реализовать, Вилли даже не нужно вносить изменения в контейнер. Подобного рода атаки могут быть реализованы в системах, в которые интегрированы решения DLP.

Атака заполненным контейнером. В этом случае задача нарушителя — доказать, имеет ли место передача секретного сообщения. Для этого Вилли сравнивает известный ему заполненный контейнер (картинку со скрытым посланием) с тем, что Алиса посылает Бобу. Это осуществляется без порчи пересылаемого контейнера, просто путем сравнения.

Атака с выбором стегоконтейнера. Вилли в данной атаке известно некоторое множество заполненных контейнеров, и, возможно, он знает, как реагирует на некоторые из них Боб. В этом случае он может навязывать Бобу собственные контейнеры с сообщениями, чтобы добиться от него определенной реакции.

Атака с выбором сообщения. Этот тип атаки похож на атаку на криптографическую систему, на так называемый контролируемый канал. Работает это так: чтобы узнать секретный ключ к переписке, одному из абонентов как бы невзначай подкидывают сообщение, которое он с высокой вероятностью передаст сообщнику в неизменном виде. Например, если Вилли знает, что Алиса и Боб не очень любят пересекаться с ним на рабочем месте, он может подбросить Алисе график своих дежурств. Желая донести эту информацию до Боба, Алиса передаст ему этот график, а Вилли таким образом повлияет на поведение Боба.

Атака с разрушением сообщения. Направлена на пресечение возможности секретной переписки. Например, при наличии DLP-системы администратор просто может вносить дополнительные изменения в переданное сообщение, чтобы заблокировать стегоканал.

Как противостоять атакам на стегосистемы​

Чтобы минимизировать риск раскрытия контейнера, необходимо выбрать надежный метод сокрытия информации. Вот несколько способов, помогающих повысить стойкость стегосистемы:

  • Правильный выбор контейнера. Используйте файлы, которые по своей природе имеют высокую степень избыточности, такие как BMP или WAV. Эти форматы менее подвержены потерям при изменении, что позволяет эффективнее скрывать информацию.
  • Изменение статистических свойств. Прячьте информацию так, чтобы изменения в контейнере были минимально заметны. Например, модифицируйте менее значащие биты (LSB) пикселей в изображениях, чтобы изменения не были заметны глазу.
  • Применение псевдослучайных последовательностей. Для выбора местоположений, где будет скрыта информация, используйте псевдослучайные алгоритмы. Это делает структуру данных менее предсказуемой.
  • Избегание паттернов. Не используйте фиксированные места для внедрения данных. Паттерны могут быть обнаружены при анализе файлов.
  • Адаптивные методы. Разрабатывайте алгоритмы, которые адаптируются к содержимому контейнера, чтобы минимизировать изменения в его структуре и визуальном восприятии.
  • Тестирование на устойчивость. Проводите тестирование стегосистем на устойчивость к различным видам анализа и атакам, чтобы выявить уязвимости.
  • Регулярное обновление методов. Следите за новыми исследованиями и методами стеганографии и обновляйте свои подходы, чтобы оставаться на шаг впереди потенциальных атакующих.
Для обеспечения целостности сообщения можно дополнить его отправку простой электронной цифровой подписью (ЭЦП). Если исключить вероятность того, что злоумышленник повредит сообщение, затем подделает ЭЦП, а потом отправит стеганограмму, то получится стегосистема, нивелирующая рассмотренные атаки.

Кроме того, чтобы сильнее укрепить безопасность стегосистемы, можно прибегнуть к методам дополнительного шифрования (криптографии). Благодаря им установить наличие стегоканала будет сложнее, ведь раскрытие контейнера дает не текст в открытом виде, а лишь криптограмму.

Примеры стеганографических алгоритмов​

Алгоритмы сокрытия данных в тексте​

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

Метод «белого пространства». Для кодирования данных в текст вставляются дополнительные пробелы. Метод использует сокрытие двоичного сообщения в тексте путем помещения одного или двух пробелов после закрывающих знаков препинания (точек в конце предложения, многоточий, вопросительных знаков). Один пробел кодируется как «0», а два пробела — как «1». Также данные кодируются в соответствии с предопределенным числом пробелов в конце каждой строки.

На примере ниже текст был выборочно выровнен, а в конец строк добавлены пробелы, чтобы скрыть больше данных.

e2863ec42a466aceba8894f5810ba4a9.png

Преимущество метода в том, что может быть использован любой текст, а изменения при этом будут незаметны для обычных читателей. Есть и свои минусы: к примеру, в некоторых сервисах «лишние» пробелы могут быть удалены из-за встроенных правил форматирования текста. Кроме того, метод подходит только для цифровых документов — найти скрытые данные в распечатанном тексте будет проблематично.

Есть также метод использования «белого пространства» для сокрытия данных в выровненном тексте. Данные кодируются регулированием того, где будет помещен дополнительный пробел. Один пробел между словами интерпретируется как «0», два пробела — как «1». В результате получается зашифровать несколько бит на каждой строчке.

0c21239ebac0f2dd2c71031a5afd85e3.png

Из-за ограничений на выравнивание не всякое пространство между словами может быть использовано как данные. Чтобы определить, какое пространство представляет скрытые данные, а какое является частью исходного текста, необходимо применить метод Манчестерского кодирования. Манчестерские кодовые группы по два бита интерпретируются следующим образом: «01» как «1» и «10» как «0». Битовые строки «00» и «11» игнорируются. Например, закодированное сообщение «1000101101» уменьшается до «001», тогда как «110011» является null-строкой.

Синтаксические методы. Используют возможности неоднозначной пунктуации или такие ситуации, где трудно заметить неверную пунктуацию.

Пример из лингвистики. Во фразах «bread, butter, and milk» и «bread, butter and milk» постановка запятой перед союзом «and» является опциональной и зависит от языковых предпочтений автора. Эту особенность английского языка можно положить в основу шифра, где выбор между двумя вариантами пунктуации будет представлять двоичные данные: если запятая перед союзом проставлена — подразумеваем «1», если ее нет — подразумеваем «0».
Другие примеры включают регулированное использование сокращений и аббревиатур. Метод должен использоваться с осторожностью, т. к. изменение пунктуации может значительно влиять на понятность или даже значение текста, да и просто быть заметным.

Семантические методы. Подразумевают использование синонимов. Например, схожие по значению прилагательные «big» и «large» можно использовать для шифрования: при декодировании «big» будет интерпретировано как «1», «large» — как «0». Проблемы возникают, когда замена исходного слова на синоним сильно искажает смысл предложения.

ca555c0c2a2ebe53ebe188ccecf67290.png

Метод визуального сходства. Основывается на сходстве написания кириллических и латинских символов. Например, можно использовать буквы «а» и «a» русского и английского алфавитов одновременно. Визуально они неотличимы, и обычный читатель не заметит разницы. Тогда, например, наличие в тексте русской буквы «а» можно интерпретировать как «1», а английской «a» — как «0».

Алгоритмы сокрытия данных в пространственной области неподвижных изображений​

Общий принцип этих методов заключается в замене избыточной, малозначимой части изображения битами секретного сообщения. Для извлечения сообщения необходимо знать алгоритм, по которому скрываемая информация размещалась в контейнере (изображении). Чтобы не растягивать статью, мы не будем описывать эти методы, а просто их перечислим. Это методы:

  • замены наименее значимого бита (НЗБ);
  • псевдослучайного интервала;
  • блочного скрытия;
  • квантования изображения;
  • Куттера-Джордана-Боссена;
  • Дармстедтера-Делейгла-Квисквотера-Макка.

Алгоритмы пассивного стегоанализа​

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

На примере ниже наименее значимые биты элементов изображения заменяются на биты скрываемого сообщения. Биты внедряемого сообщения замещают младшие биты яркостной компоненты каждого пикселя на картинке. Между младшими битами соседних элементов естественных контейнеров имеются существенные корреляционные связи. Рисунок мельницы слева — это пустой контейнер, справа в каждый НЗБ цветовой компоненты пикселей последовательно бит за битом вложено скрываемое сообщение.

Слева — пустой контейнер, справа — с вложенным сообщением

Слева — пустой контейнер, справа — с вложенным сообщением
Визуально они неотличимы, но если изображение сформировать только из НЗБ-пикселей, то можно легко увидеть следы вложения:

Слева — пустой контейнер, справа — изображение из младших битов, наполовину заполненное двоичным сообщением (например, белые пиксели можно рассматривать как единицу, черные — как ноль)

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

Статистические методы стегоанализа используют множество статистических характеристик, таких как оценка энтропии, коэффициенты корреляции, вероятности появления и зависимости между элементами последовательностей, условные распределения, различимость распределений по критерию Хи-квадрат и многие другие.

Заключение​

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

Однако грамотное применение рассмотренных методов защиты — от правильного выбора контейнера до использования псевдослучайных последовательностей и адаптивных алгоритмов — позволяет создавать достаточно стойкие стегосистемы. Наиболее эффективным оказывается комплексный подход, сочетающий методы стеганографии с классической криптографией и механизмами электронной подписи.

Важно понимать, что в реальных условиях не существует абсолютно надежных методов сокрытия информации: любая система может быть скомпрометирована при достаточном количестве ресурсов у атакующего. Задача разработчика — сделать атаку настолько сложной и ресурсоемкой, чтобы она стала экономически нецелесообразной.

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

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

Эта двойственность особенно заметна на примере взаимодействия Red Team и Blue Team:

  • Для Red Team стеганография открывает широкие возможности по созданию скрытых каналов управления и эксфильтрации данных, которые можно использовать при тестировании защищенности систем.
  • Для Blue Team важно обладать как углубленным пониманием методов защищенной передачи информации, так и навыками детектирования стеганографических каналов, особенно в контексте обнаружения C2-каналов вредоносного ПО.
Именно поэтому так важно развивать экспертизу в области стеганографии в ИБ-сообществе. В конечном итоге это позволит не только эффективнее противодействовать новым угрозам, но и разрабатывать более совершенные методы защиты информации.

 
  • Теги
    информационная безопасность стеганография стегоанализ цифровая стеганография
  • Назад
    Сверху Снизу