Модель Кларка — Уилсона
Модель Кларка — Уилсона (англ. Clark–Wilson model) — модель целостности, предназначенная для спецификации и анализа политики целостности вычислительной системы[1].
Модель Кларка — Уилсона ориентирована на формализацию понятия целостности информации. Целостность информации поддерживается предотвращением порчи элементов данных в системе как по ошибке, так и намеренно. Политика целостности описывает, каким образом данные в системе должны сохранять корректность при переходе из одного состояния в другое, а также определяет возможности различных субъектов. Для распределения прав доступа к объектам модель использует специальные метки безопасности, трансформационные процедуры и ограниченную модель интерфейсов.
Происхождение
Модель Кларка — Уилсона была представлена в статье 1987 года (A Comparison of Commercial and Military Computer Security Policies) Дэвидом Д. Кларком (англ. David D. Clark) и Дэвидом Р. Уилсоном. Авторы разработали модель для формализации понятия информационной целостности, особенно по сравнению с требованиями к системам с многоуровневой защитой (MLS), определёнными в «Оранжевой книге» (Trusted Computer System Evaluation Criteria). Кларк и Уилсон утверждали, что существующие модели целостности, такие как модель Биба (Biba, чтение вверх/запись вниз), больше подходят для обеспечения целостности данных, а не конфиденциальности информации. Модель Биба особенно полезна, например, в банковских классификационных системах, чтобы предотвратить несанкционированные изменения и искажение данных на более высоких уровнях секретности. В отличие от неё, модель Кларка — Уилсона более применима для бизнес-процессов и промышленных задач, где целостность информации важна на любом уровне классификации (хотя авторы подчёркивают, что обе модели используются как в государственных, так и в коммерческих организациях).
Основные принципы
Согласно книге Майка Чэппла и Джеймса Стюарта CISSP Study Guide Sixth Edition, модель Кларка — Уилсона применяется комплексно для поддержания целостности данных. Вместо задания формальной машины состояний модель определяет каждый элемент данных и разрешает его изменение только через ограниченное множество программ. В этой модели субъект взаимодействует с объектом только посредством программы (транзакции), что называют «тройкой доступа» (тройным отношением) или «контролируемой тройкой». При этом субъекты не имеют прямого доступа к объектам — все действия возможны только через промежуточные процессы.
В основе модели лежат правила сертификации и принудительного контроля, которыми определяются данные и процессы, обеспечивающие реализацию политики целостности. Ключевым понятием становится транзакция.
- Корректная транзакция — это последовательность операций, переводящая систему из одного согласованного состояния в другое согласованное состояние.
- Политика целостности в данной модели фокусируется на надежности совершения транзакций.
- Принцип разделения обязанностей требует, чтобы сертифицирующий транзакцию и реализующий её были разными лицами.
Модель включает базовые конструкции, описывающие данные и процессы над ними. Ключевым типом данных выступает ограниченный элемент данных (CDI, англ. Constrained Data Item). Процедура проверки целостности (IVP, англ. Integrity Verification Procedure) удостоверяется, что все CDI в системе валидны в определённый момент. Транзакции, реализующие политику целостности, представлены процедурами трансформации (TP, англ. Transformation Procedures). TP принимает на вход CDI или неограниченный элемент данных (UDI, англ. Unconstrained Data Item) и возвращает CDI. TP должна переводить систему из одного корректного состояния в другое. UDI используется для ввода данных в систему, включая пользовательский или потенциально враждебный ввод. TP гарантирует (через процедуру сертификации), что любой UDI преобразуется в «безопасный» CDI.
Правила
В ядре модели лежит отношение между аутентифицированным субъектом (пользователем), набором программ (TP) и множеством данных (UDI и CDI). Соединение этих компонентов называют «тройкой Кларка — Уилсона». Также требуется, чтобы различные лица управляли отношениями между субъектами, транзакциями и данными; в частности, пользователь, способный сертифицировать/создавать отношение, не должен иметь права запускать указанные там программы.
Модель включает два множества правил: правила сертификации (C) и правила принудительного контроля (E). Всего девять правил обеспечивают как внешнюю, так и внутреннюю целостность данных. Основные правила пересказываются так:
- C1 — При запуске IVP она должна убедиться, что CDI находятся в корректном состоянии.
- C2 — Для определённого набора CDI процедура TP должна обеспечивать их переход из одного корректного состояния в другое.
Так как TP должны быть сертифицированы на выполнение операций над CDI, формулируются правила E1 и E2.
- E1 — Система должна вести перечень сертифицированных отношений и гарантировать, что только прошедшие сертификацию TP могут изменять CDI.
- E2 — Каждому TP и множеству CDI должен быть сопоставлен пользователь; TP может обращаться к CDI от имени пользователя только в случае «легальности» обращения.
- E3 — Система обязана аутентифицировать пользователя при попытке запуска TP.
Для этого требуется вести учёт тройных отношений (пользователь, TP, {CDI}), название «разрешённые отношения».
- C3 — Разрешённые отношения должны удовлетворять принципу разделения обязанностей.
Для соблюдения этого условия применяется аутентификация.
- C4 — Все TP должны в журнале фиксировать достаточно информации для восстановления совершённой операции.
Данные, поступающие в систему, могут быть недоверенными или неограниченными (UDI), с ними работают так:
- C5 — Любая TP, принимающая UDI, должна корректно обрабатывать все возможные значения: либо принять (преобразовать в CDI), либо отклонить.
Во избежание эскалации прав посредством модификации TP:
- E4 — Изменять перечень сущностей, связанных с TP, разрешается только сертифицирующему лицу.
CW-lite
Вариантом модели Кларка — Уилсона выступает модель CW-lite, допускающая ослабление требования формальной верификации семантики TP. Семантическая верификация в таком случае отложена на отдельную модель и общие инструменты формального доказательства.
Примечания
Литература
- Clark, David D.; Wilson, David R. A Comparison of Commercial and Military Computer Security Policies. // Proceedings of the 1987 IEEE Symposium on Research in Security and Privacy (SP'87), May 1987, Oakland, CA, IEEE Press, pp. 184–193. A Comparison of Commercial and Military Computer Security Policies (англ.). theory.stanford.edu. Stanford University. Дата обращения: 20 июня 2024. Архивировано 21 ноября 2010 года.
- Chapple, Mike; Stewart, James; Gibson, Darril. Certified Information Systems Security Professional: Official Study Guide (8th Edition). 2018. John Wiley & Sons.
- Shankar, Umesh; Jaeger, Trent; Sailer, Reiner. Toward Automated Information-Flow Integrity Verification for Security-Critical Applications. // Proceedings of the 2006 Network and Distributed Systems Security Symposium (NDSS '06), February 2006, San Diego, CA, Internet Society, pp. 267–280. Toward Automated Information-Flow Integrity Verification for Security-Critical Applications (англ.). cse.psu.edu. Pennsylvania State University. Дата обращения: 20 июня 2024. Архивировано 24 октября 2006 года.