Надежная вычислительная база

Набор всех компонентов компьютера, критически важных для его безопасности

Доверенная вычислительная база ( TCB ) компьютерной системы — это набор всех аппаратных , встроенных и/или программных компонентов, которые имеют решающее значение для ее безопасности , в том смысле, что ошибки или уязвимости, возникающие внутри TCB, могут поставить под угрозу свойства безопасности всей системы. Напротив, части компьютерной системы, которые находятся за пределами TCB, не должны иметь возможности вести себя неправильно таким образом, чтобы это привело к утечке дополнительных привилегий, помимо тех, которые предоставлены им в соответствии с политикой безопасности системы .

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

Определение и характеристика

Термин восходит к Джону Рашби [ 1] , который определил его как комбинацию ядра операционной системы и доверенных процессов . Последнее относится к процессам, которым разрешено нарушать правила контроля доступа системы. В классической статье «Аутентификация в распределенных системах: теория и практика» [2] Лэмпсон и др. определяют TCB компьютерной системы просто как

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

Оба определения, хотя и понятны и удобны, не являются теоретически точными и не предназначены для этого, так как, например, сетевой серверный процесс в операционной системе типа UNIX может стать жертвой нарушения безопасности и поставить под угрозу важную часть безопасности системы, но при этом не является частью TCB операционной системы. Orange Book , еще один классический справочник по компьютерной безопасности , поэтому дает [3] более формальное определение TCB компьютерной системы, как

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

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

В «Оранжевой книге» далее поясняется, что

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

Другими словами, данная часть оборудования или программного обеспечения является частью TCB, если и только если она была разработана как часть механизма, который обеспечивает ее безопасность для компьютерной системы. В операционных системах это обычно состоит из ядра (или микроядра ) и выбранного набора системных утилит (например, программ setuid и демонов в системах UNIX). В языках программирования, разработанных со встроенными функциями безопасности, таких как Java и E , TCB формируется из среды выполнения языка и стандартной библиотеки. [4]

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

Основано на политике безопасности

Вследствие вышеприведенного определения Orange Book границы TCB тесно зависят от специфики того, как реализуется политика безопасности. В приведенном выше примере сетевого сервера, даже если, скажем, веб-сервер , обслуживающий многопользовательское приложение, не является частью TCB операционной системы, он несет ответственность за выполнение контроля доступа , чтобы пользователи не могли узурпировать личность и привилегии друг друга. В этом смысле он определенно является частью TCB более крупной компьютерной системы, которая включает в себя сервер UNIX, браузеры пользователя и веб-приложение; другими словами, проникновение в веб-сервер, например, через переполнение буфера, не может рассматриваться как компрометация операционной системы как таковой, но он, безусловно, представляет собой вредоносный эксплойт в веб-приложении.

Эта фундаментальная относительность границ TCB иллюстрируется концепцией «цели оценки» (TOE) в процессе обеспечения безопасности Common Criteria : в ходе оценки безопасности Common Criteria одним из первых решений, которое необходимо принять, является определение границ аудита с точки зрения списка компонентов системы, которые будут подвергнуты проверке.

Обязательное условие безопасности

Системы, не имеющие надежной вычислительной базы как части своего дизайна, не обеспечивают безопасность сами по себе: они безопасны только в той мере, в какой безопасность обеспечивается им внешними средствами (например, компьютер, находящийся в запертой комнате без сетевого подключения, может считаться безопасным в зависимости от политики, независимо от программного обеспечения, которое он запускает). Это происходит потому, что, как выразился Дэвид Дж. Фарбер и др. [5] [i]na компьютерной системе целостность нижних слоев обычно рассматривается как аксиома для верхних слоев . Что касается компьютерной безопасности, рассуждения о свойствах безопасности компьютерной системы требуют возможности делать обоснованные предположения о том, что она может и, что более важно, не может делать; однако, исключая любые основания полагать иначе, компьютер способен делать все, что может обычная машина фон Неймана . Очевидно, что это включает в себя операции, которые будут считаться противоречащими всем, кроме самых простых политик безопасности, например, разглашение адреса электронной почты или пароля , которые следует хранить в секрете; Однако, если не учитывать специальные положения в архитектуре системы, нельзя отрицать, что компьютер можно запрограммировать на выполнение этих нежелательных задач.

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

Программные части TCB должны защищать себя

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

Во многих современных ЦП защита памяти, в которой размещается TCB, достигается путем добавления специализированного оборудования, называемого блоком управления памятью (MMU), который программируется операционной системой для разрешения и запрета доступа запущенной программы к определенным диапазонам системной памяти. Конечно, операционная система также может запретить такое программирование для других программ. Этот метод называется режимом супервизора ; по сравнению с более грубыми подходами (такими как хранение TCB в ПЗУ или, что эквивалентно, с использованием архитектуры Гарварда ), он имеет преимущество в том, что позволяет обновлять критически важное для безопасности программное обеспечение в полевых условиях, хотя разрешение безопасных обновлений доверенной вычислительной базы создает собственные проблемы самозагрузки. [6]

Надежный против заслуживающего доверия

Как указано выше, доверие к доверенной вычислительной базе необходимо для достижения любого прогресса в установлении безопасности компьютерной системы. Другими словами, доверенная вычислительная база «доверена» в первую очередь в том смысле, что ей нужно доверять, а не обязательно, что она заслуживает доверия. В реальных операционных системах регулярно обнаруживаются критические для безопасности ошибки, что свидетельствует о практических пределах такого доверия. [7]

Альтернативой является формальная проверка программного обеспечения , которая использует математические методы доказательства, чтобы показать отсутствие ошибок. Исследователи из NICTA и ее ответвления Open Kernel Labs недавно провели такую ​​формальную проверку seL4, члена семейства микроядер L4 , доказав функциональную корректность реализации ядра на языке C. [8] Это делает seL4 первым ядром операционной системы, которое закрывает разрыв между доверием и надежностью, предполагая, что математическое доказательство не содержит ошибок.

Размер ТКБ

Из-за вышеупомянутой необходимости применять дорогостоящие методы, такие как формальная проверка или ручная проверка, размер TCB имеет непосредственные последствия для экономики процесса обеспечения TCB и надежности полученного продукта (с точки зрения математического ожидания количества ошибок, не найденных во время проверки или проверки). Поэтому, чтобы сократить расходы и риски безопасности, TCB следует поддерживать как можно меньшим. Это ключевой аргумент в дебатах о предпочтении микроядер монолитным ядрам . [9]

Примеры

AIX реализует доверенную вычислительную базу как дополнительный компонент в своей системе управления пакетами во время установки. [10]

Смотрите также

Ссылки

  1. ^ Рашби, Джон (1981). «Проектирование и проверка безопасных систем». 8-й симпозиум ACM по принципам операционных систем . Пасифик-Гроув, Калифорния, США. С. 12–21.
  2. ^ Б. Лэмпсон, М. Абади, М. Берроуз и Э. Воббер, Аутентификация в распределенных системах: теория и практика, ACM Transactions on Computer Systems 1992, на стр. 6.
  3. ^ Критерии оценки доверенных компьютерных систем Министерства обороны, DoD 5200.28-STD, 1985. В глоссарии под заголовком Доверенная вычислительная база (TCB) .
  4. ^ М. Миллер, К. Морнингстар и Б. Франц, Финансовые инструменты, основанные на возможностях (Ода диаграмме Грановеттера), в параграфе Субъективное агрегирование .
  5. ^ У. Арбо, Д. Фарбер и Дж. Смит, «Безопасная и надежная архитектура начальной загрузки», 1997, также известная как «документы Aegis».
  6. ^ Безопасная и надежная архитектура начальной загрузки, цит.
  7. ^ Брюс Шнайер , Беговая дорожка с защитной заплаткой (2001)
  8. ^ Кляйн, Гервин; Элфинстоун, Кевин; Хейзер, Гернот ; Андроник, Джун; Кок, Дэвид; Деррин, Филипп; Элкадуве, Дхаммика; Энгельхардт, Кай; Колански, Рафал; Норриш, Майкл; Сьюэлл, Томас; Тач, Харви; Уинвуд, Саймон (октябрь 2009 г.). "seL4: Формальная проверка ядра ОС" (PDF) . 22-й симпозиум ACM по принципам операционных систем . Биг Скай, Монтана, США. стр. 207–220.
  9. Эндрю С. Таненбаум , Дебаты Таненбаума-Торвальдса, часть II (12 мая 2006 г.)
  10. ^ AIX 4.3 Элементы безопасности, август 2000 г., глава 6.
Получено с "https://en.wikipedia.org/w/index.php?title=База_доверенных_вычислений&oldid=1241287012"