Сложности стеганографии

Стеганография – это различные методы сокрытия дополнительной информации в некотором открытом носителе. В современной ситуации, особенно, если рассматривать её в контексте Интернета, отличительная особенность стеганографии в том, что она позволяет скрывать метаинформацию об обмене данными: то есть, скрывать сам факт установления соединения. Так, защитить передаваемую по открытому каналу информацию от прослушивания поможет шифрование, но сам факт соединения (передачи зашифрованной информации) будет виден прослушивающей стороне, и она, например, может помешать этому соединению, прервав его в самом начале.

Создание хорошо сокрытого канала связи представляет проблему. В случае с Интернетом, дополнительный канал может быть спрятан внутри того или иного “обычного трафика”, но подобрать правильный трафик – непросто. Например, не годится метод, когда для маскирования используется специально создаваемая сессия с особым удалённым узлом, даже если эта сессия является “обычной” парой “HTTP-запрос/HTTP-ответ”: во-первых, будет зафиксирован факт отправки запроса; во-вторых, активная атакующая сторона может перехватить соединение, прервать его, а потом повторить запрос самостоятельно, тем самым выяснив какие-то детали обмена информацией.

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

На практике эта схема сталкивается с трудностями распределения ключей. На первый взгляд, можно предположить, что узлы просто используют тот или иной типовой вариант протокола Диффи-Хеллмана (DH). Но этот протокол обычно виден в трафике: так, в случае подходящего варианта на эллиптических кривых, открытый ключ представляет собой координаты точки на кривой – соответственно, если прослушивающая сторона знает кривую, то она может элементарно обнаружить факт обмена DH, проверив, что подозрительные байты действительно кодируют точки на кривой. Сам секрет таким образом вычислить, конечно, нельзя, поэтому узлы смогут использовать полученный ключ в других сессиях. Более того, далеко не всегда можно с большой вероятностью сказать, что стороны действительно обменялись ключами, а не просто передали случайные значения (точки). Однако, речь идёт именно о сокрытии факта соединения, а сеанс DH этот факт документирует довольно неплохо.

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

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

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

Адрес записки: https://dxdt.ru/2017/07/26/8386/

Похожие записки:



Далее - мнения и дискуссии

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

1 комментарий от читателей

  • 1. 27th November 2017, 17:47 // Читатель sarin написал:

    лучше RSA. но надо как-то узнать открытый ключ того, с кем устанавливаешь соединение. если эта проблема решена, то условный противник не сможет так просто определить, что трафик содержит рандомизированные данные.

Написать комментарий

Ваш комментарий:

Введите ключевое слово "6F4Q3" латиницей СПРАВА НАЛЕВО (<--) без кавычек: (это необходимо для защиты от спама).

Если видите "капчу", то решите её. Это необходимо для отправки комментария ("капча" не применяется для зарегистрированных пользователей). Обычно, комментарии поступают на премодерацию, которая нередко занимает продолжительное время.