第一章威胁建模课件_第1页
第一章威胁建模课件_第2页
第一章威胁建模课件_第3页
第一章威胁建模课件_第4页
第一章威胁建模课件_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章威胁建模威胁建模是一种基于安全的分析,有助于人们确定给产品造成的最高级别的安全风险,以及攻击是如何表现出来的。其目标是确定需要缓和哪些威胁,如何来缓和这些威胁。威胁建模的重点是以一种相对正式的方式来考虑程序的安全性。只有你了解了所受到的威胁之后才能创建安全的系统。通过威胁建模进行安全的设计威胁建模的其他好处:威胁建模有利于更好地理解你的应用程序。威胁建模可以帮助你查找bug。通过威胁建模可以发现以其他任何方式都不太可能发现的复杂的设计bug。威胁建模可以帮助新的小组成员理解应用程序的细节。威胁建模应该能让基于产品的其他开发小组用到。威胁模型对测试人员非常有用。.第一章威胁建模威胁建模是一种基于安全的分析,有助于人们确定1第一章威胁建模通过威胁建模进行安全的设计威胁建模过程如下:成立威胁建模小组。分解应用程序。确定系统所面临的威胁。以风险递减的顺序给威胁排序。选择应付威胁的方法。选择缓和威胁的技术。从确定下来的技术中选择适当的方法。.第一章威胁建模通过威胁建模进行安全的设计.2第一章威胁建模1.1分解应用程序成功的威胁建模需要一种更结构化和形式化的方法,不是简单的“想象威胁”。对应用程序进行形式化分解方法:数据流图(DFD,Data

Flow

Diagram)统一建模语言(UML,Unified

Modeling

Language)UML活动图致力于过程之间的控制流,而DFD则是过程间的数据流。DFD常用的数据流图符号如下:一个过程转换或操作数据多个过程转换或操作数据数据存储存放临时数据或永久数据的地点边界机器、物理、地址空间或信任边界交互者向系统输入认证数据数据流描述来自数据存储、过程或交互者的数据流.第一章威胁建模1.1分解应用程序一个过程多个过程数据存储3第一章威胁建模1.1分解应用程序DFD分解的指导原则:应用程序或系统可以分解为子系统,而子系统又可以分解为更低级的子系统。DFD分解过程:分解的第一步是确定要分析的应用程序的边界或作用范围,并了解可信任部分和不可信任部分之间的边界。DFD使用一个高级上下文图表定义应用程序的作用范围。然后向下进入较低的层次,使用0级图表、1级图表、2级图表等等。上下文0级1级2级.第一章威胁建模1.1分解应用程序上下文0级1级2级.4第一章威胁建模1.1分解应用程序DFD上下文图表上下文图表只有一个过程,通常没有数据存储。如下是工资表范例应用程序的上下文图表。3.0管理员1.0用户2.0Web开发者4.0审计员0.0工资表应用程序管理任务请求工资表信息请求工资表信息响应管理任务反馈更新后的文件审计实体内联网数据中心.第一章威胁建模1.1分解应用程序3.01.02.04.05第一章威胁建模1.1分解应用程序定义DFD的作用范围时,应考虑以下问题:忽略应用程序的内部工作方式。哪些事件和请求是系统必须响应的?程序将产生什么响应?标示出每次请求和响应相关的数据源。确定每次响应的接收者。.第一章威胁建模1.1分解应用程序.63.0管理员1.0用户2.0Web开发人员4.0审计员14.0强制管理策略5.0服务客户端请求9.0强制工资表策略11.0访问数据6.0身份认证数据7.0Web页面8.0Web服务代码12.0工资表数据13.0审计日志管理任务任务反馈认证数据更新后的认证数据更新后的工资表数据工资表请求工资表响应信任状身份认证状态工资表请求工资表响应工资表数据请求工资表数据工资表数据请求新的认证数据审计实体请求的页面更新后的文件更新后的文件请求的代码内联网数据中心机器边界数据中心内联网工资表范例的1级数据流图.3.01.02.04.014.05.09.011.06.077第一章威胁建模1.1分解应用程序在DFD中创建和命名实体时,应遵循的规则:一个过程必须至少有一个数据流流入和一个数据流流出。所有数据流都从某个过程开始,到某个过程结束。数据存储通过数据流与过程相连。数据存储之间不能连接,它们必须通过过程相连。过程的名称是动词、名词或动词短语。数据流名称是名词或名词短语。外部实体或交互者的名称是名词。数据存储的名称是名词。一般来讲,如果只是威胁建模,只需深入到两级、三级或四级。.第一章威胁建模1.1分解应用程序.8第一章威胁建模1.2确定系统所面临的威胁威胁目标:下一步是取出分解过程中确定的各个部分,将其作为威胁模型的威胁目标。分析应用程序结构的原因并非确定其工作原理,而是研究应用程序的组成或资源(asset),数据在各部分之间是如何流动的。这些组件或资源通常称为“威胁目标(threat

target)”。考虑威胁时,可考虑如下问题:未经认证的用户能否浏览秘密网络数据?不可信任用户能否修改数据库中的记录数据?是否有人能够拒绝合法用户获得应用程序的服务?是否有人能够利用某些特性或组件将自己的特权提升为管理员?.第一章威胁建模1.2确定系统所面临的威胁.9第一章威胁建模1.2确定系统所面临的威胁使用STRIDE给威胁分类(*)STRIDE是下面6种威胁类型的英文首字母缩写:身份欺骗(Spooling

identity)。身份欺骗允许攻击者冒充另一个用户,或者允许恶意服务器冒充合法服务器。篡改数据(Tampering

with

data)。篡改数据包括有恶意地修改数据。否认(Repudiation)。用户拒绝承认他从事过的活动,并且其它方面没有任何办法证明他是在否认。信息泄露(Information

disclosure)。信息被暴露给不允许对它访问的人。拒绝服务(Denial

of

service,DoS)。拒绝对合法用户的服务。特权提升(Elevation

of

privilege)。没有特权的用户获得访问特权,从而有足够的能力损坏或摧毁整个系统。.第一章威胁建模1.2确定系统所面临的威胁.10第一章威胁建模1.2确定系统所面临的威胁威胁树威胁树的思想:应用程序是由威胁目标组成的,每个目标都有漏洞,任意漏洞被成功攻击都会破坏整个系统。威胁树描述了攻击者破坏各组件所经历的决策过程。当分解过程向你提供了应用程序各部分的清单时,就要标识出每个部分所面临的威胁。一旦标出潜在的威胁后,那么你就能确定怎样用威胁树来表示这些威胁。1.0用户5.0服务客户端请求工资表请求工资表响应内联网数据中心部分1级DFD,用户和Web服务器通过服务客户请求过程进行交互.第一章威胁建模1.2确定系统所面临的威胁1.05.0工资11第一章威胁建模浏览从服务器向客户计算机传输敏感用户工资数据的威胁树威胁#1在线浏览秘密工资表数据(I)1.1HTTP通信不受保护1.2攻击者浏览通信数据与1.2.1使用协议分析器嗅探网络通信1.2.2监听路由器流通数据1.2.3破坏交换机路由器不受保护破坏路由器猜测路由器口令与各种交换机攻击.第一章威胁建模浏览从服务器向客户计算机传输敏感用户工资数据12第一章威胁建模大纲是表现威胁树的更为简洁的方式。上述威胁树的大纲表现形式如下:1.0在线浏览秘密工资表数据 1.1

HTTP通信不受保护(与) 1.2攻击者浏览通信数据 1.2.1使用协议分析器嗅探网络通信 1.2.2监听路由器流通数据

路由器不受保护(与)

攻破路由器

猜测路由器口令 1.2.3攻破交换机

各种交换机攻击.第一章威胁建模大纲是表现威胁树的更为简洁的方式。上述威胁树13第一章威胁建模改进威胁树增加可读性:用虚线表示最不可能的攻击点,用实线表示最可能的攻击点。在最不可能的节点下放置圆圈,说明为什么威胁会减弱。威胁#1获取用户口令信息(I)→(S)→(E)1.1监听基本认证连接1.2破坏服务器证实存储1.3读取本地用户口令的恶意软件1.3.1用户“安装”读取口令的病毒1.3.2在计算机上安装恶意代码使用SSL/TLS需要对服务器的物理访问需要对服务器的物理访问.第一章威胁建模改进威胁树增加可读性:威胁#11.11.2114第一章威胁建模项目注释标题用适当的语言描述威胁目标应用程序的哪一部分容易受到攻击?威胁类型基于STRIDE模型来记录威胁的类型风险用你所喜欢的方法来计算风险威胁树攻击者如何实施威胁?保持威胁树的简单性缓和技术(可选)如何缓和威胁?如果已经使用了某种缓和技术,就记录下来;否则,进行下一个威胁。缓和状态威胁已经被缓和了吗?是、否、稍微、需要研究Bug数量(可选)如果在使用一个跟踪bug的数据库,则有要跟踪的bug数量威胁建模需要记录的项目.第一章威胁建模项目注释标题用适当的语言描述威胁目标应用程序15第一章威胁建模1.3以风险递减的顺序给威胁分级通过威胁造成的风险大小,决定哪一个问题要最先研究。风险的计算方法并不重要,只有合理并且保持一致。一种计算风险的简单方法是用隐患的危险程度(潜在的破坏性)乘以隐患发生的可能性。风险CO=危急程度×发生可能性通常1表示最低的危急程度或发生可能性,10表示最高的危急程度或发生可能性。风险CO越大,威胁对系统造成的风险就越大。例如,最高的风险等级是100。.第一章威胁建模1.3以风险递减的顺序给威胁分级.16第一章威胁建模使用DREAD计算风险风险计算方法DREAD是Microsoft使用的方法,其名字是如下短语的首字母组成:潜在破坏性(Damagepotential)。破坏会有多严重?衡量一个威胁可能造成的实际破坏程度。再现性(Reproducibility)。让潜在的攻击起作用会有多频繁?衡量将威胁变为现实的频繁程度。可利用性(Exploitability)。进行一次攻击需要多少努力和专业知识?受影响的用户(Affected

users)。如果威胁被利用并成为一次攻击,有多少用户会受到影响?可发现性(Discoverability)。一个威胁可被利用的可能性。这是最难衡量的标准。该方法将上述五个方面的平均值作为风险值(风险DREAD

)。上述五个方面的取值范围为1~10。.第一章威胁建模使用DREAD计算风险.17第一章威胁建模其他评估风险的方法如Internet安全系统的创始人Christopher

W.Klaus提出的方法就是一个比较灵活的方法,它检查威胁隐患的各个方面,创建一个严重性矩阵,用于如何处理和发现问题的优先级。一般需要回答以下问题:是本地威胁,还是远程威胁?攻击者能够不需要首先获得本地访问权就实施攻击吗?威胁的结果是什么?特权直接提升?如果是,提升到什么级别?是信息泄露问题吗?是导致特权提升的信息泄露吗?使攻击成功需要一些动作吗?.第一章威胁建模其他评估风险的方法.18第一章威胁建模将分解、威胁树、STRIDE、DREAD结合起来将所有这些结合起来,就可以从功能分解上确定威胁目标,通过STRIDE确定每个部分面临的威胁类型,使用威胁树来确定威胁如何成为隐患,并对每个威胁应用分级机制,如DREAD。对威胁树应用STRIDE非常简单。对系统的每个详细目录项,提出如下问题:这一项是否易于受到欺骗?这一项是否会遭到篡改?攻击者会否认这个动作吗?攻击者能浏览到这一项吗?攻击者能否对这一过程或数据流进行拒绝服务攻击?攻击者能否通过攻击这一过程提升其特权?.第一章威胁建模将分解、威胁树、STRIDE、DREAD结合19第一章威胁建模将分解、威胁树、STRIDE、DREAD结合起来DFD和STRIDE威胁类型的关系威胁类型影响过程影响数据存储影响交互影响数据流SYYTYYYRYYYIYYYDYYYEY.第一章威胁建模将分解、威胁树、STRIDE、DREAD结合20第一章威胁建模将分解、威胁树、STRIDE、DREAD结合起来DFD和STRIDE威胁类型的关系对上述关系表进行解释:欺骗威胁通常意味着欺骗一个用户(访问其证书,这也是一个信息泄露威胁)、一个进程(用恶意进程替换该进程,这也是一个篡改数据威胁)或者一台服务器。篡改一个进程意味着替换其二进制映像或在内存中修改(patching)该进程。针对进程的信息泄露威胁意味着对进程进行反向工程,以暴露其工作方式或者确定是否包含秘密数据。交互者不会受到信息泄露的影响;只有与交互者有关的数据才会泄露。如果你看到的是针对用户的信息泄露,那么你可能忽略了数据存储和访问数据的过程。你不能对交互者进行拒绝服务的攻击;攻击者是对数据存储、数据流或过程进行拒绝服务攻击,从而影响交互者。否认威胁一般意味着恶意用户拒绝承认一个事件的发生。你只能利用授权或使用更高特权的进程来提升特权。.第一章威胁建模将分解、威胁树、STRIDE、DREAD结合21第一章威胁建模将分解、威胁树、STRIDE、DREAD结合起来实例:威胁#1威胁#1在线浏览秘密工资表数据(I)1.1HTTP通信不受保护1.2攻击者浏览通信数据与1.2.1使用协议分析器嗅探网络通信1.2.2监听路由器流通数据1.2.3破坏交换机路由器不受保护破坏路由器猜测路由器口令与各种交换机攻击.第一章威胁建模将分解、威胁树、STRIDE、DREAD结合22第一章威胁建模将分解、威胁树、STRIDE、DREAD结合起来实例:威胁#1威胁描述恶意用户浏览网络上的秘密工资数据威胁目标工资表响应(5.0→1.0)威胁类型信息泄露I风险潜在破坏性:8可再现性:10可利用性:7受影响用户:10可发现性:10总计:9注释多数这样的攻击来自使用协议分析器的恶意用户,攻击很容易进行。.第一章威胁建模将分解、威胁树、STRIDE、DREAD结合23第一章威胁建模将分解、威胁树、STRIDE、DREAD结合起来实例:威胁#2威胁#2上传恶意Web页面2.1身份认证不安全2.2授权不安全与2.1.1管理安全性错误2.4.1服务器未打补丁2.3贿赂已授权的Web开发人员或管理员2.4破坏服务器2.2.1管理安全性错误默认情况下是安全的默认情况下是安全的行政管理不会有大问题.第一章威胁建模将分解、威胁树、STRIDE、DREAD结合24第一章威胁建模将分解、威胁树、STRIDE、DREAD结合起来实例:威胁#2威胁描述攻击者上传恶意Web页面和代码威胁目标Web页面(7.0)和Web服务代码(8.0)威胁类型篡改数据T风险潜在破坏性:7可再现性:7可利用性:7受影响用户:10可发现性:10总计:8.2注释安装工具总是设置良好的认证授权。因此,通过脆弱的安全上传Web页面的唯一方法是因为管理配置错误。.第一章威胁建模将分解、威胁树、STRIDE、DREAD结合25第一章威胁建模将分解、威胁树、STRIDE、DREAD结合起来实例:威胁#3威胁#3使应用程序拒绝服务3.1对网络接口进行洪水攻击3.2关闭计算机电源与3.2.1对计算机房的物理访问3.3创建许多长时间运行的请求3.4通过填充日志文件耗尽磁盘空间3.2.2通过警卫行政管理不会有大问题节流就是请求.第一章威胁建模将分解、威胁树、STRIDE、DREAD结合26第一章威胁建模将分解、威胁树、STRIDE、DREAD结合起来实例:威胁#3威胁描述攻击者使应用程序拒绝服务威胁目标服务客户请求过程(5.0)威胁类型拒绝服务D风险潜在破坏性:6可再现性:6可利用性:7受影响用户:9可发现性:10总计:7.6注释应用程序的其他部分也可能会被拒绝服务攻击,但是,处理客户请求过程的Web服务器处于最前沿,因此最容易受到攻击。如果保护了应用程序的这一部分,其他过程受到的攻击是可以容忍的。.第一章威胁建模将分解、威胁树、STRIDE、DREAD结合27第一章威胁建模将分解、威胁树、STRIDE、DREAD结合起来实例:威胁#4威胁#4操作工资表数据4.1贿赂管理员以更改数据4.2破坏数据库与4.2.1管理失败4.3篡改来自管理策略过程的数据4.2.2安全错误行政管理不会有大问题使用SSL4.3.1数据未受保护4.3.1攻击者可以访问数据流(参见威胁#1).第一章威胁建模将分解、威胁树、STRIDE、DREAD结合28第一章威胁建模将分解、威胁树、STRIDE、DREAD结合起来实例:威胁#4威胁描述攻击者操纵工资表数据威胁目标工资表数据(12.0)威胁类型篡改数据及潜在的信息泄露T&I风险潜在破坏性:10可再现性:5可利用性:5受影响用户:10可发现性:10总计:8注释威胁4.3是指在更新的工资表数据跨越网络从管理控制台(2.0)到管理策略过程(14.0),然后到工资表数据存储(12.0)时,对其进行访问。数据流图中有两个机器边界事务。.第一章威胁建模将分解、威胁树、STRIDE、DREAD结合29第一章威胁建模将分解、威胁树、STRIDE、DREAD结合起来实例:威胁#5威胁#5通过Web服务器提升特权5.1贿赂管理员以安装恶意软件5.2安装黑客代码5.2.1Web服务器中的安全隐患5.2.2允许恶意用户上传代码的管理错误行政管理不会有大问题.第一章威胁建模将分解、威胁树、STRIDE、DREAD结合30第一章威胁建模将分解、威胁树、STRIDE、DREAD结合起来实例:威胁#5威胁描述攻击者利用服务客户请求过程来提升特权威胁目标服务客户请求(5.0)威胁类型提升特权E风险潜在破坏性:10可再现性:2可利用性:2受影响用户:1可发现性:10总计:5注释这里的威胁目标运行在Web服务器进程中,而代码运行在本地系统环境内。这意味着任何在这台Web服务器环境下运行的恶意代码,也都是本地系统。可再现性和可利用性很低,因为对于攻击者来说,要利用这一点,唯一可行的办法是利用Web服务器进程的安全漏洞。.第一章威胁建模将分解、威胁树、STRIDE、DREAD结合31第一章威胁建模将分解、威胁树、STRIDE、DREAD结合起来实例:威胁#6威胁#6欺骗Web服务器6.1创建相同名称的服务器访问电源开关与6.2.1DNS劫持6.2破坏合法服务器6.2.2用坏的IP包对服务器进行洪水攻击对受限区域的物理访问6.2.3关闭服务器电源6.2.4重命名服务器访问计算机房电源对计算机的物理访问对受限区域的物理访问对受限区域的物理访问.第一章威胁建模将分解、威胁树、STRIDE、DREAD结合32第一章威胁建模将分解、威胁树、STRIDE、DREAD结合起来实例:威胁#6威胁描述欺骗计算机执行客户请求进程威胁目标服务客户请求过程(5.0)威胁类型欺骗S风险潜在破坏性:10可再现性:2可利用性:2受影响用户:8可发现性:10总计:6.4注释让一台合法机器脱离网络意味着或者物理地脱离,或者使用攻击技术使之不可访问。.第一章威胁建模将分解、威胁树、STRIDE、DREAD结合33第一章威胁建模计算总体风险根据一个或多个子威胁成为攻击的可能性,可以得出总体风险机率。在考虑总体风险机率时,必须考虑最有可能的攻击途径。在威胁树中寻找抵抗最薄弱的路径。这并不意味着攻击者沿着其他途径攻击,只是他们更可能利用这条容易的途径。.第一章威胁建模计算总体风险.34第一章威胁建模威胁建模的过程步骤1:通过一种分析方法,如数据流图,将应用程序分解为威胁目标。在DFD的情况下,威胁目标是每个数据源、过程、数据流、以及交互者或参与者。步骤2:使用STRIDE,给每个威胁目标标识威胁。这些将作为威胁树的根,每个威胁目标都有一棵树。步骤3:如果合适,为每个威胁目标创建一个或多个威胁树。步骤4:使用DREAD或其他某种威胁分级方法,确定每棵威胁树的安全风险。步骤5:将威胁以从高到低的顺序按风险排序。.第一章威胁建模威胁建模的过程.35第一章威胁建模选择缓和威胁的方法下一步是决定如何减轻你已经标识出的威胁。这个过程有两个步骤。第一步是判断哪些方法(technique)可以起到缓和威胁的作用;第二步是选择适当的技术(technology)。方法不同于技术。方法是对那些用于缓和威胁的技术进行的高层次抽象。例如,认证是一种安全方法,Kerberos是一种具体的认证技术。.第一章威胁建模选择缓和威胁的方法.36第一章威胁建模部分基于技术的威胁缓和方法威胁类型缓和方法威胁类型缓和方法欺骗标识认证保护秘密不存储秘密信息泄露授权加强保密的协议加密保护秘密不存储秘密篡改数据适当的授权散列(Hash)表消息认证代码数字签名抗篡改的协议拒绝服务适当的认证适当的授权过滤节流(Throttling)服务质量否认数字签名时间戳审核跟踪特权提升以最小权限运行.第一章威胁建模部分基于技术的威胁缓和方法威胁类型缓和方法威37第一章威胁建模安全技术在设计一个安全系统时,首先必须分析已经存在的安全机制。如果这些已经存在的安全机制有受到攻击的漏洞,那么就应该重新设计这些机制,或者将它从系统中删除。2.1身份认证身份认证(Authentication)是这样一个过程:一个实体,也被称为主体(principal),验证另一个实体是它自己声称的那个人或事物。主体可以是用户、一些可执行代码、或一台计算机。认证需要证书(credential)形式的证据(evidence)。证据可以是多种形式的,例如口令、私钥,或者使用生物技术来做认证,例如指纹。.第一章威胁建模安全技术.38第一章威胁建模下表是常有的一些认证技术认证协议认证客户认证服务器基本认证是否摘要认证是否表单认证是否Passport认证是否NTLM(NTLANManager)是否Kerberos是是X.509证书是是IPSec是(计算机)是(计算机)RADIUS是否.第一章威胁建模下表是常有的一些认证技术认证协议认证客户认证39第一章威胁建模2.2授权一旦通过确定了主体的身份,主体通常希望访问资源。授权是通过执行一个访问检查,来判断这个已被认证的主体是否有权访问他请求的资源。对同样一个资源,某些主体会比其他主体有更多的访问权。访问控制表(AccessControlList,

ACL)在Windows

NT及以后的版本中,所有的对象都可以用ACL保护。一个ACL是一系列的访问控制项(Access

Control

Entry,

ACE),每一个ACE决定了一个主体能够对一个资源做什么处理。特权特权是赋予用户的权利,用户可以执行系统范围内的操作。一些操作被认为是特许的,并且只应该授予受信任的个人。IP限制IP限制是IIS(Internet信息服务)的一个功能。你可以限制Web站点的一部分(例如一个目录),也可以限制整个的Web站点,使得只有专门的IP地址、子网和DNS名可以访问它。服务专用权限许多服务提供了它们自己的访问控制形式,来保护它们自己的对象类型。例如MicrosoftSQLServer提供了权限,管理员用它可以决定谁有权访问哪一个表、存储过程和视图。.第一章威胁建模2.2授权.40第一章威胁建模2.3访篡改和增强保密性的技术许多网络协议支持抗篡改和数据保密抗篡改是指保护数据不被恶意的或意外地删除或修改的能力。保密的意思是,没有其他人能够读取信息,只有交互的双方能够读到它。常用的抗篡改和增强保密性的技术有:SSL/TLSSSL对在服务器和用户之间传输的数据加密,并用MAC(MessageAuthenticationCode,消息认证码)提供数据完整性。TLS是IETF认可的SSL版本。IPsecIpsec支持认证、数据保密需要的加密、数据完整性需要的MAC。利用Ipsec的优点是不需要对应用程序做任何调整,因为Ipsec是在TCP/IP网络的IP层实现的。DCOM和RPC分布式COM和RPC支持认证、保密性和完整性。它对性能的影响很小,除非传输大量的数据。EFSEFS(加密文件系统)是一个基于文件的加密方法,是NTFS的一个功能。.第一章威胁建模2.3访篡改和增强保密性的技术.41第一章威胁建模2.4保护秘密或最好不要保存秘密保护秘密的最好办法是,不要在第一个出现的地方存储它。如果需要,允许你的用户从他们的记忆中提供秘密数据。如果应用程序受到损坏,攻击者也不可能获得对秘密数据的访问权,因为你根本就没有存储它。如果必须存储秘密数据,那么要尽最大的可能保护它的安全。2.5加密、散列、MAC和数字签名加密:私密性(privacy)有时称机密性(confidentiality),意思是隐藏信息不被偷窥者看到,经常通过加密来完成。散列:散列的过程包括将数据传递给一个加密函数,这个函数称为散列(hash)函数或摘要(digest)函数,生成一个小的值。这个值唯一地标识数据。MAC:在创建一个MAC时,消息数据和一些秘密数据一起进行散列计算,并且只有消息的生成者和接收者知道这些数据。为了验证这个MAC,接收者通过对这个数据和秘密数据进行散列计算来计算摘要。如果结果和收到的MAC相同,说明数据没有被篡改,并且数据来自也知道秘密数据的那个人。数字签名:数字签名与MAC有点类似,但它不是在许多人之间共享秘密的方法;相反,数据被混编,并且用一个只有发送者知道的私有秘钥来加密这个散列。接收者用相对应的公开密钥来验证这个签名。先用公开密钥将散列解密,然后计算这个散列,如果结果是相同的,接收者知道数据没有被篡改,并且数据是由拥有与这个公开密钥对应的私有密钥的人发送的。.第一章威胁建模2.4保护秘密或最好不要保存秘密.42第一章威胁建模2.6审核审核(auditing)也被称作日志(logging)。其目的是收集成功的和失败的对对象的访问、特权的使用、以及其他的安全活动的信息,并将它们记录在永久存储器中,以便日后分析。2.7过滤、节流和服务质量过滤(Filtering)是对接收到的数据进行检查,并判断是接收还是拒绝这个包。这也是包过滤防火墙的工作方式。许多IP层拒绝服务威胁,都可以用包过滤防火墙来缓和。节流(Throttling)是限制对系统请求的数量。例如,只允许少量的匿名请求,同时允许更多的被认证的请求。限制匿名连接是很重要的,如果需要先被识别身份的话,攻击者也许不会试图攻击你。服务质量(QoS)是一组组件,允许为专门的传输类型提供优先处理。2.8最小特权总是使用刚好完成工作的特权,而不要使用更多的特权。.第一章威胁建模2.6审核.43第一章威胁建模应用于工资程序的缓和技术威胁STRIDE方法和技术浏览网络上的工资和数据I使用SSL/TLS加密服务器和客户间的管道。也可以使用Ipsec。上传恶意Web页面和服务代码T需要对Web开发人员进行加强的认证。为文件提供加强的ACL,这样主要开发人员和管理者才可以改写和删除文件。攻击者使应用程序拒绝服务D使用防火墙抛弃某些IP包。限制匿名用户使用的资源。江日志文件移到另一个文件卷。攻击者控制工资数据T&I使用SSL/TLS或带保密选项的DCOM/RPC保护更新后的工资数据流,缓和消息泄露威胁。SSL/TLS还提供了消息认证编码来检测数据篡改攻击。选择了保密选项时DCOM/RPC提供了完整性检查。也可以使用Ipsec。利用客户服务请求进程提升特权E运行进程时遵循最小特权原则。如果该进程被破坏,这些代码也不能获得额外的能力。欺骗Web服务器S最简单的解决方案是使用SSL/TLS。如果正确配置,它允许客户软件对服务器进行认证。也可以使用Kerberos,提供客户与服务器之间的相互认证。.第一章威胁建模应用于工资程序的缓和技术威胁STRIDE方法44第一章威胁建模各种威胁及解决方案威胁威胁类型缓和方法问题访问或修改秘密的HTTP数据T&I使用SSL/TLS、WTLS或IPsec需要设置HTTP服务器使用私有密钥和证书。配置Ipsec麻烦,对建立连接时性能有较大影响,连接后数据传输性能影响较小。访问或修改秘密的RPC或DCOM数据T&I使用一致性和保密选项可能会要求修改代码。对性能影响较小。读或修改基于电子邮件的通信。T&I使用PGP(Pretty

good

Privacy)或S/MIME(安全多用途网际邮件扩充协议)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论