Модель Кларка — Уилсона

Модель Кларка — Уилсона (англ. 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 года.