Введение

В компьютерной безопасности скрытый канал — это тип атаки, который создает возможность передачи информационных объектов между процессами, которым, согласно политике компьютерной безопасности, не разрешено взаимодействовать. Термин, введенный в 1973 году Батлером Лэмпсоном, определяется как каналы, "вообще не предназначенные для передачи информации, такие как влияние сервисной программы на загрузку системы", чтобы отличать их от легитимных каналов, которые контролируются средствами COMPUSEC.

Характеристики

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

Канал времени

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

Определяем скрытые каналы

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

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

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

Путем наблюдения за адресами, к которым обращается передатчик. Если общее количество адресов, к которым может обратиться отправитель, равно 16, то существует возможность секретной связи, содержащей 4 бита секретного сообщения. Автор назвал эту возможность скрытым каналом хранения, поскольку она зависит от того, что отправляется (то есть, к какому адресу обращается отправитель). Аналогичным образом, другой очевидный канал хранения будет зависеть от размера кадра, отправленного отправителем. Для 256 возможных размеров объем скрытой информации, извлекаемой из одного размера кадра, составит 8 бит. Этот сценарий также был назван каналом скрытого хранения. Третий сценарий основан на наличии или отсутствии сообщений. Например, "0" для нечетного интервала времени сообщения, "1" для четного. Этот сценарий передает скрытую информацию посредством стратегии "когда отправляется", поэтому он называется каналом синхронизации. Время передачи блока данных рассчитывается как функция времени обработки программного обеспечения, скорости сети, размеров сетевых блоков и протокольных накладных расходов. Предполагая, что блоки различных размеров передаются в LAN, программные накладные расходы вычисляются в среднем, и используется новая оценка времени для оценки пропускной способности (вместимости) скрытых каналов. Эта работа открывает путь для дальнейших исследований.

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

В статье, опубликованной Крейгом Роулендом, рассматриваются заголовки IP и TCP стека протоколов TCP/IP, и в ней предложены эффективные методы кодирования и декодирования, использующие поле идентификации IP, начальный порядковый номер TCP и поле подтверждающего порядкового номера. Эти методы реализованы в простой утилите, разработанной для систем Linux с ядрами версии 2.0. Роуленд представляет доказательство концепции, а также практические методы кодирования и декодирования для эксплуатации скрытых каналов связи с использованием стека протоколов TCP/IP. Анализ этих методов учитывает механизмы безопасности, такие как сетевые брандмауэры и преобразование сетевых адресов (NAT). Однако, незаметность этих методов скрытной коммуникации вызывает сомнения. Например, если манипулируется полем порядкового номера заголовка TCP, схема кодирования строится таким образом, что каждый раз, когда скрытно передается один и тот же символ, он кодируется одним и тем же порядковым номером. Более того, использование поля порядкового номера и поля подтверждения не может быть ограничено кодированием символов английского алфавита ASCII, как предлагалось, поскольку оба поля учитывают получение байтов данных, относящихся к конкретным сетевым пакетам. После работы Роуленда, ряд авторов в академической среде опубликовали дополнительные исследования скрытых каналов в стеке протоколов TCP/IP, включая множество мер противодействия, от статистических методов до машинного обучения. Исследования сетевых скрытых каналов пересекаются с областью сетевой стеганографии, которая появилась позднее.