Прячем трафик: техника сокрытия IP-трафика с помощью секретных пассивных каналов. Скрытые каналы передачи данных

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

    Введение

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

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

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

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


    1.1. Стандарт TCSEC

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

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

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

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

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


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

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

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

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


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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

    Contents

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Замечания:

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

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

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

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

    Классификация скрытых каналов:

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

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

    При этом особо выделяются "потайные" каналы (subliminal channels) – нестандартные способы передачи информации по легальным каналам, например, электронной почте.

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

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

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



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

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

    Появился термин «скрытый канал» (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. Рекомендации по организации защиты информации, информационных технологий и автоматизированных систем от атак с использованием скрытых каналов.»

    В настоящее время все источники, освещающие вопросы информационной безопасности, содержат сведения раскрытые г-ном Сноуденом о скрытых каналах получения информации и умышленно внедряемых в различные технические средства АНБ устройствах негласного доступа к информации (получения, съема).
    А что же у нас в стране с решением данной проблемы? Анализируя современную отечественную нормативную базу, можно выделить следующие документы, регламентирующие вопросы выявления и борьбы со скрытыми каналами:
    ГОСТ Р 53113.1-2008 «Информационная технология. Защита информационных технологий и автоматизированных систем от угроз информационной безопасности, реализуемых с использованием скрытых каналов. Часть 1. Общие положения»;
    ГОСТ Р 53113.2-2009 «Информационная технология. Защита информационных технологий и автоматизированных систем от угроз информационной безопасности, реализуемых с использованием скрытых каналов. Часть 2. Рекомендации по организации защиты информации, информационных технологий и автоматизированных систем от атак с использованием скрытых каналов».

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

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

    Интерпретированная модель функционирования скрытого канала представлена на рисунке (из ГОСТР 53113.2-2009):

    Создание скрытого канала и осуществление воздействия нарушителя на защищаемые информационные ресурсы в соответствии с приведенной моделью осуществляется следующим порядком:

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

    В качестве практической реализации подобного подхода, на базе материалов, опубликованных Сноуденом (http://freesnowden.is/2013/12/31/ant-product-data/), в пример можно привести программное средство IRONCHEF, функционирующее на базе аппаратных закладок типов COTTONMOUTH-I (II, III), реализованные устройствами HOWLERMONKEY и TRINITY (можно сказать, «классическое» построение скрытого канала).
    Как же проводить работу по выявлению скрытых каналов?
    С точки зрения «теории» процесс выявления скрытого канала включает в себя следующие действия:

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

    В качестве защитных мероприятий предлагается использовать:

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

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

    • статистический метод;
    • сигнатурный метод.

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

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