Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

О скрытых каналах и не только

Алексей Галатенко, http://www.jetinfo.ru/

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

Прими с достоинством то, что не можешь изменить.

Сенека

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

Традиционным стало следующее определение скрытого канала (см. [3]). Пусть дана модель недискреционной политики безопасности М и ее реализация I(M) в операционной системе. Потенциальная связь между субъектами I(Si) и I(Sj) в I(M) называется скрытым каналом тогда и только тогда, когда эта связь между Si и Sj в модели M не разрешена.

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

Напомним, что в "Оранжевой книге" требования, касающиеся скрытых каналов, фигурируют, начиная с класса B2, а мандатный доступ появляется в классе B1. В тех странах, где нормативные документы в области информационной безопасности построены на основе "Оранжевой книги", режимные организации должны бороться со скрытыми каналами и по содержательным, и по формальным причинам, для них и реализация принудительного управления доступом, и блокирование скрытых каналов — действия необходимые. В то же время, они весьма сложны. Например, в упомянутой выше работе [3] обосновывается необходимость анализа исходного текста (наряду с анализом спецификаций) ядра ОС для выявления скрытых каналов по памяти и утверждается, что на ручной анализ ядра Secure Xenix требуется два человеко-года. Разумеется, анализ можно автоматизировать, что и было сделано, после чего было выявлено 25 переменных, потенциально пригодных для организации скрытых каналов. Любопытно отметить, что существование пяти каналов стало возможным из-за конфликтов между программным интерфейсом ядра Secure Xenix и правилами мандатного доступа; очевидно, без потери совместимости ликвидировать эти каналы невозможно.

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

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

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

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

Со скрытыми каналами можно бороться двумя способами: пытаться блокировать их полностью или уменьшать пропускную способность.

Для полного блокирования скрытого канала нужно устранить разделение ресурсов, видимое для процессов с низким уровнем доверия; последние должны выполняться так, будто кроме них в системе никого и ничего нет. Подобного невлияния можно добиться либо избегая конфликтов (например, за счет устранения разделения ресурсов), либо незаметным образом разрешая их в пользу "низших". Это, в свою очередь, порождает проблему, аналогичную инвертированию приоритетов: процесс с высоким уровнем доверия рискует получить слишком мало ресурсов, а совершаемые им транзакции могут слишком часто откладываться. Для борьбы с дискриминацией "секретных" процессов приходится идти на новые хитрости (см., например, [5]).

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

Если считать, что такт T эталонных часов постоянен, и за один такт можно различить N модуляций, то пропускная способность скрытого канала по времени оценивается величиной log2(N)/T. Для уменьшения пропускной способности можно "сбивать" часы (эталонные и/или сигнальные), "зашумлять" канал еще каким-либо способом (например, обслуживая фиктивные запросы), уменьшать разрешающую способность часов (увеличивая такт). (Заметим, что предпочтительнее воздействовать на эталонные, а не сигнальные часы, так как первое дает линейный эффект, а второе — лишь логарифмический). Любопытно отметить, что в локальной сети корпорации Боинг, сертифицированной по классу A1, разрешающая способность часов, доступных недоверенным процессам, составляет одну секунду (см. [4]). Как говорится, страшнее скрытого канала зверя нет, и для борьбы с ним приходится применять весьма сильнодействующие средства, существенно снижающие эффективность и осложняющие работу приложений. Впрочем, как показывает рассмотренный выше пример, можно добраться до более тонких внутренних часов планировщика; он демонстрирует также, насколько сложны анализ пропускной способности скрытых каналов и борьба с ними.

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

С потайными каналами (см. выше раздел 1) дело обстоит еще хуже. Представляется очевидным, что если не формализовать структуру данных, передаваемых программами по легальным каналам (Лэмпсон указывал на необходимость подобной формализации), последние всегда можно использовать для скрытой передачи информации. Строгое доказательство невозможности устранения и даже обнаружения потайных каналов при весьма общих предположениях относительно схем контроля имеется в работах А.А. Грушо [7], [8].

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

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...