威胁建模之绘制数据流图

文章介绍了威胁建模的概念、目的和实施步骤,强调了数据流图在威胁建模中的重要性。通过软件架构4+1视图和C4模型解释了常见的架构设计模型,并对比了MicrosoftThreatModelingTool和OWASPThreatDragon等工具的优缺点。此外,还提供了Kubernetes的威胁建模案例,强调了定义信任边界的必要性,并总结了绘制数据流图的技巧和团队协作的重要性。

0x00 前言

1、什么是威胁建模:
以结构化的方式思考、记录并讨论系统存在的安全威胁,并针对这些威胁制定相应的消减措施。

2、为什么要威胁建模:
(1)在设计阶段开展威胁建模,一方面可以更全面的发现系统存在的威胁,根据发现的威胁提出相应的安全需求,来最大限度保证系统的安全;另一方面也可以降低安全设计缺陷导致的修复成本。
(2)通过威胁建模生成的记录文档,为后期开展的代码审计、渗透测试等安全活动提供支持,可极大提升漏洞挖掘的效率。

3、如何实施威胁建模:
(1)绘制数据流图(基于业务现有文档中的系统架构图等,来绘制数据流图)
(2)发现威胁(通过结合STRIDE、攻击树、攻击库等方法来分析发现威胁)
(3)处理和管理威胁(可使用风险管理的经典策略:解决、缓解、转移、接受)
(4)验证威胁是否解决。

4、数据流模型是威胁建模最理想的模型,因为安全问题经常出现在数据流中,而不是在控制流中。 数据流图的应用非常广泛,有时会被称为“ 威胁建模图” 。1967 年由Larry Const ant ine 设计,数据流图(DFD)包括数据存储和处理过程2个关键要素,通过数据流连接起来,并与外部实体相互作用。没有完全准确的数据流图,我们只是要让他尽量有用而已。本篇文章我将重点分享一下如何绘制一个对我们有用的数据流图。如果大家有更好的意见,希望不吝赐教。

0x01 数据流图5个元素

元素 图形表示 含义
外部实体 矩形 驱动系统业务,但不受系统控制的人和物。如用户、第三方系统等
处理进程 圆形或圆角矩形 表示一个任务、一个执行过程。如微服务、可执行文件、Web Server 、ftp server等
数据存储 两条平行线 存储数据的内部实体。如对象存储、数据库、消息队列、文件、注册表等
数据流 带箭头的直/曲线 数据在系统中的流动方向。如http请求、gRPC请求、服务调用、网络通信等。
信任边界 虚线 可信元素和不可信元素之前的边界

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值