- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络安全课程设计教程
《网络安全》期末考试
(课程设计总结)
设计名称 基于缓冲区溢出的漏洞研究
姓 名 廖鑫
指导教师 师晶晶
班 级 2014级计本班
成 绩
2016 年 12 月
摘要: 缓冲区溢出攻击是网络攻击事件中最常用的一种攻击方式,成为系统和网络安全中函待解决的重要问题在分析缓冲区溢出攻击原理的基础上,说明了攻击的成因,然后描述了目前常见的攻击类型,最后给出了应如何做出防范措施,以及处理该漏洞的解决方案。
关键词: 缓冲区溢出攻击;系统安全;边界检查
目录
第一章 引言1
第二章 攻击原理及危害 2
第三章 造成攻击的技术原因 3
3.1缺少必要的边界检查 3
3.2操作系统设计策略上的隐患 3
第四章 攻击类型 3
4.1基于堆栈的缓冲区溢出攻击 3
4.2基于堆的缓冲区溢出攻击 4
4.3基于LB库的缓冲区溢出攻击 9
第五章 防范措施 10
5.1安全编码 10
5.2非可执行的缓冲区 10
5.3 数组边界检查 10
5.4加强对返回地址的保护 11
5.5了解系统常见进程 11
5.6及时打补丁或升级 11
5.7从系统级和编译器两个方而来加强对内存空间的管理 11
第六章 结论 . 12
参考文献12PAGE \* MERGEFORMAT12
第一章 引言
自从缓冲区溢出漏洞被发现以来,缓冲区溢出攻击一直是网络攻击事件中用得最多的一种攻击方式,成为系统和网络安全中履待解决的重要问题。早在1988年,美国康奈尔大学计算机科学系研究生莫里斯就利用UNIX Fingered不限输入长度等漏洞感染了互联网中的数万台机器;2003年8月席卷全球的“冲击波(Woim. MSBlast) 和2004年5月出现的“震荡波(Woim Sasser) [1]分别利用了Windows系统RPC DCOM和LSA SS服务的缓冲区溢出漏洞进行攻击。
2016年9 月份中国国家信息安全漏洞库[2]发布的漏洞类型分布如图1 所示,缓冲区溢出类漏洞数量大幅度上升,达到 122 个,是上月数量(62 个)的近 2 倍,占10月 漏洞总量的 17.38%,排名第一。从中国国家信息安全漏洞库公布的统计数据中可以看出,无论是在绝对数量上还是相对比例上缓冲区溢出攻击的问题正在扩大。如图1-1:
图1-1 中国国家信息安全漏洞库2016年发布的漏洞类型、数量、比例
由于缓冲区溢出攻击危害的严重性,使它至今仍是人们研究的重要课题,文章在总结当前已有研究成果的基础上提出了解决该问题的方案。
第二章 攻击原理及危害
要对缓冲区溢出攻击的原理有个清楚认识,就必须先对可执行文件执行时的内存结构[2]有个总体了解。一般程序从逻辑上可分为两大部分:代码区和数据区。数据区从逻辑上可划分为静态数据、堆栈和堆三部分,它们之间的区别依赖于各部分对应内存分配的时间和方式以及数据存储的位置。总体来说,Windowss平台下程序的内存结构如图2-1所示,Linux或UNIX平台下程序的内存结构如图2-2所示。
高端内存
未初始化静态数据 已初始化静态数据代码段堆堆栈 低端内存
图2-1 Windows下程序在内存中的结构
高端内存
堆栈堆未初始化静态数据已初始化静态数据代码段 低端内存
图2-2 UNIX下程序在内存中的结构
通常所说的缓冲区溢出指的就是“堆栈和堆”这两部分空间中产生了溢出。
正如微软给缓冲区溢出所下定义中所说的,缓冲区溢出是因为人们向程序中提交的数据超出了数据接收区所能容纳的最大长度,从而使提交的数据超过相应的边界而进入了其他区域。如果是人为蓄意提交超长数据且对系统正常运行造成了不良影响,那么我们就说发生了缓冲区溢出攻击。
缓冲区溢出攻击通常会带来以下后果:
1、过长的宇符串覆盖了相邻的存储单元而造成程序异常,严重的会造成死机、系统或进程重启等;
2、可让攻击者执行恶意代码或特定指令,甚至获得超级权限等,从而引发其他的
文档评论(0)