保障与安全攻击5漏洞课件.ppt

  1. 1、本文档共102页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
保障与安全攻击5漏洞课件.ppt

攻击(5) 漏 洞 Ⅰ安全漏洞分析 一、 计算机漏洞的概念 从众多报刊杂志或者网络资源中,我们或许已经对计算机系统的“漏洞”这个概念有了一个感性的理解。确实,这里的“漏洞”并不是一个物理上的概念,它是指计算机系统具有的某种可能被入侵者恶意利用的属性。在计算机安全领域,安全漏洞(Security Hole)通常又称作脆弱性(vulnerability)。 二、安全漏洞的分类 计算机系统由一系列描述构成计算机系统的实体的当前配置状态(state)组成,系统通过应用状态变换(State Transition)(即改变系统状态)实现计算。使用一组状态变换,从给定的初始状态可以到达的所有状态,最终分为由安全策略定义的两类状态:已授权的(authorized)和未授权的(unauthorized)。” 计算机漏洞是系统的一组特性,恶意的主体(攻击者或者攻击程序)能够利用这组特性,通过已授权的手段和方式获取对资源的未授权访问,或者对系统造成损害。这里的漏洞既包括单个计算机系统的脆弱性,也包括计算机网络系统的漏洞。当系统的某个漏洞被入侵者渗透(exploit)而造成泄密时,其结果就称为一次安全事件(Security Incident)。 程序分析 程序分析(PA,Program Analysis)是Neumann提出的,其研究的目的在于希望能推导或找出错误的模式,从而能实现安全错误的自动检测。它把漏洞分成四个主类: 1 保护不当(初始化和执行) 保护不当包括以下几个子类: (1) 初始化保护区域不当:在系统初始化时,安全设置或完整性级别初始化不当;用户可通过关键函数直接处理关键数据。 (2) 实现细节隔离不当:允许用户绕过操作系统控制写绝对输入/输出地址;直接处理“隐含”数据结构,如把目录文件作为一般文件写;可通过内存分页进行推论等。 (3) 不恰当的更改:是一种“检查时间与使用时间”的错误,意外的参数改变等。 (4) 命名不当:允许两个不同的对象使用相同的名称,从而导致引用混乱。 (5) 存储单元重新分配或删除不当:一个过程把数据存放在内存中,随后把内存释放以重新分配,当此内存分配给另一个过程时,第二个过程就可以访问第一个过程的信息。 2. 验证不当 验证不当是不检查关键条件和参数,导致过程的地址位于内存空间之外,允许类型冲突、溢出等。 3. 同步不当 同步不当包括以下子类: (1) 不可分操作使用不当:如中断原子操作;高速缓存不一致等。 (2) 错误的顺序:操作的顺序不对(如在写操作时进行读操作)。 4. 操作数或操作选择不当 操作数或操作选择不当是指使用错误的函数或错误的参数。 这种分类法不是互斥的。特别是第二类和第四类经常重叠,这是因为验证不当会传递不正确的操作数。 其它的分类法 RISOS分类法:主要研究操作系统软件,但对应用程序也适用。它把安全错误分成七类。 Aslam分类法:它的发展是要把漏洞数据存放在数据库中,因此它比前两种分类法更细,它主要是针对UNIX系统实现上的漏洞。 三、 安全漏洞的查找 前面简单介绍了安全漏洞的分类。对安全漏洞的分类可应用于如入侵检测系统中——通过安全漏洞分类,提取同一类漏洞的特征,依据此来实现对可疑网络、系统行为的检测和告警。 目前,针对安全漏洞查找的研究主要是针对各个专门的漏洞,同时对漏洞的查找也主要是通过人工的方法。 为了查找测试软件中的漏洞,制定了以下几点查找方法: (1) 可以通读源代码,查找最容易存在漏洞的函数调用、边界条件等。例如,函数调用strcpy、strcat、printf、free和strncpy等可能存在格式化字符串等漏洞,以及缓冲区使用的代码等。 (2) 对软件进行测试。分析程序的输入输出,根据需要编写测试程序;然后对输入输出的各种特殊情况进行测试,如特殊字符和长字符串;根据需要对某些条件进行测试(各个测试环节:单元测试,集成测试,系统测试,验收测试 ;测试类型有:功能测试,性能测试,界面测试 )。 (3) 反汇编分析。阅读理解反汇编代码;对代码分析,包括:调用接口代码分析,strcpy、strcat、printf、free、strncpy等调用分析和输入输出检测等。 (4) 跟踪调试。包括异常的拦截分析,字符串的流向,读写断点等。 以上介绍的总体上是一种人工找漏洞的方法,对研究人员的要求比较高。 绿盟科技提出了一种通用漏洞测试攻击的设计方案:不同的服务有不同的协议,而很多漏洞研究与协议的相关性很大,所以研究一个服务的漏洞,往往先研究其协议并熟悉其软件等,然后研究其漏洞。这个过程非常耗时,同时漏洞查找如果针对

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档