stringtranslate.com

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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