CRML (Cyber Risk Modeling Language)
CRML — это язык с открытым исходным кодом, основанный на декларативном подходе (формат YAML/JSON), предназначенный для стандартизации описания моделей киберрисков, что делает их независимыми от движка и позволяет применять принципы Risk as Code (RaC).
Что такое CRML (Cyber Risk Modeling Language)?
Что такое CRML (Cyber Risk Modeling Language)?
CRML, язык моделирования киберрисков, представляет собой декларативную спецификацию с открытым исходным кодом, созданную для устранения фрагментации и несогласованности, присущих современному количественному анализу киберрисков. Он предоставляет стандартизированный формат YAML/JSON для определения сложных моделей киберрисков, включая сопоставление телеметрии, конвейеры моделирования, зависимости между средствами контроля и требуемые выходные данные. Основная философия CRML заключается в обеспечении принципа Risk as Code (RaC), превращая предположения о рисках и соответствии требованиям в версионированные, проверяемые и исполняемые артефакты, которые могут быть последовательно проверены различными командами и инструментами.
Этот язык действует как уровень абстракции, отделяя определение модели от движка выполнения. Это означает, что организации больше не привязаны к проприетарным инструментам или конкретным методологиям квантификации, таким как движки Монте-Карло FAIR или подходы на основе байесовских сетей/QBER. Стандартизируя описание модели, CRML гарантирует, что один и тот же сценарий риска, определенный с явными предположениями, может быть надежно выполнен на различных совместимых платформах моделирования, что значительно повышает возможность аудита, воспроизводимость и способность обосновывать инвестиции в безопасность на основе количественных результатов.
Ключевые особенности
CRML разработан для обеспечения строгости и стандартизации количественного управления киберрисками:
- Независимость от движка: Бесшовная работа с любым движком моделирования, соответствующим спецификации CRML, включая те, которые поддерживают Монте-Карло в стиле FAIR, байесовские методы или актуарные модели.
- Декларативный формат YAML/JSON: Модели описываются с использованием удобочитаемого YAML или JSON, что упрощает их чтение, проверку, контроль версий (через Git) и аудит.
- Моделирование эффективности средств контроля: Позволяет пользователям явно количественно оценивать, как средства контроля безопасности, включая сложные сценарии глубокой защиты (defense-in-depth), снижают общую подверженность риску.
- Параметризация на основе медианы: Упрощает процесс ввода данных, позволяя напрямую указывать медианные значения для общих распределений, таких как логнормальное распределение.
- Строгая проверка: Включает проверку JSON Schema для выявления структурных и логических ошибок в определении модели до начала моделирования, экономя время и предотвращая ошибочные результаты.
- Поддержка нескольких валют: Облегчает моделирование глобальных рисков за счет поддержки автоматической конвертации между различными валютами.
- Автоматическая калибровка: Содержит механизмы для автоматической калибровки распределений на основе предоставленных данных об убытках.
Как использовать CRML (Cyber Risk Modeling Language)
Начало работы с CRML включает определение структуры вашей модели риска с использованием декларативной спецификации. Рабочий процесс обычно включает следующие шаги:
- Определение структуры модели: Создайте файл CRML (обычно YAML), в котором описывается сценарий риска. Это включает определение событий угроз, частоты событий убытков, величины событий убытков и взаимосвязей между ними.
- Сопоставление средств контроля и предположений: Явно определите задействованные средства контроля безопасности и количественно оцените их эффективность (например, используя коэффициенты снижения или модификаторы вероятности) в соответствии со спецификацией CRML.
- Указание требований к моделированию: Детализируйте требуемые выходные данные, проверки достоверности и любые специфические параметры моделирования (например, количество прогонов Монте-Карло или байесовские априорные значения).
- Выполнение с помощью совместимого движка: Передайте стандартизированный файл CRML в совместимый движок моделирования (например, собственный движок FAIR или байесовский решатель). Поскольку модель стандартизирована, движок точно знает, как интерпретировать входные данные и выполнять расчет.
- Проверка и версионирование: Поскольку модель теперь является версионированным артефактом (подобно Infrastructure as Code), ее можно отслеживать в системе контроля версий, проверять коллегами и использовать в качестве аудируемого доказательства для принятия решений по рискам.
Сценарии использования
CRML бесценен для организаций, переходящих от качественной оценки рисков к строгой, обоснованной квантификации:
- Обоснование расходов на безопасность: Количественная оценка снижения Ожидаемых Годовых Убытков (ALE), достигаемого за счет внедрения конкретного средства контроля (например, развертывание MFA), для обоснования запросов на бюджет перед руководством или советом директоров.
- Агрегация корпоративных рисков: Стандартизация моделей рисков в разрозненных подразделениях или географических регионах, что позволяет согласованно агрегировать и сравнивать подверженность киберрискам с целевыми показателями на уровне предприятия.
- Управление рисками поставщиков: Создание стандартизированных, машиночитаемых профилей рисков для критически важных сторонних поставщиков, что позволяет автоматизированно сравнивать их профили безопасности с внутренними эталонами.
- Прослеживаемость аудита и соответствия требованиям: Создание неизменяемых, версионированных записей, которые явно связывают итоговое число риска с точными предположениями, сопоставлениями средств контроля и данными, использованными в расчете, удовлетворяя строгим требованиям аудита.
- Моделирование глубокой защиты: Точное моделирование сложных архитектур безопасности, где несколько перекрывающихся средств контроля смягчают одну и ту же угрозу, гарантируя, что снижение риска не будет учтено дважды.
Часто задаваемые вопросы (FAQ)
В: Является ли CRML проприетарным, или я могу использовать с ним любой инструмент? О: CRML — это язык с открытым исходным кодом, основанный на декларативном подходе. Он намеренно не зависит от конкретного движка. Любая платформа моделирования, реализующая спецификацию CRML, может обрабатывать и выполнять модели, определенные в этом формате.
В: Какова взаимосвязь между CRML и такими устоявшимися структурами, как FAIR? О: CRML разработан для описания моделей, которые могут выполняться с использованием принципов FAIR или других методологий. Он стандартизирует входные данные и структуру сценария риска, позволяя вам использовать концепции FAIR (такие как Частота событий угрозы и Величина убытка) в стандартизированном, переносимом файловом формате.
В: Стабилен ли этот проект для производственного использования?
О: В настоящее время проект находится в активной разработке (как указано в репозитории). Хотя основные концепции надежны, пользователям следует следить за веткой разработки (crml-dev-1.3) и быть готовыми к возможным критическим изменениям до тех пор, пока проект не достигнет стабильного основного выпуска.
В: Как CRML помогает в борьбе с несогласованностью документации по средствам контроля? О: Принудительное включение предположений об эффективности средств контроля и глубокой защите в структурированное определение YAML/JSON устраняет зависимость от непоследовательных электронных таблиц или описательных документов. Каждый аналитик использует одно и то же машиночитаемое определение, обеспечивая согласованность того, как средства контроля влияют на окончательный расчет риска.
В: Где я могу найти официальную документацию или примеры? О: Проект поддерживает документацию, часто генерируемую с помощью MkDocs, и включает примеры в структуру репозитория для демонстрации того, как определять различные сценарии риска и сопоставления средств контроля.
Alternatives
Devin
Devin - это агент по кодированию AI и инженер-программист, который помогает разработчикам быстрее создавать лучшее программное обеспечение.
imgcook
imgcook — это интеллектуальный инструмент, который одним щелчком мыши преобразует дизайн-макеты в высококачественный, готовый к использованию код.
Radian
Radian — это библиотека дизайна и разработки с открытым исходным кодом, основанная на React и Tailwind CSS, предлагающая высококачественные, переиспользуемые компоненты, анимации и блоки для построения современных веб-приложений.
SkillKit
SkillKit предоставляет универсальный набор навыков, позволяющий разработчикам писать инструкции кода один раз и развертывать их на 32 различных агентах кодирования на базе ИИ, обеспечивая согласованность и широкую совместимость.
腾讯扣叮
Tencent Kouding — это платформа, которая объединяет различные инструменты и ресурсы программирования, предназначенная для помощи разработчикам в улучшении их навыков программирования и управления проектами.
CodeSandbox
CodeSandbox - это облачная платформа разработки, которая позволяет разработчикам кодировать, сотрудничать и отправлять проекты любого размера с любого устройства в рекордные сроки.