漏洞发掘与缓冲区溢出检测技术.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
漏洞发掘与缓冲区溢出检测技术.pdf

漏洞发掘与缓冲区溢出检测技术 赵鑫 北京邮电大学信息工程学院,北京(100876 ) E-mail :jarious@ 摘 要:本文通过分析缓冲区溢出发生的原理和一般利用过程,并结合漏洞发掘技术,提 出了缓冲区溢出的几种检测方法,即通过进行缓冲区边界检查和指针完整性检查,并辅以攻 击数据行为检测和编写正确的代码,来达到检测缓冲区溢出的目的。这几种方法可以有效地 检测缓冲区溢出问题,从而避免缓冲区溢出带来的危害。 关键词:缓冲区溢出,漏洞发掘,安全 中图分类号:TP393 1. 引言 一般来说,漏洞(Vulnerability )是指系统或应用程序存在的某种未曾预料到的未授权、 不安全状态,它的出现往往是由于某些编程、配置或操作上的缺陷(Flaw )以及一些特定的 条件引起的,攻击者往往需要构造条件,利用这些缺陷,使系统或应用程序由正常状态进入 该状态,从而破坏正常的安全机制。 缓冲区溢出漏洞利用技术主要是从溢出点与 Shellcode 技术两部分来进行研究。那么, 缓冲区溢出漏洞检测技术就可以分别针对这两个方面展开。针对溢出点主要采取的是缓冲区 边界检查及指针完整性检查,而攻击数据特征检测则主要针对 Shellcode。 2. 缓冲区溢出漏洞原理 缓冲区是程序运行的时候机器内存中的一个连续块,它可以在栈(stack )、堆(heap ) 或未初始化数据段(bss )中。正常情况下,系统将数据存放在其分配好的一定大小的一段 缓冲区内,若存在某些编程错误,使得攻击者可以通过控制该缓冲区或其它缓冲区内的数据, 来控制程序流程,从而达到攻击目标,称该漏洞为缓冲区溢出漏洞,称这样的攻击为缓冲区 溢出攻击。就目前的发展情况来看,缓冲区溢出攻击一般分为基于栈(stack-based )的缓冲 区溢出攻击与基于堆(heap/bss-based )的缓冲区溢出攻击。 在进程的内存空间中,栈(stack )起到了保存有关当前函数调用上下文的容器的作用。 许多内容都可能进入栈空间,其中包括:函数的非静态局部变量值、堆栈基址、当函数返回 时程序应该跳转到的返回地址以及传递到函数中的参数等,其结构如图 1 所示。 低地址 高地址 esp ebp …… | buffer 2 | buffer 1 |上一个堆栈基址 |返回地址 | 函数参数| 图 1 函数栈空间结构 当程序员编写程序时出现边界检验错误,不限制写入buffer 中内容的长度时,就会出现 由于写入内容过多,导致缓冲区溢出,堆栈结构被破坏。结果,可能引起程序运行失败,产 - 1 - 生严重的系统崩溃,也可能由于精心构造的字符串,而使得返回地址被某个设计好的地址覆 盖,改变程序运行路径,执行攻击者设置的其它指令。 这种边界检查错误多发生在调用一些字符串或内存拷贝函数时,如在 C/C++语言编写的 程序中使用 strcpy、strcat、sprintf、vspritnf 、memcpy 等函数,而不限制拷贝字符数目。 3. 漏洞发掘技术 目前,漏洞发掘主要采用的方法有黑盒测试,补丁比对,静态分析、动态调试等几种方 法。这些技术都不完备,各有其优缺点,在漏洞发掘过程中往往需要相互补充。 安全漏洞属于软件缺陷的一个子集,软件测试技术是漏洞发掘中的一项重要技术。黑盒 测试是软件测试技术中的一种重要手段,已经发展了很多年,理论比较成熟。通过测试输入 非常规的命令行参数、交互时的输入、环境变量等数据来触发潜在的安全漏洞,成功的标志

文档评论(0)

ziyouzizai + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档