Скрытый каналСкрытый канал — это коммуникационный канал, пересылающий информацию методом, который изначально был для этого не предназначен. Впервые понятие скрытого канала было введено в работе Батлера Лэмпсона «A Note of the Confinement Problem» 10 октября 1973 года, как «[каналы], не предназначенные для передачи информации совершенно, такие как воздействие служебной программы на загрузку системы»[1]. Чаще всего скрытый канал является паразитом по отношению к основному каналу: скрытый канал уменьшает пропускную способность основного канала. Сторонние наблюдатели обычно не могут обнаружить, что помимо основного канала передачи данных есть ещё дополнительный. Только отправитель и получатель знают это. Например, в стеганографии скрытые сообщения кодировались внутри графических изображений или других данных таким образом, что на глаз изменений было не заметить, однако получатель сообщения мог раскодировать зашифрованное сообщение. Отличительные чертыСкрытый канал носит своё название в силу того факта, что он спрятан от систем разграничения доступа даже безопасных операционных систем, так как он не использует законные механизмы передачи, такие как чтение и запись, и потому не может быть обнаружен или проконтролирован аппаратными механизмами обеспечения безопасности, которые лежат в основе защищённых операционных систем. В реальных системах скрытый канал практически невозможно установить, и также его часто можно обнаружить с помощью наблюдения за быстродействием системы; кроме того, недостатками скрытых каналов являются низкое отношение сигнал/шум и низкие скорости передачи данных (порядка нескольких бит в секунду). Их также можно удалить с защищённых систем вручную с высокой степенью надёжности, если воспользоваться признанными стратегиями анализа скрытых каналов. Скрытые каналы часто путают с использованием законных каналов, при котором происходит атака на псевдозащищённые системы с низкой степенью доверенности, используя такие схемы как стеганография или даже менее сложные схемы, предназначенные для того, чтобы спрятать запрещённые объекты внутри объектов с легальной информацией. Подобные использования законных каналов с применением схем скрытия данных не являются скрытыми каналами и могут быть предотвращены доверенными системами с высокой степенью защищённости. Скрытые каналы могут проходить сквозь защищённые операционные системы, и необходимы особые меры для их контроля. Единственным проверенным методом контроля скрытых каналов является так называемый анализ скрытых каналов. В то же время, защищённые операционные системы могут с лёгкостью предотвратить неверные (или незаконные) использования легальных каналов. Часто анализ легальных каналов на предмет скрытых объектов неверно представляют как единственную успешную меру против незаконного использования легальных каналов. Поскольку на практике это означает необходимость анализировать большое количество программного обеспечения, ещё в 1972 было показано что подобные меры неэффективны [2]. Не зная этого, многие верят в то, что подобный анализ может помочь справиться с рисками, связанными с легальными каналами. Стандарт TCSECTCSEC — это набор стандартов, установленных Министерством обороны США. Лэмпсоновское определение скрытого канала было перефразировано в TCSEC [2] так, чтобы имелись в виду способы передачи информации от более защищённого уровня к менее защищённому. В среде разделённых вычислений сложно полностью отделить один процесс от эффектов, которые другой процесс мог оказать на операционную среду. Скрытый канал создаётся процессом-отправителем, который модулирует некоторое состояние (такое как свободное пространство, доступность некоторого сервиса, времени ожидания запуска и т. д.), которое может быть обнаружено процессом-получателем. В Критериях определяют два вида скрытых каналов:
Критерии, также известные как Оранжевая книга,[3] требуют, чтобы анализ скрытых каналов памяти был классифицирован как требование для системы класса B2, а анализ скрытых каналов времени как требование для класса B3. Устранение скрытых каналовВозможность наличия скрытых каналов не может быть устранена полностью, но её можно существенно уменьшить аккуратным проектированием системы и её анализом. Обнаружение скрытого канала может быть сделано более трудным при использовании характеристик среды передачи для легальных каналов, которые никогда не контролируются и не проверяются пользователями. Например, программа может открывать и закрывать файл особым, синхронизированным, образом, который может быть понят другим процессом как битовая последовательность, формируя таким образом скрытый канал. Так как маловероятно, что легальные пользователи будут пытаться найти схему в открытии и закрытии файлов, подобный тип скрытого канала может оставаться незамеченным в течение длительного времени. Похожим случаем является технология «port knocking». Обычно при передаче информации распределение запросов во времени не важно, и за ним не наблюдают, но при использовании «port knocking» оно становится существенным. Скрытие данных в модели OSIХэнделом и Сэнфордом была предпринята попытка расширить перспективу и сфокусироваться на скрытых каналах в общей модели сетевых протоколов. В качестве основы своих рассуждений они берут сетевую модель OSI и затем характеризуют элементы системы, которые возможно использовать для скрытия данных. У принятого подхода есть преимущества над подходом Хэндела и Сэнфорда, так как в последнем рассматриваются стандарты, противоположные некоторым используемым сетевым средам и архитектурам. Также не разработано надёжной схемы стенографирования. Тем не менее, установлены общие принципы для скрытия данных на каждом из семи уровней модели OSI. Помимо того, что Хэндел и Сэнфорд предложили использовать зарезервированные поля заголовков протоколов (что легко обнаружимо), они также предположили возможность каналов по времени, касающуюся операции над CSMA/CD на физическом уровне. Их работа определяет ценность скрытого канала по следующим параметрам:
Также был представлен анализ скрытых каналов, но он не рассматривает такие проблемы, как-то: взаимодействие с помощью упомянутых методов между сетевыми узлами, оценка ёмкости канала, эффект, который скрытие данных оказывает на сеть. Кроме того, применимость методов не может быть полностью оправдана на практике, так как модель OSI не существует как таковая в действующих системах. Скрытие данных в среде ЛВСПервым, кто проанализировал скрытые каналы в среде локальных сетей, был Гирлинг. Его работа фокусируется на локальных вычислительных сетях (ЛВС), в которых определяются три очевидных скрытых канала — два по памяти и один по времени. Это показывает реальные примеры возможных полос пропускания для простых скрытых каналов в ЛАС. Для особой среды ЛАС, автор ввёл понятие перехватчика, который наблюдает за действиями определённого передатчика в ЛВС. Стороны, осуществляющие скрытую передачу, — это передатчик и перехватчик. Скрытая информация, согласно Гирлингу, может быть передана любым из следующих способов:
Скрытие данных в пакете протоколов TCP/IPБолее конкретный подход был предпринят Роулэндом. Сосредотачиваясь на IP и TCP заголовках пакета протоколов TCP/IP, Роулэнд выводит правильные методы кодирования и декодирования с использованием поля идентификации IP и TCP-поля начального номера последовательности и номера последовательности подтверждения. Эти методы реализованы в простом приложении, написанном для Linux-систем, работающих на ядре версии 2.0. Роулэнд просто доказывает саму идею существования скрытых каналов в TCP/IP, а также их использования. Соответственно, его работу можно оценивать как практический прорыв в этой сфере. Принятые им методы кодирования и декодирования более прагматичны по сравнению с ранее предложенными работами. Эти методы проанализированы с учётом механизмов безопасности, таких как преобразование сетевых адресов брандмауэром. Тем не менее, необнаружимость этих методов скрытой передачи стоит под вопросом. Например, в случае когда производятся операции над полем номера последовательности TCP-заголовка, принята схема, в которой алфавит каждый раз скрытно передаётся, но тем не менее кодируется одним и тем же номером последовательности. Более того, использование поля номера последовательности, так же, как и поля подтверждения, нельзя осуществлять с привязкой к ASCII-кодировке английского алфавита, как это предложено, так как оба поля учитывают получение байтов данных, относящихся с определённым сетевым пакетам. У скрытия данных в пакете протоколов TCP/IP существуют следующие важные аспекты:
См. такжеПримечания
Ссылки
|