Вы находитесь на странице: 1из 20

ИНФОРМАЦИОННЫЙ БЮЛЛЕТЕНЬ № 11 (114)/2002

Скрытые
каналы
(обзор) (С т р. 2)

О скрытых
каналах
и не только
(С т р. 1 2 )
ИНФОРМАЦИОННАЯ
БЕЗОПАСНОСТЬ
Скрытые каналы
(обзор)
Работа поддержана грантом РФФИ 01-01-00895
Тимонина Е. Е.

СОДЕРЖАНИЕ
1. Введение ..........................................................................................3
2. Информационный поток ...............................................................3
Пример 1.
Пример 2.
Пример 3.
3. Политики безопасности ................................................................5
4. Примеры скрытых каналов ..........................................................7
5. Модели скрытых каналов и их анализ .......................................8
6. Борьба со скрытыми каналами ................................................10
Литература ........................................................................................11
ления, которые порождают различные понимания
скрытых каналов, использованных в этом обзоре.
В разделе 3 мы раскрываем связь различных
политик безопасности и скрытых каналов. Выявле
ние этой связи позволяет определить, от чего и как
защищают те или иные механизмы реализации
различных политик безопасности, и в каких случа
ях вопрос о существовании скрытых каналов тре
буется решать дополнительно.
4 раздел посвящен примерам скрытых кана
лов в различных трактовках этого термина.
Раздел 5 посвящен задачам анализа скрытых
каналов. В нем приводятся методы выявления
1. Введение скрытых каналов при анализе компьютерных сис
тем и программного обеспечения. В частности, рас
Попытки скрыть сам факт передачи информации сматривается известный метод зависимостей и ме
имеют длинную историю. Способы сокрытия само тод матрицы общих ресурсов.
го факта передачи информации получили название В разделе 6 приводятся некоторые данные о
стеганография. Исторически для стеганографии противодействии стеганографическим схемам в
применялись «невидимые» чернила, точечные фо некоторых традиционных видах носителей.
товставки и т.д. Данное направление получило вто
рую жизнь в наше время в связи с широким исполь
зованием сетей передачи данных. Чтобы выделить
методы стеганографии, связанные с электронным
представлением данных, появился термин компью
терная стеганография. Однако в работе Шнайера
[22] стеганографические способы передачи по кана
лам связи получили название потайных каналов
(subliminal channels). Наряду с этим появился тер
мин «скрытый канал» (covert channel). Впервые по
нятие скрытого канала было введено в работе Лэмп
сона [16] в 1973 году. Канал называется скрытым, ес
ли он не проектировался, не предполагался для пе 2. Информационный поток
редачи информации в электронной системе обра
ботки данных. Таким образом, термин скрытые Простейший подход к определению информацион
каналы больше относится к внутри компьютерным ного потока можно найти в TCSEC [11] («Оранже
телекоммуникациям. В работе Тсаи [23] дано следу вая книга», 1985 г.) и на русском языке в работе
ющее определение скрытого канала. Если нам дана А.Грушо и Е.Тимониной [1]. Если осуществляется
модель не дискреционной политики безопасности доступ на чтение (read) субъекта S к объекту О, то
М и ее имплементация I(M) в операционной систе поток информации идет от О к S. Если S имеет до
ме, то любая потенциальная связь между двумя ступ на запись (write) к О, то информационный по
субъектами I(Sh) и I(Si) в I(M) называется скрытым ток направлен от S к О. Транзитивное замыкание
каналом, если эта связь между субъектами Sh и Si в цепочек доступа (даже без учета времени) пред
модели M не разрешена. ставляет собой сложный информационный поток.
Поскольку все приведенные выше термины,
касающиеся скрытой передачи информации, отли
Пример 1.
чаются нюансами приложений, мы будем без огра
ничения общности способы скрытой передачи ин Например, документ D записан в файл О пользова
формации называть скрытыми каналами. Возвра телем U1, а пользователь U2 прочитал документ D в
щаться к исходным терминам мы будем в тех осо файле О. Таким образом информация, содержаща
бых случаях, когда выделение соответствующих яся в документе D, перешла от пользователя U1 к
каналов вытекает из контекста. пользователю U2 с помощью двух информацион
Во всех случаях скрытых каналов необходимо ных потоков:
уточнять понятие канала связи. В связи с этим в сле • U1 организовал информационный поток от се
дующем разделе 2 мы приводим различные опреде бя к О с помощью операции write;

3
Тимонина Е. Е.

• U2 организовал информационный поток от О к стояний объектов Х и Y при условии, что меры, ин
себе с помощью операции read. дуцируемые на Х и Y, не являются независимыми.
Рассмотрим еще одно определение инфор
Более привычное определение информаци стояний
мационногообъектов
потока,Х иприведенное
Y при условии,в [13,
что19].
меры,
В этих
ин
онного потока вводится через среднюю взаимную дуцируемые
работах для анализа
на Х и Y,скрытых
не являются
каналов
независимыми.
вводится по
информацию (см. работы Шеннона [8]). Как опре нятие Рассмотрим
зависимости.еще С точки
однозрения
определение
нашегоинфор
анали
делено в работе [1] объект О в информационной си мационного
за любая зависимость
потока, приведенное
порождаетвканал
[13, 19].
передачи
В этих
стеме представляет собой конечное множество до работах
данных. для
Поэтому
анализа мыскрытых
рассматриваем
каналовпонятие
вводится зави
по
пустимых записей в данном языке, а состоянием нятие
симостей
зависимости.
как один Сиз точки
способов
зренияопределения
нашего анализа ин
объекта О является конкретная запись из этого ко любая
формационного
зависимость потока.
порождает канал передачи дан
нечного множества, которая находится в информа ных. Поэтому мы рассматриваем понятие зависи
ционной системе в данный момент времени с име мостей
Определение.
как один Информационным
из способов определения
потоком от инфор
объ
нем О. Пусть X и Y два объекта в информационной мационного
ектов {S} к потока.
объекту T можно считать тройку (T,
системе и предположим, что в данный момент вре {S}, G), где Т меняет свое состояние, если {S} меня
мени состояния объектов X и Y определяются сов Определение.
ет свое состояние Информационным
при условии, что потоком
логическое
от объ
вы
местным распределением вероятностей P(x, y) на ектов
ражение{S} G
к объекту
принимает T можно
значение
считать
истина.
тройку (T, {S},
конечном множестве пар (x, y), x∈X, y∈Y, P(x,y)≥0, G), где Т меняет свое состояние, если {S} меняет
свое состояние при условии, что логическое выра
Пример 3.
жение G принимает значение истина.
Σ P(x,y)=1. Обозначим PX(x)=Σ P(x,y)
y∈Y, x∈X y∈Y
и анало При вхождении в систему пользователь называет
свое имя И и вводит свой пароль П. Данный пароль
Пример 3.
после шифрования преобразуется в запись К(П),
гично PY(y)= Σ P(x,y).
x∈X
Средней взаимной инфор При
которая
вхождении
сравниваетсяв систему
со значением
пользователь
в таблице
называет
па
свое
ролей,
имясоответствующей
И и вводит свой данномупароль П.имени
Данный И пользо
пароль
мацией объектов Х и Y называется величина после
вателя.шифрования
В данном случае преобразуется
значение переменной
в запись К(П), Т,
которая
равное 1,сравнивается
если пользователю со значением
разрешено в таблице
войти в си
па
I(X,Y)= Σ P(x,y)log2 PXP(x,y)
y∈Y, x∈X
(x)PY(y). ролей,
стему, соответствующей
и 0 – в противном данному
случае,имени
зависит И пользо
от вве
вателя.
денных В переменных
данном случае И и Пзначение
при выполнении
переменнойлогичеТ,
равное
ского условия,
1, если пользователю
что в соответствующей
разрешенострочке
войти втаб
си
Определение. Информационный поток между объ стему,
лицы паролей
и 0 – в противном
К(П) введенного
случае,пароля
зависит совпадает
от введенс
ектами Х и Y существует, если средняя взаимная ных
имеющейся
переменных там И записью.
и П при выполнении
В данном случаелогическо
пере
информация I(X,Y)>0. го
менная
условия,
S принимает
что в соответствующей
значение имени строчке
пользователя
табли
Можно доказать, что существование инфор цы
И, переменная
паролей К(П) S1 принимает
введенногозначение
пароля совпадает
пароля К, ас
мационного потока эквивалентно условию, что су имеющейся
логическое условие
там записью.
G соответствует
В данном случае
совпадению
пере
ществует пара (x,y) такая, что P(x,y)≠PX(x)PY(y). менная
записейSвпринимает
таблице паролей.
значение имени пользователя
Ясно, что если существует информационный И, переменная
К этому Sопределению
1 принимает значение
относятсяпароля
все виды
К, а
поток от Х к Y, то существует такой же информаци логическое
функциональных условие связей,
G соответствует
в которых совпадению
значение Т
онный поток от Y к Х. В компьютерной безопаснос записей
есть функция
в таблицеот некоторого
паролей. набора переменных,
ти данный подход к описанию информационных куда входит
К этому {S}.определению относятся все виды
потоков предложен в работе Деннинг [10]. функциональных
Обобщениемсвязей, даннойвсхемыкоторых
является
значение
модельТ
есть
информационного
функция от некоторого
потока какнабора
конечногопеременных,
автомата,
куда
в котором
входитисточник
{S}. сообщения посылает входное
Пример 2.
слово Обобщением
на вход автомата, данной а получатель
схемы являетсясообщения
модель
Пусть файл О1 является копией файла О2. Тогда информационного
видит выходную последовательность
потока как конечного автомата
автомата,
[6].
P(x,y)=0 при x≠y. Если вероятность состояния х вСледующими
котором источникобобщениями
сообщения являются
посылает
модельвходное
кана
объекта О1 не равна 0, и вероятность состояния y слово
ла какнавероятностного
вход автомата, автомата
а получатель
и модель
сообщения
детерми
ви
объекта О2 не равна 0, то из эквивалентного опре дит
нированного
выходную автомата
последовательность
со случайным входом.
автомата [6].
деления информационного потока следует, что су Следующими обобщениями являются модель кана
ществует информационный поток от объекта О1 к ла как вероятностного автомата и модель детерми
объекту О2. нированного автомата со случайным входом.
Другие примеры простейших потоков данно
го типа в программах можно найти в [1]. Отметим,
что данное определение потока эквивалентно зада
нию совместного распределения на множествах со

4
Скрытые каналы (обзор)

3. Политики безопасности иметь конструктивное определение на языке до


ступов. Рассмотрим класс систем с двумя видами
Будем следовать общепринятому определению по доступов read и write (хотя могут быть и другие до
литики безопасности (ПБ), приведенному в стан ступы, но они либо не определяют информацион
дарте TCSEC [11]. ный поток, либо выражаются через write и read).
Пусть процесс S в ходе решения своей задачи по
Определение. Политика безопасности это набор следовательно обращается к объектам O1, O2,..., Ol
норм, правил и практических приемов, которые ре (некоторые из них могут возникнуть в ходе реше
гулируют управление, защиту и распределение ния задачи). Пусть
ценной информации. r– r– w– w– (1)
S–– >Oi ,...,S––>Oi , S–– >Oj ,...,S––>Oj
Многие политики безопасности выражают 1 k 1 lk
ся через информационные потоки. Например, все Тогда из определения MLS следует, что при
информационные потоки в системе (в том числе выполнении условий
потенциальные) делятся на два непересекающихся c(S)≥c(Oi ), t=1,...,k, соответствующие потоки
t
подмножества: разрешенные и неразрешенные по информации, определяемые доступом read, будут
токи. Тогда система защиты должна обеспечивать идти в разрешенном политикой MLS направлении,
поддержку разрешенных потоков и препятство а при
вать запрещенным потокам. К политикам такого c(S)≤c(Oi ), t=1,...,k, потоки, определяемые до
t
класса относится многоуровневая политика (MLS). ступом write, будут идти в разрешенном направле
Многоуровневая политика безопасности нии. Таким образом, в результате выполнения зада
(политика MLS) принята всеми развитыми государ чи процессом S, информационные потоки, с ним
ствами мира. В секретном повседневном делопро связанные, удовлетворяют политике MLS. Такого
изводстве госсектор России также придерживает качественного анализа оказывается достаточно,
ся этой политики. чтобы классифицировать почти все процессы и
Решетка ценностей SC является основой по принять решение о соблюдении или нет политики
литики MLS. Линейно упорядоченное множество MLS. Если гдето политика MLS нарушается, то со
грифов секретности «несекретно» < «секретно» < ответственный доступ не разрешается. Причем
«совершенно секретно» является простейшим при разрешенность цепочки (1) вовсе не означает, что
мером такой решетки ценности. В более общем субъект S не может создать объект O такой, что
случае к грифам конфиденциальности добавляют c(S)>c(O). Однако он не может писать туда инфор
ся подмножества тематических категорий из за мацию. При передаче управления поток информа
данного набора категорий. В этом случае также по ции от процесса S или к нему прерывается (хотя в
лучается решетка ценностей, в которой некоторые него другие процессы могут записывать или считы
элементы упорядочены. Например, приведем срав вать информацию как в объект). При этом, если
нение двух элементов такой решетки: «секретно, правила направления потока при read и write вы
кадры, финансы» < «совершенно секретно, кадры, полняются, то MLS соблюдается, если нет, то соот
финансы, материальное обеспечение». Классифи ветствующий процесс не получает доступ. Таким
кация информационных ресурсов  это отображе образом, мы приходим к управлению потоками че
ние с множества объектов системы О в множество рез контроль доступов. В результате для определен
узлов SC решетки ценности. То есть каждый объ ного класса систем получим конструктивное опи
ект системы классифицируется уровнем секретно сание политики MLS.
сти и множеством тематических категорий. Отоб
ражение с: O – –> SC считается заданным. Если Определение. В системе с двумя доступами read и
c(Y)≥c(X), то Y – более ценный объект, чем X. write политика MLS определяется следующими
правилами доступа
Определение. Политика MLS считает информаци r>
X–– –Y ⇐⇒ c(X)≥c(Y),
онный поток X–– >Y разрешенным тогда и только w
X––>–Y ⇐⇒ c(X)≤c(Y).
тогда, когда c(Y)≥c(X) в решетке SС.
Таким образом политика MLS имеет дело с Структура решетки очень помогает органи
множеством информационных потоков в системе зации поддержки политики MLS. В самом деле,
и делит их на разрешенные и неразрешенные пусть имеется последовательная цепочка информа
очень простым условием. Однако эта простота ка ционных потоков
сается информационных потоков, которых в систе O1––>O2–– >O3––>…–– >Ok.
ме огромное количество. Поэтому приведенное вы Если каждый из потоков разрешен, то свой
ше определение неконструктивно. Хотелось бы ства решетки позволяют утверждать, что разрешен

5
Тимонина Е. Е.

сквозной поток O1–– >Ok. Действительно, если ин щищает конфиденциальность информации. Точно
формационный поток на каждом шаге разрешен, то так же, как многоуровневая политика, определяется
c(Oi+1)≥c(Ok), тогда по свойству транзитивности ре политика защиты целостности Байба [9], только раз
шетки c(O1)≤c(Ok), то есть сквозной поток разрешен. решенными в данной политике являются все пото
MLS политика в современных системах за ки между сравнимыми узлами, направленные вниз.
щиты реализуется через мандатный контроль (или, Предположим, что опасности для нарушения
также говорят, через мандатную политику). Уст секретности не существует, а единственная цель
ройство мандатного контроля, удовлетворяющее политики безопасности  защита от нарушений це
некоторым дополнительным требованиям, называ лостности информации. Пусть, попрежнему, в ин
ется монитором обращений. Мандатный контроль формацию внесена решетка ценностей SС. В этой
еще называют обязательным, так как через него связи любой информационный поток X–– >Y может
проходит каждое обращение субъекта к объекту, воздействовать на целостность объекта Y. Если в Y
если субъект и объект находятся под защитой сис более ценная информация, чем в X, то такой поток
темы безопасности. Организуется мандатный кон при нарушении целостности Y принесет более ощу
троль следующим образом. Каждый объект O име тимый ущерб, чем поток в обратном направлении
ет метку с информацией о классе c(O). Каждый от более ценного объекта Y к менее ценному X. Бай
субъект также имеет метку, содержащую инфор ба [9] предложил в качестве политики безопаснос
мацию о том, какой класс доступа c(S) он имеет. ти для защиты целостности следующее.
Мандатный контроль сравнивает метки и удовле
творяет запрос субъекта S к объекту O на чтение, Определение. В политике Байба информационный
если c(S)≥c(O) и удовлетворяет запрос на запись, ес поток X–– >Y разрешен тогда и только тогда, когда
ли c(S)≤c(O). Тогда согласно изложенному выше c(Y)≤c(X).
мандатный контроль реализует политику MLS. Од Можно показать, что в широком классе сис
нако метки конфиденциальности это не единствен тем эта политика эквивалентна следующей.
ный способ управления информационными пото
ками в компьютерных системах. Определение. Для систем с доступами write и read
В системе с многоуровневой политикой безо политика Байба разрешает доступ в следующих
пасности, в которой информационные потоки све случаях:
дены к доступам, возможны потоки более общего r>
S–––O ⇐⇒ c(S)≤c(O),
типа из рассмотренных в п. 2, которые могут нару w–O ⇐⇒ c(S)≥c(O).
S––>
шать политику безопасности MLS. Например, лю
бой информационный поток между несравнимыми Очевидно, что для реализации этой политики
узлами решетки или сверху вниз, который сущест также подходит мандатный контроль. Точно так же
вует, но не выражается через доступы read и write, как и раньше при выполнении мандатного контро
будет нарушать политику безопасности MLS даже ля доступов read и write возможно нарушение поли
при корректной реализации мандатного контроля тики Байба с помощью скрытых каналов (инфор
доступов. В простейшем случае, к которому мы бу мационных потоков более общего типа).
дем апеллировать дальше, если система разделена, Помимо указанных политик следует назвать
по крайней мере, на два уровня High и Low и в сис класс политик защиты связи, в которых информа
теме принята многоуровневая политика безопасно ционный поток, передаваемый от отправителя к по
сти [1], разрешающая информационные потоки лучателю, не должен быть перехвачен или искажен
снизу вверх (от Low к High) и запрещающая потоки при различных допущениях относительно возмож
сверху вниз, то нарушитель может использовать ностей противника по искажению информацион
скрытый канал для передачи информации от про ных потоков или по перехвату части передаваемой
граммноаппаратного агента в среде High к про информации, или наоборот, по попыткам вкли
граммноаппаратному агенту в среде Low. При этом ниться в передаваемый информационный поток.
скрытый канал должен защищать нарушителя от Сюда следует отнести ряд стеганографических
системы защиты, поддерживающей многоуровне схем, в которых основная задача создать информа
вую политику, основанную на определении пото ционный поток, «невидимый» для наблюдателя, с
ков через доступы read и write. То есть скрытый ка определенным набором возможностей.
нал должен быть невидим монитору обращений, Еще одним примером [4] является ситуация,
системе аудита, аналитику, исследующему защи когда производитель продает пользователю ком
щенность системы и т.д. пьютерную систему для обработки данных, при
Потоки в MLS разрешены только между срав этом производитель встроил программноаппарат
нимыми узлами снизу вверх. Данная политика за ного агента для анализа данных, которые обрабаты

6
Скрытые каналы (обзор)

ваются покупателем. Данная система может быть 4. Примеры скрытых


сделана таким образом, что программноаппарат
ный агент соответствует уровню High, а легальный каналов
вычислительный процесс проходит на уровне Low.
Для передачи агентом информации во вне системы Традиционно [19] скрытые каналы характеризуют
необходимо построить скрытый канал между верх ся как каналы по памяти или каналы по времени. В
ним и нижним уровнями с выходом во внешнюю работе Кемерера [15] определяются скрытые кана
среду (например, в Интернет). Аналогично агент лы по памяти как такие каналы, в которых инфор
должен получать инструкции с нижнего уровня мация передается через доступ отправителя на за
скрытно, поскольку входные сообщения для ле пись и получателя на чтение к одним и тем же ре
гального вычислительного процесса и агента при сурсам или объектам. Скрытый канал по времени
ходят по одному каналу. характеризуется доступом отправителя и получате
Суммируем кратко выводы раздела 3. Для ля к одному и тому же процессу или изменяемому
поддержки политики безопасности используются во времени атрибуту.
механизмы защиты, препятствующие нарушению Как и прежде будем полагать, что система
политики безопасности. Одним из способов нару разделена, по крайней мере, на два уровня High и
шения политики безопасности является создание Low и в системе принята многоуровневая политика
скрытых информационных потоков, не выявляе безопасности [1], разрешающая информационные
мых системами защиты. В случае многоуровневой потоки снизу вверх (от Low к High) и запрещающая
политики скрытые каналы передают информацию потоки сверху вниз. Нарушитель может использо
с верхних уровней конфиденциальности на ни вать скрытый канал для передачи информации от
жний уровень так, чтобы механизмы защиты не программноаппаратного агента в среде High к про
могли препятствовать нарушению политики защи граммноаппаратному агенту в среде Low. При этом
ты конфиденциальности. В политике Biba скрытый скрытый канал должен защищать нарушителя от
канал с нижнего уровня на верхний может пере системы защиты, поддерживающей многоуровне
дать команду “Троянскому коню” на уничтожение вую политику.
или модификацию информационных ресурсов, це Простейшим скрытым каналом по памяти
лостность которых защищает данная политика. является возможность показа на уровне Low назва
В связи с этим возникла проблема анализа ний директорий и файлов, созданных на уровне
скрытых каналов всюду, где возникают ограниче High. В данном случае информация может переда
ния на информационные потоки. Любой такой ана ваться в именах файлов, которые выбираются в со
лиз предполагает решение четырех взаимосвязан ответствии с заранее условленным кодом, в атрибу
ных задач: тах файлов, в которых информация может кодиро
1) Выявление скрытых каналов; ваться, размерами файлов, датами изменения фай
2) Оценка пропускной способности скрытых ка лов и т.д. И, наконец, существование файла с дан
налов и оценка опасности, которую несет их ным названием несет бит информации с верхнего
скрытое функционирование; уровня на нижний.
3) Выделение сигнала или получение какойни Другим примером канала по памяти является
будь информации, передаваемой по скрытым кодирование информации в сохраняемых настрой
каналам; ках какихлибо ресурсов общего пользования
4) Противодействие реализации скрытого канала субъектов уровней High и Low. Настройки, прове
вплоть до его уничтожения. денные на уровне High, доступны наблюдению на
уровне Low и, следовательно, могут нести инфор
мацию, выраженную заранее условленным кодом.
Скрытые каналы по времени впервые стали
серьезно рассматриваться с 1976 г., когда один из со
здателей защищенной операционной системы
Multics Миллен [17] продемонстрировал своим кол
легам скрытый канал по времени, реализованный на
изолированных машинах High и Low. Обе машины
были подсоединены к некоторым общим ресурсам
ROM, других каналов или связей между ними не бы
ло. В подсистемах High и Low находились “Троян
ские кони”. На уровне High “Троянский конь” при
нажатии букв на клавиатуре модулировал специаль

7
Тимонина Е. Е.

ным кодом интервалы времен занятости библиотеки фрагмента времени, выделенного для его работы. На
ROM. Время занятости библиотеки верхним уров пример, для передачи 0 и 1 одна длина промежутка
нем сканировалось запросами в библиотеку “Троян времени кодирует 1, а другая  0. В другом случае от
ским конем” нижнего уровня. Получившийся скры правитель использует промежутки времени между
тый канал по времени позволял в реальном времени обращениями к процессору. Более подробно об этих
печатать информацию, получаемую через скрытый каналах можно прочитать в работе Хаскампа [14].
канал с клавиатуры подсистемы уровня High.
Рассмотрим еще один пример скрытого ка
нала по времени. Пусть в программноаппаратной
схеме, реализующей интерфейс RS 232 между Low
и High, нет передатчика на уровне High и нет при
емника на уровне Low. Вместе с тем для передачи
байт с нижнего уровня на верхний машина верхне
го уровня выставляет сигнал готовности к приему
информации. Очередной байт передается только
тогда, когда выставлен сигнал готовности приема.
Тогда задержка в выставлении сигнала после оче
редного переданного байта считается таймером на
нижнем уровне и может таким образом передавать 5. Модели скрытых каналов
информацию от программноаппаратного агента
на верхнем уровне к программноаппаратному и их анализ
агенту на нижнем уровне. Для этого агент на верх
нем уровне кодирует сообщение различными по Модели скрытых каналов используются для разра
длине интервалами задержки выставления сигнала, ботки методов выявления скрытых каналов или, на
а агент на нижнем уровне считывает эти сообще оборот, для обоснования невозможности выявить
ния с помощью таймера. подобные каналы. Традиционный метод выявления
Хорошо известен пример построения скры скрытых каналов [13] опирается на модель зависи
того канала в работе Шнайера [22], когда речь не мости. Как определялось выше зависимости пред
идет о многоуровневой политике. Скрытый канал ставляют из себя тройки (T, {S}, G), в которых изме
передачи информации через Интернет строится с нение параметра Т определяется изменением ис
помощью вписывания сообщения вместо последне ходных параметров {S}, когда логическое выраже
го бита оцифрованного изображения, которое пере ние G принимает значение истина.
дается в качестве легального сообщения. Поскольку Пусть в рассмотренном ранее примере скры
последний бит мало влияет на качество изображе того канала при использовании однонаправленного
ния, передача информации оказывается скрытой от канала RS 232 условие G принимает значение исти
субъекта ведущего перехват и допускающего пере на, когда при передаче появляется фиксированный
дачу только легальных изображений. Хорошо извес байт. В этом случае S есть время задержки выстав
тен метод борьбы с данным методом стеганографии, ления сигнала о возможности приема следующего
заключающийся в изменении формата изображе байта. Агент нижнего уровня измеряет время за
ния, например, с помощью компрессии. Данный ме держки выставления сигнала на таймере Т только
тод уничтожает скрытый канал указанного вида. тогда, когда передан байт, обращающий логичес
Еще одним примером скрытого канала в ана кое выражение G в истину. Поиск данного скрыто
логичной задаче является скрытый канал в TCP/IP го канала наблюдателем за временами задержки
протоколе, рассмотренный в работе Роуланда [21]. выставления сигнала значительно сложнее, чем в
Поле ISN в TCP протоколе служит для организации приведенном ранее примере. Однако статистичес
связи клиента с удаленным сервером. Размер этого кими методами сам факт такой передачи можно
поля 32 бита. Используя это поле в 5 пакетах, было распознать.
скрытно передано слово Hello. С методом зависимостей тесно связан метод
Ряд скрытых каналов по времени, порожден поиска скрытых каналов на основе матрицы разде
ных работой процессора, приведен в работе [19]. ляемых ресурсов (SRM, Кемерер, 1980 г. [15]). В
Особо следует выделить два примера каналов по вре этом методе предполагается, что система полно
мени, использующих возможности изменять дли стью описывается переменными a, b, c, d, … Анализ
тельности занятости в работе центрального процес операций ОР1 проводится в матрице следующим
сора. В первом примере отправитель информации образом. Строчки матрицы соответствуют атрибу
меняет время занятости CPU в течение каждого там разделяемых ресурсов (в нашем примере a, b, c,

8
Скрытые каналы (обзор)

d, …). Столбцы матрицы соответствуют операциям прежнему соответствует появлению в передаче


системы (ОР1 в нашем примере). Значения в клет фиксированного байта. В случаях, когда G истина,
ках матрицы соответствуют действиям оператора агент на уровне High генерирует случайную вели
над соответствующим атрибутом. Тогда матрица в чину с распределением Р1, если он хочет передать
нашем примере примет вид. вниз единицу. Если агент хочет передать ноль или
не передает сообщение вообще, то задержка вы
Разделяемый ресурс ОР1 ставления сигнала происходит в соответствии с рас
a write пределением Р0. Агент нижнего уровня накапливает
b read средние значения времен задержки только при пе
c read редаче указанного выше байта. Идентификация
d read единицы или нуля производится агентом нижнего
уровня с помощью статистического критерия. При
Данная матрица показывает потенциальные этом контролирующий субъект, наблюдающий за
информационные потоки между переменными. задержками выставляемого сигнала на верхнем
Для анализа таких матриц были созданы пакеты уровне, не знает при каком байте происходит изме
прикладных программ. нение распределения времени задержки. Поэтому
Следующий вопрос, который возникает в та возможности выявления данного канала контроли
ких задачах, можно ли создать «невидимые» для рующим субъектом значительно ниже возможнос
контролирующего субъекта скрытые каналы. В ра ти агента нижнего уровня распознать передавае
боте А.Грушо [2] доказано, что если противник зна мый сигнал. В работе [12] приводится пример соот
ет схему контроля в системе защиты, то при выпол ношения параметров в аналогичном канале, при ко
нении определенных условий возможно построе торых выявление скрытого канала контролирую
ние невидимого для системы защиты срытого кана щим субъектом практически невозможно.
ла управления программноаппаратным агентом в Одной из важнейших задач анализа скрытых
компьютерной среде. При этом «невидимость» по каналов является оценка их пропускной способно
нимается в абсолютном смысле, то есть доказыва сти. Пропускная способность скрытых каналов вы
ется невозможность выявления такого канала лю числяется методами теории информации. Часто
быми методами и средствами. Аналогично в работе пропускная способность скрытых каналов измеря
А.Грушо [3] при условии знания противником сис ется отношением количества скрытно переданной
темы защиты доказывается возможность построе информации к количеству информации в легаль
ния «невидимого» скрытого канала при общении ном маскирующем скрытую передачу процессе
программноаппаратных агентов в открытой среде или контейнере. Например в обычном цифровом
между собой. Полученные в этой работе результа изображении, содержащем 2,5 мегабит информа
ты также носят абсолютный характер, то есть дока ции, манипуляцией последнего бита безопасно
зывается, что скрытый канал невозможно выявить можно передать только 100 бит скрытого сообще
любыми методами и средствами. ния. С другой стороны, скрытый канал потайного
При использовании метода зависимостей копирования интересующего файла на дискету об
следует отметить следующее: ладает пропускной способностью, равной объему
• Предложенный аппарат и некоторые его реа копируемого файла. Другие примеры таких вычис
лизации (например, метод матриц разделяе лений можно найти в работах А.Грушо, Е.Тимони
мых ресурсов (SRM), предложенный в [15] и ной [4] и Деннинг [10]. В силу того, что скрытые ка
др.) является конструктивным инструментом налы обладают, как правило, небольшой пропуск
поиска скрытых каналов; ной способностью, может сложиться мнение, что
• Не все скрытые каналы могут быть описаны с они не представляют опасности. Часто в таких слу
помощью данного метода. чаях устанавливается порог на пропускную способ
ность, ниже которого канал считается не опасным.
В частности, существуют скрытые статисти Однако не следует забывать, что оценки пропуск
ческие каналы (см. работу Е.Тимониной [7]), кото ной способности, носят асимптотический характер
рые не выявляются с помощью метода выявления и подход, связанный с ограничением пропускной
зависимостей. Например, если Т и S связаны между способности, может оказаться неэффективным в
собой статистической зависимостью, то метод зави реальных приложениях. Например, в работе Мос
симостей может не выявить детерминированную ковиц [18] показано, что канал может иметь асимп
связь между этими параметрами. Пусть в рассмот тотически нулевую пропускную способность, одна
ренном ранее примере скрытого канала при одно ко через него вполне можно передать скрытое со
направленном интерфейсе RS 232 условие G по общение небольшой длины.

9
Тимонина Е. Е.

6. Борьба со скрытыми ществует информационный поток, который изме


ряется средней взаимной информацией I(X, Y). Но
каналами тогда точно такой же информационный поток су
ществует от Y к Х, измеряемый той же величиной. В
Перехват информации, передаваемой по скрытым случае однонаправленного канала такая симметрия
каналам, представляет большую сложность. Кажет имеет очень простую интерпретацию. На нижнем
ся, что здесь возникают только технологические уровне, реплицируя объект Х на верхний уровень,
сложности, связанные с регистрацией и анализом известно, что на верхнем уровне существует объ
быстро протекающих процессов в компьютерных ект Y в точности с тем же состоянием, что и Х. Если
системах. Вместе с тем в работе А.Грушо и Е.Тимо какойто объект Z связан с объектом Y на верхнем
ниной [5] доказано, что возможно создание произ уровне, и известно, что существует объект с дан
водителем закладок в аппаратных системах, кото ным видом связи, то естественно возникает инфор
рые могут общаться между собой «невидимо» для мационный поток между Х и Z. Причем этот ин
большинства средств защиты. формационный поток также симметричен, что оз
В случае использования методов стеганогра начает возможность получения некоторой инфор
фии решение задачи выделения скрытых сообще мации об объекте верхнего уровня, не имея физи
ний представляется более оптимистичным. Приме ческого канала от Z к Х. Для того, чтобы лучше
ром успешного выявления стеганографических понять суть таких каналов, представим себе, что на
вставок является использование скрытого канала в верхнем уровне секретное решение принимается с
поле ISN протокола TCP, упоминавшегося выше. помощью некоторого известного алгоритма только
Наиболее эффективным способом борьбы со на основании информации, реплицированной с ни
скрытыми каналами является их уничтожение. На жнего уровня. Зная это противник на нижнем
пример, в приведенных выше примерах скрытых ка уровне может из той же информации с помощью
налов спуска информации при использовании ин того же алгоритма получить точно такое же реше
терфейса RS 232 встраивание между уровнями High ние. Для офицера информационной безопасности
и Low устройства, транслирующего байты и рандо это значит, что секретная информация верхнего
мизирующего задержку выставления сигнала на уровня стала известна на нижнем уровне, что мож
верхнем уровне, видимую на нижнем уровне, позво но интерпретировать как существование некоторо
ляет полностью уничтожить любой детерминиро го скрытого канала, передающего информацию с
ванный скрытый канал по времени и существенно верхнего уровня на нижний и несанкционирован
испортить скрытый статистический канал. Анало но снижающего гриф информации. Сам факт су
гичные методы успешно используются для защиты ществования этого канала определяется симметри
от скрытых каналов при скрытой передаче инфор ей информационного потока от объектов нижнего
мации через открытые системы. Детальный обзор уровня на верхний. В общем случае те же рассуж
этих методов можно найти в работе Петиколаса [20]. дения приводят нас к тому, что на нижнем уровне
К тематике скрытых информационных пото становятся известными некоторые вероятностные
ков близко подходит проблема «скрытого влия характеристики решения принимаемого на верх
ния». Для пояснения проблемы остановимся на нем уровне. Таким образом, интерпретируется па
скрытых каналах, которые физически не сущест радоксальный факт существования скрытого кана
вуют. Для объяснения этой парадоксальной ситуа ла с верхнего уровня на нижний, хотя физически
ции рассмотрим двухуровневую систему, в кото этот канал не существует. Из указанного примера
рой уровень High соответствует аналитической следует два важных вывода. Первый вывод состоит
подсистеме, вырабатывающей варианты некоторо в том, что многоуровневая политика не является га
го решения. Уровень Low соответствует подсисте рантией безопасности, так как секретная информа
ме сбора информации из открытых источников и ция верхнего уровня может стать известной на ни
открытых сетей. Пусть подсистемы Low и High свя жнем уровне независимо от способа реализации
заны однонаправленным каналом от Low к High, многоуровневой политики. Второй вывод состоит в
который позволяет реплицировать на верхнем том, что наиболее общая вероятностная трактовка
уровне собранные на нижнем уровне данные. информационного потока не позволяет просто раз
Пусть объект Y принадлежит уровню High, а объ делить множество информационных потоков на
ект X принадлежит уровню Low. Пусть совместное разрешенные и не разрешенные.
распределение состояний (х, у) объектов Y и Х не
равно произведению индуцированных вероятнос
тей РX(х) и РY(у). Тогда, как было отмечено ранее,
согласно математической теории связи, от Х к Y су

10
Скрытые каналы (обзор)

Литература 15. Kemmerer R.A. Shared Resource Matrix


Methodology: An Approach to Identifying Storage
1. Грушо А.А., Тимонина Е.Е. Теоретические осно and Timing Channels //ACM Transactions on
вы защиты информации, М.: Агентство «Яхтс Computer Systems, 1:3, pp. 256277, August 1983.
мен», 1996, 186 с 16. Lampson B.W. A Note of the Confinement Problem
2. Грушо А.А. Скрытые каналы и безопасность ин //Communications of ACM, 16:10, pp. 613615,
формации в компьютерных системах // Дис October 1973.
кретная математика, т.10, вып. 1, 1998. 17. Millen J.K. Security Kernel Validation in Practice/
3. Грушо А.А. О существовании скрытых кана Communications of ASM, 19:5, May 1976.
лов// Дискретная математика, т.11, вып. 1, 1999. 18. Moscowitz I.S., Kang M.H. Covert Channels  Here
4. Грушо А.А., Тимонина Е.Е. Двойственность мно to Stay?// Information Technology Division Naval
гоуровневой политики безопасности //Тезисы Research Laboratory, Washington, DC 20375, 1995.
докладов конференции «Методы и технические 19. National Computer Security Center. A Guide to
средства обеспечения безопасности информа Understanding Covert Channel Analysis of Trusted
ции», С.Петербург, издво СПбГТУ, 2000. Systems, 1993, NCSCTG030, ver. 1.
5. Грушо А.А., Тимонина Е.Е. Модель невлияния 20. Petitcolas F. A.P., Anderson R.J., Kuhn M.G.
для сети// Тезисы докладов пятой международ Attacks on Copyright Marking Systems/ Second
ной Петрозаводской конференции «Вероятно workshop on information hiding, in vol. 1525 of
стные методы в дискретной математике», Обо Lecture Notes in Computer Science, Portland,
зрение прикладной и промышленной математи Oregon, USA, 1417 April, 1998, pp. 218238.
ки, научное издво «ТВП», Москва, 2000. 21. Rowland C.H. Covert Channels in the TCP/IP
6. Кудрявцев В.Б., Алешин С.В., Подколзин А.С. Protocol Suite// 11141996, Psionic Technologies
Введение в теорию автоматов, М.: Наука, 1985. Inc., 2002.
7. Тимонина Е.Е. Механизмы контроля скрытых 22. Schneier B. Applied Cryptography: Protocols,
каналов / Труды международной конференции Algorithms, and Source Code in C, John Wiley &
«Информационные технологии в науке, образо Sons, New York, 2nd edition, 1996.
вании, телекоммуникации, бизнесе», Украина, 23. Tsai C.R., Gligor V.D., Chandersekaran C.S. A
Крым, 2030 мая 2002, стр. 152153. Formal Method for the Identification of Covert
8. Шеннон К. Работы по теории информации и ки Storage Channels in Source Code// IEEE
бернетике, М.: Иностранная литература, 1963. Transactions on Software Engineering, v.16:6, June
9. Biba K.J. Integrity Considerations for Secure 1990, pp. 569580.
Computer Systems //The MITRE Corp., Report
No. MTR3153 Revision 1, Electronic System
Division, U.S. Air Force Systems Command,
Technical Report EsdTR76372, Bedford,
Massachusetts, April 1997 5.
10. Denning D.E. A Lattice Model of Secure
Information Flow// Communications of ASM, 19:5,
pp. 236243, May 1976.
11. Department of Defense Trusted Computer System
Evaluation Criteria, DoD, 1985.
12. Grusho A.A. Mathematical Models of the Covert
Channels// Information Assurance in Computer
Networks. Methods, Models, and Architectures for
Network Security: International Workshop MMM
ACNS 2001 St. Petersburg, Russia, May 21223,
2001/ Springer, 2001.
13. Handbook for the Computer Security Certification
of Trusted Systems //NRL Technical
Memorandum 5540:062A, 12 Feb. 1996.
14. Huskamp J.C. Covert Communications Channels
in Timesharing Systems/ Technical Report UCB
CS7802, Ph.D. Thesis, University of California,
Berkley, California, 1978.

11
О скрытых каналах
и не только Алексей Галатенко

Прежде чем ввести вас в курс дела, я хочу,


чтобы вы поклялись в том, что все останется
между нами.
Р. Стаут. «Если бы смерть спала»

Оправдания
Не имея личного опыта по части того, что
происходит в приютах похоти, я не мог считать
ся экспертом в этой области.
Р. Стаут. «Слишком много клиентов»

Автор не является экспертом в области скрытых


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

СОДЕРЖАНИЕ
Оправдания................................................12
К истокам ...................................................12
Коротко о традиционном подходе к
проблеме скрытых каналов ...................15
К истокам
Скрытые каналы и повседневная
практика .....................................................17 Чем выше ум, тем тень длиннее ляжет,
Отброшенная им на дальний мир.
Скрытые каналы и Java-аплеты ............18 Р. Браунинг. «Парацельс»
Заключение................................................19
В статьях и обзорах, посвященных скрытым кана
Благодарности
лам, обычно пишут, что этот термин введен в рабо
Литература.................................................20 те Лэмпсона [1]. Важно отметить, однако, что Бат
лер Лэмпсон упоминает о скрытых каналах как бы

12
между делом, не они являются предметом исследо нескольким десяткам бит, но полностью лик
вания. Его трехстраничная заметка называется «О видировать ее нереально;
проблеме ограничения» («A Note on the Confine • Если могут возникать конфликты по ресурсам,
ment Problem») и посвящена она, выражаясь со сам факт конфликта может быть использован
временным языком, контролируемому выполне для передачи информации (чуть ниже мы по
нию (недоверенных) программ с целью помешать дробнее рассмотрим этот канал утечки);
им организовать утечку конфиденциальной ин • Сервис может варьировать отношение вычис
формации. лительной активности к темпу подкачки стра
Идея дополнительного ограничения дейст ниц или числу операций ввода/вывода, коди
вий, которые разрешается выполнять программе, руя таким способом информацию; параллель
(помимо применения имеющихся в операционной но работающий процесс способен наблюдать
системе механизмов контроля доступа), является поведение системы и получать передаваемую
исключительно важной и глубокой, опередившей информацию; это зашумленный канал, его
свое время. По сути Лэмпсон пунктиром обозначил пропускная способность невелика, но он есть,
будущие модели безопасности для Javaаплетов – и им можно воспользоваться.
от “песочницы” до контроля по стеку вызовов, при
чем сделал это на 25 лет раньше разработчиков Java Всегда интересно не просто теоретически
(заметка была сдана в редакцию в июле 1972 года, а знать, что каналы утечки существуют, но и понять
по ссылкам видно, что он занимался проблемами на практике, как они могут быть устроены. Лэмп
динамической защиты еще в 1960е годы). сон описывает «эксплойт» для использования кон
Лэмпсон рассматривает следующую задачу. фликтов по ресурсам (мы приведем его в несколько
Пусть клиент вызывает некоторый сервис, переда модифицированном виде). Пусть, например, один и
вая ему в качестве параметров конфиденциальную тот же файл нельзя параллельно открыть из двух
информацию, утечка которой нежелательна. Спра процессов (при попытке сделать это фиксируется
шивается, как следует ограничить поведение про ошибка). Данный факт можно использовать для по
извольного сервиса? (В 1972 году сервис представ битной передачи информации. Две следующие
лял собой процедуру, вызываемую из клиентской процедуры, написанные на АЛГОЛоподобном язы
программы; о распределенных архитектурах речь ке обеспечивают, соответственно, установку нуж
не шла, но многопроцессные конфигурации были ного бита и его проверку.
обычным явлением.)
Подчеркнем, что речь идет о создании «пе procedure 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, поэтому нужно пояснить по крайней мере
формат счета способны свести объем утечки к два момента. Вопервых, метки в АЛГОЛе являются

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

допустимым типом данных, значения которого возь» и потребовать, чтобы ограничивались все вы
можно передавать в качестве параметров. Вовто зываемые программы, не проходит, поскольку су
рых, если (занятый) файл открыть не удалось, уп первизор нельзя ограничивать.
равление нелокально передается на метку, задан Чтобы исправить ситуацию, предлагается,
ную в качестве второго аргумента процедуры open. как и следовало ожидать, поделить всех на чистых и
Кстати, это более практичный способ обработки нечистых, то есть на тех, кому доверяют, и тех, кого
исключительных ситуаций, чем проверка кодов ограничивают. В результате получается следующее
возврата, которую зачастую забывают сделать, что правило: если ограничиваемая программа вызыва
является одним из источников уязвимостей про ет недоверенную, то последнюю также необходимо
граммных систем. ограничивать.
Теперь, располагая элементарными операци Дело осталось за малым – написать доверен
ями, можно организовать передачу бита между ный супервизор. Как показывают два последних из
процессами. Для этого Лэмпсон использует три перечисленных выше примеров утечек, дело это
файла: data, sendclock и receiveclock. непростое, поскольку используемые для этого ка
В программесервисе может присутствовать налы могут быть самыми неожиданными. Тем не
такой фрагмент (написанный нами с некоторыми менее Лэмпсон придерживается оптимистической
вольностями): точки зрения: каналов утечки, конечно, на удивле
sendingabit: ние много, но всетаки конечное число. Необходи
setbit (data, bitbeingsent); мо их перенумеровать, а потом и заблокировать. В
while testbit (receiveclock) = false do качестве отправной точки предлагается следующая
; классификация каналов:
setbit (sendclock, false); • Разного рода память, управляемая супервизо
while testbit (receiveclock) = true do ром, в которую может писать ограничиваемая
; программа (в рассматриваемых примерах –
сервис), а читать – неограничиваемая (вскоре
Процессполучатель может осуществлять после записи или позднее); все приведенные
прием бита так: выше примеры, кроме двух, относятся к этому
классу;
receiver: • Легальные каналы, используемые ограничива
while testbit (sendclock) = false do емой программой (например, счет за обслужи
; вания);
receivedbit : = testbit (data); • Скрытые каналы, вообще не предназначен
setbit (receiveclock, true); ные для передачи информации, (например,
while testbit (sendclock) = true do влияние сервиса на загруженность системы).
;
setbit (receiveclock, false); Вот в каком контексте вводится понятие
скрытого канала (covert channel) и как оно определя
Переходя к правилам ограничения (контро ется Лэмпсоном. Обратим внимание читателя на то,
лируемого выполнения), Лэмпсон прежде всего что все каналы по памяти отнесены к другому клас
указывает, что ограничиваемая программа не су утечек. Важно и то, что помимо скрытых, Лэмп
должна иметь возможности сохранять информа сон рассматривает и так называемые «подсознатель
цию между вызовами. Для процедур это условие ные» или потайные каналы (легальные каналы, по
легко проверяется: оно означает отсутствие обра которым передаются данные, допускающие нестан
щений к нелокальным переменным. дартную интерпретацию и, следовательно, которые
Если нелокальная память отсутствует, то для могут служить каналом утечки конфиденциальной
успешной реализации ограничения достаточно, информации), хотя используемый в настоящее вре
чтобы ограничиваемая программа не вызывала мя термин subliminal channel, повидимому, введен
других программ. Это правило полной изоляции по Б. Шнейером [2] примерно двадцать лет спустя.
сути совпадает с моделью “песочницы” в версии По мнению Лэмпсона предотвратить утечки
JDK 1.0. Разумеется, Лэмпсон тут же отвергает его через память довольно просто. Например, чтобы
как нереалистичное, поскольку, как показывают избавиться от блокировок при совместном доступе
два последних из перечисленных выше примеров к ресурсам, можно при попытке записи копировать
утечек, в числе прочих должны быть запрещены яв файл и бесконфликтно предоставлять копию для
ные и неявные вызовы супервизора (ядра ОС). По чтения ограничиваемой программой. (Заметим, что
пытка применить правило полной изоляции «наск идея эта весьма глубока, только лучше при попытке

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

записи открывать новую версию файла и писать в Коротко о традиционном


нее, применяя в дальнейшем механизмы конфигу
рационного управления.) подходе к проблеме
Для блокирования легальных и скрытых ка
налов предлагается следующий принцип маскиро скрытых каналов
вания: ограничиваемая программа должна позво
лять вызывающему полностью определять вывод в Прими с достоинством то, что не можешь изменить.
легальные и скрытые каналы. Таким образом кана Сенека
лы маскируются вызывающим (клиентом).
Это – центральная идея работы Лэмпсона. Лэмпсон понимал, что без учета семантики про
Программа ограничивается в соответствии с ожи грамм невозможно управлять доступом и, в частно
даемой семантикой и специфическими потребнос сти, не допускать утечек информации. К огромному
тями вызывающего. Например программа для про сожалению, эта идея не была воспринята. Последу
смотра документов не должна изменять или созда ющие усилия в основном оказались направленны
вать файлы. Напротив компилятору без создания ми на разработку и реализацию универсальных и
файлов (временных и постоянных) не обойтись. формальных, но недостаточно содержательных мо
Вообще говоря при разных вызовах одного делей безопасности (в особенности моделей досту
сервиса ограничения могут быть разными. Тем бо па), а также на выявление и оценку пропускной спо
лее они могут быть разными для разных сервисов. собности скрытых каналов для таких моделей. Бо
Если сервис не в состоянии удовлетворить требова лее содержательная и важная для практики задача
ния клиента, вызов отвергается. ограничения программ по сути оказалась забытой.
Для скрытых каналов Лэмпсон формулирует Традиционным стало следующее определе
еще одно правило – проведения в жизнь: суперви ние скрытого канала (см. [3]). Пусть дана модель не
зор обязан обеспечить соответствие вывода огра дискреционной политики безопасности М и ее реа
ничиваемой программы в скрытые каналы специ лизация I(M) в операционной системе. Потенциаль
фикациям вызывающего. Считается, что концепту ная связь между субъектами I(Si) и I(Sj) в I(M) назы
ально это несложно: можно искусственно замед вается скрытым каналом тогда и только тогда, когда
лять выполнение программы, генерировать фик эта связь между Si и Sj в модели M не разрешена.
тивные обращения к дискам и т.п., короче говоря, Несмотря на формальный стиль и пугающее
зашумлять скрытые каналы. Цена проведения в слово «недискреционной», смысл этого определе
жизнь может быть большой. Более практичной аль ния довольно прост. С одной стороны, по сравне
тернативой (если клиент готов допустить некото нию с работой Лэмпсона, понятие скрытого канала
рую утечку) является ограничение пропускной стало трактоваться шире. Фактически к нему отне
способности скрытых каналов. сены все виды передачи информации, нарушаю
Конечно, можно отметить, что некоторые по щие политику безопасности. С другой стороны, на
ложения работы Лэмпсона, касающиеся концепту ложено ограничение на дисциплину разграничения
альной простоты или принципиальной реализуемо доступа, реализуемую в ОС. Она не должна сво
сти выявления и блокирования каналов утечки (в диться к произвольному (дискреционному, соглас
частности, скрытых каналов), остались необосно но официальной терминологии) управлению досту
ванными. Более того, как показали последующие пом. Это значит, что круг рассматриваемых систем
исследования, они неверны. Тем не менее эта рабо сужен до весьма немногочисленных, хотя и крити
та продолжает оставаться актуальной и в наше вре чески важных, режимных конфигураций, исполь
мя, а ее идейный потенциал далеко не исчерпан. Те зующих многоуровневую политику безопасности и
матика ограничения (контролируемого выполне принудительное (мандатное) управление доступом.
ния) программ ждет дальнейшего развития. Напомним, что в «Оранжевой книге» требо
вания, касающиеся скрытых каналов, фигурируют,
начиная с класса B2, а мандатный доступ появляется
в классе B1. В тех странах, где нормативные доку
менты в области информационной безопасности по
строены на основе «Оранжевой книги», режимные
организации должны бороться со скрытыми канала
ми и по содержательным, и по формальным причи
нам, для них и реализация принудительного управ
ления доступом, и блокирование скрытых каналов
– действия необходимые. В то же время, они весьма

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

сложны. Например, в упомянутой выше работе [3] няет значение счетчика, обнуляет его и откладыва
обосновывается необходимость анализа исходного ется до конца следующего такта.
текста (наряду с анализом спецификаций) ядра ОС Со скрытыми каналами можно бороться дву
для выявления скрытых каналов по памяти и ут мя способами: пытаться блокировать их полностью
верждается, что на ручной анализ ядра Secure Xenix или уменьшать пропускную способность.
требуется два человекогода. Разумеется, анализ Для полного блокирования скрытого канала
можно автоматизировать, что и было сделано, после нужно устранить разделение ресурсов, видимое для
чего было выявлено 25 переменных, потенциально процессов с низким уровнем доверия; последние
пригодных для организации скрытых каналов. Лю должны выполняться так, будто кроме них в систе
бопытно отметить, что существование пяти каналов ме никого и ничего нет. Подобного невлияния мож
стало возможным изза конфликтов между про но добиться либо избегая конфликтов (например, за
граммным интерфейсом ядра Secure Xenix и прави счет устранения разделения ресурсов), либо неза
лами мандатного доступа; очевидно, без потери сов метным образом разрешая их в пользу «низших».
местимости ликвидировать эти каналы невозможно. Это, в свою очередь, порождает проблему, анало
В подавляющем большинстве случаев много гичную инвертированию приоритетов: процесс с
уровневая политика безопасности направлена на высоким уровнем доверия рискует получить слиш
сохранение конфиденциальности. С этой целью за ком мало ресурсов, а совершаемые им транзакции
прещаются информационные потоки «вниз», с могут слишком часто откладываться. Для борьбы с
верхних уровней секретности (доверия) на ни дискриминацией «секретных» процессов прихо
жние. В таких условиях передатчиком в скрытом дится идти на новые хитрости (см., например, [5]).
канале должна служить “троянская” программа с Разумеется, в скольконибудь сложной сис
высоким уровнем доверия. теме избежать видимого разделения ресурсов не
Скрытые каналы по памяти были детально возможно. Идея реализации доменов безопасности
рассмотрены в предыдущем разделе. В принципе, с непроницаемыми границами и аппаратно одно
скрытые каналы по времени устроены аналогично сторонними междоменными каналами (см. [6]) от
примеру с конфликтами при открытии файлов; носится скорее к области курьезов, поскольку иг
различия касаются в основном способов кодирова норирует реально используемые коммуникацион
ния передаваемой информации. ные протоколы. Следовательно, с существованием
Чтобы организовать скрытый канал по вре некоторых скрытых каналов приходится мириться,
мени, нужен разделяемый ресурс (например, про пытаясь, однако, уменьшить (или, по крайней мере,
цессор) с возможностью воздействия со стороны оценить) их пропускную способность.
одного процесса и выявления этого воздействия со Если считать, что такт T эталонных часов по
стороны другого, а также двое часов – эталонные и стоянен, и за один такт можно различить N модуля
сигнальные. Часы могут быть виртуальными и реа ций, то пропускная способность скрытого канала
лизовываться в виде последовательности наблюда по времени оценивается величиной log2(N)/T. Для
емых событий. Передача информации осуществля уменьшения пропускной способности можно «сби
ется за счет модуляции последовательности сиг вать» часы (эталонные и/или сигнальные), «зашум
нальных событий, прием – путем измерения моду лять» канал еще какимлибо способом (например,
ляции относительно эталонных часов. обслуживая фиктивные запросы), уменьшать раз
В работе [4] рассматривается построение решающую способность часов (увеличивая такт).
скрытого канала по времени, использующего моду (Заметим, что предпочтительнее воздействовать на
ляцию занятости процессора. Идея состоит в следу эталонные, а не сигнальные часы, так как первое
ющем. На верхнем уровне доверия действует одна дает линейный эффект, а второе – лишь логариф
программапередатчик. За один такт эталонных ча мический). Любопытно отметить, что в локальной
сов передатчик выполняет два вида циклов. Снача сети корпорации Боинг, сертифицированной по
ла (фаза 1) он почти не тратит процессорное время, классу A1, разрешающая способность часов, до
сразу отдавая управление планировщику; затем ступных недоверенным процессам, составляет од
(фаза 2), наоборот, занимает процессор максималь ну секунду (см. [4]). Как говорится, страшнее скры
но плотно. Приемник пытается определить относи того канала зверя нет, и для борьбы с ним прихо
тельную длительность этих двух фаз. Для этого при дится применять весьма сильнодействующие сред
емник реализуется в виде двух процессов. Один ства, существенно снижающие эффективность и
подсчитывает, сколько раз он получил доступ к осложняющие работу приложений. Впрочем, как
процессору, в цикле увеличивая (разделяемый) показывает рассмотренный выше пример, можно
счетчик и тут же отдавая управление планировщи добраться до более тонких внутренних часов пла
ку; другой в конце такта часов считывает и сохра нировщика; он демонстрирует также, насколько

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

сложны анализ пропускной способности скрытых • Рассматриваются системы с произвольной дис


каналов и борьба с ними. циплиной управления доступом (а не только с
Первопричина существования скрытых ка многоуровневой политикой безопасности);
налов и невозможность их устранения при тради • Рассматриваются не только нестандартные ка
ционном подходе к построению информационных налы передачи информации, но и нестандарт
систем видится нам в следующем. Поскольку такие ные способы передачи информации по легаль
формальные модели безопасности, как известная ным каналам (потайные каналы);
модель БеллаЛападула, разграничивают доступ «в • Рассматриваются угрозы не только конфиден
принципе», но не содержат понятия времени и не циальности, но и целостности;
регламентируют конкуренцию за ресурсы, то есть • Рассматриваются не только однонаправлен
ситуации, когда «в принципе ресурс использовать ные, но и двунаправленные каналы.
можно, только в данный момент нельзя – он за
нят», при любом распределении прав доступа раз В повседневной практике скрытые каналы
ного рода сигнальные события и, в частности, кол чаще всего возникают изза возможности доступа
лизии вследствие конкуренции могут быть исполь к данным несколькими способами. Например, если
зованы для организации скрытых каналов. в корневом каталоге файловой системы располага
С потайными каналами (см. выше раздел 1) ется tftpсервер, он позволит получить всем пользо
дело обстоит еще хуже. Представляется очевид вателям доступ на чтение ко всем файлам, незави
ным, что если не формализовать структуру данных, симо от установленных прав доступа. Второй при
передаваемых программами по легальным каналам мер: если есть программа со взведенным битом пе
(Лэмпсон указывал на необходимость подобной реустановки действующего идентификатора поль
формализации), последние всегда можно использо зователя, владельцем root и ... уязвимостью, то
вать для скрытой передачи информации. Строгое обычный пользователь может проэксплуатировать
доказательство невозможности устранения и даже уязвимость, захватить привилегии суперпользова
обнаружения потайных каналов при весьма общих теля и нарушить конфиденциальность и целост
предположениях относительно схем контроля име ность чего угодно. Третий пример: пароль в неза
ется в работах А.А. Грушо [7], [8]. шифрованном виде, хранящийся в оперативной па
Перечисленными причинами объясняется не мяти и сбрасываемый в файл с образом памяти при
обходимость развития отдельной науки под названи аварийном завершении. Очевидно, число подоб
ем «анализ скрытых каналов», а также принципиаль ных примеров можно умножать до бесконечности.
ная невозможность полностью блокировать утечку Нестандартные способы передачи информа
конфиденциальной информации универсальными ции по легальным каналам получили название
средствами, не учитывающими семантику программ. «подсознательных» или потайных каналов (sublimi
nal channels), хотя по аналогии с наложенными се
тями их лучше было назвать наложенными скры
тыми каналами. Потайные каналы используют тог
да, когда имеется легальный коммуникационный
канал, но политика безопасности запрещает пере
давать по нему определенную информацию; ины
ми словами, информацию передавать можно, но
она не должна выглядеть подозрительно (в соответ
ствии с некими, обычно не очень четкими критери
ями). Помимо разведчиков, в потайных каналах
нуждаются хозяева “троянских” программ, таких,
Скрытые каналы и например, как Back Orifice или Netbus; если канал
взаимодействия с ними будет явным, «троянца»
повседневная практика быстро вычислят и уничтожат. Подобные каналы,
используемые для управления, должны быть двуна
«Баржа с грузом трески вошла в порт. По правленными.
спешите, товар скоропортящийся.» Потайной канал возможен тогда, когда в пе
Г. Мопассан. «Заведение Телье» редаваемых легальных данных есть незначащие
или почти незначащие биты, например, некоторые
В повседневной практике скрытые каналы тракту биты в заголовках IPпакетов или младшие биты
ются шире, чем в теории. Расширение происходит интенсивности цветов в графическом файле, при
по четырем направлениям: соединенном к письму. (Электронная почта – иде

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

альный легальный канал, на который удобно на нятные данные. Стали разбираться, куда же пакеты
кладывать скрытые.) В работе [9] рассматривается направляются, и оказалось, что идут они в форму
другой пример: нестандартный алгоритм элек разработчик АБС. Возникло подозрение, что в АБС
тронной подписи, оставляющий место для тайных встроены “троянская” программа и скрытый канал,
сообщений, не препятствующих проверке аутен чтобы получать информацию о деятельности банка.
тичности ЭЦП. Связались с фирмой и в конце концов выяснили,
Для нарушения целостности чаще всего ис что один из программистов не убрал из поставлен
пользуют уязвимости, связанные с переполнением ного в банк варианта отладочную выдачу, которая
буферов. Если тем самым изменяется содержимое была организована сетевым образом (как передача
стека вызовов, то перед нами еще один пример IPпакетов специфического вида, с явно заданным
скрытого канала, основанного на возможности до IPадресом рабочего места этого программиста). Ес
ступа к данным нестандартным способом. Приме ли бы не межсетевой экран, канал оставался бы
няются также атаки пользовательских процессов скрытым, а конфиденциальная информация о пла
на целостность транзакций, выполняемых процес тежах свободно гуляла по сетям.
сами привилегированными (соответствующий анг Конечно, мысль о необходимости эшелони
лоязычный термин – race condition). Возможность рованной обороны не нова; надо только не забыть
подобной атаки появляется, если временные дан реализовать ее на практике...
ные для транзакции располагаются в общедоступ Еще один практически важный в данном
ных каталогах, таких как /tmp. контексте архитектурный принцип – разнесение
Разумеется, при расширительном толкова доменов выполнения для приложений с разным
нии понятия скрытого канала проблемы, описан уровнем доверия на разные узлы сети. Если такие
ные в предыдущем разделе, не только остаются, но приложения будут функционировать в распреде
и обостряются; кроме того, к ним добавляются но ленной среде клиент/сервер, ограничить их взаим
вые. С этими проблемами можно бороться двумя ное влияние (и, следовательно, заблокировать
способами: формальным и содержательным. скрытые каналы) будет существенно проще, чем в
Формальный способ усиления безопасности случае единых многопользовательских систем.
состоит в попытке добавить к употребительным
операционным системам, таким как Linux, возмож
ности, реализующие требования классов B2 и стар
ше из «Оранжевой книги», то есть реализовать в
ядре ОС мандатный доступ ко всем ресурсам и про
вести анализ скрытых каналов. Вне зависимости от
выполнимости последнего пункта, подобный путь
представляется тупиковым. Одно дело анализиро
вать скрытые каналы в операционной системе
мэйнфрейма, изначально спроектированной с уче
том требований безопасности и прошедшей много
летнюю апробацию (см., например, [10]) и совсем
другое – в ОС, содержащей ошибки, связанные с Скрытые каналы
переполнением буферов. Для подлинной безопас
ности нужно не только добавление принудительно и Java-аплеты
го управления доступом, но и существенное пере
проектирование ОС. «Подразумевается, что Вульф приложит
Содержательный способ борьбы со скрыты все силы для сохранения в тайне фактов, способ
ми каналами состоит в выстраивании эшелониро ных нанести ущерб корпорации; при несоблюде
ванной обороны; утечки информации признаются нии этого условия он теряет право на гонорар.»
неизбежными, но их пытаются локализовать и от Р. Стаут. «Слишком много клиентов»
следить. Для иллюстрации рассмотрим следующий
гипотетический пример. Банк, информационная Одной из актуальных и практически важных
система которого имеет соединение с Интернет, за проблем информационной безопасности является
щищенное межсетевым экраном, приобрел за рубе пресечение вредоносных действий со стороны мо
жом автоматизированную банковскую систему бильных агентов и, в частности, Javaаплетов. По
(АБС). Изучение регистрационной информации эк добные агенты – обязательная составляющая сис
рана показало, что время от времени за рубеж от тем электронной коммерции, электронного голосо
правляются IPпакеты, содержащие какието непо

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

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


массовое, повседневное использование. емого в [11] формализма. Отметим лишь, что пред
Универсальной модели безопасности, реали лагаемый подход представляется весьма перспек
зованной на платформе Java 2 и ориентированной тивным; это подтверждается прототипной реализа
на защиту локальных ресурсов от несанкциониро цией. Он не решает всех проблем; со скрытыми ка
ванного доступа со стороны аплета, недостаточно налами по времени бороться попрежнему трудно,
для того, чтобы предотвратить утечку конфиденци хотя в принципе можно варьировать уровень дета
альной информации по скрытым каналам, посколь лизации наблюдаемого поведения, добиваясь види
ку такую информацию может передать аплету сам мости все более тонких эффектов.
пользователь (в надежде на корректность поведе
ния аплета). Хотелось бы, чтобы кроме надежды, у
пользователя были и другие основания для дове
рия. Для этого необходимо ограничить поведение
аплета в соответствии с его спецификациями, что
означает возврат к истокам, к постановке задачи,
предложенной Лэмпсоном тридцать лет назад.
В работе [11] рассматривается пример про
стого протокола из области электронной торговли,
возникающие при этом сложности с обеспечением
конфиденциальности и возможные пути их пре
одоления. Суть примера в следующем. Имеются
три субъекта: покупатель, продавец и банк, обслу Заключение
живающий покупателя. Для оформления заказа по
купатель загружает с сервера продавца Javaаплет, «На этот раз я буду умнее», – подумал он,
осуществляющий ввод данных о заказываемом то доставая камни из сумки и пряча их в карман. Это
варе и реквизитах счета покупателя. Аплет должен ведь портовый город, а в порту, как верно заметил
передать эту информацию продавцу, предвари тот, кто его обокрал, всегда полно жуликов.
тельно зашифровав банковские реквизиты имею П. Коэльо. «Алхимик»
щимся у покупателя ключом банка (продавцу знать
реквизиты счета покупателя не полагается, ему Изучение проблематики скрытых каналов
нужно лишь получить от банка плату за покупку). показывает, как важно правильно поставить задачу
Очевидно, у аплета есть много способов раз и рассматривать ее не изолированно, а в реальном
ной степени скрытности передать продавцу конфи окружении.
денциальную информацию о счете покупателя: из На наш взгляд, правильная постановка, свя
менить представление заказа зависящим от рекви занная с контролируемым выполнением (ограниче
зитов образом, зашифровать реквизиты своим нием) программ, с самого начала предложенная
ключом (а не ключом банка) и т.п. Идея ограниче Лэмпсоном, в дальнейшем незаслуженно отошла
ния аплетов, предлагаемая в [11], состоит в том, что на второй план. Попытки бороться со скрытыми (и
бы вместе с интерпретируемым кодом поступали потайными) каналами с помощью формальных ме
спецификация свойств конфиденциальности и до тодов, не учитывающих семантику программ, как
пускающее автоматическую проверку доказатель показывают результаты А.А. Грушо, обречены на
ство того, что байткод соответствует специфика неудачу.
ции. В свою очередь, в спецификации задаются за В реальном окружении проблема утечки
висимости между изменением исходных данных конфиденциальной информации стоит особенно
(вводимых пользователем) и наблюдаемым поведе остро для распределенных систем с мобильными
нием аплета. Эти зависимости должны быть в точ агентами. В настоящее время существуют перспек
ности такими, как предписывает протокол. Напри тивные подходы к ее решению.
мер, результат шифрования реквизитов должен На практике требуется блокировать скрытые
меняться при их изменении, равно как и при изме каналы всех видов: как те, что угрожают конфиден
нении банковского ключа; если последнее утверж циальности, так и представляющие угрозу целост
дение неверно, значит аплет использует для шиф ности программ и данных. В частности, необходимо
рования нелегальный ключ. Еще пример: данные о выявлять и пресекать общение “троянских” про
заказываемом товаре, передаваемые продавцу, не грамм со своими хозяевами (равно как и попытки
должны меняться при изменении реквизитов. внедрения таких программ).

19
Следование принципам архитектурной безо 2. Schneier B. Applied Cryptography: Protocols,
пасности (эшелонированность обороны, разнесе Algorithms, and Source Code in C. – John Wiley &
ние доменов выполнения) помогает бороться как со Sons, New York, 2nd edition, 1996.
скрытыми каналами, так и с последствиями их 3. Tsai C.R., Gligor V.D., Chandersekaran C.S. A
функционирования. При современной технологии Formal Method for the Identification of Covert
создания информационных систем выявить и бло Storage Channels in Source Code. – IEEE
кировать все скрытые каналы невозможно. Нужно Transactions on Software Engineering, v. 16, n. 6,
заставить злоумышленников выстраивать как мож Jun. 1990, pp. 569580.
но более длинные цепочки из таких каналов; обна 4. James J.V.A, Darby D.B., Schnachenberg D.D.
ружить и разорвать подобную цепочку существен Building Higher Resolution Synthetic Clocks for
но проще, чем отдельный канал. Signalling in Covert Timing Channels. –
Proceedings of the Eight IEEE Computer Security
FOundations Workshop (CSFW'95). – IEEE, 1995,
Благодарности
pp. 8595.
Здесь аванс в десять тысяч долларов. 5. Son S.H., Mukkamala R., David R. Integrating
Если бы я дал вам чек, об этом могли бы разнюхать Security and RealTime Requirements Using
те, от кого я хочу сохранить это в тайне. Covert Channel Capacity. – IEEE Transactions on
Расписка не нужна. Knowledge and Data Engineering, v. 12, n. 6, Nov.
Р. Стаут. «Если бы смерть спала» Dec. 2000, pp. 865879.
6. Davidson J.A. Asymmetric Isolation. –
Автор признателен И.А. Трифаленкову, которому Proceedings of the 12th Annual Computer Security
принадлежит общий замысел данной статьи, опре Applications Conference (ACSAC). – IEEE, 1996,
деливший ее практическую направленность. pp. 4454.
7. Грушо А.А. Скрытые каналы и безопасность ин
формации в компьютерных системах. – Дис
кретная математика, т. 10, вып. 1, 1998.
8. Грушо А.А. О существовании скрытых каналов.
– Дискретная математика, т. 11, вып. 1, 1999.
9. Jan J.K., Tseng Y.M. New Digital Signature with
Subliminal Channels on the Discrete Logarithm
Problem. – Proceedings of the 1999 International
Workshops on Parallel Processing. – IEEE, 1999,
pp. 198203.
10. Симонов С., Колдышев П. Обеспечение инфор
мационной безопасности в вычислительных
Литература комплексах на базе мэйнфреймов. – Jet Info,
2002, 4.
Теперь вы знаете обо мне самое худшее, ес 11. Dam M., Giambiagi P. Confidentiality for Mobile
ли не считать моим самым дурным поступком Code: The Case of a Simple Payment Protocol. –
стихотворение «Реквием грызуну». Оно было на Proceedings of the 13th IEEE Computer Security
печатано в школьной газете. FOundations Workshop (CSFW'00). – IEEE, 2000,
Р. Стаут. «Если бы смерть спала» pp. 233245.

1. Lampson B.W. A Note of the Confinement Problem.


– Communications of ACM, v. 16, n. 10, Oct. 1973,
pp. 613615.

Главный редактор: Дмитриев В.Ю. (vlad@jet.msk.su)


Россия, 127006, Москва, Краснопролетарская, 6
тел. (095) 972 11 82, 972 13 32
факс (095) 972 07 91
ИНФОРМАЦИОННЫЙ БЮЛЛЕТЕНЬ email: JetInfo@jet.msk.su
Издается с 1995 года http://www.jetinfo.ru

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

Оценить