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

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

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

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

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

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

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

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

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

Оранжевая книга далее объясняет, что

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

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

Свойства

Предусмотрено политикой безопасности

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

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

Предпосылка безопасности

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

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

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

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

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

Надежные vs. заслуживающие доверия

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

Альтернатива формальная проверка программного обеспечения, который использует математические методы доказательства, чтобы показать отсутствие ошибок. Исследователи из НИКТА и его выход Открытые лаборатории ядра недавно провели такую ​​формальную проверку seL4, член Семейство микроядер L4, доказывающий функциональную корректность реализации ядра на языке C.[8]Это делает seL4 первым ядром операционной системы, которое закрывает разрыв между доверием и надежностью, при условии, что математическое доказательство не содержит ошибок.

Размер TCB

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

Примеры

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

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

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

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