Windows 8

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

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

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

Забросить shell-код на удаленную машину и застолбить там back-door — это только половина дела. А что делать дальше, мы подумали? Необходимо скрыть свой IP-адрес и обойти все брандмауэры, не оставляя никаких следов в логах, анализируемых как вручную, так и автоматизированными системами определения вторжения. Существует множество утилит, прячущих левые сетевые соединения от глаз администраторов, однако на физическом уровне весь «хакерский» трафик элементарно обнаруживается и пресекается практически любым брандмауэром, чего атакующему допускать ни в коем случае нельзя. В идеале необходимо пробить тоннель, открыв секретный канал связи, не создающий никаких дополнительных соединений и не
генерирующий никакого избыточного трафика, чтобы даже самый строгий разбор дампов, награбленных сетевым анализатором, не выявил ничего подозрительного.

Над решением этой проблемы бились лучшие хакерские умы. Сначала идея получила чисто теоретическое обоснование (Andrew Hintz, Craig Rowland) с чисто лабораторной реализацией, непригодной для практического использования. Затем к делу подключилась Жанна Рутковская, разработавшая специальный протокол с кодовым названием NUSHU и вполне жизнеспособные модули, ориентированные на работу в Linux Kernel 2.4. Жанна вручила нам мощное средство для управления удаленными shell’ами, от которого практически невозможно разработать адекватную защиту. Осталось только разобраться, как этим средством воспользоваться.

Скрытые пассивные каналы: основные концепции

С недавних пор в хакерском лексиконе появилось понятие «скрытых пассивных каналов » (Passive Covert Channels , или сокращенно PCC ). Они представляют собой разновидность обычных скрытых каналов (Covert Channels ), однако, в отличие от последних, не только не устанавливают своих соединений, но и вообще не генерируют никакого собственного трафика! Передача информации осуществляется исключительно путем модификации пакетов, пролетающих мимо атакованного узла.

Соль в том, что эти пакеты направляются не к хакеру, а шуруют своими путями на различные узлы интернета, например, www.google.com, за счет чего достигается высочайшая степень анонимности. Естественно, возникает резонный вопрос: как хакер сможет добраться до содержимого пакетов, идущих мимо него? Для этого необходимо подломать один из промежуточных маршрутизаторов (как правило, принадлежащих провайдеру, обслуживающему атакуемую организацию) и установить на него специальный модуль, анализирующий заголовки TCP/IP-пакетов на предмет наличия скрытой информации или ее внедрения.

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

Рассмотрим схему взаимодействия с целевым узлом (жертвой) по скрытому пассивному каналу. Хакер (обозначенный буквой Х) каким-то совершенно не относящимся к обсуждаемой теме образом забрасывает на целевой узел (обозначенный буквой A) shell-код, захватывающий управление и устанавливающий back-door вместе со специальным модулем, обеспечивающим функционирование PCC-канала. Теперь все TCP/IP-пакеты, отправляемые жертвой во внешний мир, содержат незначительные изменения, кодирующие, например, пароли или другую конфиденциальную информацию.

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

Таким образом, мы получаем защищенный канал A-B и открытый B-X, однако хакеру ничего не стоит общаться с узлом B через анонимный proxy-сервер или даже выстроить цепочку из нескольких защищенных хостов. К тому же, выбор маршрутизатора B необязателен. Главное, чтобы маршрутизатор располагался между целевым узлом А и одним из узлов, с которыми общается жертва.

Во власти протокола IP

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

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

Фишка в том, что PCC-модуль может беспрепятственно модифицировать поле идентификатора по своему вкусу, передавая с каждым IP-пакетом 16 бит полезных данных. Это в теории. На практике же нам потребуется выделить несколько бит для маркировки своих пакетов, иначе PCC-приемник ни за что не сможет отличить их от остальных. Пусть в 12 младших битах передаются полезные данные, а в четырех старших — их контрольная сумма. Тогда PCC-приемнику останется всего лишь взять 12 бит, рассчитать их CRC и сравнить с оставшимися четырьмя битами. Если они совпадут, значит, это наш пакет, если же нет — пускай идет себе лесом.

Также следует позаботиться о нумерации пакетов, поскольку порядок следования IP-пакетов в общем случае не совпадает с порядком их отправки. А для этого также требуются биты, в результате чего реальная информационная емкость IP-заголовка стремится к одному байту, что, в общем-то, не так уж и плохо. Для передачи небольших объемов данных (типа паролей) вполне сойдет. Главное — не забывать о том, что идентификатор должен: а) быть уникальным; б) выглядеть случайным. Поэтому необходимо прибегнуть к скремблированию, то есть к наложению на передаваемый текст некоторой псевдослучайной последовательности данных (известной как PCC-отправителю, так и PCC-получателю) через оператор XOR.

Кроме идентификатора, можно (с некоторой осторожностью) менять поля TTL (Time To Live – максимальное время жизни пакета), тип сервиса (TOS) и протокола (protocol). Однако это слишком заметно и легко обнаруживается просмотром дампов, полученных любым снифером.

Наш извозчик — протокол TCP

При установке TCP-соединения передающая сторона (узел A) устанавливает флаг SYN и выбирает произвольный 32-битный номер последовательности (Sequence Number, или сокращенно SEQ). Если принимающая сторона (узел B) согласна принять узел А в свои объятия, она отправляет ему пакет с установленным флагом ACK и номером подтверждения (Acknowledgment Number), равным SEQ+1, а также генерирует свой собственный номер последовательности, выбираемый случайными образом. Узел A, получив подтверждение, поступает аналогичным образом, что наглядно демонстрирует следующая схема:

узел A —— SYN(ISN) ————> узел B
узел A <—— SYN(ISN+1)/ACK —— узел B
узел A —— ACK —————-> узел B

ISN – это начальный номер последовательности (Initial Sequence Number ), уникальный для каждого TCP/IP-соединения. С момента установки соединения номера последовательности планомерно увеличиваются на количество принятых/отправленных байт. Впрочем, не будем углубляться в теорию. Остановимся на том факте, что 32-битное поле ISN можно изменять псевдослучайным образом, «промодулированным» секретными данными и… никто ничего не заметит! Конечно, пропускная способность упадет до четырех байт на каждое TCP-соединение, устанавливаемое узлом-жертвой, а TCP-соединений устанавливается не так уж и много (особенно если мы имеем дело не с нагруженным сервером, а с рабочей станцией). Тем не менее, для
перекачки паролей и удаленного управления через командную строку даже такой скромной пропускной способности вполне достаточно.

Жанна Рутковская , решив не ограничивать себя лабораторными опытами, разработала протокол NUSHU , создающий скрытые пассивные каналы посредством модификации ISN с последующим шифрованием последнего алгоритмом DES на основе идентификатора IP-пакета (IP.id), порта-источника (TCP.sport) и IP-адреса назначения (IP.daddr).

Сеанс практической магии

Идем на сайт Жанны Рутковской — invisiblethings.org , видим раздел с инструментами tools, находим в нем «NUSHU — passive covert channel engine for Linux 2.4 kernels » и качаем архив исходных текстов — invisiblethings.org/tools/nushu/nushu.tar.gz (всего 18 Кб). Распаковываем, компилируем. Компиляция осуществляется стандартно. Просто запускаем утилиту make и получаем три модуля ядра: nushu_receiver.o (приемник), nushu_sender.o (передатчик) и nushu_hider.o.

Механизм шифрования ISN в протоколе NUSHU

Приемник устанавливается на поломанный маршрутизатор, передатчик — на целевой узел жертвы. Для организации двухсторонней связи приемник и передатчик устанавливаются на оба узла. Модуль nushu_hider.o в организации скрытого канала не участвует и предназначен для обмана штатных анализаторов (типа tcpdump), не позволяя им обнаруживать факт изменения ISN.

Из readme следует, что модуль-передатчик обрабатывает следующие параметры командной строки:

  • dev=, где device – сетевое устройство, с которым предполагается работать (например, eth0);
  • cipher=, где 0 означает передачу без шифрования, а 1 предписывает использование DES;
  • key="string", где string — произвольная строка-маркер, идентичная строке-маркеру, установленной на модуле-приемнике (используется только в том случае, если шифрование выключено, иначе игнорируется);
  • src_ip= — IP-адрес узла, на котором установлен передатчик.

Модуль-приемник, помимо описанных выше ключей dev, cipher и key, обрабатывает аргумент exclude_ip=<172.16.*.*>, задающий список неприкосновенных IP-адресов, при отправке пакетов на которые протокол NUSHU задействован не будет, поскольку ISN останется неизменным (этот параметр является опциональным).

Модуль nushu_hider.o загружается без каких-либо параметров и только в том случае, если в этом возникает необходимость.

Хорошо, все модули успешно загружены, ядро функционирует нормально и в панику, судя по всему, впадать не собирается. Что делать дальше? А ничего! Ведь это только движок, обеспечивающий функционирование PCC-каналов . К нему можно прикрутить кейлоггер или удаленный shell, но это уже придется делать самостоятельно. А как?! Ни readme, ни сопроводительные презентации не дают ответа на этот вопрос, поэтому приходится зарываться в исходные тексты и разбирать их на отдельные байты.

Начнем с передатчика, реализованного в файле sender.c. В процедуре init_module(), отвечающей за инициализацию модуля, сразу же бросаются в глаза следующие строки:


create_proc_read_entry ("info", 0, proc_de, cc_read_proc_info, NULL);
struct proc_dir_entry * wpde = create_proc_entry ("message_to_send", 0, proc_de);

Все ясно! Модуль использует псевдофайловую систему /proc, создавая директорию nushu, а в ней — два файла: info и message_to_send, с которыми можно работать с прикладного уровня, как с обычными устройствами (если быть точнее, псевдоустройствами).Аналогичным образом обстоят дела и с приемником, реализованным в файле receiver.c, ключевой фрагмент которого приведен ниже:

Struct proc_dir_entry *proc_de = proc_mkdir ("nushu", NULL);
create_proc_read_entry ("message_received", 0, proc_de, cc_read_proc_message, NULL);
create_proc_read_entry ("info", 0, proc_de, cc_read_proc_info, NULL);

Как видно, вместо устройства message_to_send на этот раз создается message_received, из которого можно читать получаемые сообщения через стандартные функции ввода/вывода. В общем, имея на руках исходные тексты, со всеми этими причиндалами совсем несложно разобраться, тем более что их суммарный объем составляет всего 69 Кб.

Заключение

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

Может ли атакованный администратор обнаружить скрытые пассивные каналы хотя бы теоретически? Скрупулезный анализ сетевого трафика позволяет выявить некоторую ненормальность распределения ISN, но для этого требуется обработать сотни тысяч «хакнутых» пакетов, сравнивая их с оригиналами. Потому намного проще выявить посторонний ядерный модуль, отвечающий за создание и поддержку PCC-каналов, используя общие методики верификации целостности системы. Однако это уже совсем другой разговор, к которому мы еще вернемся.

1.1 Дискреционный контроль доступа.

1.2 Мандатный контроль доступа.

1.3 Модель контроля целостности Биба.

1.4 Ролевой контроль доступа.

1.5 Модель невмешательства.

1.6 Модель невыводимости.

2 Постановка задачи повышения эффективности борьбы со скрытыми логическими каналами в распределенной среде

2.1 Современные подходы к реализации распределенных систем

2.2 Определение и классификация скрытых логических каналов

2.3 Основные характеристики скрытых логических каналов

2.4 Причины возникновения скрытых логических каналов

2.5 Идентификация скрытых логических каналов

2.6 Парирование скрытых логических каналов утечки данных

2.7 Требования нормативных документов по защите от скрытых логических каналов.

3 Принципы исследования скрытых логических каналов

3.1 Факторы влияющие на пропускную способность.

3.2 Определение пропускной способности скрытых каналов.

4 Анализ скрытых логических каналов в распределенной среде и разработка методики защиты

4.1 Разработка гибридной формальной субъектно - объектной модели распределенной вычислительной системы.

4.2 Построение модели скрытого логического канала в распределенной среде.

4.3 Исследование модели скрытого логического канала.

4.4 Разработка метода парирования скрытого логического канала

4.5 Разработка средства защиты.

4.6 Эксперимент

4.7 Внедрение.

5 Заключение

Введение диссертации (часть автореферата) на тему "Защита данных от утечки по скрытым логическим каналам в телекоммуникационных сетях"

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

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

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

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

Угрозы со стороны скрытых логических каналов направленны на нарушение конфиденциальности информации.

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

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

Предмет исследования - скрытые логические каналы несанкционированного доступа к ресурсам информационных сетей.

Объектом исследования данной работы является распределенная телекоммуникационная сеть.

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

Научная новизна работы заключается в следующем:

На основе анализа разнородной информации о скрытых логических каналах создана классификация информационных угроз в телекоммуникационных сетях;

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

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

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

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

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

Основные положения выносимые на защиту:

Среди многих каналов для реализации информационных атак возможна организация скрытого логического канала, использующего в качестве разделяемого ресурса канал сети передачи данных с методом доступа CSMA/CD;

Среди множества используемых характеристик уровня угроз несанкционированного доступа по скрытому логическому каналу, универсальной характеристикой уровня опасности должен служить критический уровень пропускной способности;

Для парирования угроз несанкционированного доступа по скрытым логическим каналам должна использоваться псевдослучайная нормализующая последовательность трафика;

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

Структура работы

Работа состоит из четырех глав, введения, заключения, списка литературы и трех приложений.

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

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

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

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

Заключение диссертации по теме "Системы, сети и устройства телекоммуникаций", Усов, Павел Андреевич

5 Заключение

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

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

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

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

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

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

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

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

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

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

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

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

Защита каналов связи легального достуа со скоростью передачи данных до 10 МБит/с;

Генерация трафика псевдослучайными последовательностями до 100 МБит/с;

Формирование "нормализующей" последовательности в реальном времени на скоростях до 10 МБит/с.

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

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

Список литературы диссертационного исследования кандидат технических наук Усов, Павел Андреевич, 2011 год

1. B.W. Lampson. A Note on the Confident Problem. Communications of the ACM, 1973

2. M. Schaefer, B. Gold, R. Linde, J. Scheid. Program Confinement in KVM/370, New York, 1977

3. J.C. Huskamp. Covert Communication Channels in Timesharing Systems. University of California, 1978

4. DARPA Information Processing Techniques Office. RFC 793 Transmission Control Protocol, IETF, 1981

5. R.A. Kemmerer. Shared Resource Matrix Methodology: An Approach to Identifying Storage and Timing Channels. ACM Transactions on Computer Systems, 1983

6. National Computer Security Center, Department of Defence. Trusted Computer System Evaluation Criteria, DoD 5200.28-STD, 1985

7. A Comment on the Basic Security Teorem of Bell and La Padula, Information Processing Letters, 1985

8. J.K. Millen. Finite-State Noisless Covert Channels. Proceedings of the Computer Security Foundations Workshop. Franconia, New Hampshire, 1989

9. C.R. Tsai, V.D. Gligor, C.S. Chandersekaran. A Formal Method for the Identification of Covert Channels in Source Code. IEEE Transactions on Software Engineering, 1990

10. V.D. Gligor. A Guide to Understanding Covert Channel Analysis of Trusted Systems, 1993

11. Canadian Trusted Computer Product Evaluation Criteria. Canadian System Security Centre Communication Security Establishment, Government of Canada. Version 3.0e. January 1993

12. R. Fielding, J. Gettys, J. Mogul, H. Frystyk, T. Berners-Lee. RFC 2068 Hypertext Transfer Protocol HTTP/1.1, IETF, 1997

13. E. Rescorla. RFC 2631 Diffie-Hellman Key Agreement Method, IETF, 199914.

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

Введение

Попытки скрыть сам факт передачи информации имеют длинную историю. Способы сокрытия самого факта передачи информации получили название стеганография. Исторически для стеганографии применялись "невидимые" чернила, точечные фотовставки и т.д. Данное направление получило вторую жизнь в наше время в связи с широким использованием сетей передачи данных. Чтобы выделить методы стеганографии, связанные с электронным представлением данных, появился термин компьютерная стеганография. Однако в работе Шнайера стеганографические способы передачи по каналам связи получили название потайных каналов (subliminal channels). Наряду с этим появился термин "скрытый канал" (covert channel). Впервые понятие скрытого канала было введено в работе Лэмпсона в 1973 году. Канал называется скрытым, если он не проектировался, не предполагался для передачи информации в электронной системе обработки данных. Таким образом, термин скрытые каналы больше относится к внутрикомпьютерным телекоммуникациям. В работе Тсаи дано следующее определение скрытого канала. Если нам дана модель не дискреционной политики безопасности М и ее имплементация I(M) в операционной системе, то любая потенциальная связь между двумя субъектамиI(Sh) и I(Si) в I(M) называется скрытым каналом, если эта связь между субъектами Sh и Si в модели M не разрешена.
Поскольку все приведенные выше термины, касающиеся скрытой передачи информации, отличаются нюансами приложений, мы будем без ограничения общности способы скрытой передачи информации называть скрытыми каналами. Возвращаться к исходным терминам мы будем в тех особых случаях, когда выделение соответствующих каналов вытекает из контекста.

информационный поток

Простейший подход к определению информационного потока можно найти в TCSEC ("Оранжевая книга", 1985 г.). Если осуществляется доступ на чтение (read) субъекта S к объекту О, то поток информации идет от О к S. Если S имеет доступ на запись (write) к О, то информационный поток направлен от S к О. Транзитивное замыкание цепочек доступа (даже без учета времени) представляет собой сложный информационный поток.

пример 1
Например, документ D записан в файл О пользователем U1, а пользователь U2 прочитал документ D в файле О. Таким образом информация, содержащаяся в документе D, перешла от пользователя U1 к пользователю U2 с помощью двух информационных потоков:
·U1 организовал информационный поток от себя к О с помощью операции write;
·U2 организовал информационный поток от О к себе с помощью операции read.
Более привычное определение информационного потока вводится через среднюю взаимную информацию. Объект О в информационной системе представляет собой конечное множество допустимых записей в данном языке, а состоянием объекта О является конкретная запись из этого конечного множества, которая находится в информационной системе в данный момент времени с именем О. Пусть X и Y два объекта в информационной системе и предположим, что в данный момент времени состояния объектов X и Y определяются совместным распределением вероятностей P(x, y) на конечном множестве пар

Обозначим


и аналогично


Средней взаимной информацией объектов Х и Y называется величина


Определение. Информационный поток между объектами Х и Y существует, если средняя взаимная информация I(X,Y)>0.
Можно доказать, что существование информационного потока эквивалентно условию, что существует пара (x,y) такая, что


Ясно, что если существует информационный поток от Х к Y, то существует такой же информационный поток от Y к Х.

пример 2
Пусть файл О1 является копией файла О2. Тогда P(x,y)=0при x не равном y. Если вероятность состояния х объекта О1 не равна 0, и вероятность состояния y объекта О2 не равна 0, то из эквивалентного определения информационного потока следует, что существует информационный поток от объекта О1 к объекту О2.
Отметим, что данное определение потока эквивалентно заданию совместного распределения на множествах состояний объектов Х и Y при условии, что меры, индуцируемые на Х и Y, не являются независимыми.
Рассмотрим еще одно определение информационного потока. В некоторых работах для анализа скрытых каналов вводится понятие зависимости. С точки зрения нашего анализа любая зависимость порождает канал передачи данных. Поэтому мы рассматриваем понятие зависимостей как один из способов определения информационного потока.
Определение. Информационным потоком от объектов {S} к объекту T можно считать тройку (T, {S}, G), где Т меняет свое состояние, если {S} меняет свое состояние при условии, что логическое выражение G принимает значение истина.

пример 3
При вхождении в систему пользователь называет свое имя И и вводит свой пароль П. Данный пароль после шифрования преобразуется в запись К(П), которая сравнивается со значением в таблице паролей, соответствующей данному имени И пользователя. В данном случае значение переменной Т, равное 1, если пользователю разрешено войти в систему, и 0 - в противном случае, зависит от введенных переменных И и П при выполнении логического условия, что в соответствующей строчке таблицы паролей К(П) введенного пароля совпадает с имеющейся там записью. В данном случае переменная S принимает значение имени пользователя И, переменная S1 принимает значение пароля К, а логическое условие G соответствует совпадению записей в таблице паролей.
К этому определению относятся все виды функциональных связей, в которых значение Т есть функция от некоторого набора переменных, куда входит {S}.
Обобщением данной схемы является модель информационного потока как конечного автомата, в котором источник сообщения посылает входное слово на вход автомата, а получатель сообщения видит выходную последовательность автомата. Следующими обобщениями являются модель канала как вероятностного автомата и модель детерминированного автомата со случайным входом.

политики безопасности

Будем следовать общепринятому определению политики безопасности (ПБ), приведенному в стандарте TCSEC.
Определение. Политика безопасности это набор норм, правил и практических приемов, которые регулируют управление, защиту и распределение ценной информации.
Многие политики безопасности выражаются через информационные потоки. Например, все информационные потоки в системе (в том числе потенциальные) делятся на два непересекающихся подмножества: разрешенные и неразрешенные потоки. Тогда система защиты должна обеспечивать поддержку разрешенных потоков и препятствовать запрещенным потокам. К политикам такого класса относится многоуровневая политика безопасности (MLS).
MLS принята всеми развитыми государствами мира. В секретном повседневном делопроизводстве госсектор России также придерживается этой политики.
Решетка ценностей SC является основой политики MLS. Линейно упорядоченное множество грифов секретности "несекретно" < "секретно" < "совершенно секретно" является простейшим примером такой решетки ценности. В более общем случае к грифам конфиденциальности добавляются подмножества тематических категорий из заданного набора категорий. В этом случае также получается решетка ценностей, в которой некоторые элементы упорядочены. Например, приведем сравнение двух элементов такой решетки: "секретно, кадры, финансы" < "совершенно секретно, кадры, финансы, материальное обеспечение". Классификация информационных ресурсов - это отображение с множества объектов системы О в множество узлов SC решетки ценности. То есть каждый объект системы классифицируется уровнем секретности и множеством тематических категорий. Отображение с: O -->SC считается заданным. Если c(Y) больше или равно с(X), то Y - более ценный объект, чем X.
Определение. Политика MLS считает информационный поток X-->Y разрешенным тогда и только тогда, когда c(Y) больше или равно c(X) в решетке SС.
Таким образом политика MLS имеет дело с множеством информационных потоков в системе и делит их на разрешенные и неразрешенные очень простым условием. Однако эта простота касается информационных потоков, которых в системе огромное количество. Поэтому приведенное выше определение неконструктивно. Хотелось бы иметь конструктивное определение на языке доступов. Рассмотрим класс систем с двумя видами доступов read и write (хотя могут быть и другие доступы, но они либо не определяют информационный поток, либо выражаются через write и read). Пусть процесс S в ходе решения своей задачи последовательно обращается к объектам O1, O2,..., Ol (некоторые из них могут возникнуть в ходе решения задачи). Пусть

Тогда из определения MLS следует, что при выполнении условий


соответствующие потоки информации, определяемые доступом read, будут идти в разрешенном политикой MLS направлении, а при


потоки, определяемые доступом write, будут идти в разрешенном направлении. Таким образом, в результате выполнения задачи процессом S, информационные потоки, с ним связанные, удовлетворяют политике MLS. Такого качественного анализа оказывается достаточно, чтобы классифицировать почти все процессы и принять решение о соблюдении или нет политики MLS. Если где-то политика MLS нарушается, то соответственный доступ не разрешается. Причем разрешенность цепочки (1) вовсе не означает, что субъект S не может создать объект O такой, что c(S)>c(O). Однако он не может писать туда информацию. При передаче управления поток информации от процесса S или к нему прерывается (хотя в него другие процессы могут записывать или считывать информацию как в объект). При этом, если правила направления потока при read и write выполняются, то MLS соблюдается, если нет, то соответствующий процесс не получает доступ. Таким образом, мы приходим к управлению потоками через контроль доступов. В результате для определенного класса систем получим конструктивное описание политики MLS.
Определение. В системе с двумя доступами read и write политика MLS определяется следующими правилами доступа


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

Если каждый из потоков разрешен, то свойства решетки позволяют утверждать, что разрешен сквозной поток O1-->Ok. Действительно, если информационный поток на каждом шаге разрешен, то


тогда по свойству транзитивности решетки


то есть сквозной поток разрешен.
MLS-политика в современных системах защиты реализуется через мандатный контроль (или, также говорят, через мандатную политику). Устройство мандатного контроля, удовлетворяющее некоторым дополнительным требованиям, называется монитором обращений. Мандатный контроль еще называют обязательным, так как через него проходит каждое обращение субъекта к объекту, если субъект и объект находятся под защитой системы безопасности. Организуется мандатный контроль следующим образом. Каждый объект O имеет метку с информацией о классе c(O). Каждый субъект также имеет метку, содержащую информацию о том, какой класс доступа c(S) он имеет. Мандатный контроль сравнивает метки и удовлетворяет запрос субъекта S к объекту O на чтение, если

и удовлетворяет запрос на запись, если

Тогда согласно изложенному выше мандатный контроль реализует политику MLS. Однако метки конфиденциальности - это не единственный способ управления информационными потоками в компьютерных системах.
В системе с многоуровневой политикой безопасности, в которой информационные потоки сведены к доступам, возможны потоки более общего типа из рассмотренных в п. 2, которые могут нарушать политику безопасности MLS. Например, любой информационный поток между несравнимыми узлами решетки или сверху вниз, который существует, но не выражается через доступы read и write, будет нарушать политику безопасности MLS даже при корректной реализации мандатного контроля доступов. В простейшем случае, к которому мы будем апеллировать дальше, если система разделена, по крайней мере, на два уровня High и Low и в системе принята многоуровневая политика безопасности, разрешающая информационные потоки снизу вверх (от Low к High) и запрещающая потоки сверху вниз, то нарушитель может использовать скрытый канал для передачи информации от программно-аппаратного агента в среде High к программно-аппаратному агенту в среде Low. При этом скрытый канал должен защищать нарушителя от системы защиты, поддерживающей многоуровневую политику, основанную на определении потоков через доступы read и write. То есть скрытый канал должен быть невидим монитору обращений, системе аудита, аналитику, исследующему защищенность системы и т.д.
Потоки в MLS разрешены только между сравнимыми узлами снизу вверх. Данная политика защищает конфиденциальность информации. Точно так же, как многоуровневая политика, определяется политика защиты целостности Байба, только разрешенными в данной политике являются все потоки между сравнимыми узлами, направленные вниз.
Предположим, что опасности для нарушения секретности не существует, а единственная цель политики безопасности - защита от нарушений целостности информации. Пусть, по-прежнему, в информацию внесена решетка ценностей SС. В этой связи любой информационный поток X-->Y может воздействовать на целостность объекта Y. Если в Y более ценная информация, чем в X, то такой поток при нарушении целостности Y принесет более ощутимый ущерб, чем поток в обратном направлении от более ценного объекта Y к менее ценному X. Байба предложил в качестве политики безопасности для защиты целостности следующее.
Определение. В политике Байба информационный поток X-->Y разрешен тогда и только тогда, когда

Можно показать, что в широком классе систем эта политика эквивалентна следующей.
Определение. Для систем с доступами write и read политика Байба разрешает доступ в следующих случаях:


Очевидно, что для реализации этой политики также подходит мандатный контроль. Точно так же как и раньше при выполнении мандатного контроля доступов read и write возможно нарушение политики Байба с помощью скрытых каналов (информационных потоков более общего типа).
Помимо указанных политик следует назвать класс политик защиты связи, в которых информационный поток, передаваемый от отправителя к получателю, не должен быть перехвачен или искажен при различных допущениях относительно возможностей противника по искажению информационных потоков или по перехвату части передаваемой информации, или наоборот, по попыткам вклиниться в передаваемый информационный поток. Сюда следует отнести ряд стеганографических схем, в которых основная задача создать информационный поток, "невидимый" для наблюдателя, с определенным набором возможностей.
Еще одним примером является ситуация, когда производитель продает пользователю компьютерную систему для обработки данных, при этом производитель встроил программно-аппаратного агента для анализа данных, которые обрабатываются покупателем. Данная система может быть сделана таким образом, что программно-аппаратный агент соответствует уровню High, а легальный вычислительный процесс проходит на уровне Low. Для передачи агентом информации во вне системы необходимо построить скрытый канал между верхним и нижним уровнями с выходом во внешнюю среду (например, в Интернет). Аналогично агент должен получать инструкции с нижнего уровня скрытно, поскольку входные сообщения для легального вычислительного процесса и агента приходят по одному каналу.
Суммируем кратко выводы этого раздела. Для поддержки политики безопасности используются механизмы защиты, препятствующие нарушению политики безопасности. Одним из способов нарушения политики безопасности является создание скрытых информационных потоков, не выявляемых системами защиты. В случае многоуровневой политики скрытые каналы передают информацию с верхних уровней конфиденциальности на нижний уровень так, чтобы механизмы защиты не могли препятствовать нарушению политики защиты конфиденциальности. В политике Biba скрытый канал с нижнего уровня на верхний может передать команду "Троянскому коню" на уничтожение или модификацию информационных ресурсов, целостность которых защищает данная политика.
В связи с этим возникла проблема анализа скрытых каналов всюду, где возникают ограничения на информационные потоки. Любой такой анализ предполагает решение четырех взаимосвязанных задач:
1.Выявление скрытых каналов;
2.Оценка пропускной способности скрытых каналов и оценка опасности, которую несет их скрытое функционирование;
3.Выделение сигнала или получение какой-нибудь информации, передаваемой по скрытым каналам;
4.Противодействие реализации скрытого канала вплоть до его уничтожения.

примеры скрытых каналов

Традиционно скрытые каналы характеризуются как каналы по памяти или каналы по времени. В работе Кемерера определяются скрытые каналы по памяти как такие каналы, в которых информация передается через доступ отправителя на запись и получателя на чтение к одним и тем же ресурсам или объектам. Скрытый канал по времени характеризуется доступом отправителя и получателя к одному и тому же процессу или изменяемому во времени атрибуту.
Как и прежде будем полагать, что система разделена, по крайней мере, на два уровня High и Low и в системе принята многоуровневая политика безопасности, разрешающая информационные потоки снизу вверх (от Low к High) и запрещающая потоки сверху вниз. Нарушитель может использовать скрытый канал для передачи информации от программно-аппаратного агента в среде High к программно-аппаратному агенту в среде Low. При этом скрытый канал должен защищать нарушителя от системы защиты, поддерживающей многоуровневую политику.
Простейшим скрытым каналом по памяти является возможность показа на уровне Low названий директорий и файлов, созданных на уровне High. В данном случае информация может передаваться в именах файлов, которые выбираются в соответствии с заранее условленным кодом, в атрибутах файлов, в которых информация может кодироваться, размерами файлов, датами изменения файлов и т.д. И, наконец, существование файла с данным названием несет бит информации с верхнего уровня на нижний.
Другим примером канала по памяти является кодирование информации в сохраняемых настройках каких-либо ресурсов общего пользования субъектов уровней High и Low. Настройки, проведенные на уровне High, доступны наблюдению на уровне Low и, следовательно, могут нести информацию, выраженную заранее условленным кодом.
Скрытые каналы по времени впервые стали серьезно рассматриваться с 1976 г., когда один из создателей защищенной операционной системы Multics Миллен продемонстрировал своим коллегам скрытый канал по времени, реализованный на изолированных машинах High и Low. Обе машины были подсоединены к некоторым общим ресурсам ROM, других каналов или связей между ними не было. В подсистемах High и Low находились "Троянские кони". На уровне High "Троянский конь" при нажатии букв на клавиатуре модулировал специальным кодом интервалы времен занятости библиотеки ROM. Время занятости библиотеки верхним уровнем сканировалось запросами в библиотеку "Троянским конем" нижнего уровня. Получившийся скрытый канал по времени позволял в реальном времени печатать информацию, получаемую через скрытый канал с клавиатуры подсистемы уровня High.
Рассмотрим еще один пример скрытого канала по времени. Пусть в программно-аппаратной схеме, реализующей интерфейс RS 232 между Low и High, нет передатчика на уровне High и нет приемника на уровне Low. Вместе с тем для передачи байт с нижнего уровня на верхний машина верхнего уровня выставляет сигнал готовности к приему информации. Очередной байт передается только тогда, когда выставлен сигнал готовности приема. Тогда задержка в выставлении сигнала после очередного переданного байта считается таймером на нижнем уровне и может таким образом передавать информацию от программно-аппаратного агента на верхнем уровне к программно-аппаратному агенту на нижнем уровне. Для этого агент на верхнем уровне кодирует сообщение различными по длине интервалами задержки выставления сигнала, а агент на нижнем уровне считывает эти сообщения с помощью таймера.
Скрытый канал передачи информации через Интернет строится с помощью вписывания сообщения вместо последнего бита оцифрованного изображения, которое передается в качестве легального сообщения. Поскольку последний бит мало влияет на качество изображения, передача информации оказывается скрытой от субъекта, ведущего перехват и допускающего передачу только легальных изображений. Хорошо известен метод борьбы с данным методом стеганографии, заключающийся в изменении формата изображения, например, с помощью компрессии. Данный метод уничтожает скрытый канал указанного вида.
Еще одним примером скрытого канала в аналогичной задаче является скрытый канал в TCP/IP протоколе. Поле ISN в TCP-протоколе служит для организации связи клиента с удаленным сервером. Размер этого поля 32 бита. Используя это поле в 5 пакетах, было скрытно передано слово Hello.
Особо следует выделить два примера каналов по времени, использующих возможности изменять длительности занятости в работе центрального процессора. В первом примере отправитель информации меняет время занятости CPU в течение каждого фрагмента времени, выделенного для его работы. Например, для передачи 0 и 1 одна длина промежутка времени кодирует 1, а другая - 0. В другом случае отправитель использует промежутки времени между обращениями к процессору

модели скрытых каналов и их анализ

Модели скрытых каналов используются для разработки методов выявления скрытых каналов или, наоборот, для обоснования невозможности выявить подобные каналы. Традиционный метод выявления скрытых каналов опирается на модель зависимости. Как определялось выше зависимости представляют из себя тройки (T, {S}, G), в которых изменение параметра Т определяется изменением исходных параметров {S}, когда логическое выражение G принимает значение истина.
Пусть в рассмотренном ранее примере скрытого канала при использовании однонаправленного канала RS-232 условие G принимает значение истина, когда при передаче появляется фиксированный байт. В этом случае S есть время задержки выставления сигнала о возможности приема следующего байта. Агент нижнего уровня измеряет время задержки выставления сигнала на таймере Т только тогда, когда передан байт, обращающий логическое выражение G в истину. Поиск данного скрытого канала наблюдателем за временами задержки выставления сигнала значительно сложнее, чем в приведенном ранее примере. Однако статистическими методами сам факт такой передачи можно распознать.
С методом зависимостей тесно связан метод поиска скрытых каналов на основе матрицы разделяемых ресурсов. В этом методе предполагается, что система полностью описывается переменными a, b, c, d, ... Анализ операций ОР1 проводится в матрице следующим образом. Строчки матрицы соответствуют атрибутам разделяемых ресурсов (в нашем примере a, b, c, d, ...). Столбцы матрицы соответствуют операциям системы (ОР1 в нашем примере). Значения в клетках матрицы соответствуют действиям оператора над соответствующим атрибутом. Тогда матрица в нашем примере примет вид.
Разделяемый ресурсОР1
awrite
bread
cread
dread
Данная матрица показывает потенциальные информационные потоки между переменными. Для анализа таких матриц были созданы пакеты прикладных программ.
Следующий вопрос, который возникает в таких задачах, можно ли создать "невидимые" для контролирующего субъекта скрытые каналы. В работе А.Грушо доказано, что если противник знает схему контроля в системе защиты, то при выполнении определенных условий возможно построение невидимого для системы защиты срытого канала управления программно-аппаратным агентом в компьютерной среде. При этом "невидимость" понимается в абсолютном смысле, то есть доказывается невозможность выявления такого канала любыми методами и средствами. Аналогично в работе А.Грушо при условии знания противником системы защиты доказывается возможность построения "невидимого" скрытого канала при общении программно-аппаратных агентов в открытой среде между собой. Полученные в этой работе результаты также носят абсолютный характер, то есть доказывается, что скрытый канал невозможно выявить любыми методами и средствами.
При использовании метода зависимостей следует отметить следующее:

  • Предложенный аппарат и некоторые его реализации (например, метод матриц разделяемых ресурсов (SRM) является конструктивным инструментом поиска скрытых каналов;
  • Не все скрытые каналы могут быть описаны с помощью данного метода.

В частности, существуют скрытые статистические каналы, которые не выявляются с помощью метода выявления зависимостей. Например, если Т и S связаны между собой статистической зависимостью, то метод зависимостей может не выявить детерминированную связь между этими параметрами. Пусть в рассмотренном ранее примере скрытого канала при однонаправленном интерфейсе RS-232 условие G по-прежнему соответствует появлению в передаче фиксированного байта. В случаях, когда G истина, агент на уровне High генерирует случайную величину с распределением Р1, если он хочет передать вниз единицу. Если агент хочет передать ноль или не передает сообщение вообще, то задержка выставления сигнала происходит в соответствии с распределением Р0. Агент нижнего уровня накапливает средние значения времен задержки только при передаче указанного выше байта. Идентификация единицы или нуля производится агентом нижнего уровня с помощью статистического критерия. При этом контролирующий субъект, наблюдающий за задержками выставляемого сигнала на верхнем уровне, не знает при каком байте происходит изменение распределения времени задержки. Поэтому возможности выявления данного канала контролирующим субъектом значительно ниже возможности агента нижнего уровня распознать передаваемый сигнал. Одной из важнейших задач анализа скрытых каналов является оценка их пропускной способности. Пропускная способность скрытых каналов вычисляется методами теории информации. Часто пропускная способность скрытых каналов измеряется отношением количества скрытно переданной информации к количеству информации в легальном маскирующем скрытую передачу процессе или контейнере. Например в обычном цифровом изображении, содержащем 2,5 мегабит информации, манипуляцией последнего бита безопасно можно передать только 100 бит скрытого сообщения. С другой стороны, скрытый канал потайного копирования интересующего файла на дискету обладает пропускной способностью, равной объему копируемого файла.
В силу того, что скрытые каналы обладают, как правило, небольшой пропускной способностью, может сложиться мнение, что они не представляют опасности. Часто в таких случаях устанавливается порог на пропускную способность, ниже которого канал считается не опасным. Однако не следует забывать, что оценки пропускной способности, носят асимптотический характер и подход, связанный с ограничением пропускной способности, может оказаться неэффективным в реальных приложениях.

борьба со скрытыми каналами

Перехват информации, передаваемой по скрытым каналам, представляет большую сложность. Кажется, что здесь возникают только технологические сложности, связанные с регистрацией и анализом быстро протекающих процессов в компьютерных системах. Вместе с тем доказано, что возможно создание производителем закладок в аппаратных системах, которые могут общаться между собой "невидимо" для большинства средств защиты.
В случае использования методов стеганографии решение задачи выделения скрытых сообщений представляется более оптимистичным. Примером успешного выявления стеганографических вставок является использование скрытого канала в поле ISN протокола TCP, упоминавшегося выше.
Наиболее эффективным способом борьбы со скрытыми каналами является их уничтожение. Например, в приведенных выше примерах скрытых каналов спуска информации при использовании интерфейса RS-232 встраивание между уровнями High и Low устройства, транслирующего байты и рандомизирующего задержку выставления сигнала на верхнем уровне, видимую на нижнем уровне, позволяет полностью уничтожить любой детерминированный скрытый канал по времени и существенно испортить скрытый статистический канал. Аналогичные методы успешно используются для защиты от скрытых каналов при скрытой передаче информации через открытые системы.
К тематике скрытых информационных потоков близко подходит проблема "скрытого влияния". Для пояснения проблемы остановимся на скрытых каналах, которые физически не существуют. Для объяснения этой парадоксальной ситуации рассмотрим двухуровневую систему, в которой уровень High соответствует аналитической подсистеме, вырабатывающей варианты некоторого решения. Уровень Low соответствует подсистеме сбора информации из открытых источников и открытых сетей. Пусть подсистемы Low и High связаны однонаправленным каналом от Low к High, который позволяет реплицировать на верхнем уровне собранные на нижнем уровне данные. Пусть объект Y принадлежит уровню High, а объект X принадлежит уровню Low. Пусть совместное распределение состояний (х, у) объектов Y и Х не равно произведению индуцированных вероятностей РX(х) и РY(у). Тогда, как было отмечено ранее, согласно математической теории связи, от Х к Y существует информационный поток, который измеряется средней взаимной информацией I(X, Y). Но тогда точно такой же информационный поток существует от Y к Х, измеряемый той же величиной. В случае однонаправленного канала такая симметрия имеет очень простую интерпретацию. На нижнем уровне, реплицируя объект Х на верхний уровень, известно, что на верхнем уровне существует объект Y в точности с тем же состоянием, что и Х. Если какой-то объект Z связан с объектом Y на верхнем уровне, и известно, что существует объект с данным видом связи, то естественно возникает информационный поток между Х и Z. Причем этот информационный поток также симметричен, что означает возможность получения некоторой информации об объекте верхнего уровня, не имея физического канала от Z к Х. Для того, чтобы лучше понять суть таких каналов, представим себе, что на верхнем уровне секретное решение принимается с помощью некоторого известного алгоритма только на основании информации, реплицированной с нижнего уровня. Зная это противник на нижнем уровне может из той же информации с помощью того же алгоритма получить точно такое же решение. Для офицера информационной безопасности это значит, что секретная информация верхнего уровня стала известна на нижнем уровне, что можно интерпретировать как существование некоторого скрытого канала, передающего информацию с верхнего уровня на нижний и несанкционированно снижающего гриф информации. Сам факт существования этого канала определяется симметрией информационного потока от объектов нижнего уровня на верхний. В общем случае те же рассуждения приводят нас к тому, что на нижнем уровне становятся известными некоторые вероятностные характеристики решения, принимаемого на верхнем уровне. Таким образом интерпретируется парадоксальный факт существования скрытого канала с верхнего уровня на нижний, хотя физически этот канал не существует. Из указанного примера следует два важных вывода. Первый вывод состоит в том, что многоуровневая политика не является гарантией безопасности, так как секретная информация верхнего уровня может стать известной на нижнем уровне независимо от способа реализации многоуровневой политики. Второй вывод состоит в том, что наиболее общая вероятностная трактовка информационного потока не позволяет просто разделить множество информационных потоков на разрешенные и не разрешенные.

Елена Тимонина, доцент кафедры математической и программной защиты информации факультета защиты информации РГГУ.

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

Впервые понятие скрытого канала введено автором B. W. Lampson в работе «A Note on the Confinement Problem»: скрытый канал - это канал связи (коммуникационный канал), изначально не предназначенный для передачи информации, нарушающий установленную политику безопасности информации .

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

Contents

Определение скрытого канала через информационные потоки

Допустим, пользователь П1 записал информацию И в документ Д, а пользователь П2 ее прочитал. Таким образом, согласно имеется два информационных потока: информационный поток от П1 к Д, созданный при помощи операции записи и информационный поток от Д к П2, созданный при помощи операции чтения. Информационные потоки в системе разделяют на два непересекающихся подмножества: разрешенные и неразрешенные. Таким образом, политика безопасности информации должна содействовать реализации разрешенных потоков и ограничивать реализацию неразрешенных потоков. Тогда под скрытым каналом понимается запрещенный информационный поток, не выявляемый системой защиты [Т02] .

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

Схема механизма функционирования скрытого канала в автоматизированной системе

На рисунке представлена схема механизма функционирования скрытого канала в автоматизированной системе, описанная в [ГОСТ Р 53113.2-2009] , где цифрами обозначены:

  • элемент 1 - нарушитель безопасности (злоумышленник), целью которого является НСД к информации ограниченного доступа либо несанкционированное влияние на АС;
  • элемент 2 - информация ограниченного доступа либо критически важная функция;
  • элемент 3 - субъект, имеющий санкционированный доступ к 2 и 5;
  • элемент 3’ - агент нарушителя безопасности, находящийся в замкнутом контуре с 2 и взаимодействующий с 2 от имени субъекта 3;
  • элемент 4 - инспектор (программное, программно-аппаратное, аппаратное средство или лицо), контролирующий информационное взаимодействие 3, пересекающее замкнутый контур, отделяющий объект информатизации от внешней среды;
  • элемент 5 - субъект, находящийся вне замкнутого контура, с которым 3 осуществляет санкционированное информационное взаимодействие.

Схема механизма функционирования скрытого канала в автоматизированной системе

Систематизация скрытых каналов

Скрытые каналы по механизму передачи информации делятся на:

  • скрытые каналы по памяти;
  • скрытые каналы по времени;
  • скрытые статистические каналы.

Скрытые каналы по памяти

Скрытые каналы по памяти основаны на наличии памяти, в которую передающий субъект записывает информацию, а принимающий - считывает ее [ГОСТ Р 53113.1-2008] . Совокупность всех видимых нарушителю объектов называют видимым пространством наблюдателя [М08] . Тогда скрытые каналы по памяти предполагают внесение изменений в видимое пространство наблюдателя, поэтому передаваемую информацию можно считать пространственной.

Например, известен следующий скрытый канал по времени [Т02] : две ЭВМ подсоединены к общему ресурсу ПЗУ, при этом другие связи между данными машинами отсутствуют. На обе ЭВМ установлены закладки. Закладка на одной ЭВМ при нажатии клавиш клавиатуры модулирует времена занятости библиотеки ПЗУ, в то время как закладка на другой сканирует время занятости библиотеки запросами к ней. При помощи модуляции интервалов библиотеки ПЗУ можно передавать информацию, формируя скрытый канал по времени.

Аналогично, можно использовать время занятости центрального процессора [Т02] . Таким образом, одна длина промежутка времени занятости кодируется нулем, другая - единицей. Также, могут использоваться промежутки времени между обращениями к центральному процессору.

Также скрытые каналы по памяти и по времени можно разделить по принципу того, что фиксирует внешний нарушитель [М08] :

  • если он фиксирует какое-то значение, то канал можно описать как параметрический, данные скрытые каналы в [ГОСТ Р 53113.1-2008] назвали скрытыми каналами по памяти;
  • если он фиксирует какое-то событие, то канал можно описать как событийный, данные скрытые каналы в [ГОСТ Р 53113.1-2008] назвали скрытыми каналами по времени.

Скрытый статистический канал

Скрытый статистический канал использует для передачи информации изменение параметров распределений вероятностей любых характеристик системы, которые могут рассматриваться как случайные и описываться вероятностно-статистическими моделями [ГОСТ Р 53113.1-2008] .

Классификация скрытых каналов по характеристикам информационного потока

Также можно классифицировать скрытые каналы по характеристикам информационного потока. По данному принципу скрытые каналы разделяют на прямые и не прямые [М08] :

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

Например, в системе из двух ЭВМ и ПЗУ, описанной выше, создается непрямой скрытый канал, так как имеют место два информационных потока - от одной ЭВМ к ПЗУ и от ПЗУ ко второй ЭВМ.

Классификация каналов по пропускной способности

По наличию ошибок скрытые каналы разделяют на каналы с шумом и без шума [АрКо13] :

  • скрытые каналы без шума;
  • скрытые каналы с шумом.

Первый тип каналов это каналы без ошибок, то есть вероятность верного распознавания отправленного символа равна единице; для таких каналов I(X,Y)=I(X) , где I - средняя взаимная информация, X - случайная величина, описывающая входные характеристики канала, Y - случайная величина, описывающая выходные характеристики канала.

Второй тип каналов это каналы с ошибками. Например, существуют так называемые Z-каналы [ЕпКо12] .

Это бинарные скрытые каналы, в которых «0» передается верно с вероятностью, равной единице, а «1» передается с вероятностью p < 1, q = 1 – p .

Схема передачи информации по Z-каналу

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

Скрытые каналы в IP-сетях

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

На первом этапе инициирующая TCP -соединение сторона А устанавливает флаг SYN и выбирает произвольное 32-битное значение ISN , обозначим ISNa, содержащееся в поле SEQ. На данном этапе флаг ACK установлен в ноль и значение поля ACK не проверяется.

На втором этапе, если сторона В согласна установить соединение, то она отправляет дейтаграмму с установленным флагом ACK и значением ISN , равным (ISNa+1), содержащемся в поле ACK . Также В устанавливает флаг SYN и записывает ISNb в поле SEQ.

На третьем этапе А, получив подтверждение, устанавливает ACK и передает дейтаграмму, где в поле ACK содержится значение (ISNb+1). После установления соединения дейтаграммы передаются с флагами SYN , равным нулю и ACK , равным единице.

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

Другой пример связан с полями заголовка пакета . В нем есть шестнадцатибитное поле , генерируемое операционной системой случайным образом и используемое для идентификации пакета , то есть, для сборки пакета в случае его фрагментации. Каждый фрагмент получает одинаковый идентификатор. Если нет фрагментации, то значение поля равно нулю. Строгих правил, определяющих политику генерации идентификатора, в спецификации протокола нет. Это также дает возможности по созданию скрытого канала, модифицируя поле [С07] . Однако полезной информацией будет занято не все 16 бит, так как несколько бит выделяется для определения того, содержит ли данный пакет скрытую информацию путем вычисления контрольной суммы от оставшихся бит. Также часть битов используется для нумерации пакетов , так как порядок следования -пакетов в общем случае не совпадает с порядком их отправки. Для не обнаруживаемости скрытого канала необходимо, чтобы значение поля было уникальным и выглядело случайным.

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

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

Представленные выше скрытые каналы попадают в первую категорию.

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

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

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

Скрытые каналы, основанные на модификации данных в теле передаваемых пакетов

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

Скрытые каналы, основанные на изменении длин передаваемых пакетов

Чтобы создать подобные скрытые каналы, нарушителю необходимо иметь одну или несколько из следующих возможностей [М12] :

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

Ниже приведена одна из возможных моделей скрытого канала по памяти, основанного на изменении длин передаваемых пакетов , предлагаемая авторами .

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

Шаги два и три гарантируют, что распределение длин передаваемых пакетов схоже с распределением длин пакетов при отсутствии скрытого канала. Для усложнения обнаружения скрытого канала А периодически отправляет В избыточные пакеты необходимых длин.

Замечания:

Время передачи сообщения по данному каналу T рассчитывается по формуле:

где T - время передачи сообщения, S - время, используемое программным обеспечением в зависимости от размера сообщения, B - размер передаваемого сообщения, N - добавочный размер за счет используемого сетевого протокола , V - скорость передачи данных по сети.

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

  • 2 Устранение скрытых каналов
  • 3 Скрытие данных в модели OSI
  • 4 Скрытие данных в среде ЛВС
  • 5 Скрытие данных в пакете протоколов TCP/IP
  • Примечания

    Введение

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

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

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

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


    1.1. Стандарт TCSEC

    TCSEC - это набор стандартов, установленных Министерством обороны США.

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

    В Критериях определяют два вида скрытых каналов:

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

    Критерии, также известные как Оранжевая книга, требуют, чтобы анализ скрытых каналов памяти был классифицирован как требование для системы класса B2, а анализ скрытых каналов времени как требование для класса B3.


    2. Устранение скрытых каналов

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

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

    Похожим случаем является технология «port knocking». Обычно при передаче информации распределение запросов во времени не важно, и за ним не наблюдают, но при использовании «port knocking» оно становится существенным.


    3. Скрытие данных в модели OSI

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

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

    Их работа определяет ценность скрытого канала по следующим параметрам:

    • Обнаружимость: Только у получателя, для которого предназначена передача, должна быть возможность производить измерения скрытого канала.
    • Неотличимость: Скрытый канал должен быть неидентифицируем.
    • Полоса пропускания: Количество битов скрытых данных за каждое использование канала.

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


    4. Скрытие данных в среде ЛВС

    Первым, кто проанализировал скрытые каналы в среде локальных сетей, был Гирлинг. Его работа фокусируется на локальных вычислительных сетях (ЛВС), в которых определяются три очевидных скрытых канала - два по памяти и один по времени. Это показывает реальные примеры возможных полос пропускания для простых скрытых каналов в ЛАС. Для особой среды ЛАС, автор ввёл понятие перехватчика, который наблюдает за действиями определённого передатчика в ЛВС. Стороны, осуществляющие скрытую передачу, - это передатчик и перехватчик. Скрытая информация, согласно Гирлингу, может быть передана любым из следующих способов:

    • Наблюдение за адресами, к которым обращается передатчик. Если количество адресов, к которым он может обращаться, равно 16, то существует возможность секретной передачи с размером секретного сообщения 4 бита. Автор отнёс эту возможность к скрытым каналам памяти, так как она зависит от посылаемого содержимого.
    • Другой очевидный скрытый канал полагается на размер кадра, посланного передатчиком. Если существует 256 различных размеров кадра, то количество секретной информации, полученной при расшифровке одного размера кадра, будет 8 бит. Этот канал также был отнесён автором к скрытым каналам памяти.
    • Третий, временной, способ полагается на разность между временами передачи. К примеру, нечётная разность будет означать «0», а чётная - «1». Время, необходимое для передачи блок данных, рассчитывается как функция от программной вычислительной скорости, скорости сети, размеров сетевого блока и затрат времени протокола. В предположении, что в ЛВС передаются блоки различных размеров, вычисляются средние программные затраты времени и также оценивается полоса пропускания скрытых каналов.

    5. Скрытие данных в пакете протоколов TCP/IP

    Более конкретный подход был предпринят Роулэндом. Сосредотачиваясь на IP и TCP заголовках пакета протоколов TCP/IP, Роулэнд выводит правильные методы кодирования и декодирования с использованием поля идентификации IP и TCP-поля начального номера последовательности и номера последовательности подтверждения. Эти методы реализованы в простом приложении, написанном для Linux-систем, работающих на ядре версии 2.0. Роулэнд просто доказывает саму идею существования скрытых каналов в TCP/IP, а также их использования. Соотственно, его работу можно оценивать как практический прорыв в этой сфере. Принятые им методы кодирования и декодирования более прагматичны по сравнению с ранее предложенными работами. Эти методы проанализированы с учётом механизмов безопасности, таких как преобразование сетевых адресов брандмауэром.

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