JDArmy BREAK-业务风险枚举与规避知识框架
https://break.jd.army/
框架线上地址:介绍
JDArmy BREAK 是英文“Business Risk Enumeration & Avoidance Kownledge”的缩写,是一个开放式“业务风险枚举与规避知识”框架。该框架通过对各种业务风险进行分类、介绍与枚举,为使用者提供了一个完整的业务风险全景图,并对业务规避风险、提升能力提供了规避知识。
JDArmy BREAK 由JD.Army创建、拥有和进行管理。JD.Army是专注于挖掘和解决企业安全运行风险隐患的专业型红队。JD.Army保留自行决定定期更新 BREAK 和本文档的权利。虽然JD.Army拥有 BREAK 的所有权利和利益,但它许可公众自由使用,遵循相关开源协议。
背景
随着信息安全能力对业务的覆盖与落地,以及业务对安全需求的加深,如果安全还是单单停留在网络安全范畴,仅仅是提前发现和修复各种漏洞,显然是无法保证业务正常的安全运营的,也无法满足业务安全的更高需求。
为此,JDArmy根据多年以来对业务安全的理解和积累,推出 BREAK - “业务风险枚举与规避知识框架”,旨在为企业蓝军在开展业务安全评估过程中提供指导和依据,同时框架中的业务风险规避知识也为安全能力建设、业务安全运营、风控能力提升提供指引。
方法
框架整体按照:风险维度、风险场景、风险点的划分原则,框架包含若干风险维度,每个风险维度包含若干风险场景,每个风险场景包含若干风险点。
风险维度指代看待风险的不同角度,目前包含:业务维度、内容维度、身份维度和对抗维度。其中业务维度包含:营销风险、交易风险、游戏运营风险;内容维度包含:用户内容风险和违规引流风险;身份维度包含:身份风险和盗号变现风险;对抗维度包含身份对抗风险、设备对抗风险和非法请求风险。
目前框架共收集和整理风险点68个,后续会根据情况和反馈进行动态添加、升级或调整。每个风险点由风险编号、风险标题、风险描述、攻击描述、攻击复杂度、风险影响、规避手段和参加资料组成。风险编号通过 R00xx 的方式来进行唯一编号(效仿Mitre ATT&CK),以便后期交流和情报传递。而攻击描述可以指引企业蓝军更好地进行安全能力评估,规避手段可以帮助企业红军或业务风控来加强安全能力建设,以降低业务风险。
主要注意的是: 业务风险和漏洞不是一回事情。一般来说漏洞是由于业务编码的缺陷导致的,可以通过修改代码去除缺陷来修复漏洞;而业务风险很大程度上并不是由编码缺陷造成的,只是攻击者对正常业务逻辑的一种非预期的利用。也因此,在大部分情况下,并不能完全消除风险,只能将风险降低到一定的可接受范围。所以并不一定可以通过直接修改代码来修复漏洞,通常业务风险需要外挂安全能力、构造风控模型来减缓攻击、降低攻击ROI或缩小攻击面。
协作 & 贡献
本框架采用JSON格式进行了系统描述,详见/src/BREAK
文件夹。其中:
main.json
中存放本知识框架的基础信息riskDimensions.json
中存放风险维度riskScenes.json
中存放风险场景risks.json
中存放风险列表avoidances.json
中存放规避手段businessScenes.json
中存放业务场景列表- 具体的场景存在
/src/BREAK/scenes
中,按businessScenes
中的编号进行命名
- 具体的场景存在
abilityProviders.json
中存放了一些能力提供者,以及提供的一些业务风险规避能力。
各协作者可以通过直接修改各 JSON 文件来与我们进行该系统框架的协作开发。亦可通过在github上提issue来给我们提供意见或建议。
致谢
- 感谢团长、we1h0提供的建议