互联网企业安全高级指南3.8 STRIDE威胁建模-阿里云开发者社区

开发者社区> 华章计算机> 正文

互联网企业安全高级指南3.8 STRIDE威胁建模

简介:
+关注继续查看

3.8 STRIDE威胁建模


STRIDE是微软开发的用于威胁建模的工具,或者是说一套方法论吧,它把外部威胁分成6个维度来考察系统设计时存在的风险点,这6个维度首字母的缩写就是STRIDE,分别为: Spoofing(假冒)、Tampering(篡改)、Repudiation(否认)、Information Disclosure(信息泄漏)、Denial of Service(拒绝服务)和 Elevation of Privilege(权限提升),如表3-1所示。

表3-1 STRIDE威胁建模

属性         威胁         定义         例子

认证         Spoofing(假冒)   冒充某人或某物     假冒billg、microsoft.com或ntdll.dll

完整性     Tampering(篡改)        修改数据和代码     修改一个DLL,或一个局域网的封包

不可抵赖性     Repudiation(否认)     宣称未做过某个行为     “我没有发送email” “我没有修改文件” “我肯定没有访问那个网站”

机密性     Information Disclosure(信息泄露)    暴露信息给未经授权的访问者     允许某人阅读Windows源代码;将客户列表发布在网站上

可用性     Denial of Service(拒绝服务)      使对服务对用户拒绝访问或降级         发送数据包使目标系统CPU满负荷或发送恶意代码使目标服务崩溃

授权         Elevation of Privlege(权限提升)         未经授权获取权限         远程用户执行任意代码,普通用户可以执行管理员私有的系统指令

 

STIRDE如何使用?先画出数据流关系图(DFD)用图形方式表示系统, DFD 使用一组标准符号,其中包含四个元素:数据流、数据存储、进程和交互方,对于威胁建模,另外增加了一个元素,即信任边界。数据流表示通过网络连接、命名管道、消息队列、RPC 通道等移动的数据。数据存储表示文本、文件、关系型数据库、非结构化数据等。进程指的是计算机运行的计算或程序。然后对每一个节点元素和过程进行分析判断是否存在上述6种威胁,并制定对应的风险缓解措施。例如图3-3所示的情况。

 

图3-3 STRIDE示例

图中,①、②、③其实都存在假冒、篡改、拒绝服务的风险,所以在这些环节都需要考虑认证、鉴权、加密、输入验证等安全措施。但根据风险的不同,过程③在内网的服务器被拒绝服务的风险较小,而在Internet上传输的过程①所受到的监听和篡改的风险更大,所以在每个环节上采取的风险削减措施的力度会不一样,这实际上也是什么安全措施一定要落地、什么安全措施可以适当妥协的一个参考视角。很多安全从业者所接受的安全认知往往是进入一家企业后,拿到一份名为应用开发安全标准的文档,里面描述了访问控制、输入验证、编码过滤、认证鉴权、加密、日志等各种要求,久而久之就变成了一种惯性思维,实际上之所以要这么做是因为在系统设计的某个环节存在STRIDE中的一种或几种风险,所以在那个设计关注点上要加入对应的安全措施,并不是在所有的地方都要套用全部的或千篇一律的安全措施。否则就会变成另外一种结果:“过度的安全设计”。威胁建模的成果跟工作者自身的知识也有很大的关系,有攻防经验的人比较容易判断威胁的来源和利用场景,如果缺少这方面的认知,可能会发现到处是风险,有些风险的利用场景很少或利用条件非常苛刻,如果一味地强调风险削减措施也会变成有点纸上谈兵的味道,虽然从安全的角度没有错,但从产品交付的整体视角看,安全还是做过头了。

总体上看,STRIDE是一个不错的参考视角,即便有丰富攻防经验的人也不能保证自己在面对复杂系统的安全设计时考虑是全面的,而STRIDE则有助于风险识别的覆盖面。

以上的例子是high level的威胁建模,low level的威胁建模需要画了时序图后根据具体的协议和数据交互进行更进一步的分析,细节可以参考威胁建模相关的方法论,但不管是high level还是low level都比较依赖于分析者自身的攻防技能。

参考资料

威胁建模:使用 STRIDE 方法发现安全设计缺陷(http://msdn.microsoft.com/zh-cn/magazine/cc163519.aspx)。

STRIDE图表(http://blogs.microsoft.com/cybertrust/2007/09/11/stride-chart/)。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Hadoop - 企业级大数据管理平台CDH(HA高可用和Sqoop1)
在使用大数据集群的时候容灾是一件很重要的事情,CM可以非常方便的进行HA配置,CM也支持sqoop1和sqoop2,之前已经配置了sqoop2本节来一起配置sqoop1
161 0
让黑客无隙可乘——企业级Web网站安全解决方案揭秘
在3月10日举办的阿里云网站热点研讨会上,阿里云资深安全业务架构师蕴藉就网站Web应用的安全性及业务可用性进行了一系列细致的讲解和介绍,接下来我们就来共同了解一下他分享的内容。
12478 0
通信安全重重考验,阿里云通信如何打造企业级“安全感”?
作为企业主流通信方式,云通信利用自身在基础运营商通信资源方面的优势,叠加上层AI、安全等技术功能创新并进行互联网封装,以SDK/API或者PaaS/SaaS的形式为企业提供跨平台、广覆盖、场景化、高度精准、安全稳定、可弹性扩展的通信服务,如语音、短信、智能客服、视频会议等等。云通信可以大大提升企业通信的综合管理能力与使用便捷程度,同时提高通信行业资源利用率,已经成为企业级通信的首选。
692 0
DDoS攻击日益加剧,互联网企业该如何应对?
最近这几年,对我们的生活影响最大改变最多的就是互联网。互联网的不断发展在给人们带来各种便利的同时,也带来了各种网络安全威胁,网络攻击从互联网诞生开始就从未停止。DDoS攻击是目前互联网上最常见的一种攻击方式
1478 0
远程办公安全威胁升级,疫情下企业如何自保?
以IDaaS(统一身份认证服务)为核心,阿里云云盾提供的零信任安全解决方案基本完整,类似谷歌的BeyondCorp简化版本。通过Agent终端管控,SPG(Service Provide Gateway)应用接入,和IDaaS身份认证齐头并进,可以提供灵活的组合方案从而满足企业的要求。
335 0
阿里巴巴1682亿背后的“企业级”高效持续交付
在2017北京云栖大会上,阿里巴巴高级技术专家陈鑫(花名神秀),给大家带来了《1682亿背后的企业级高效持续交付》,引起强烈共鸣。神秀从技术负责人关心的研发流程混乱、质量无法保障、环境管理低效、资源浪费等方面,结合阿里巴巴的DevOps实践,深度解析了企业级持续交付如何做,企业如何高效协作,控制成本的精彩分享。
3436 0
10059
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载