Logo Host-telecom.com — профессиональный хостинг в Европе! Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Хостинг + Certum Commercial SSL и домен в подарок

VPS: SSD, KVM, бесплатные бэкапы и администрирование 24/7

Бесплатный перенос сайта + подарки к новоселью

хостинг сайтов ГиперХост — хостинг сайтов который Вы искали.

Виртуальный хостинг, Аренда VPS серверов, рация доменных имен, SSL сертификаты

💰 Самые низкие цены на домены

🔒 Отличный хостинг на SSD c бесплатными SSL

💻 Огромнейший выбор dedicated выделенных серверов

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

2006 г.

Распределенные атаки на распределенные системы

А.А. Грушо (Доктор физико-математических наук)
Е.Е. Тимонина (кандидат физико-математических наук)
Информационный бюллетень JET INFO

Назад Оглавление Вперёд

Скрытые каналы

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

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

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

Рассмотрим схему сети (Рис. 4).

Пусть имеется m+1 сегментов локальных вычислительных сетей, S0, S1,...,Sm, в каждом из которых есть рабочие станции со своими локальными адресами и шлюзы, соединяющие локальные сети с глобальной сетью (например, Интернет). Пусть s0, s1, ..., sm — адреса шлюзов сегментов локальных вычислительных сетей S0, S1, ..., Sm, которые представляют эти сегменты в глобальной сети. Мы считаем, что для общения между собой рабочие станции различных сегментов используют виртуальную частную сеть (VPN), которая работает на основе протокола IPSec следующим образом. Пакет от рабочей станции с адресом a в сегменте Si должен быть передан на рабочую станцию с адресом b в сегменте Sj. Пакет передается так:

  • от машины с адресом a к локальному шлюзу LG(i) в сегменте Si;
  • далее пакет от LG(i) попадает на узел защиты G(i), в котором пакет шифруется и инкапсулируется в пакет (пакеты) с адресом отправителя si и адресом получателя sj, пакеты имеют одинаковую длину и другие одинаковые параметры;
  • инкапсулированный пакет из G(i) попадает на хост глобальной сети PC(i), который направляет его через глобальную сеть на аналогичный хост PC(j);
  • далее пакет направляется на узел защиты G(j), на выходе которого восстанавливается исходный пакет, посланный от a к b, этот пакет поступает на локальный шлюз LG (j);
  • LG (j) отправляет пакет к абоненту b в сегменте Sj.

В глобальной сети и в каждом сегменте S0, S1 ,..., Sm имеются программно-аппаратные агенты противника, которые для выполнения враждебных функций должны получать инструкции от программно-аппаратного агента противника [[7]] из глобальной сети (ПГС). Будем считать, что противник из глобальной сети через своих агентов полностью контролирует хосты PC(k), k = 0, 1, ..., m. Программно-аппаратные агенты внутри сегментов локальной сети S0, S1, ..., Sm контролируют соответственно компьютеры LG(j), j = 0, 1, ..., m. Мы считаем, что узлы защиты G(i) сделаны правильно так, что никто из злоумышленников не может их контролировать. Таким образом, управление программно-аппаратным агентом в любом из сегментов со стороны противника из глобальной сети связано с построением канала связи от PC(j) к LG(j). Утечка информации связана с построением канала от LG(j) к PC(j).

Ни один из хостов глобальной сети (в частности, каждая машина PC(j), j = 0, 1,..., m) не знает внутренние адреса сегментов. В силу того, что шифрование и формирование пакетов для отправки через глобальную сеть происходит на узлах защиты, противник не может построить канал взаимодействия с программно-аппаратным агентом сегмента, используя шифртекст или служебные атрибуты пакетов. Таким образом, мы предполагаем, что единственными зависимыми параметрами, известными на PC(j) и LG(j) для входного потока пакетов, являются адреса отправителя пакетов. При передаче пакетов от LG(j) к PC(j) единственными зависимыми параметрами являются адреса их получателей. Эта зависимость связывает внутренние адреса каждого сегмента и внешний адрес s соответствующего шлюза.

Скрытый канал, не требующий обучения, строится следующим образом [[8]]. Возьмем часто встречающиеся адреса s1 и s2 из множества S = {s1, ..., sm}. Модулируем поток пакетов из PC(0) в G(0) следующим образом. Опишем, например, код для 1. При передаче 1 любой очередной пакет с исходящим адресом s1 передается после передачи нечетного числа пакетов с другими адресами. Поэтому все расстояния между пакетами с исходящими адресами s1 являются четными. Рассмотрим последовательность расстояний между исходящими адресами, полученными в LG(0). Все расстояния между адресами пакетов из сегмента S1 — четные (кроме ошибок вида потери или вставки пакета, которые мы считаем достаточно редкими). Агент в LG(0), обладая достаточными вычислительными ресурсами и памятью, считает четность или нечетность расстояний между повторяющимися адресами и выявляет отклонение четных расстояний от случайного распределения длин расстояний между повторяющимися адресами из S1. Аналогично, пакет с исходящим адресом s2 передается через нечетное число пакетов с другими адресами. Таким образом, преобладание четных расстояний между адресами из S1 и четных расстояний между адресами из S2 определяет 1 в коде.

Аналогично строится код для передачи 0 и x, означающий конец передачи кода 1 или 0.

Пропускная способность данного канала однозначно связана с другим параметром, связанным с данным способом скрытой передачи информации. Это число N переданных пакетов для восстановления одного бита переданной информации. Полученные асимптотические оценки показывают, что вероятность правильно принять сигнал 1 или 0 или x агентом в LG(0) стремится к 1 при N стремящемся к бесконечности.

Пусть адреса упорядочены s1 < s2 < ... < sm. Рассмотрим другой метод общения агентов. Этот метод требует обучения. Процедура обучения необходима для того, чтобы максимально полно восстановить на LG(0) порядок.

Процедура обучения состоит в следующем. РС(0) получив очередные k пакетов с адресами si1, si2, ..., sik, упорядочивает их в соответствии с возрастанием и посылает данные пакеты на узел защиты для последующей передачи LG(0). Мы доказали [[5]], что LG(0) в реальном масштабе времени может проводить сопоставление полученных данных и восстанавливать порядок. Тогда можно передавать информацию упорядоченными k-группами адресов, переставляя их на РС(0) в нужном порядке..

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

При использовании задержек между пакетами в качестве "контейнера" для скрытой передачи может применяться не весь поток ТСР-пакетов, а лишь серия пакетов, отправляемых подряд без подтверждения.

Возможны и другие каналы преодоления IPSec, но они более уязвимы к уничтожению. Например, можно модулировать передачу длинами пакетов, если IPSec не производит выравнивания длин пакетов.

Рассмотрим скрытые каналы, преодолевающие PROXY-серверы [[15]].

Прежде, чем подробно объяснить механизмы преодоления защиты, опишем общую идею. PROXY-сервер, в отличие от IPSec, устанавливает ТСР-соединения с непосредственно связанными с ним абонентами. При этом данные, передаваемые пакетами, собираются на PROXY-сервере, а затем передаются при образовании ТСР-соединения с таким же сервером на приемном конце. Сложность преодоления надежно защищенного PROXY-сервера состоит в том, что враждебный агент может манипулировать или наблюдать манипуляции с пакетами, а не с данными. Однако в основе преодоления PROXY-сервера лежит простая идея управления порядком данных с помощью задержек пакетов, передающих эти данные. Более подробно рассмотрим следующую модель.

Пусть, как и раньше, имеется m+1 сегментов локальных вычислительных сетей S0, S1, ..., Sm, в каждом из которых имеются рабочие станции со своими локальными адресами и шлюзы, используемые для соединения локальных сетей с глобальной сетью (например, Интернет). Пусть s0< s1 <...< sm упорядоченные адреса шлюзов сегментов локальных вычислительных сетей S0, S1, ..., Sm, представляющих эти сегменты в глобальной сети. Мы считаем, что для общения между собой рабочие станции различных сегментов используют виртуальную частную сеть (VPN), которая работает следующим образом. Данные от рабочей станции с адресом a в сегменте Si должны быть переданы на рабочую станцию с адресом b в сегменте Sj. Схема связи изображена на Рис. 4, а связь организуется следующим образом.

  • От машины с адресом a пакеты с передаваемыми данными, посылаются к внутреннему шлюзу — машине LG(i) в сегменте Si.
  • Далее пакеты попадают на шлюз — узел защиты G(i). Он работает как PROXY-сервер, который устанавливает соединение с машиной с адресом а и восстанавливает данные, передаваемые от рабочей станции с адресом а на рабочую станцию с адресом b. Восстановленные данные, поступающие на PROXY-сервер от абонентов сегмента Si, выстраиваются в очередь в соответствии с порядком их восстановления на PROXY-сервере. Далее PROXY-сервер шифрует данные в очереди на ключе получателя — PROXY-сервера G(j), в сегменте которого находится получатель данных. После этого G(i) устанавливает соединение с G(j) и передает туда пакеты, содержащие зашифрованные данные.
  • Пакет из G(i) попадает на хост глобальной сети PC(i), который направляет его через глобальную сеть на аналогичный хост PC(j).
  • Далее пакет направляется на узел защиты G(j), где восстанавливаются и выстраиваются в очередь данные, передаваемые на Sj. При подходе соответствующих данных в этой очереди PROXY-сервер УЗ(j) расшифровывает их и устанавливает соединение в сегменте Sj с рабочей станцией с адресом b. Данные передаются пакетами через внутренний шлюз LG(j).
  • LG(j) отправляет пакеты к абоненту b в сегменте Sj.

Как и раньше, в глобальной сети и в каждом сегменте S0, S1, ..., Sm имеются программно-аппаратные агенты противника, которые для выполнения своих враждебных функций должны получать инструкции от программно-аппаратного агента противника из глобальной сети (ПГС). Будем считать, что ПГС полностью контролирует компьютеры PC(j), j = 0, 1, ..., m. Программно-аппаратные агенты противника внутри сегментов локальной сети S0, S1, ..., Sm контролируют соответственно компьютеры соответственно LG(j), j = 0, 1, ..., m. Мы считаем, что узлы защиты G(i) сделаны правильно так, что никто из противников не может их контролировать. Таким образом, управление программно-аппаратным агентом в любом из сегментов со стороны противника из глобальной сети связано с построением канала связи от PC(j) к LG(j). Утечка информации связана с построением канала от LG(j) к PC(j).

Как и раньше мы предполагаем, что единственными зависимыми параметрами, известными на PC(j) и LG(j) для входного потока пакетов, являются адреса отправителя пакетов. При передаче пакетов от LG(j) к PC(j) единственными зависимыми параметрами являются адреса получателей пакетов. Эта зависимость выражается в связи множества внутренних адресов каждого сегмента и внешнего адреса s соответствующего шлюза и считается в данной задаче известной.

LG(i) может влиять на порядок очереди отправляемых данных следующим образом. Протокол ТСР гарантирует восстановление данных. Если какой-то пакет не получен, то протокол ТСР передает запрос на получение пропущенных данных. Пусть на PROXY-сервере установлено два соединения с абонентами сегмента а1 и а2, которые передают данные А1 и А2 соответственно на PROXY-сервер G(i). Естественно, что те данные, которые восстановлены первыми, будут первыми поставлены в очередь на передачу в глобальную сеть. Пусть агент в LG(i) хочет, чтобы последовательность данных в очереди на отправку была: А1 А2. Если пакеты, передающие А1, заканчиваются быстрее, чем пакеты, передающие А2 (агент наблюдает поток пакетов и может осуществлять их задержку, чтобы убедиться в том, что передача данных закончена), то агент не предпринимает никаких действий. Если пакеты, передающие А2, заканчиваются быстрее, чем пакеты, передающие А1, то агент на LG(i) задерживает или уничтожает один из пакетов (например, последний) из серии пакетов, передаваемых от а2. После этого он выжидает, когда закончится поток пакетов, передающих файл А1, и посылает последний пакет с данными А2. Тогда, если верно его предположение о том, что серия пакетов от а1 одному абоненту в другом сегменте содержала данные одного соединения А1, а аналогичная серия от а2 одному абоненту в другом сегменте содержала данные другого соединения А2, то указанная процедура поменяет естественный порядок данных в очереди на G(i) на требуемый порядок данных. Разумеется, такая же процедура перестановки на узле G(j) возможна и на потоке входящих данных с помощью агента на PC(j). Отметим, что указанная процедура носит вероятностный характер. Ясно, что вероятность правильной перестановки увеличивается для больших серий пакетов, передаваемых при отправке больших файлов.

Несмотря на возможность ошибки, можно построить язык скрытой передачи данных, использующий данный алгоритм перестановки данных в очереди. Пусть агент в LG(0) передает информацию агенту в РС(0) в глобальной сети. Тогда агент в LG(0) знает, какие данные идут на адрес получателя sj, j = 1, ..., m, серверов G(j). С помощью алгоритма перестановки данных в очереди агент в LG(0) упорядочивает очередные пары пришедших данных.

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

В связи с описанными скрытыми каналами решена [[15]] задача оценки r для устойчивого выделения 1, 0 и х, а также устойчивости передачи к сбоям.

В модели потока, создаваемого протоколом ТСР, для создания скрытого канала могут быть использованы задержки подтверждения. Отправив один или несколько пакетов с данными, узел ожидает подтверждения их получения, и лишь затем продолжает передачу. Число пакетов, которые могут быть переданы подряд без ожидания подтверждения, определяется размером "окна" принимающей стороны (этот параметр используется для управления скоростью передачи и задает объем данных, которые получатель способен принять, не прерывая передачу [[26]]). Таким образом, в Интернете задержки между пакетами, отправленными подряд, определяются параметрами канала передачи пакетов.

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

Для построения скрытого канала возможно использование модуляции скорости передачи информации через Интернет. Как и в предыдущем случае, такой скрытый канал преодолевает IPSec.

В связи с тем, что пропускная способность каналов Интернет не безгранична, а число пользователей сети неуклонно растет, поставщиками услуг Интернета повсеместно применяются ограничения пропускной способности предоставляемых пользователям каналов связи. Поскольку при этом обычно абонент соединен с оператором скоростной линией связи (например, локальной сетью), ограничение скорости передачи производится искусственно, программными средствами шлюза. Как правило, алгоритм ограничения скорости основан на следующей схеме: поступающие по "быстрому" каналу на шлюз пакеты помещаются в буфер, а затем постепенно отправляются по "медленному" каналу. При этом фактически пропускная способность "медленного" канала может быть выше заданного ограничения. Задержки при отправке пакетов, помещенных в буфер, выбираются таким образом, чтобы средняя скорость передачи соответствовала установленным ограничениям.

Чаще всего наибольшая нагрузка на канал связи возникает при последовательной передаче больших объемов данных. При этом для ускорения передачи протокол ТСР формирует пакеты определенной длины (как правило, 1500 байт) и полностью использует приемное "окно" получателя. В потоке возникают серии пакетов, отправленных с минимальными (для физического канала) интервалами. После обработки алгоритмом ограничения скорости эти интервалы увеличиваются для обеспечения заданной средней скорости. Изменение скорости передачи [[11]] происходит за счет манипуляции интервалами между пакетами. Тогда шлюз, через который проходят пакеты, имеет возможность встраивать в поток пакетов скрытую информацию с помощью манипуляции скоростями. Для того чтобы интервалы между пакетами, определяющие скорость передачи, не изменились на маршруте от данного шлюза до получателя, серия пакетов не должна полностью помещаться в буфер ни на одном из шлюзов на этом маршруте. В противном случае скрытая информация, содержащаяся в потоке, окажется искаженной.

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

Опишем способ скрытой передачи информации агенту, контролирующему единую точку входа [[9]].

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

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

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

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

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

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

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

Интеллектуальный программно-аппаратный агент нарушителя на сервере аутентификации может быть настроен на получение инструкций через скрытый канал. Допустим, нарушителем безопасности является группа k легальных пользователей системы, которые знают фиксированное число m, известное также программно-аппаратному агенту. Нарушители безопасности инициируют вход в систему и выход из нее так, чтобы иметь возможность первыми из пользователей за ограниченное время набрать по m вхождений в систему.

Пусть агент обладает достаточными вычислительными возможностями для оценки промежутка времени, необходимого для m вхождений в систему любых других пользователей. Если это время не превосходит заданного порога, то агент выделяет данную группу пользователей как своего союзника. После m вхождений и выходов из системы группа нарушителей продолжает работать в обычном режиме и при этом начинается выработка языка общения агента с группой нарушителей. Если в заданном промежутке группа нарушителей вошла в систему ровно один раз, то их перестановке (порядки появления на сервере) соответствует двоичный вектор длины k. Этот вектор передается агентом к членам группы нарушителей в форме ответов о правильной или неправильной аутентификации. Достаточно сделать первую посылку вектора из всех 0 в ответ на заведомо ложные пароли, так как все двоичные вектора можно считать лексикографически упорядоченными. Тогда 2k перестановок порядка вхождения в систему данной группы воссоздадут у агента и членов группы нарушителей код, который можно использовать при дальнейшем общении агента и группы нарушителей. Любая другая комбинация вхождений в систему уже не будет считаться у агента значимой.

Рассмотрим скрытый канал через Интернет с помощью HTML [[10]]. В данном случае речь пойдет о задаче построения скрытого канала между далеко расположенными корреспондентами.

Пусть пользователь А хочет передать короткое сообщение пользователю B через Интернет. Предположим, что пользователь А имеет доступ к браузеру, а пользователь B имеет доступ к аудиту обращений на некоторую страницу Интернет. Все обращения пользователя А к информационным ресурсам Сети отслеживаются контролером U. Задача состоит в том, чтобы построить скрытый от U канал передачи информации от пользователя А к пользователю B.

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

Изложим содержание метода. С помощью последовательности гипертекстовых ссылок пользователь А попадает на сайт, к которому имеет доступ абонент В, и выбирает оговоренный секретным ключом документ. Пусть R1, ..., RN — последовательность возможных гипертекстовых ссылок в этом документе. Тогда скрытое сообщение от пользователя А к пользователю В можно закодировать перестановкой вызовов этих гиперссылок Rj1, ..., RjN. Перестановка определяется с помощью вызовов и меток времени, находящихся в журнале аудита.

Если B1, ..., BN сайты, в которых абонент В может получить доступ к данным аудита, то перестановками Bi1, ..., BiN можно кодировать допустимые сообщения.

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

Возникает вопрос о способе кодирования сообщения с помощью перестановок. Один из вариантов кодирования можно построить следующим образом. Рассматривая некоторую нумерацию перестановок, относим номеру данной перестановки двоичное представление этого номера. Тогда сообщение можно писать на любом доступном языке, используя для его кодирования двоичные векторы. Использование данного метода ограничено вычислительными возможностями при нумерации перестановок. Приведем некоторые значения числа перестановок, показывающие возможности кодирования сообщений для различных N: 5! = 120, а 10! = 3628800.

Назад Оглавление Вперёд

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

ATLEX Выделенные серверы: в Европе / в России.

Виртуальные серверы: в Европе / в России.

Партнерская программа

Новости мира IT:

Архив новостей

Последние комментарии:

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 985 1945361
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...