<<
>>

Тайные каналы

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

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

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

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

Лэмпсон назвал это проблемой ограждения (confinement problem).

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

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

Сотрудник может попытаться обнаружить поток битов за счет тщательного отслеживания времени отклика этого процесса. Обычно он будет получать более быстрый отклик, когда сервер отправляет 0, чем тогда, когда он отправляет 1. Этот канал связи, показанный на рис. 9.10, б, называется тайным каналом (covert channel).

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

Модуляция использования центрального процессора не единственный вариант тайного канала.

Можно также промодулировать ошибки отсутствия страницы (множество ошибок — 1, отсутствие ошибок — 0). В принципе, в этих целях может использоваться практически любой способ снижения производительности системы в течение определенного интервала времени. Если система позволяет блокировать файлы, то сервер может блокировать некий файл для обозначения единицы и разблокировать его для обозначения нуля. Некоторые системы позволяют процессу определить, что файл заблокирован, даже если у него нет доступа к этому файлу. Такой тайный канал показан на рис. 9.11, где файл блокируется или разблокируется на некоторый определенный интервал времени, известный как серверу, так и сотруднику. В данном примере сервер передает сотруднику тайный битовый поток 11010100.

Рис. 9.11. Тайный канал, использующий блокирование файла

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

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

А почему бы для получения более высокой скорости передачи данных не воспользоваться двумя файлами, несущими побитовую информацию, или не расширить канал до байтового, используя сразу восемь сигнальных файлов, от S0 до S7?

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

Лэмпсон упомянул и еще об одном способе утечки информации, доступном человеку, владеющему серверным процессом. Вполне вероятно, что серверный процесс будет уполномочен сообщать своему владельцу при выставлении счета клиенту о той сумме, которая обрабатывалась в интересах этого клиента. Если сам счет составляет $100, а доход клиента составил $53 000, то сервер может сообщить об этом своему владельцу, выставив счет на $100,53.

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

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Тайные каналы:

  1. 9.13. Передне-срединный канал, VC (фр.), круглосуточно, канал "инь"
  2. 9.2. Канал толстой кишки, GI (франц.), 5-7 час., канал "ян"
  3. 9.6. Канал тонкой кишки, IG (фр.), 13-15 час., канал "ян"
  4. 9.4. Канал селезенки-поджелудочной железы, RP, 9-11 час., канал "ян"
  5. Рекомендации Крайона Магнитному Каналу и всем каналам Духа
  6. 9.8. Канал почек, R (фр.), 17-19 час., канал "инь"
  7. 9.12. Канал печени, F (фр.), 1-3 час., канал "инь"
  8. 9.14. Задне-срединный канал, VG, (фр.), круглосуточно, канал "ян"
  9. 1. Тайные надежды
  10. ТАЙНЫЕ ПРИЧИНЫ, ЗАСТАВЛЯЮЩИЕ СПОРИТЬ МУЖЧИН
  11. ТАЙНЫЕ ПРИЧИНЫ, ЗАСТАВЛЯЮЩИЕ СПОРИТЬ ЖЕНЩИН
  12. Канал распространения
  13. Каналы коммуникации.
  14. 2.2.1. Энергетические каналы (меридианы) и межканальные связи
  15. 2.8.1. По старым каналам
  16. Первые признаки дисбаланса энергии в канале:
  17. Итак, каналы.
  18. ПЕРЕДАЧА, ПРОГРАММА, КАНАЛ
  19. О КАНАЛАХ ОБРАТНОЙ СВЯЗИ