Скрытые каналы передачи информации. Скрытые каналы передачи данных

07.08.2019

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

В первую очередь нужно определить что такое стеганография. Так вот, стеганография - это наука о скрытой передаче сообщений. То есть используя ее методы стороны пытаются скрыть сам факт передачи . В этом и состоит отличие этой науки от криптографии, которая пытается сделать недоступным для прочтения содержание сообщения . Стоит отметить, что профессиональное сообщество криптографов достаточно презрительно относится к стеганографии в силу близости ее идеологии к принципу «Security through obscurity» (не знаю как это правильно звучит по-русски, что-то вроде «Безопасность через незнание»). Этим принципом, к примеру, пользуются в компании Skype Inc. - исходный код популярной звонилки закрыт и никто толком не знает как именно осуществляется шифрование данных. Недавно, кстати, об этом сетовали в NSA, о чем известный специалист Брюс Шнайер написал у себя в блоге.

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

Тут мы вплотную подошли к Transmission Control Protocol (TCP). Объяснять все его детали, разумеетется, не имеет смысла - длинно, скучно, те кому надо и так знают. Вкратце же можно сказать, что TCP - это протокол транспортного уровня (т.е. работает «над» IP и «под» протоколами уровня приложений, к примеру HTTP, FTP или SMTP), который обеспечивает надежную доставку данных от отправителя к получателю. Надежная доставка означает, что если какой-то пакет потерялся или пришел с изменениями, то TCP позаботится о том, чтобы переслать этот пакет. Отметим, что под изменениями в пакете тут подразумевается не умышленное искажение данных, а ошибки в передаче возникающие на физическом уровне. К примеру, пока пакет шел по медным проводам пару бит поменяли свое значение на противоположное или вообще затерялись среди шума (кстати для Ethernet значение Bit Error Rate обычно принимают равным порядка 10 -8). Потеря пакетов в пути также относительно частое явление в интернете. Происходить она может, к примеру, из-за загруженности маршрутизаторов, которая приводит к переполнения буферов и как следствие отбросу всех вновь прибывающих пакетов. Обычно доля потерянных пакетов составляет около 0.1%, а при значении в пару процентов TCP вообще перестает нормально работать - у пользователя все будет жутко тормозить.

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

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

480 руб. | 150 грн. | 7,5 долл. ", MOUSEOFF, FGCOLOR, "#FFFFCC",BGCOLOR, "#393939");" onMouseOut="return nd();"> Диссертация - 480 руб., доставка 10 минут , круглосуточно, без выходных и праздников

Когос Константин Григорьевич. Метод противодействия утечке информации по скрытым каналам, основанным на изменении длин передаваемых пакетов: диссертация... кандидата технических наук: 05.13.19 / Когос Константин Григорьевич;[Место защиты: Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский ядерный университет "МИФИ"].- Москва, 2015.- 116 с.

Введение

1 Исследование способов построения и противодействия утечке информации по скрытым каналам в сетях пакетной передачи данных 11

1.1 Подходы к определению скрытых каналов 11

1.2 Скрытые каналы в сетях пакетной передачи данных 19

1.3 Противодействие утечке информации по скрытым каналам

1.3.1 Идентификация скрытых каналов 24

1.3.2 Анализ скрытых каналов 30

1.3.3 Ограничение пропускной способности и подавление скрытых каналов 33

1.3.4 Обнаружение скрытых каналов 37

1.3.5 Противодействие утечке информации по сетевым скрытым каналам 39

1.4 Выводы 41

2 Методика анализа и оценки пропускной способности скрытых каналов при введении методов ограничения пропускной способности 43

2.1 Оценка максимальной пропускной способности скрытого канала при поточном шифровании трафика 43

2.2 Оценка максимальной пропускной способности скрытого канала при блочном шифровании трафика 47

2.3 Методика анализа и оценки пропускной способности скрытых каналов в условиях противодействия 51

2.4 Выводы 57

3 Метод ограничения пропускной способности скрытых каналов путем увеличения длин передаваемых пакетов 58

3.1 Способ противодействия утечке информации путем случайного увеличения длин передаваемых пакетов 58

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

3.3 Построение скрытого канала, при котором длины передаваемых пакетов принимают равномерно распределенные значения 62

3.4 Оценка пропускной способности скрытого канала, при котором длины передаваемых пакетов принимают равномерно распределенные значения 67

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

3.6 Выводы 70

4 Метод ограничения пропускной способности скрытых каналов путем генерации фиктивного трафика 71

4.1 Способ противодействия утечке информации путем генерации фиктивного трафика 71

4.2 Оценка пропускной способности скрытого канала при детерминированной генерации фиктивного трафика 73

4.3 Оценка пропускной способности скрытого канала при случайной генерации фиктивного трафика 79

4.4 Выводы 86

5 Применение разработанных методов ограничения пропускной способности скрытых каналов 87

5.3 Внедрение результатов диссертационной работы 95

5.4 Выводы 97

Заключение 98

Список сокращений и условных обозначений 100

Список литературы 101

Введение к работе

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

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

Необходимость создания и постоянного совершенствования способов противодействия утечке информации по так называемым скрытым каналам обусловлена и тем, что такие каналы могут быть построены в условиях применения традиционных способов сетевой защиты, заключающихся в межсетевом экранировании, туннелировании трафика и др. Исследования показывают, что данная угроза сохраняется даже при передаче информации в зашифрованном виде. Согласно отечественному стандарту ГОСТ Р 53113.2-2009, информация, связанная с размерами пакетов и временными интервалами между их появлением, может быть использована для организации скрытого канала в условиях туннелирования и шифрования трафика. Вопросами анализа скрытых каналов занимаются такие отечественные и зарубежные ученые, как Аникеев М.В., Грушо А.А., Матвеев С.В., Тимонина Е.Е., Зандер С., Кабук С., Кеммерер Р.А., Лэмпсон Б.В., Миллен Ж.К. и другие.

Значимость диссертационной работы подтверждена Перечнем приоритетных проблем научных исследований в области обеспечения информационной безопасности Российской Федерации (пункты 45, 48, 74), наличием в стандарте ГОСТ Р ИСО/МЭК 15408-2-2013 класса функциональных требований, касающихся ограничения и подавления скрытых каналов, а также регламентируемым ГОСТ Р 53113 подходом к противодействию утечке информации по скрытым каналам.

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

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

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

В силу отмеченных причин, в соответствии с ГОСТ Р 53113.1-2008, в случаях, когда регулирующие органы или собственник информации допускают возможность утечки некоторых объемов данных, рекомендуется использовать методы ограничения пропускной способности скрытых каналов. Такие методы применимы, если пропускная способность скрытого канала может быть ограничена до величины, меньшей установленного допустимого значения. Целесообразность использования указанных методов подтверждена данными компании IBM, согласно которым допустимо функционирование скрытых каналов с пропускной способностью до 0,1 бит/с, но в некоторых случаях возможно наличие потенциальных скрытых каналов с пропускной способностью до 100 бит/с. Применение рассмотренных методов на практике, в отличие от методов подавления скрытых каналов, позволяет обеспечивать высокую эффективную пропускную способность канала связи, гибко управлять эксплуатационными и стоимостными характеристиками телекоммуникационных систем. Данный подход позволяет гарантированно ограничить пропускную способность широкого класса скрытых каналов, независимо от способа их организации. Для построения таких методов необходимо получить и исследовать оценки пропускной способности скрытых каналов, функционирующих в условиях отсутствия и применения средств противодействия.

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

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

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

В соответствии с поставленной целью в диссертационной работе решаются следующие задачи:

анализ существующих способов построения скрытых каналов в сетях пакетной передачи данных и способов противодействия им;

разработка методики анализа и оценки пропускной способности скрытых каналов при применении методов противодействия;

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

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

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

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

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

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

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

Теоретическую значимость представляют:

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

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

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

Практическую значимость представляют:

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

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

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

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

Внедрение результатов исследований. Практическая значимость результатов

диссертации подтверждена тремя актами о внедрении. Разработанные автором методы противодействия утечке информации по скрытым каналам внедрены в деятельность ЗАО «Голлард» по модернизации программного комплекса «Сито», предназначенного для

подавления функционирования скрытых логических каналов. Результаты диссертационной работы внедрены также в научно-исследовательские и опытно-конструкторские работы, выполняемые ООО «Защита информации». Теоретические результаты диссертации внедрены в образовательный процесс кафедры «Криптология и дискретная математика» НИЯУ МИФИ в рамках учебного курса «Криптографические протоколы и стандарты».

Публикации и апробация работы. Результаты диссертационной работы изложены в 15 опубликованных и приравненных к ним работах, в том числе в пяти научных статьях в изданиях, включенных в Перечень ведущих рецензируемых научных журналов, четырех научных статьях в журналах, индексируемых международной системой научного цитирования Scopus, из них одна в журнале, индексируемом международной системой научного цитирования Web of Science, также имеются два свидетельства о государственной регистрации программ для ЭВМ. Результаты работы докладывались на конференциях и семинарах различного уровня, в том числе на:

23-й и 24-й научно-технических конференциях «Методы и технические средства обеспечения безопасности информации» (Санкт-Петербург, 2014, 2015 гг.);

ХХII Всероссийской научно-практической конференции «Проблемы информационной безопасности в системе высшей школы» (Москва, 2015 г.);

научно-практическом семинаре в Центре специальных разработок Министерства обороны Российской Федерации (Москва, 2015 г.);

14-й Всероссийской конференции «Сибирская научная школа-семинар с международным участием «Компьютерная безопасность и криптография» SIBECRYPT’15 (Новосибирск, 2015 г.);

The International Conference on Open and Big Data OBD 2015 (Рим, Италия, 2015 г.);

The 5 th International Conference on IT Convergence and Security ICITCS 2015 (Куала Лумпур, Малайзия, 2015 г.);

The 2 nd Workshop on Emerging Aspects in Information Security EAIS’15 (Лодзь, Польша, 2015 г.);

The 8 th International Conference on Security of Information and Networks SIN 2015 (Сочи, 2015 г.).

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

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

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

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

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

Структура и объем работы. Диссертация состоит из введения, пяти разделов, заключения, списка литературы, включающего 148 наименований, и двух приложений. Диссертация изложена на 114 страницах с 27 рисунками и 12 таблицами, не включая приложения.

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

Схема непрямого скрытого канала по памяти Данные могут также быть скрыты в заполнении кадра или пакета незначащей информацией, если длина кадра или пакета должна быть не меньше определенного значения. Например, такая скрытая передача данных возможна в случае использования протокола Ethernet, в котором кадры должны быть заполнены до минимальной длины 60 байт. Если условия использования протокола не предусматривают конкретные значения для байтов заполнения, то могут быть использованы любые данные . Аналогичным образом, скрытая передача информации может быть организована для протоколов IPv4, IPv6 и TCP .

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

Скрытые статистические каналы детально проанализированы авторами . Примером скрытого статистического канала может являться передача некоторого маловероятного пакета в заранее заданный злоумышленником интервал времени.

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

временного интервала, где г - количество различных скоростей передачи пакетов. Бинарный скрытый канал по скорости передачи пакетов исследован авторами .

Впервые использовать длины межпакетных интервалов для организации скрытых каналов было предложено в . Авторами предложена технология JitterBug для построения бинарных скрытых каналов, основанных на изменении длин межпакетных интервалов. Другая схема скрытой передачи информации с использованием длин межпакетных интервалов исследована в . Авторами даны рекомендации по выбору значений параметров кодирования, при которых пропускная способность скрытого канала принимает наибольшее значение. В предложен скрытый канал, основанный на изменении длин межпакетных интервалов, вероятность обнаружения которого приблизительно равна 9%, вероятность ошибки второго рода не превышает 0,5%.

Авторами предложено переупорядочивание последовательности пакетов, подлежащих отправке, на стороне отправителя для построения скрытого канала. Так как существует п! способов переупорядочить п пакетов, то пропускная способность такого канала равна (log2 п!) / п бит на пакет.

В скрытом канале, описанном автором , отправитель посылает большое количество запросов на сервер, чтобы передать «1», либо бездействует, чтобы передать «0». Получатель по истечении каждого временного интервала посылает запросы на сервер и измеряет время ответного сигнала для восстановления переданной информации.

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

Впервые изменять длину кадров канального уровня для скрытой передачи информации предложено авторами : отправителю и получателю известно правило, согласно которому каждому байту скрытого сообщения соответствует определенная длина кадра. Таким образом, требуется 256 различных длин кадров для описания всевозможных значений байтов передаваемого сообщения. Таким скрытые каналы требуют особого внимания, так как далее показано, что их пропускная способность может превышать 1% и 0,1% пропускной способности канала связи при использовании протокола сетевого уровня IPv4 и IPv6 соответственно.

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

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

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

Оценка максимальной пропускной способности скрытого канала при блочном шифровании трафика

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

При использовании поточных алгоритмов шифрования длина сообщения не изменяется, поэтому для исследования выбран скрытый канал, построенный следующим образом. Пусть длины пакетов принимают значения на множестве Nt +L \Nj ч, фикс, LGN. Тогда наибольшую пропускную способность имеет скрытый канал, в котором для передачи символа «/ » отправитель посылает пакет длины 1фикс+К г є „-і U{0}, neN - параметр скрытого канала, Nx - множество натуральных чисел от 1 до х. Для оценки пропускной способности скрытого канала v здесь и далее выбран метод, основанный на оценке взаимной информации случайных величин X, 7, описывающих входные и выходные характеристики скрытого канала соответственно: H(Y\X) = - Y, P«U) E A««(/Wlo82A«(/ b) условная энтропия случайной величины 7 относительно случайной величины X, pex(i) - вероятность отправки символа «/ », Реьа(і) - вероятность распознавания получателем символа «/ », рвЬа(і\І) - условная вероятность распознавания получателем символа «/ » при отправке символа «/ ».

При равновероятном выборе передаваемых по скрытому каналу символов энтропия случайной величины 7 определяется значением параметра скрытого канала п и равна

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

Для нахождения значения параметра скрытого канала п как функции от параметра метода противодействия а, при котором выражение принимает наибольшее значение, предлагается перейти от дискретной переменной п к непрерывной переменной n, определенной на полуинтервале ll,+oo). Функция от переменной n определена и непрерывна на данном множестве, что позволяет найти экстремум путем дифференцирования данной функции. Производная от функции v ; по переменной n определяется следующим

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

Как правило, lфикс определяет сумму длин заголовков сетевого и канального уровней модели взаимодействия открытых систем. Так, например, при использовании IPv4 в качестве протокола сетевого уровня сумма длин заголовков сетевого и канального уровней принимает значение не менее 34 байт, если технология канального уровня - Ethernet. Аналогичная величина при использовании протокола IPv6 равна 54 байтам. Тогда, как видно из таблицы 8, при поточном шифровании трафика при использовании протокола IPv4 пропускная способность скрытого канала максимальна при и=138 и достигает примерно 0,021/?, при использовании протокола IPv6 пропускная способность скрытого канала максимальна при п=201 и достигает примерно 0,014/?, где /? - пропускная способность канала связи. Таблица 8 - Пропускная способность скрытых каналов при поточном шифровании трафика

Данные результаты подтверждают актуальность исследования методов противодействия утечке информации по скрытым каналам, так как показывают, что при пропускной способности канала связи 1 Гбит/с может быть построен скрытый канал с пропускной способностью более 10 Мбит/с.

При блочном шифровании данных открытый текст разбивается на блоки одинакового размера, определяемого алгоритмом шифрования, которые зашифровываются независимо с помощью подстановки шифра. Расшифрование происходит аналогично. Таким образом, если 1Ш - длина блока, то открытый текст перед началом зашифрования должен иметь длину, кратную 1Ш. Способы дополнения открытого текста до необходимой длины описаны, например, в . Поскольку новый отечественный стандарт на алгоритм шифрования является симметричным блочным шифром с размерами блоков 64 и 128 бит, то полученные далее результаты применимы и в случае шифрования канала связи с использованием указанного алгоритма. Если открытый текст имеет длину /0, то после зашифрования длина шифрованного

Так как при таком способе построения скрытого канала увеличение длин пакетов до значений, кратных 1Ш, не приводит к ошибкам, то H(Y\X) = 0. Очевидно, при росте значения п увеличивается как средняя длина передаваемых пакетов, так и количество битов, которое несет передача одного пакета по скрытому каналу. Тогда среднее время т передачи пакета определяется выражением:

Построение скрытого канала, при котором длины передаваемых пакетов принимают равномерно распределенные значения

По рассуждениям, приведенным выше, выражение / (&) принимает наибольшее значение при выборе параметра Ь, равным единице. При таком выборе значения параметра скрытого канала Ъ скрытый канал построен следующим образом: для передачи символа «/ » отправитель посылает пакет длины 1фиКс+К /є-Л U{0}, п - параметр скрытого канала. В

данном случае введение противодействия приводит к возникновению ошибок, причем вероятность верного распознавания получателем переданного символа равна. а + \ При таком выборе значения параметра скрытого канала Ъ условные вероятности распознавания получателем переданного символа принимают следующие значения:

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

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

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

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

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

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

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

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

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

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

Оценка пропускной способности скрытого канала при случайной генерации фиктивного трафика

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

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

Рассмотрим метод противодействия утечке информации по скрытым каналам, основанным на изменении длин передаваемых пакетов, путем их увеличения случайным образом, предложенный в третьем разделе диссертации. Обобщая полученные зависимости, получаем три случая, для которых определена пропускная способность скрытых каналов в условиях противодействия: - для канала, имеющего наибольшую пропускную способность при введении противодействия (K1): - для канала, имеющего наибольшую пропускную способность при введении противодействия и условии, что длины передаваемых пакетов принимают равномерно распределенные значения (K2): (2L+a-l - для канала, имеющего наибольшую пропускную способность при введении противодействии, и условиях, что длины передаваемых пакетов принимают равномерно распределенные значения и уровень ошибок не превышает заданного значения (K3): +

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

В некоторых приложениях представляет интерес случай, когда длины передаваемых пакетов принимают значения на заданном множестве. Пусть при построении скрытого канала длины передаваемых пакетов равномерно распределены на множестве N,_, \N, _,. В 1фшс+- 1 условиях противодействия скрытый канал следует организовать следующим образом: для передачи символа «/ » отправитель посылает пакет длины /єЖ, Z GJV, U{0), где Wt =Nt +(;+1fe_1 \ Nj +й_1, b - параметр скрытого канала, bL. Из результатов, полученных в третьем разделе диссертации, следует, что пропускная способность v скрытого канала, построенного таким образом, максимальна при Ъ=1 и определяется следующим выражением: Пусть задано значение допустимой пропускной способности скрытого канала, такое что функционирование скрытых каналов с меньшей пропускной способностью считается неопасным. Пусть сс0 - значение параметра а, при котором выполнено равенство: Отсюда следует, что выполнено равенство: - = -Ыфикс+Ь-1 + а0). (98) После преобразования получаем: v0(a0+l)ln2 VoK27 n2 v Zln2

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

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

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

Появился термин «скрытый канал» (covert channel). Впервые понятие скрытого канала было введено в работе Лэмпсона в 1973 году. Канал называется скрытым, если он не проектировался, не предполагался для передачи информации в электронной системе обработки данных. Таким образом, термин скрытые каналы больше относится к внутрикомпьютерным телекоммуникациям.

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

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

Основное поле для использования скрытых каналов это локальные сети, имеющие доступ в Интернет.

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

Традиционно скрытые каналы характеризуются как каналы по памяти или каналы по времени/

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

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

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

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

Скрытые каналы по времени впервые стали серьезно рассматриваться с 1976 г., когда один из создателей защищенной операционной системы Multics Миллен продемонстрировал своим коллегам скрытый канал по времени, реализованный на изолированных машинах High и Low. Обе машины были подсоединены к некоторым общим ресурсам ROM, других каналов или связей между ними не было. В подсистемах High и Low находились «Троянские кони». На уровне High «Троянский конь» при нажатии букв на клавиатуре модулировал специальным кодом интервалы времен занятости библиотеки ROM. Время занятости библиотеки верхним уровнем сканировалось запросами в библиотеку «Троянским конем» нижнего уровня. Получившийся скрытый канал по времени позволял в реальном времени печатать информацию, получаемую через скрытый канал с клавиатуры подсистемы уровня High.

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

Примером скрытого канала в аналогичной задаче является скрытый канал в TCP/IP протоколе. Поле ISN в TCP-протоколе служит для организации связи клиента с удаленным сервером. Размер этого поля 32 бита. Используя это поле, например в n пакетах, можно осуществить скрытую передачу.

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

Еще один способ организации скрытого канала - использование алгоритмов электронной цифровой подписи. С.В. Белим и А.М. Федосеев в 2007 г. провели исследование и доказали возможность создания скрытых каналов в рамках алгоритма электронной цифровой подписи ГОСТ Р 34.10-2001.

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

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

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

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

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

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

В 2008м году в Российской Федерации был принят ГОСТ Р 53113.1 «Информационная технология. Защита информационных технологий и автоматизированных систем от угроз информационной безопасности, реализуемых с использованием скрытых каналов. Часть 1. Общие положения.»

В 2009 году принимается ГОСТ Р 53113.2 «Защита информационных технологий и автоматизированных систем от угроз информационной безопасности, реализуемых с использованием скрытых каналов. Часть 2. Рекомендации по организации защиты информации, информационных технологий и автоматизированных систем от атак с использованием скрытых каналов.»

Алексей Галатенко

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

Р. Стаут. "Если бы смерть спала"

Оправдания

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

Р. Стаут. "Слишком много клиентов"

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

К истокам Чем выше ум, тем тень длиннее ляжет,Отброшенная им на дальний мир.Р. Браунинг. "Парацельс"В статьях и обзорах, посвященных скрытым каналам, обычно пишут, что этот термин введен в работе Лэмпсона . Важно отметить, однако, что Батлер Лэмпсон упоминает о скрытых каналах как бы между делом, не они являются предметом исследования. Его трехстраничная заметка называется "О проблеме ограничения" ("A Note on the Confinement Problem") и посвящена она, выражаясь современным языком, контролируемому выполнению (недоверенных) программ с целью помешать им организовать утечку конфиденциальной информации.Идея дополнительного ограничения действий, которые разрешается выполнять программе, (помимо применения имеющихся в операционной системе механизмов контроля доступа), является исключительно важной и глубокой, опередившей свое время. По сути Лэмпсон пунктиром обозначил будущие модели безопасности для Java-аплетов — от "песочницы" до контроля по стеку вызовов, причем сделал это на 25 лет раньше разработчиков Java (заметка была сдана в редакцию в июле 1972 года, а по ссылкам видно, что он занимался проблемами динамической защиты еще в 1960-е годы).Лэмпсон рассматривает следующую задачу. Пусть клиент вызывает некоторый сервис, передавая ему в качестве параметров конфиденциальную информацию, утечка которой нежелательна. Спрашивается, как следует ограничить поведение произвольного сервиса? (В 1972 году сервис представлял собой процедуру, вызываемую из клиентской программы; о распределенных архитектурах речь не шла, но многопроцессные конфигурации были обычным явлением.)Подчеркнем, что речь идет о создании "песочницы" для произвольной программы. Если ограничения окажутся нарушенными, выполнение сервиса должно аварийно завершаться.Чтобы понять характер налагаемых ограничений, Лэмпсон сначала исследует возможные каналы утечки информации, выделяя следующие:Если у сервиса есть память, он может сохранить клиентскую информацию, дождаться, когда его вызовет хозяин, и передать тому сохраненную информацию;Сервис может записать информацию в постоянный файл в каталоге хозяина; Сервис может создать временный файл (что само по себе вполне законно: как же без временных файлов?); хозяин может периодически проверять его (файла) существование и прочитать информацию прежде, чем сервис завершит работу и удалит все временное; Сервис может послать сообщение процессу, контролируемому хозяином;Сервис может закодировать информацию в счете за свои услуги, поскольку хозяин должен получить копию этого счета; ограничения на формат счета способны свести объем утечки к нескольким десяткам бит, но полностью ликвидировать ее нереально;Если могут возникать конфликты по ресурсам, сам факт конфликта может быть использован для передачи информации (чуть ниже мы подробнее рассмотрим этот канал утечки);Сервис может варьировать отношение вычислительной активности к темпу подкачки страниц или числу операций ввода/вывода, кодируя таким способом информацию; параллельно работающий процесс способен наблюдать поведение системы и получать передаваемую информацию; это зашумленный канал, его пропускная способность невелика, но он есть, и им можно воспользоваться.Всегда интересно не просто теоретически знать, что каналы утечки существуют, но и понять на практике, как они могут быть устроены. Лэмпсон описывает "эксплойт" для использования конфликтов по ресурсам (мы приведем его в несколько модифицированном виде). Пусть, например, один и тот же файл нельзя параллельно открыть из двух процессов (при попытке сделать это фиксируется ошибка). Данный факт можно использовать для побитной передачи информации. Две следующие процедуры, написанные на АЛГОЛоподобном языке обеспечивают, соответственно, установку нужного бита и его проверку.

Листинг 1

setbit (file, bit); Boolean bit; begin if bit = true then loop1: open (file, loop1) else close (file) end; Boolean procedure testbit (file); begin testbit: = true; open (file, loop2); testbit:= false; close (file) loop2: end;

(К своему стыду, автор не знает, как окружение АЛГОЛ-программ реагирует на попытку закрыть неоткрытый файл).Сейчас далеко не все помнят тонкости АЛГОЛа-60, поэтому нужно пояснить по крайней мере два момента. Во-первых, метки в АЛГОЛе являются допустимым типом данных, значения которого можно передавать в качестве параметров. Во-вторых, если (занятый) файл открыть не удалось, управление нелокально передается на метку, заданную в качестве второго аргумента процедуры open. Кстати, это более практичный способ обработки исключительных ситуаций, чем проверка кодов возврата, которую зачастую забывают сделать, что является одним из источников уязвимостей программных систем.Теперь, располагая элементарными операциями, можно организовать передачу бита между процессами. Для этого Лэмпсон использует три файла: data, sendclock и receiveclock.В программе-сервисе может присутствовать такой фрагмент (написанный нами с некоторыми вольностями):

Листинг 2

Переходя к правилам ограничения (контролируемого выполнения), Лэмпсон прежде всего указывает, что ограничиваемая программа не должна иметь возможности сохранять информацию между вызовами. Для процедур это условие легко проверяется: оно означает отсутствие обращений к нелокальным переменным.Если нелокальная память отсутствует, то для успешной реализации ограничения достаточно, чтобы ограничиваемая программа не вызывала других программ. Это правило полной изоляции по сути совпадает с моделью "песочницы" в версии JDK 1.0. Разумеется, Лэмпсон тут же отвергает его как нереалистичное, поскольку, как показывают два последних из перечисленных выше примеров утечек, в числе прочих должны быть запрещены явные и неявные вызовы супервизора (ядра ОС). Попытка применить правило полной изоляции "насквозь" и потребовать, чтобы ограничивались все вызываемые программы, не проходит, поскольку супервизор нельзя ограничивать.Чтобы исправить ситуацию, предлагается, как и следовало ожидать, поделить всех на чистых и нечистых, то есть на тех, кому доверяют, и тех, кого ограничивают. В результате получается следующее правило: если ограничиваемая программа вызывает недоверенную, то последнюю также необходимо ограничивать.Дело осталось за малым — написать доверенный супервизор. Как показывают два последних из перечисленных выше примеров утечек, дело это непростое, поскольку используемые для этого каналы могут быть самыми неожиданными. Тем не менее Лэмпсон придерживается оптимистической точки зрения: каналов утечки, конечно, на удивление много, но все-таки конечное число. Необходимо их перенумеровать, а потом и заблокировать. В качестве отправной точки предлагается следующая классификация каналов:Разного рода память, управляемая супервизором, в которую может писать ограничиваемая программа (в рассматриваемых примерах — сервис), а читать — неограничиваемая (вскоре после записи или позднее); все приведенные выше примеры, кроме двух, относятся к этому классу;Легальные каналы, используемые ограничиваемой программой (например, счет за обслуживания);Скрытые каналы, вообще не предназначенные для передачи информации, (например, влияние сервиса на загруженность системы).Вот в каком контексте вводится понятие скрытого канала (covert channel) и как оно определяется Лэмпсоном. Обратим внимание читателя на то, что все каналы по памяти отнесены к другому классу утечек. Важно и то, что помимо скрытых, Лэмпсон рассматривает и так называемые "подсознательные" или потайные каналы (легальные каналы, по которым передаются данные, допускающие нестандартную интерпретацию и, следовательно, которые могут служить каналом утечки конфиденциальной информации), хотя используемый в настоящее время термин subliminal channel, по-видимому, введен Б. Шнейером примерно двадцать лет спустя.По мнению Лэмпсона предотвратить утечки через память довольно просто. Например, чтобы избавиться от блокировок при совместном доступе к ресурсам, можно при попытке записи копировать файл и бесконфликтно предоставлять копию для чтения ограничиваемой программой. (Заметим, что идея эта весьма глубока, только лучше при попытке записи открывать новую версию файла и писать в нее, применяя в дальнейшем механизмы конфигурационного управления.)Для блокирования легальных и скрытых каналов предлагается следующий принцип маскирования: ограничиваемая программа должна позволять вызывающему полностью определять вывод в легальные и скрытые каналы. Таким образом каналы маскируются вызывающим (клиентом).Это — центральная идея работы Лэмпсона. Программа ограничивается в соответствии с ожидаемой семантикой и специфическими потребностями вызывающего. Например программа для просмотра документов не должна изменять или создавать файлы. Напротив компилятору без создания файлов (временных и постоянных) не обойтись.Вообще говоря при разных вызовах одного сервиса ограничения могут быть разными. Тем более они могут быть разными для разных сервисов. Если сервис не в состоянии удовлетворить требования клиента, вызов отвергается.Для скрытых каналов Лэмпсон формулирует еще одно правило — проведения в жизнь: супервизор обязан обеспечить соответствие вывода ограничиваемой программы в скрытые каналы спецификациям вызывающего. Считается, что концептуально это несложно: можно искусственно замедлять выполнение программы, генерировать фиктивные обращения к дискам и т.п., короче говоря, зашумлять скрытые каналы. Цена проведения в жизнь может быть большой. Более практичной альтернативой (если клиент готов допустить некоторую утечку) является ограничение пропускной способности скрытых каналов.Конечно, можно отметить, что некоторые положения работы Лэмпсона, касающиеся концептуальной простоты или принципиальной реализуемости выявления и блокирования каналов утечки (в частности, скрытых каналов), остались необоснованными. Более того, как показали последующие исследования, они неверны. Тем не менее эта работа продолжает оставаться актуальной и в наше время, а ее идейный потенциал далеко не исчерпан. Тематика ограничения (контролируемого выполнения) программ ждет дальнейшего развития.

Коротко о традиционном подходе к проблеме скрытых каналов

Прими с достоинством то, что не можешь изменить.СенекаЛэмпсон понимал, что без учета семантики программ невозможно управлять доступом и, в частности, не допускать утечек информации. К огромному сожалению, эта идея не была воспринята. Последующие усилия в основном оказались направленными на разработку и реализацию универсальных и формальных, но недостаточно содержательных моделей безопасности (в особенности моделей доступа), а также на выявление и оценку пропускной способности скрытых каналов для таких моделей. Более содержательная и важная для практики задача ограничения программ по сути оказалась забытой.Традиционным стало следующее определение скрытого канала (см. ). Пусть дана модель недискреционной политики безопасности М и ее реализация I(M) в операционной системе. Потенциальная связь между субъектами I(S i) и I(S j) в I(M) называется скрытым каналом тогда и только тогда, когда эта связь между S i и S j в модели M не разрешена.Несмотря на формальный стиль и пугающее слово "недискреционной", смысл этого определения довольно прост. С одной стороны, по сравнению с работой Лэмпсона, понятие скрытого канала стало трактоваться шире. Фактически к нему отнесены все виды передачи информации, нарушающие политику безопасности. С другой стороны, наложено ограничение на дисциплину разграничения доступа, реализуемую в ОС. Она не должна сводиться к произвольному (дискреционному, согласно официальной терминологии) управлению доступом. Это значит, что круг рассматриваемых систем сужен до весьма немногочисленных, хотя и критически важных, режимных конфигураций, использующих многоуровневую политику безопасности и принудительное (мандатное) управление доступом.Напомним, что в "Оранжевой книге" требования, касающиеся скрытых каналов, фигурируют, начиная с класса B2, а мандатный доступ появляется в классе B1. В тех странах, где нормативные документы в области информационной безопасности построены на основе "Оранжевой книги", режимные организации должны бороться со скрытыми каналами и по содержательным, и по формальным причинам, для них и реализация принудительного управления доступом, и блокирование скрытых каналов — действия необходимые. В то же время, они весьма сложны. Например, в упомянутой выше работе обосновывается необходимость анализа исходного текста (наряду с анализом спецификаций) ядра ОС для выявления скрытых каналов по памяти и утверждается, что на ручной анализ ядра Secure Xenix требуется два человеко-года. Разумеется, анализ можно автоматизировать, что и было сделано, после чего было выявлено 25 переменных, потенциально пригодных для организации скрытых каналов. Любопытно отметить, что существование пяти каналов стало возможным из-за конфликтов между программным интерфейсом ядра Secure Xenix и правилами мандатного доступа; очевидно, без потери совместимости ликвидировать эти каналы невозможно.В подавляющем большинстве случаев многоуровневая политика безопасности направлена на сохранение конфиденциальности. С этой целью запрещаются информационные потоки "вниз", с верхних уровней секретности (доверия) на нижние. В таких условиях передатчиком в скрытом канале должна служить "троянская" программа с высоким уровнем доверия.Скрытые каналы по памяти были детально рассмотрены в предыдущем разделе. В принципе, скрытые каналы по времени устроены аналогично примеру с конфликтами при открытии файлов; различия касаются в основном способов кодирования передаваемой информации.Чтобы организовать скрытый канал по времени, нужен разделяемый ресурс (например, процессор) с возможностью воздействия со стороны одного процесса и выявления этого воздействия со стороны другого, а также двое часов — эталонные и сигнальные. Часы могут быть виртуальными и реализовываться в виде последовательности наблюдаемых событий. Передача информации осуществляется за счет модуляции последовательности сигнальных событий, прием — путем измерения модуляции относительно эталонных часов.В работе рассматривается построение скрытого канала по времени, использующего модуляцию занятости процессора. Идея состоит в следующем. На верхнем уровне доверия действует одна программа-передатчик. За один такт эталонных часов передатчик выполняет два вида циклов. Сначала (фаза 1) он почти не тратит процессорное время, сразу отдавая управление планировщику; затем (фаза 2), наоборот, занимает процессор максимально плотно. Приемник пытается определить относительную длительность этих двух фаз. Для этого приемник реализуется в виде двух процессов. Один подсчитывает, сколько раз он получил доступ к процессору, в цикле увеличивая (разделяемый) счетчик и тут же отдавая управление планировщику; другой в конце такта часов считывает и сохраняет значение счетчика, обнуляет его и откладывается до конца следующего такта.Со скрытыми каналами можно бороться двумя способами: пытаться блокировать их полностью или уменьшать пропускную способность.Для полного блокирования скрытого канала нужно устранить разделение ресурсов, видимое для процессов с низким уровнем доверия; последние должны выполняться так, будто кроме них в системе никого и ничего нет. Подобного невлияния можно добиться либо избегая конфликтов (например, за счет устранения разделения ресурсов), либо незаметным образом разрешая их в пользу "низших". Это, в свою очередь, порождает проблему, аналогичную инвертированию приоритетов: процесс с высоким уровнем доверия рискует получить слишком мало ресурсов, а совершаемые им транзакции могут слишком часто откладываться. Для борьбы с дискриминацией "секретных" процессов приходится идти на новые хитрости (см., например, ).Разумеется, в сколько-нибудь сложной системе избежать видимого разделения ресурсов невозможно. Идея реализации доменов безопасности с непроницаемыми границами и аппаратно односторонними междоменными каналами (см. ) относится скорее к области курьезов, поскольку игнорирует реально используемые коммуникационные протоколы. Следовательно, с существованием некоторых скрытых каналов приходится мириться, пытаясь, однако, уменьшить (или, по крайней мере, оценить) их пропускную способность.Если считать, что такт T эталонных часов постоянен, и за один такт можно различить N модуляций, то пропускная способность скрытого канала по времени оценивается величиной log2(N)/T. Для уменьшения пропускной способности можно "сбивать" часы (эталонные и/или сигнальные), "зашумлять" канал еще каким-либо способом (например, обслуживая фиктивные запросы), уменьшать разрешающую способность часов (увеличивая такт). (Заметим, что предпочтительнее воздействовать на эталонные, а не сигнальные часы, так как первое дает линейный эффект, а второе — лишь логарифмический). Любопытно отметить, что в локальной сети корпорации Боинг, сертифицированной по классу A1, разрешающая способность часов, доступных недоверенным процессам, составляет одну секунду (см. ). Как говорится, страшнее скрытого канала зверя нет, и для борьбы с ним приходится применять весьма сильнодействующие средства, существенно снижающие эффективность и осложняющие работу приложений. Впрочем, как показывает рассмотренный выше пример, можно добраться до более тонких внутренних часов планировщика; он демонстрирует также, насколько сложны анализ пропускной способности скрытых каналов и борьба с ними.Первопричина существования скрытых каналов и невозможность их устранения при традиционном подходе к построению информационных систем видится нам в следующем. Поскольку такие формальные модели безопасности, как известная модель Белла-Лападула, разграничивают доступ "в принципе", но не содержат понятия времени и не регламентируют конкуренцию за ресурсы, то есть ситуации, когда "в принципе ресурс использовать можно, только в данный момент нельзя — он занят", при любом распределении прав доступа разного рода сигнальные события и, в частности, коллизии вследствие конкуренции могут быть использованы для организации скрытых каналов.С потайными каналами (см. выше раздел 1) дело обстоит еще хуже. Представляется очевидным, что если не формализовать структуру данных, передаваемых программами по легальным каналам (Лэмпсон указывал на необходимость подобной формализации), последние всегда можно использовать для скрытой передачи информации. Строгое доказательство невозможности устранения и даже обнаружения потайных каналов при весьма общих предположениях относительно схем контроля имеется в работах А.А. Грушо , .Перечисленными причинами объясняется необходимость развития отдельной науки под названием "анализ скрытых каналов", а также принципиальная невозможность полностью блокировать утечку конфиденциальной информации универсальными средствами, не учитывающими семантику программ.

Скрытые каналы и повседневная практика

"Баржа с грузом трески вошла в порт. Поспешите, товар скоропортящийся."Г. Мопассан. "Заведение Телье"В повседневной практике скрытые каналы трактуются шире, чем в теории. Расширение происходит по четырем направлениям:Рассматриваются системы с произвольной дисциплиной управления доступом (а не только с многоуровневой политикой безопасности);Рассматриваются не только нестандартные каналы передачи информации, но и нестандартные способы передачи информации по легальным каналам (потайные каналы);Рассматриваются угрозы не только конфиденциальности, но и целостности;Рассматриваются не только однонаправленные, но и двунаправленные каналы.В повседневной практике скрытые каналы чаще всего возникают из-за возможности доступа к данным несколькими способами. Например, если в корневом каталоге файловой системы располагается tftp-сервер, он позволит получить всем пользователям доступ на чтение ко всем файлам, независимо от установленных прав доступа. Второй пример: если есть программа со взведенным битом переустановки действующего идентификатора пользователя, владельцем root и... уязвимостью, то обычный пользователь может проэксплуатировать уязвимость, захватить привилегии суперпользователя и нарушить конфиденциальность и целостность чего угодно. Третий пример: пароль в незашифрованном виде, хранящийся в оперативной памяти и сбрасываемый в файл с образом памяти при аварийном завершении. Очевидно, число подобных примеров можно умножать до бесконечности.Нестандартные способы передачи информации по легальным каналам получили название "подсознательных" или потайных каналов (subliminal channels), хотя по аналогии с наложенными сетями их лучше было назвать наложенными скрытыми каналами. Потайные каналы используют тогда, когда имеется легальный коммуникационный канал, но политика безопасности запрещает передавать по нему определенную информацию; иными словами, информацию передавать можно, но она не должна выглядеть подозрительно (в соответствии с некими, обычно не очень четкими критериями). Помимо разведчиков, в потайных каналах нуждаются хозяева "троянских" программ, таких, например, как Back Orifice или Netbus; если канал взаимодействия с ними будет явным, "троянца" быстро вычислят и уничтожат. Подобные каналы, используемые для управления, должны быть двунаправленными.Потайной канал возможен тогда, когда в передаваемых легальных данных есть незначащие или почти незначащие биты, например, некоторые биты в заголовках IP-пакетов или младшие биты интенсивности цветов в графическом файле, присоединенном к письму. (Электронная почта — идеальный легальный канал, на который удобно накладывать скрытые.) В работе рассматривается другой пример: нестандартный алгоритм электронной подписи, оставляющий место для тайных сообщений, не препятствующих проверке аутентичности ЭЦП.Для нарушения целостности чаще всего используют уязвимости, связанные с переполнением буферов. Если тем самым изменяется содержимое стека вызовов, то перед нами еще один пример скрытого канала, основанного на возможности доступа к данным нестандартным способом. Применяются также атаки пользовательских процессов на целостность транзакций, выполняемых процессами привилегированными (соответствующий англоязычный термин — race condition). Возможность подобной атаки появляется, если временные данные для транзакции располагаются в общедоступных каталогах, таких как /tmp.Разумеется, при расширительном толковании понятия скрытого канала проблемы, описанные в предыдущем разделе, не только остаются, но и обостряются; кроме того, к ним добавляются новые. С этими проблемами можно бороться двумя способами: формальным и содержательным.Формальный способ усиления безопасности состоит в попытке добавить к употребительным операционным системам, таким как Linux, возможности, реализующие требования классов B2 и старше из "Оранжевой книги", то есть реализовать в ядре ОС мандатный доступ ко всем ресурсам и провести анализ скрытых каналов. Вне зависимости от выполнимости последнего пункта, подобный путь представляется тупиковым. Одно дело анализировать скрытые каналы в операционной системе мэйнфрейма, изначально спроектированной с учетом требований безопасности и прошедшей многолетнюю апробацию (см., например, ) и совсем другое — в ОС, содержащей ошибки, связанные с переполнением буферов. Для подлинной безопасности нужно не только добавление принудительного управления доступом, но и существенное перепроектирование ОС.Содержательный способ борьбы со скрытыми каналами состоит в выстраивании эшелонированной обороны; утечки информации признаются неизбежными, но их пытаются локализовать и отследить. Для иллюстрации рассмотрим следующий гипотетический пример. Банк, информационная система которого имеет соединение с Интернет, защищенное межсетевым экраном, приобрел за рубежом автоматизированную банковскую систему (АБС). Изучение регистрационной информации экрана показало, что время от времени за рубеж отправляются IP-пакеты, содержащие какие-то непонятные данные. Стали разбираться, куда же пакеты направляются, и оказалось, что идут они в форму-разработчик АБС. Возникло подозрение, что в АБС встроены "троянская" программа и скрытый канал, чтобы получать информацию о деятельности банка. Связались с фирмой и в конце концов выяснили, что один из программистов не убрал из поставленного в банк варианта отладочную выдачу, которая была организована сетевым образом (как передача IP-пакетов специфического вида, с явно заданным IP-адресом рабочего места этого программиста). Если бы не межсетевой экран, канал оставался бы скрытым, а конфиденциальная информация о платежах свободно гуляла по сетям.Конечно, мысль о необходимости эшелонированной обороны не нова; надо только не забыть реализовать ее на практике...Еще один практически важный в данном контексте архитектурный принцип — разнесение доменов выполнения для приложений с разным уровнем доверия на разные узлы сети. Если такие приложения будут функционировать в распределенной среде клиент/сервер, ограничить их взаимное влияние (и, следовательно, заблокировать скрытые каналы) будет существенно проще, чем в случае единых многопользовательских систем.

Скрытые каналы и Java-аплеты

"Подразумевается, что Вульф приложит все силы для сохранения в тайне фактов, способных нанести ущерб корпорации; при несоблюдении этого условия он теряет право на гонорар."Р. Стаут. "Слишком много клиентов"Одной из актуальных и практически важных проблем информационной безопасности является пресечение вредоносных действий со стороны мобильных агентов и, в частности, Java-аплетов. Подобные агенты — обязательная составляющая систем электронной коммерции, электронного голосования и других приложений, ориентированных на массовое, повседневное использование.Универсальной модели безопасности, реализованной на платформе Java 2 и ориентированной на защиту локальных ресурсов от несанкционированного доступа со стороны аплета, недостаточно для того, чтобы предотвратить утечку конфиденциальной информации по скрытым каналам, поскольку такую информацию может передать аплету сам пользователь (в надежде на корректность поведения аплета). Хотелось бы, чтобы кроме надежды, у пользователя были и другие основания для доверия. Для этого необходимо ограничить поведение аплета в соответствии с его спецификациями, что означает возврат к истокам, к постановке задачи, предложенной Лэмпсоном тридцать лет назад.В работе рассматривается пример простого протокола из области электронной торговли, возникающие при этом сложности с обеспечением конфиденциальности и возможные пути их преодоления. Суть примера в следующем. Имеются три субъекта: покупатель, продавец и банк, обслуживающий покупателя. Для оформления заказа покупатель загружает с сервера продавца Java-аплет, осуществляющий ввод данных о заказываемом товаре и реквизитах счета покупателя. Аплет должен передать эту информацию продавцу, предварительно зашифровав банковские реквизиты имеющимся у покупателя ключом банка (продавцу знать реквизиты счета покупателя не полагается, ему нужно лишь получить от банка плату за покупку).Очевидно, у аплета есть много способов разной степени скрытности передать продавцу конфиденциальную информацию о счете покупателя: изменить представление заказа зависящим от реквизитов образом, зашифровать реквизиты своим ключом (а не ключом банка) и т.п. Идея ограничения аплетов, предлагаемая в , состоит в том, чтобы вместе с интерпретируемым кодом поступали спецификация свойств конфиденциальности и допускающее автоматическую проверку доказательство того, что байт-код соответствует спецификации. В свою очередь, в спецификации задаются зависимости между изменением исходных данных (вводимых пользователем) и наблюдаемым поведением аплета. Эти зависимости должны быть в точности такими, как предписывает протокол. Например, результат шифрования реквизитов должен меняться при их изменении, равно как и при изменении банковского ключа; если последнее утверждение неверно, значит аплет использует для шифрования нелегальный ключ. Еще пример: данные о заказываемом товаре, передаваемые продавцу, не должны меняться при изменении реквизитов.Мы не будем вдаваться в тонкости применяемого в формализма. Отметим лишь, что предлагаемый подход представляется весьма перспективным; это подтверждается прототипной реализацией. Он не решает всех проблем; со скрытыми каналами по времени бороться по-прежнему трудно, хотя в принципе можно варьировать уровень детализации наблюдаемого поведения, добиваясь видимости все более тонких эффектов.

О скрытых каналах в искусстве и жизни

По всей земле разбросано множество древних образов, неизгладимых и вечных; любой из них способен служить искомым символом. Словом Бога может оказаться гора, или река, или империя, или сочетание звезд.Х.Л. Борхес. "Письмена Бога"Идея скрытых и потайных каналов стара как мир. Аллегории, эзопов язык — это способы организовать потайные каналы при словесной передаче данных. Для визуальной передачи применяют пресловутые горшки с геранью, выставляемые на подоконник в определенных случаях, и другие условные знаки. Такая привычная вещь, как школьная подсказка, также является формой использования скрытых каналов.Впрочем, подсказки практикуются не только в школе. В сентябре 2001 года, при записи английской телепередачи "Who wants to be a millionaire?" майор Чарльз Ингрэм правильно ответил на все вопросы, но не получил положенный миллион фунтов стерлингов, поскольку организаторы шоу заподозрили обман и не только не выпустили записанную передачу в эфир, но и обратились в полицию.Режиссеру показалось, что ответ на последний, пятнадцатый вопрос ("Как называется число 10 в сотой степени?") игрок дал сразу после того, как в зале отчетливо прозвучал одиночный кашель (правильным был первый вариант ответа).Стали разбираться, изучать видеозапись (передача записывалась два дня). Выяснилось, что при ответе на первый вопрос второго дня (а всего восьмой, на восемь тысяч фунтов стерлингов) ("Кто был вторым мужем Жаклин Кеннеди?") майор по очереди вслух произносил представленные варианты ответов, и после озвучивания правильного варианта также послышался кашель.Дальнейшее расследование показало, что в зале присутствовала жена майора, Диана, якобы передававшая по рации вопросы другу семьи, который находил в Интернет ответы и сообщал их Диане, передававшей их мужу с помощью описанного выше скрытого канала с переменной схемой кодирования. (На самом деле, мы излагаем здесь реконструированную и наиболее логичную, на наш взгляд, версию происходившего; разные источники — www.izvestia.ru , www.tv-digest.ru , www.interpolice.ru — расходятся в деталях.) В марте 2003 года начался суд, призванный решить судьбу миллиона. Естественно, адвокаты Ингрэма утверждают, что никакого обмана со стороны их клиента не было, а кашель в аудитории, насчитывающей двести человек, слышится постоянно (что, заметим, затрудняет мониторинг подобных скрытых каналов, хотя и зашумляет их).После скандальной передачи организаторы игры усилили меры безопасности (см. http://www.interpolice.ru/archiv/2001/24/show.shtml?16). Все зрители подвергаются личному досмотру, участники — психологическому тестированию на предмет выявления криминальных склонностей. За залом ведется постоянное наблюдение, в том числе с помощью камер ночного видения. Эфир прослушивается радиосканером, чтобы выявить и заглушить возможную передачу ответа на миниатюрный приемник, который может быть спрятан у игрока в ухе. Вот так приходится бороться со скрытыми каналами, которые могут использовать злоумышленники с высокой мотивацией. Но не будет у организаторов гарантий информационной безопасности, пока у игрока и зрителей остается хоть один разделяемый ресурс, даже если этот ресурс — воздух.Не беремся предсказывать, чем закончится эта история. Отметим лишь, что если у кого-то есть друг, умеющий быстро находить в Интернет нужную информацию, и жена, способная эту информацию воспринять и правильно, да еще с вариациями, прокашлять, то ему, безусловно, повезло. А организаторам подобных игр лучше бы озаботиться качеством вопросов, а не сканированием ушей игроков...Тема использования скрытых каналов в процессе игры, конечно, не нова. По крайней мере, внимание художников она привлекла более четырехсот лет назад. Наверняка многие помнят классическое полотно Караваджо (Микеланджело Меризи) "Игроки в карты" (второе название — "Игра в карты с шулерами"), датируемое приблизительно 1594 годом. На нем изображена типичная ситуация: недоверенный субъект осуществляет несанкционированное раскрытие информации, после чего передает ее по скрытому каналу. Отметим также, что еще один изображенный на картине недоверенный субъект уже обзавелся средствами (лишней картой за поясом) для нарушения целостности.

Рисунок 1. Караваджо (Микеланджело Меризи) "Игроки в карты" (второе название — "Игра в карты с шулерами")

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

Рисунок 2. Валантен (Жан де Булонь) "Игра в карты"

(По адресу http://www.citycat.ru/rest/cards/painting/ можно найти и другие полотна аналогичной направленности, например, картину Йоса ван Красбека "Игроки в карты", где изображен трюк с зеркальцем.)Не счесть примеров скрытых и потайных каналов в литературе. Один из лучших и самых драматичных принадлежит перу Борхеса и описан в его замечательной новелле "Сад расходящихся тропок". Мы приведем несколько фрагментов из нее, чтобы читатель смог оценить ресурсы и методы, потребовавшиеся для организацию подобного канала, результаты использования переданной информации и соотношение между тем и другим.Отметим, что в данном случае скрытый канал стал возможен из-за наличия свободного доступа к части регистрационной информации. Поучительно проанализировать и обстоятельства, способствовавшие успеху предприятия, в первую очередь — слабость некоторых методов биометрической идентификации/аутентификации (по разрезу глаз и цвету кожи)Итак, слово Борхесу.На двадцать второй странице "Истории мировой войны" Лиддел Гарта сообщается, что предполагавшееся на участке Сер-Монтобан 24 июля 1916 года наступление тринадцати британских дивизий (при поддержке тысячи четырехсот орудий) пришлось отложить до утра двадцать девятого. Нижеследующее заявление, продиктованное, прочитанное и подписанное доктором Ю. Цуном, бывшим преподавателем английского языка в Hoch Schule города Циндао, проливает на случившееся неожиданный свет.... Значит, Рунеберг арестован или убит. Солнце не зайдет, как та же участь постигнет и меня. ... я знаю Тайну — точное название места в долине Анкра, где расположен новый парк британской артиллерии. ... О, если бы... я смог выкрикнуть это известие так, чтобы его расслышали в Германии... Мой человеческий голос был слишком слаб. Как сделать, чтобы он дошел до слуха шефа? До слуха этого слабогрудого, ненавистного человечка, который только знает обо мне и Рунеберге, что мы в Стаффордшире, и напрасно ждет от нас известий в своем унылом английском кабинете, день за днем изучая газеты... ... Что-то — наверное, простое желание убедиться в ничтожности своих ресурсов — подтолкнуло меня осмотреть карманы. Там нашлось только то, что я и думал найти. Американские часы, ... крона, два шиллинга и несколько пенсов, ... револьвер с одной пулей. Я зачем-то взял его и, придавая себе решимости, взвесил в руке. Тут у меня мелькнула смутная мысль, что выстрел услышат издалека. Через десять минут план был готов. По телефонному справочнику я разыскал имя единственного человека, способного передать мое известие: он жил в предместье Фэнтона, с полчаса езды по железной дороге.... я исполнил свой замысел потому, что чувствовал: шеф презирает людей моей крови — тех бесчисленных предков, которые слиты во мне. Я хотел доказать ему, что желтолицый может спасти германскую армию. ...Платформу освещал фонарь, но лица ребят оставались в темноте. Один из них спросил: "Вам к дому доктора Стивена Альбера?" Другой сказал, не дожидаясь ответа: "До дома не близко, но вы не заблудитесь: ступайте вот этой дорогой налево и сворачивайте влево на каждой развилке". Я бросил им последнюю монету, спустился по каменным ступенькам и вышел на безлюдную дорогу. ...... из дома за оградой показался фонарь... Нес его рослый мужчина. ... Он приоткрыл ворота и медленно произнес на моем родном языке:— Я вижу, благочестивый Си Пэн почел своим долгом скрасить мое уединение. Наверное, вы хотите посмотреть сад?Он назвал меня именем одного из наших посланников, и я в замешательстве повторил за ним:— Сад?— - Ну да, сам расходящихся тропок.Что-то всколыхнулось у меня в памяти, и с необъяснимой уверенностью я сказал:— Это сад моего прадеда Цюй Пэна.— Вашего прадеда? Так вы потомок этого прославленного человека? Прошу.Альбер поднялся во весь рост. Он выдвинул ящик высокой конторки и на миг стал ко мне спиной. Мой револьвер был давно наготове. Я выстрелил, целясь как можно тщательней: Альбер упал тут же, без единого слова. Клянусь, смерть его была мгновенной, как вспышка.Остальное уже нереально и не имеет значения. ... я был арестован. Меня приговорили к повешению. Как ни ужасно, я победил: я передал в Берлин название города, где нужно было нанести удар. Вчера его разбомбили: я прочитал об этом в газетах, известивших Англию о загадочном убийстве признанного китаиста Стивена Альбера, которое совершил некий Ю. Цун. Шеф справился с этой загадкой. Теперь он знает, что вопрос для меня был в том, как сообщить ему о городе под названием Альбер, и что мне, среди грохота войны, оставалось одно: убить человека, носящего это имя. Он только не знает — и никому не узнать, — как неизбывны моя боль и усталость.

Заключение

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

Благодарности

Здесь аванс в десять тысяч долларов. Если бы я дал вам чек, об этом могли бы разнюхать те, от кого я хочу сохранить это в тайне. Расписка не нужна.Р. Стаут. "Если бы смерть спала"Автор признателен И.А. Трифаленкову, которому принадлежит общий замысел данной статьи, определивший ее практическую направленность.

Литература

B.W. Lampson -- A Note of the Confinement Problem. -- Communications of ACM, v. 16, n. 10 , Oct. 1973 B. Schneier -- Applied Cryptography: Protocols, Algorithms, and Source Code in C., 2nd edition -- John Wiley & Sons, New York , 1996 C.-R. Tsai , V.D. Gligor , C.S. Chandersekaran -- A Formal Method for the Identification of Covert Storage Channels in Source Code -- IEEE Transactions on Software Engineering, v.16:6 , 1990 J.V.A. James , D.B. Darby , D.D. Schnachenberg -- Building Higher Resolution Synthetic Clocks for Signalling in Covert Timing Channels. — Proceedings of the Eight IEEE Computer Security FOundations Workshop (CSFW"95). -- IEEE , 1995 S.H. Son , R. Mukkamala , R. David -- Integrating Security and Real-Time Requirements Using Covert Channel Capacity. -- IEEE Transactions on Knowledge and Data Engineering, v. 12, n. 6 , Nov.-Dec. 2000 J.A. Davidson -- Asymmetric Isolation. — Proceedings of the 12th Annual Computer Security Applications Conference (ACSAC). -- IEEE , 1996 А.А. Грушо -- Скрытые каналы и безопасность информации в компьютерных системах -- Дискретная математика , т.10, вып. 1 , 1998 А.А. Грушо -- О существовании скрытых каналов -- Дискретная математика , т.11, вып. 1 , 1999 J.-K. Jan , Y.-M. Tseng -- New Digital Signature with Subliminal Channels on the Discrete Logarithm Problem. — Proceedings of the 1999 International Workshops on Parallel Processing. -- IEEE , 1999 С. Симонов, П. Колдышев -- Обеспечение информационной безопасности в вычислительных комплексах на базе мэйнфреймов. -- Jet Info , No. 4 , 2002 M. Dam , P. Giambiagi -- Confidentiality for Mobile Code: The Case of a Simple Payment Protocol. — Proceedings of the 13th IEEE Computer Security Foundations Workshop (CSFW"00). -- IEEE , 2000

О каналах скрытых, потайных, побочных. И не только. (Часть 1-я)

В.А. Галатенко

О скрытых каналах

Издание Jet Info не первый раз обращается к теме скрытых каналов. В 2002 году ей был посвящен отдельный номер (см. , ), так что в данной работе предполагается, что читатель знаком с основами этой области знания; в противном случается рекомендуется перечесть статью (например, здесь - прим. ред. CITForum.ru). Тем не менее, автор с самого начала хотел бы заметить, что тематика скрытых каналов в ее традиционной трактовке представляется ему несколько надуманной, формальной. Пик исследований в области скрытых каналов приходится на середину 1980-х годов, когда была опубликована "Оранжевая книга" Министерства обороны США, в которой, начиная с класса безопасности B2, было введено требование анализа скрытых каналов. В результате бороться со скрытыми каналами стали, в основном, не ради реальной безопасности, а ради успешной сертификации. Кроме того, скрытые каналы из-за, в общем-то, случайной ассоциации с классами B2 и выше исследовались почти исключительно в контексте многоуровневой политики безопасности, с обязательным упоминанием субъектов HIGH и LOW, моделями невлияния и прочими премудростями. Все это бесконечно далеко от реальных проблем типичных современных информационных систем, да и публикуемые результаты по большей части носят очевидный характер и не представляют ни теоретического, ни, тем более, практического интереса. В статье объяснены концептуальные причины подобного положения дел.

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

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

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

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

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

Накладные расходы на нормализацию могут быть велики, отчего функционирование легальных субъектов может существенно замедляться, так что следует искать и находить разумный компромисс между информационной безопасностью и функциональной полезностью систем. С точки зрения борьбы со сложностью скрытые каналы имеют следующее неприятное свойство. Разделяемые ресурсы, присутствующие на любом уровне информационной системы, начиная с самого нижнего, аппаратного, могут быть использованы на всех вышележащих уровнях, вплоть до прикладного, для организации утечки информации. Централизованный арбитр доступа к памяти в многопроцессорной системе, разделяемый несколькими процессорами кэш второго уровня, устройство управления памятью - все это может служить каналом утечки. Таким образом, при анализе скрытых каналов необходимо рассматривать систему в целом. Попытка проведения так называемой составной сертификации, когда система оценивается на основе ранее проведенных испытаний отдельных модулей или уровней, ведет к пропуску скрытых каналов. Проблема усугубляется тем, что в описании отдельных модулей или уровней необходимые детали могут быть опущены как несущественные. Казалось бы, какая разница, как устроена очередь инструкций, выбранных микропроцессором для исполнения? Однако и это может быть важно для безопасной работы приложения (см. ). Операционная система, успешно прошедшая сертификацию при испытаниях на "голой" аппаратуре, содержит скрытые каналы заметной пропускной способности, если выполняется под управлением монитора виртуальных машин. В общем, разделяемый ресурс - это та самая горошина, которую настоящая принцесса почувствует через любое количество перин. И об этом необходимо помнить.

Подход на основе скрытых каналов активно используется для оценки степени несовершенства реализации таких защитных сервисов, как анонимизаторы и их сети, а также пополнение трафика. Это представляется естественным, так как анонимизация и пополнение трафика - разновидности нормализации, предназначенной для ликвидации скрытых каналов. Если нормализация оказалась несовершенной, значит, скрытые каналы остались. Насколько несовершенной? Настолько, насколько велика утечка информации. Несовершенство анонимизаторов можно оценивать как пропускную способность скрытых каналов утечки информации об отправителе и/или получателе (см. ). Для отдельных анонимизаторов удается получить точное значение, для сетей анонимизаторов - оценку сверху.

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

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

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

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

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

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

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

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

Дефекты в ПО могут быть внесены намеренно или по небрежности. Первые подразделяются на злоумышленные и незлоумышленные. Злоумышленные дефекты - это лазейки, логические и временные бомбы; незлоумышленные - скрытые каналы (по памяти или по времени) и несогласованные пути доступа.

Дефекты, внесенные непреднамеренно, делятся на:

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

    ошибки абстракции (повторное использование объектов, раскрытие внутреннего представления);

    асинхронные дефекты (проблемы параллельного выполнения, включая ситуации опережения, активные и пассивные тупики, разрывы между временами проверки и использования, а также наличие нескольких ссылок на один объект);

    ненадлежащее использование подкомпонентов (утечка ресурсов, непонимание распределения ответственности);

    ошибки функциональности (дефекты обработки исключительных ситуаций, прочие дефекты безопасности).

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

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

О потайных каналах

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

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

Напомним (см. ), что скрытыми считаются нестандартные каналы передачи информации. Нестандартные способы передачи информации по легальным каналам (именуемыми в данном контексте обертывающими) получили название потайных (subliminal channels) или стеганографических (stego channels) каналов. Общие сведения о них приведены в статье . Потайные каналы используют тогда, когда имеется легальный коммуникационный канал, но что-либо (например, политика безопасности) запрещает передавать по нему определенную информацию.

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

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

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

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

Проблематика потайных каналов давно и плодотворно исследуется с позиций теории информации, получено много интересных теоретически и важных практически результатов. Обратим внимание на возможность и эффективность совместного использования скрытых и потайных каналов в сетевой среде. Так, в работе описана реализация сети анонимизаторов (см. ) с помощью HTTP-серверов и клиентов. Web-серфинг служит обертывающим каналом. В роли узлов сети анонимизаторов выступают HTTP-серверы, а взаимодействие между ними осуществляется по скрытым каналам в HTTP/HTML при посредничестве ничего не подозревающих клиентов (в первую очередь - с помощью средств перенаправления запросов и активного содержимого, встроенных, например, в рекламные баннеры, присутствующие на посещаемой Web-странице). В результате можно достичь не только невозможности ассоциации между отправителем и получателем сообщений, но и реализовать более сильное свойство - скрытность (даже в присутствии глобального наблюдателя). Оказывающиеся невольными посредниками Web-серферы пополняют подлежащее анализу множество анонимности, затрудняя тем самым получение наблюдателем полезной информации.

(Разумеется, и злоумышленники, и разработчики защитных средств осознают возможности и проблемы, связанные с использованием HTTP в качестве обертывающего канала. Например, в статье описана обучаемая система Web Tap, выявляющая аномалии в исходящих HTTP-транзакциях.)

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

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

О побочных каналах

Побочные каналы можно считать частным случаем скрытых. В роли (невольных) передатчиков в подобных каналах выступают штатные компоненты информационных систем, а в роли приемников - внешние наблюдатели, применяющие соответствующее оборудование. Чаще всего с помощью побочных каналов измеряется время видимых операций (временные атаки на RSA стали общим местом), их энергопотребление и/или побочные электромагнитные излучения и наводки (ПЭМИН), но для атак могут применяться и акустические каналы, идет ли речь о цифровом замке сейфа или процессоре персонального компьютера, обрабатывающего секретный ключ (см. ).

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

Объектами атак с использованием побочных каналов чаще всего становятся криптографические компоненты информационных систем, точнее, их секретные ключи. Например, в статье описана атака разбиением на SIM-карты сотовых телефонов (точнее, на алгоритм COMP128, применяемый для аутентификации пользователей и выработки сеансовых ключей), проводимая путем измерения энергопотребления с целью клонирования этих карт. Атаку удалось отточить до такой степени, что для определения секретного 128-битного ключа оказывается достаточно всего восьми измерений с адаптивно выбираемыми входными данными! То есть злоумышленнику достаточно получить SIM-карту буквально на минуту.

Весьма наглядно опасность атак, основанных на дифференциальном анализе энергопотребления, проиллюстрирована в статье . В 1998 году Брюс Шнейер писал, что в галактике не хватит кремния, а у Солнца - времени жизни для реализации атаки методом грубой силы на секретный ключ (112 бит) алгоритма 3DES. Минимальная длина ключа в алгоритме AES - 128 бит, но успешная атака методом дифференциального анализа энергопотребления на незащищенную микросхему, реализующую AES, может быть проведена менее чем за три минуты - от начала измерений до завершения анализа.

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

Литература

Е.Е. Тимонина -- Скрытые каналы (обзор). -- Jet Info, 2002, 11

А. Галатенко -- О скрытых каналах и не только. -- Jet Info, 2002, 11

R.A. Kemmerer -- A Practical Approach to Identifying Storage and Timing Channels: Twenty Years Later. - Proceedings of the 18th Annual Computer Security Applications Conference (ACSAC"02). -- IEEE, 2002

E. Tumoian , M. Anikeev -- Network Based Detection of Passive Covert Channels in TCP/IP. - Proceedings of the IEEE Conference on Local Computer Networks 30th Anniversary (LCN"05). -- IEEE, 2005

S. Cabuk , C.E. Brodley , C. Shields -- IP Covert Timing Channels: Design and Detection. - Proceedings of the CCS"04. -- ACM, 2004

P.A. Karger , H. Karth -- Increased Information Flow Needs for High-Assurance Composite Evaluations. - Proceedings of the Second IEEE International Information Assurance Workshop (IWIA"04). -- IEEE, 2004

В.Б. Бетелин, С.Г. Бобков, В.А. Галатенко, А.Н. Годунов, А.И. Грюнталь, А.Г. Кушниренко, П.Н. Осипенко -- Анализ тенденций развития аппаратно-программного обеспечения и их влияния на информационную безопасность. - Сб. статей под ред. академика РАН В.Б. Бетелина. -- М.: НИИСИ РАН, 2004

P. Efstathopoulos , M. Krohn , S. VanDeBogart , C. Frey , D. Ziegler , E. Kohler , D. Mazieres , F. Kaashoek , R. Morris -- Labels and Event Processes in the Asbestos Operating System. - Proceedings of the SOOP"05. -- ACM, 2005

Y. Zhu , R. Bettati -- Anonymity v.s. Information Leakage in Anonymity Systems. - Proceedings of the 25th IEEE International Conference on Distributed Computing Systems (ICDCS"05). -- IEEE, 2005

B. Graham , Y. Zhu , X. Fu , R. Bettati -- Using Covert Channels to Evaluate the Effectiveness of Flow Confidentiality Measures. - Proceedings of the 2005 11th International Conference on Parallel and Distributed Systems (ICPADS"05). -- IEEE, 2005

Y. Zhu , R. Sivakumar -- Challenges: Communication through Silence in Wireless Sensor Networks. - Proceedings of the MobiCom"05. -- ACM, 2005

R. Browne -- An Entropy Conservation Law for Testing the Completeness of Covert Channel Analysis. - Proceedings of the CCS"94. -- ACM, 1994

S. Weber , P.A. Karger , A. Paradkar -- A Software Flaw Taxonomy: Aiming Tools At Security. - Proceedings of the Conference on Software Engineering for Secure Systems - Building Trustworthy Applications (SESS"05). -- ACM, 2005

J.C. Wray -- An Analysis of Covert Timing Channels. -- IEEE, 1991

В.Б. Бетелин, В.А. Галатенко, М.Т. Кобзарь, А.А. Сидак, И.А. Трифаленков -- Обзор профилей защиты, построенных на основе "Общих критериев". Специфические требования к сервисам безопасности. -- "Безопасность информационных технологий", 2003, 3

K. Loepere -- Resolving Covert Channels withing a B2 Class Secure System. -- Honeywell Information Systems.

J.J. Harmsen , W.A. Pearlman -- Capacity of Steganographic Channels. - Proceedings of the MM-SEC"05. -- ACM, 2005

I.S. Moskowitz , L. Chang , R. Newman -- Capacity is the Wrong Paradigm. - Proceedings of the 2002 Workshop on New Security Paradigms. -- ACM, 2002

M. Bauer -- New Covert Channels in HTTP. Adding Unwitting Web Browsers to Anonymity Sets. - Proceedings of the WPES"03. -- ACM, 2003

K. Borders , A. Prakash -- Web Tap: Detecting Covert Web Traffic. - Proceedings of the CCS"04. -- ACM, 2004

D. Slater -- A note on the Relationship Between Covert Channels and Application Verification. -- Computer Sciences Corporation, 2005

K. Tiri , I. Verbauwhede -- Simulation Models for Side-Channel Information Leaks. - Proceedings of the DAC 2005. -- ACM, 2005

J.R. Rao , P. Rohatgi , H Scerzer , S. Tinguely -- Partitioning Attacks: Or How to Rapidly Clone Some GSM Cards. - Proceedings of the 2002 IEEE Symposium on Security and Privacy (S&P"02). -- IEEE, 2002

R. Muresan , C. Gebotys -- Current Flattening in Software nad Hardware for Security Applications. - Proceedings of the CODES+ISSS"04. -- ACM, 2004

V. Roth , U. Pinsdorf , J. Peters -- A Distributed Content-Based Search Engine Based on Mobile Code. - Proceedings of the 2005 ACM Symposium on Applied Computing (SAC"05). -- ACM, 2005

M. Carvalho , T. Cowin , N. Suri , M. Breedy , K. Ford -- Using Mobile Agents as Roaming Security Guards to Test and Improve Security of Hosts and Networks. - Proceedings of the 2004 ACM Symposium on Applied Computing (SAC"04). -- ACM, 2004

T. Pedireddy , J.M. Vidal -- A Prototype MultiAgent Network Security System. - Proceedings of the AAMAS"03. -- ACM, 2003

R. Menezes -- Self-Organization and Computer Security. - Proceedings of the 2005 ACM Symposium on Applied Computing (SAC"05). -- ACM, 2005

J. Page , A. Zaslavsky , M. Indrawan -- Countering Agent Security Vulnerabilities using an Extended SENSE Schema. - Proceedings of the IEEE/WIC/ACM International Conference on Intelligent Agent Technology (IAT"04). -- IEEE, 2004

J. Page , A. Zaslavsky , M. Indrawan -- Countering Security Vulnerabilities in Agent Execution using a Self Sxecuting Security Examination. - Proceedings of the AAMAS"04. -- ACM, 2004

J. Ameiller , S. Robles , J.A. Ortega-Ruiz -- Self-Protected Mobile Agents. - Proceedings of the AAMAS"04. -- ACM, 2004

M. Christodorescu , S. Jha -- Testing Malware Detectors. - Proceedings of the ISSTA"04. -- ACM, 2004

M. Christodorescu , S. Jha , S.A. Seshia , D. Song , R.E. Bryant -- Semantics-Aware Malware Detection. - Proceedings of the 2005 IEEE Symposium on Security and Privacy (S&P"05). -- IEEE, 2005

J.A.M. McHugh , F.P. Deek -- An Incentive System for Reducing Malware Attacks. -- Communications of the ACM, 2005, 6

J.V. Harrison -- Enhancing Network Security By Preventing User-Initiated Malware Execution. - Proceedings of the International Conference on Information Technology Coding and Computing (ITCC"05). -- IEEE, 2005

A. Bohra , I. Neamtiu , P. Gallard , F. Sultan , L. Iftode -- Remote Repair of Operating System State Using Backdoors. - Proceedings of the International Conference on Autonomic Computing (ICAC"04). -- IEEE, 2004

F. Sultan , A. Bohra , S. Smaldone , Y. Pan , P. Gallard , I. Neamtiu , L. Iftode -- Recovering Internet Service Sessions from Operating System Failures. -- IEEE Internet Computing, 2005, March/April

J.B. Grizzard , S. Krasser , H.L. Owen , G.J. Conti , E.R. Dodson -- Towards an Approach for Automatically Repairing Compromised Network Systems. - Proceedings of the Third IEEE International Symposium on Network Computing and Applications (NCA"04). -- IEEE, 2004

A. Goel , K. Po , K. Farhadi , Z. Li , E. de Lara -- The Taser Intrusion Recovery System. - Proceedings of the SOSP"05. -- ACM, 2005

J. Levine , J. Grizzard , H. Owen -- A Methodology to Detect and Characterize Kernel Level Rootkit Exploits Involving Redirection of the System Call Table. - Proceedings of the Second IEEE International Information Assurance Workshop (IWIA"04). -- IEEE, 2004

C. Kruegel , W. Robesrtson , G. Vigna -- Detecting Kernel-Level Rootkits Through Binary Analysis. - Proceedings of the 20th Annual Computer Security Applications Conference (ACSAC"04). -- IEEE, 2004

H. Xu , W. Du , S.J. Chapin -- Detecting Exploit Code Execution in Loadable Kernel Modules. - Proceedings of the 20th Annual Computer Security Applications Conference (ACSAC"04). -- IEEE, 2004

Y.-M. Wang , D. Beck , B. Vo , R. Roussev , C. Verbowski -- Detecting Stealth Software with Strider GhostBuster. - Proceedings of the 2005 International Conference on Dependable Systems and Networks (DSN"05). -- IEEE, 2005

S. Ring , D. Esler , E. Cole -- Self-Healing Mechanisms for Kernel System Compromises. - Proceedings of the WOSS"04. -- ACM, 2004

M. Laureano , C. Maziero , E. Jamhour -- Intrusion Detection in Virtual Machine Environments. - Proceedings of the 30th EUROMICRO Conference (EUROMICRO"04). -- IEEE, 2004

M. Vrable , J. Ma , J. Chen , D. Moore , E. Vandekieft , A.C. Snoeren , G.M. Voelker , S. Savage -- Scalability, Fidelity, and Containment in the Potemkin Virtual Honeyfarm. - Proceedings of the SOSP"05. -- ACM, 2005

S. Ring , E. Cole -- Taking a Lesson from Stealthy Rootkits. -- IEEE Security & Privacy, 2004, July/August

W. Shi , H.-H.S. Lee , G. Gu , L. Falk -- An Intrusion-Tolerant and Self-Recoverable Network Service System Using A Security Enhanced Chip Multiprocessor. - Proceedings of the Second International Conference on Autonomic Computing (ICAC"05) -- IEEE, 2005