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

Модель Кларка — Уилсона (англ. Clark–Wilson model) — модель целостности, предназначенная для спецификации и анализа политики целостности вычислительной системы[1].

Модель Кларка — Уилсона ориентирована на формализацию понятия целостности информации. Целостность информации поддерживается предотвращением порчи элементов данных в системе как по ошибке, так и намеренно. Политика целостности описывает, каким образом данные в системе должны сохранять корректность при переходе из одного состояния в другое, а также определяет возможности различных субъектов. Для распределения прав доступа к объектам модель использует специальные метки безопасности, трансформационные процедуры и ограниченную модель интерфейсов.

Происхождение

Модель Кларка — Уилсона была представлена в статье 1987 года (A Comparison of Commercial and Military Computer Security Policies) Дэвидом Д. Кларком (англ. David D. Clark) и Дэвидом Р. Уилсоном. Авторы разработали модель для формализации понятия информационной целостности, особенно по сравнению с требованиями к системам с многоуровневой защитой (MLS), определёнными в «Оранжевой книге» (Trusted Computer System Evaluation Criteria).

Основные принципы

Модель Кларка — Уилсона является фундаментальной частью современных курсов по кибербезопасности и программ профессиональной сертификации (таких как CISSP и CISM)[2], применяясь комплексно для поддержания целостности данных. Вместо задания формальной машины состояний модель определяет каждый элемент данных и разрешает его изменение только через ограниченное множество программ. В этой модели субъект взаимодействует с объектом только посредством программы (транзакции), что называют «тройкой доступа» (тройным отношением) или «контролируемой тройкой». При этом субъекты не имеют прямого доступа к объектам — все действия возможны только через промежуточные процессы.

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

  • Корректная транзакция — это последовательность операций, переводящая систему из одного согласованного состояния в другое согласованное состояние.
  • Политика целостности в данной модели фокусируется на надежности совершения транзакций.
  • Принцип разделения обязанностей требует, чтобы сертифицирующий транзакцию и реализующий её были разными лицами.

Модель включает четыре ключевых компонента, описывающих данные и процессы над ними. Ограниченный элемент данных (CDI, англ. Constrained Data Item) — это данные, целостность которых должна обеспечиваться системой; их изменение возможно исключительно через сертифицированные процедуры преобразования (TP). Неограниченный элемент данных (UDI, англ. Unconstrained Data Item) представляет собой данные с неограниченным доступом, целостность которых не контролируется моделью (например, пользовательский ввод), и которые не могут напрямую изменять CDI. Процедуры преобразования (TP, англ. Transformation Procedures) — это единственные сертифицированные процедуры, переводящие систему из одного корректного состояния в другое; они принимают на вход UDI или CDI и гарантированно преобразуют их в валидный CDI. Процедура проверки целостности (IVP, англ. Integrity Verification Procedure) предназначена для проверки того, что все элементы CDI в системе находятся в корректном состоянии в соответствии с заданными правилами[3].

Правила

В ядре модели лежит отношение между аутентифицированным субъектом (пользователем), набором программ (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 — Разрешённые отношения должны удовлетворять принципу разделения обязанностей.

Правило C3 формализует принцип разделения обязанностей для предотвращения мошенничества, требуя участия нескольких лиц для выполнения критических задач. На практике это реализуется через настройку троек контроля доступа (пользователь, процедура преобразования, объект данных)[4][5].

Для соблюдения этого условия применяется аутентификация.

C4 — Все TP должны в журнале фиксировать достаточно информации для восстановления совершённой операции.

Данные, поступающие в систему, могут быть недоверенными или неограниченными (UDI), с ними работают так:

C5 — Любая TP, принимающая UDI, должна корректно обрабатывать все возможные значения: либо принять (преобразовать в CDI), либо отклонить.

Во избежание эскалации прав посредством модификации TP:

E4 — Изменять перечень сущностей, связанных с TP, разрешается только сертифицирующему лицу.

CW-lite

Вариантом модели Кларка — Уилсона выступает модель CW-lite, допускающая ослабление требования формальной верификации семантики TP. Семантическая верификация в таком случае отложена на отдельную модель и общие инструменты формального доказательства.

Модификация CW-lite была представлена в 2006 году Умешем Шанкаром (англ. Umesh Shankar), Трентом Джегером (англ. Trent Jaeger) и Райнером Сайлером (англ. Reiner Sailer)[6]. Практическая верификация свойств CW-lite может осуществляться с использованием SELinux, инструмента Gokyo и архитектуры PRIMA для контроля межпроцессных информационных потоков[7].

Сравнение с другими моделями

Кларк и Уилсон утверждали, что существующие модели целостности, такие как модель Биба (Biba, чтение вверх/запись вниз), больше подходят для обеспечения целостности данных, а не конфиденциальности информации. Модель Биба особенно полезна, например, в банковских классификационных системах, чтобы предотвратить несанкционированные изменения и искажение данных на более высоких уровнях секретности. В отличие от неё, модель Кларка — Уилсона более применима для бизнес-процессов и промышленных задач, где целостность информации важна на любом уровне классификации (хотя авторы подчёркивают, что обе модели используются как в государственных, так и в коммерческих организациях).

В отличие от модели Белла — Лападулы, которая сфокусирована на обеспечении конфиденциальности, модель Кларка — Уилсона ориентирована на целостность данных. Ключевыми преимуществами модели Кларка — Уилсона для коммерческих сред являются ориентация на бизнес-процессы, контроль через транзакции и разделение обязанностей[8][9].

Современное значение

Модель продолжает оставаться фундаментальной частью современных курсов по информационной безопасности и программ профессиональной сертификации (например, CISSP, CISM)[2]. Современные образовательные ресурсы фокусируются на теоретическом изучении её принципов для коммерческого сектора, так как модель является архитектурной концепцией, а не конкретным программным продуктом с открытым исходным кодом[10].

Примечания

  1. CSDL | IEEE Computer Society (англ.). www.computer.org. Дата обращения: 28 мая 2026.
  2. 1 2 Clark-Wilson Model. ThorTeaches. Дата обращения: 28 мая 2026.
  3. Модель Кларка-Уилсона. sha-danis.narod.ru. Дата обращения: 28 мая 2026.
  4. Clark-Wilson Model. cs.utexas.edu. Дата обращения: 28 мая 2026.
  5. Clark-Wilson Model. Publishers Panel. Дата обращения: 28 мая 2026.
  6. Toward Automated Information-Flow Integrity Verification for Security-Critical Applications. cs.ucr.edu (2006). Дата обращения: 28 мая 2026.
  7. PRIMA: Policy-Reduced Integrity Measurement Architecture. umeshshankar.com. Дата обращения: 28 мая 2026.
  8. Security Models Explained: Bell-LaPadula vs Biba vs Clark-Wilson vs Brewer-Nash. Flashgenius. Дата обращения: 28 мая 2026.
  9. Security Models. CertPro. Дата обращения: 28 мая 2026.
  10. Clark-Wilson Model. Trusted Institute. Дата обращения: 28 мая 2026.

Литература

  • 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 года.

Категории