威胁建模一般是定制化,需要适应当前企业的SDL的具体情况。
一般来说,比较基本的流程还是可以适当写一些的,根据一条基本的框架再来根据实际情况去定制。
需求分析
- 首先是用户需求,当需求出现时,一般是用户提出,产品经理转化,由产品经理来将用户的需求具象化到系统的功能,提出功能需求和场景需求。
- 然后就是根据这些需求,开需求评审会,主要角色包括:产品经理、前后端开发、设计(包含了美工等技术,UI和原型)、测试。这是以往正常产品研发中的主要角色,既然要接入安全,那么在这里也会需要有安全人员来介入。
- 经过会议讨论(
一般研发都会砍需求),评估通过的话,就可以进行下一步:需求拆分,简单理解就是将一个个大需求,细化拆分成一个个小需求。比如:需要有个登录注册的功能,那么拆分就要细分一下登录和注册,再考虑这个登录功能要不要加个验证码了,以及找回密码的功能等等。
建模
- 开始建模——将需求拆分完毕后,进行建模,将威胁场景和缓解措施交给研发人员。一般的平台会结合某些数据(SRC或者人工测试)的场景,在系统需求提出时就从威胁建模知识库中调取并返回相应威胁场景-缓解措施-漏洞类型等。
- CI/CD——构建/集成过程会接入IAST/SAST/接口测试等,大概检查是否存在漏洞。
上线
- 通过后成功上线,进行人工测试,有问题则反馈研发进行修复,无问题则继续进行发布
- 成功发布生产投入使用,SRC运营,获取漏洞信息,充实威胁建模场景,加入威胁建模知识库
- 完成闭环
需要完成的内容
- 首先,需要明白整个流程,并根据企业当下的研发过程和环境,规划好威胁建模流程
- 然后,需要确认本企业的威胁建模场景
- SRC威胁场景
- 业务场景调研
- 互联网公开漏洞,获取威胁场景
- 确认威胁场景
- 创建威胁建模知识库
- 将知识库接入平台(注意这个平台需要产品经理协同使用),很多企业的难点其实在这里
- 验收,投入使用。