微软提出的STRIDE安全威胁建模学习小结

微软最早提出的STRIDE安全建模方法的,STRIDE的含义为:

STRIDE 威胁,代表六种安全威胁:身份假冒(Spoofing)、篡改(Tampering)、抵赖(Repudiation)、信息泄露(Information Disclosure)、拒绝服务(Denial of Service)、特权提升(Elevation of Privilege)。

身份假冒(Spoofing)
身份假冒,即伪装成某对象或某人。例如,我们通过伪造别人的 ID 进行操作。

篡改(Tampering)
篡改,即未经授权修改数据或者代码。例如,我通过网络抓包或者某种途径修改某个请求包,而服务端没有进行进一步的防范措施,使得我篡改的请求包提交成功。

抵赖(Repudiation)
抵赖,即拒绝执行他人无法证实也无法反对的行为而产生抵赖。例如,我攻击了某个产品,他们并不知道是我做的,没有证据证明是我做的,我就可以进行抵赖,换句话说,我可以死不承认。

信息泄露(Information Disclosure)
信息泄露,即将信息暴露给未授权用户。例如,我通过某种途径获取未经加密的敏感信息,例如用户密码。

拒绝服务(Denial of Service)
拒绝服务,即拒绝或降低有效用户的服务级别。例如,我通过拒绝服务攻击,使得其他正常用户无法使用产品的相关服务功能。

特权提升(Elevation of Privilege)
特权提升,即通过非授权方式获得更高权限。例如,我试图用管理员的权限进行业务操作。

安全要素
为了防范上面的 STRIDE 威胁,我们需要采用一些防范措施。

威胁    安全要素    消减技术
身份假冒    认证    Kerberos、SSL/TLS、证书、认证码等
篡改    完整性    访问控制列表、SSL/TLS、认证码等
抵赖    非抵赖/审计/记录    安全审计和日志记录、数字签名、可信第三方
信息泄露    保密    加密、访问控制列表
拒绝服务    可用性    访问控制列表、过滤、配额、授权
特权提升    授权    访问控制列表、角色控制、授权

 

下图对这六项信息各自进行了距离:

属性威胁定义例子
认证Spoofing(假冒)冒充某人或某物假冒billg、microsoft.com或ntdll.dll
完整性Tampering(篡改)修改数据和代码修改一个DLL,或一个局域网的封包
不可抵赖性Repudiation(否认)宣称未做过某个行为“我没有发送email” “我没有修改文件” “我肯定没有访问那个网站”
机密性Information Disclosure(信息泄露)暴露信息给未经授权的访问者允许某人阅读Windows源代码;将客户列表发布在网站上
可用性Denial of Service(拒绝服务)使对服务对用户拒绝访问或降级发送数据包使目标系统CPU满负荷或发送恶意代码使目标服务崩溃
授权Elevation of Privlege(权限提升)未经授权获取权限远程用户执行任意代码,普通用户可以执行管理员私有的系统指令

---------------------------------------------------------------------------------

使用数据流关系图(DFD)来辅助STRIDE分析,将系统分解成部件,并证明每个部件都不易受相关威胁攻击。DFD正确是确保威胁模型正确的关键所在。FDF包含如下元素:
        数据流:通过网络连接,命名管道,RPC通道等移动的数据。
        数据存储:表示文件,数据库,注册表项以及类似项。
        进程:计算机运行的计算或程序。
        交互方:系统的端点,例如人,web服务器和服务器。
        信任边界:表示可信元素与不可信元素之间的边界。

    在应用STRIDE进行威胁建模分析时,需要注意的问题点:
        1、客户可能从来不会明确提出某些安全性的要求,因此,设计人员必须找到问题描述中内在的安全性要求。
        2、不仅必须从一个攻击者的角度来看待风险问题,还必须“同时”从所有的攻击者的角度来全盘考虑安全问题。
        3、DFD是否切合实际的常规判断依据:
            第一,数据不是凭空臆造的,确保对于每个数据存储,都有读取者或写入者。
            第二,注意数据传输过程的灵魂作用,确保始终有一个进程读取和写入数据。
            第三,将单个信任边界内的相似元素收缩为单个元素,以便于建模。
            第四,注意信任边界任一侧的建模细节,尝试显示更详细的信息。
       4、信任边界的真正定义——不相信另一端的任何事物。

       5、你根本想象不到其他人为何需要你的数据,你只需认为有人需要你的数据。
       6、你与客户相距越远,就越难以知道客户对于不同风险的承受程度。不要对客户的情形或风险承受程度做过多的假设。
       7、攻击者可能是内部人员,而不是外部人员。他们可能具有合法的访问权限,可以访问数据库以完成自己的工作。
       8、针对每个威胁和DFD中的每个元素进行分析:针对所有数据流和数据存储解决了篡改、信息泄露和拒绝服务威胁;针对所有进程解决了所有STRIDE威胁;针对所有交互方解决了假冒和否认威胁;并解决了影响信任边界的独特威胁。
       9、STRIDE模型很好的一点在于,它能让你洞察你所需的抑制措施的本质。
       10、使用预构建的威胁树可以确保不会忽略已知的攻击。
--------------------- 
 

  • 6
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Stride是一个用于信息安全威胁建模的方法论,它将安全威胁分为六种类型:Spoofing、Tampering、Repudiation、Information Disclosure、Denial of Service和Elevation of Privilege。Stride方法论的主要目的是帮助系统管理员和开发人员识别安全威胁,并在系统设计或开发过程中进行安全措施的规划和实现,以保证系统的安全性。 其中,Spoofing指攻击者伪装成被信任的对象,例如伪造IP地址、MAC地址、电子邮件地址等,从而欺骗用户将信息泄露或执行恶意操作。Tampering是指攻击者在传输的数据中进行欺骗性修改,例如窃取密码、篡改数据等行为。Repudiation是指攻击者否认自己的行为,例如伪装成其他用户进行操作。Information Disclosure是指攻击者获取敏感信息而不进行修改或破坏,例如窃取信用卡信息。Denial of Service是指攻击者通过拒绝服务攻击阻止网络流量或服务,从而使系统无法正常运行。Elevation of Privilege是指攻击者通过越权操作获取系统权限,例如获取管理员权限。 在实际应用中,系统管理员可以应用Stride方法论对系统进行安全威胁分析和风险评估,以制定相应的安全策略和控制措施。例如,在设计系统时,管理员可以尽量避免使用易被攻击者伪装的元素,如IP地址、Cookie等;开发人员可以加强用户身份验证、使用加密技术等来防止信息泄露和篡改。另外,管理员还可以将防范重点放在有风险的操作上,并制定相应的应急预案,以应对可能出现的安全问题。 ### 回答2: STRIDE(Spoofing、Tampering、Repudiation、Information disclosure、Denial of service、Elevation of privilege,欺骗、篡改、否认、信息泄露、拒绝服务和提升特权)信息安全威胁建模方法论,是一种广泛使用的安全风险评估方法,旨在帮助安全专业人员发现并识别系统中存在的安全威胁。 在STRIDE方法论中,将安全威胁分为了6种类型,包括欺骗、篡改、否认、信息泄露、拒绝服务和提升特权。欺骗指攻击者通过伪装成其他用户或系统的方式来欺骗系统;篡改指攻击者通过修改数据或代码来改变系统的行为;否认指攻击者否认自己的操作或活动;信息泄露指攻击者获取系统中的敏感信息并进行传播或利用;拒绝服务指攻击者通过消耗系统资源或进行拒绝服务攻击来破坏系统的可用性;提升特权指攻击者通过提升自己的权限来访问或修改系统中的敏感信息。 使用STRIDE方法论进行安全威胁建模时,需要: 1. 确定系统中的关键组件和数据信息; 2. 对每个组件或数据信息进行分析,确定其存在的安全威胁类型; 3. 确定攻击者可能采取的攻击方式; 4. 评估威胁的严重性和可能性,并制定相应的风险应对措施。 总之,STRIDE信息安全威胁建模方法论是一种简单易用的安全风险评估方法,通过其提供的风险建模框架和分析方法,可以有效识别和应对系统中存在的安全威胁

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值