Cumulus 是将安全性引入云和 devOps 团队的简便方法。
作为卡牌游戏 Elevation of Privilege 的变体,它遵循通过游戏化对系统进行威胁建模的理念。 这种轻量级、低门槛的方法可帮助您发现 devOps 或云项目面临的威胁,并培养开发人员以安全为导向的思维方式。
在此处查找最新版本。
通过严肃游戏进行威胁建模的理念可追溯到 Adam Shostack 的卡牌游戏 Elevation of Privilege。 其基本理念是让开发人员坐到一起,开始讨论他们系统的安全性。 为此,卡牌游戏可作为威胁目录的指南。 它被设计为低门槛,并且能够自然地融入敏捷开发流程。
原版游戏针对的是总体安全性,而另一个变体——OWASP 基金会的 Cornucopia——则专门针对(Web)应用安全,但我们感觉云环境中 devOps 团队的特定需求一直未被满足。 Cumulus 试图填补这一空白,并提供了一套针对云系统威胁的自定义卡牌。
威胁被分为以下类别(这些也是本游戏中的花色):
本游戏明确不试图取代 Elevation of Privilege 或 Cornucopia。 它更应被视为威胁建模卡牌三部曲的一部分,反映现代软件开发项目的不同方面。
Cumulus 是一种吃墩卡牌游戏,类似于黑桃。
目标是尽可能多地收集分数,可以通过赢下一墩或发现威胁来获得分数。 游戏结束时,得分最高的玩家获胜。
在游戏准备阶段,需要生成一份架构概览。 理想情况下,其形式为数据流图,但最终只要玩家能够理解,任何概览都可以。 此外,玩家需要商定一个起始花色,即一个威胁类别。
在将牌分发给玩家后,游戏开始。 第一位发牌者是持有起始花色中最小牌的玩家。 发牌者打出一张起始花色的牌。该轮中其他每位玩家都必须跟牌。 如果无法跟牌,玩家可以选择手中的任意一张牌。 该轮的赢家收下这一墩,并且是在该轮花色中打出最大牌或最大将牌的玩家。
将牌是来自访问与机密花色的牌。
随后,赢家获得一分,开始新一轮并选择新的花色。 每当打出一张新牌时,所有玩家都会被要求思考当前牌上提到的特定威胁是否以某种形式适用于他们的系统。 如果发现了威胁(并且团队同意这是一个需要关注的主题),就将其记录下来,发现者获得额外一分。
通过严肃游戏进行威胁建模这一原创而绝妙的想法可追溯到 Adam Shostack,他当时就职于 Microsoft。 他发明了游戏 Elevation of Privilege,这是 Cumulus 的蓝本。
另一款遵循 Elevation of Privilege 威胁建模方法的优秀游戏是由 OWASP 基金会开发的 Cornucopia。
这两款卡牌游戏都是帮助开发团队提高其正在构建的系统安全性的绝佳工具。
然而,我们感到需要一款专门针对 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,我们将不胜感激。
所有 utils 文件(shell 脚本、用于排版的 LaTeX 代码)根据 Apache-2.0 分发。