
Cumulus. Моделирование угроз для облаков.
Cumulus — это простой способ внедрить безопасность в облачные и DevOps-команды.
Являясь вариантом карточной игры Elevation of Privilege, он следует идее моделирования угроз для системы посредством геймификации. Этот лёгкий и низкопороговый подход помогает выявить угрозы для вашего DevOps- или облачного проекта и обучает разработчиков мышлению, ориентированному на безопасность.
Последний релиз можно найти здесь.
Идея моделирования угроз через серьёзные игры восходит к карточной игре Elevation of Privilege авторства Адама Шостака. Основная идея — собрать разработчиков за одним столом и заставить их начать обсуждать безопасность своей системы. Для этого карточная игра служит руководством по каталогу угроз. Она разработана так, чтобы быть низкопороговой и естественно встраиваться в agile-процессы разработки.
В то время как оригинальная игра рассматривает безопасность в целом, а другой вариант — Cornucopia от OWASP Foundation — нацелен конкретно на безопасность (веб-)приложений, мы почувствовали, что специфические потребности DevOps-команд, работающих в облачных средах, остались неохваченными. Cumulus стремится заполнить этот пробел и предоставляет специальную колоду карт с угрозами для облачных систем.
Угрозы классифицируются по категориям (которые также являются мастями в этой игре):
Эта игра явно не пытается заменить Elevation of Privilege или Cornucopia. Скорее её следует рассматривать как часть триплета карточных колод для моделирования угроз, отражающих различные аспекты современных проектов разработки программного обеспечения.
Cumulus — это карточная игра на взятки, похожая на «пики».
Цель — набрать как можно больше очков, либо забирая взятку, либо находя угрозы. В конце игры победителем становится игрок с наибольшим количеством очков.
В рамках подготовки к игре создаётся архитектурный обзор. В идеале — в виде диаграммы потоков данных, но в конечном счёте подойдёт любой обзор, понятный игрокам. Кроме того, игроки договариваются о стартовой масти, то есть категории угроз.
После раздачи карт игрокам игра начинается. Первым сдающим становится игрок, держащий младшую карту стартовой масти. Сдающий играет карту стартовой масти. Каждый другой игрок должен ходить в масть в течение этого раунда. Если это невозможно, игрок может выбрать любую карту на руке. Победитель раунда забирает взятку и является тем, кто сыграл карту с наибольшим значением в масти раунда или старшую козырную карту.
Козыри — это карты масти Access & Secrets.
Затем победитель получает очко, начинает новый раунд и выбирает новую масть. Каждый раз, когда играется новая карта, всех игроков просят подумать, применима ли та или иная угроза, упомянутая на текущей карте, к их системе в какой-либо форме. Если угроза найдена (и команда согласна, что это тема для рассмотрения), она записывается, и нашедший получает дополнительное очко.
Оригинальная и замечательная идея проведения моделирования угроз через серьёзные игры восходит к Адаму Шостаку, работавшему в то время в Microsoft. Он изобрёл игру Elevation of Privilege, которая является прототипом для Cumulus.
Ещё одна отличная игра, следующая подходу Elevation of Privilege к моделированию угроз, — это Cornucopia, разработанная OWASP Foundation.
Обе карточные игры — отличные инструменты, помогающие командам разработчиков повысить безопасность создаваемой ими системы.
Однако мы почувствовали потребность в карточной игре для моделирования угроз, нацеленной именно на DevOps/облачные проекты. Из этой идеи возник Cumulus.
Существует онлайн-версия этой карточной игры (а также Elevation of Privilege и Cornucopia) для удалённых или географически распределённых команд. Её можно легко развернуть самостоятельно.
Вы можете найти её по адресу:
https://github.com/tng/elevation-of-privilege
Кроме того, в Cumulus можно играть на copi.owasp.org, см. примечания к выпуску. Спасибо Johan Sydseter.
Печатные карты доступны на CyberSecGames.
Вклад в колоду карт очень приветствуется. В конечном счёте эта колода задумана как общественный проект.
Изменения в формулировках угроз приветствуются в виде pull request'ов к cards.tex.
Колода карт следует семантическому версионированию. Изменения версии означают:
Карточная игра (включая формулировки угроз и выпущенные PDF-файлы) распространяется под лицензией CC-BY-4.0. При распространении этой игры мы будем очень признательны за упоминание TNG Technology Consulting.
Все служебные файлы (shell-скрипты, код LaTeX для вёрстки) распространяются под лицензией Apache-2.0.