缓冲区溢出检测与防护技术改进研究
本文关键词:缓冲区溢出检测与防护技术改进研究
更多相关文章: 遗传算法缓冲区溢出 Fuzzing测试 StackGuard
【摘要】:随着计算机技术的快速发展,网络安全受到了前所未有的考验。缓冲区溢出攻击是威胁计算机安全的主要攻击方式。此类攻击数量繁多、危害性大,因而对缓冲区溢出问题的研究有着深远的意义。近年来,缓冲区溢出研究主要集中在两个方面:如何快速检查程序是否存在此种漏洞及出现位置,以及如何做到对存在缓冲区溢出漏洞的程序进行保护。前者集中在Fuzzing测试上,目前存在随机性强、误报率高、检测时间过长的问题;后者保护方案中的StackGuard技术被发现存在canary值被猜测攻击的可能。鉴于以上问题,本文从缓冲区溢出漏洞检测和保护两个方面进行了如下研究:(1)针对缓冲区溢出漏洞挖掘现状,本文对Fuzzing漏洞挖掘技术进行了改进。为解决目前Fuzzing测试存在随机性强与盲目性等问题,本文引入静态文件分析的程序执行流程控制思想,提出一种利用遗传算法来进行漏洞发现的方法。该方法通过总结缓冲区溢出攻击特征,设计出对应的遗传算法适应度函数,智能引导数据到漏洞程序的危险区域。仿真实验结果表明,与模拟退火算法相比,该方法具有较快的收敛速度和较高完备性。(2)针对缓冲区溢出保护手段的研究现状,本文重点对StackGuard模型进行了改进。StackGuard模型使用异或操作算法仅加大了canary值生成的复杂度,一旦canary值被算出,存放在局部函数堆栈中的canary值便可以被覆盖绕过。本文针对此问题,提出了改进后的模型A-GS。将canary脱离函数堆栈的局部变量空间,放置在堆栈之外的领空使得canary值无法通过覆盖攻击的方式被猜测改写;摒弃canary值的异或生成算法,改为原始返回地址,缩短了检测时间;在多级调用方面,将父函数canary值一并存放到子函数堆栈顶部,避免了多级调用过程中可能存在canary值被再次覆盖绕过的问题。实验结果表明,A-GS模型的代码执行效率与StackGuard模型相仿,同时可以有效阻止在StackGuard中,针对canary值猜测的覆盖绕过攻击。
【关键词】:遗传算法缓冲区溢出 Fuzzing测试 StackGuard
【学位授予单位】:天津理工大学
【学位级别】:硕士
【学位授予年份】:2016
【分类号】:TP393.08
【目录】:
- 摘要5-6
- ABSTRACT6-9
- 第一章 绪论9-13
- 1.1 研究背景和意义9-10
- 1.2 国内外研究现状10-11
- 1.3 研究内容与结构11-13
- 1.3.1 本文研究内容11-12
- 1.3.2 本文结构12-13
- 第二章 缓冲区溢出检测与防护技术13-21
- 2.1 缓冲区溢出攻击的原理13-14
- 2.2 缓冲区溢出漏洞挖掘技术14-17
- 2.2.1 静态分析技术14-15
- 2.2.2 动态检测技术15-17
- 2.3 缓冲区溢出防护技术17-20
- 2.3.1 StackGuard保护技术17-19
- 2.3.2 DEP保护技术19-20
- 2.3.3 ASLR保护技术20
- 2.4 本章小结20-21
- 第三章 基于遗传算法的缓冲区溢出漏洞挖掘技术21-30
- 3.1 相关理论研究21-24
- 3.1.1 基于路径选择的Fuzzing漏洞挖掘技术21-22
- 3.1.2 相关定义22-23
- 3.1.3 缓冲区溢出特征分类23-24
- 3.2 遗传算法适应度函数的设计24-27
- 3.2.1 遗传算法简介24
- 3.2.2 遗传操作24-25
- 3.2.3 适应度函数的构造25-26
- 3.2.4 算法执行过程26-27
- 3.3 实验与结果分析27-29
- 3.4 本章小结29-30
- 第四章 基于StackGuard缓冲区溢出攻击防范的改进研究30-40
- 4.1 研究进展30-31
- 4.1.1 研究现状30-31
- 4.1.2 主流方案存在的不足31
- 4.2 StackGuard防护方案的改进31-35
- 4.2.1 A-GS模型的提出31-32
- 4.2.2 多级调用时的解决方案32-34
- 4.2.3 模型实现34-35
- 4.3 实验与结果分析35-39
- 4.4 本章小结39-40
- 第五章 总结与展望40-42
- 5.1 本文总结40
- 5.2 未来展望40-42
- 参考文献42-45
- 发表论文和科研情况说明45-46
- 致谢46-47
【相似文献】
中国期刊全文数据库 前10条
1 张传娟;;基于源代码的缓冲区溢出预防技术[J];电脑知识与技术;2008年36期
2 张实睿;许蕾;徐宝文;;一种防止缓冲区溢出的整数溢出检测方法(英文)[J];Journal of Southeast University(English Edition);2009年02期
3 孙文豪;;缓冲区溢出的安全隐患[J];网络安全技术与应用;2010年05期
4 贾立波;;缓冲区溢出问题初探[J];现代企业教育;2010年16期
5 马蔷;孔斌;;程序开发中的安全问题讨论——资源泄漏与缓冲区溢出[J];计算机安全;2002年12期
6 蒋卫华,王文奇,杜君;在程序编码中防止缓冲区溢出[J];微电子学与计算机;2002年10期
7 邱强;缓冲区溢出的危害及防范[J];计算机系统应用;2003年07期
8 刘永艳,殷肖川,邓军;缓冲区溢出机理及攻击分析[J];空军工程大学学报(自然科学版);2003年05期
9 于志鹏,刘坚;一种静态检测缓冲区溢出的方法[J];计算机工程;2005年19期
10 李海燕;缓冲区溢出机理分析及防范措施[J];网络安全技术与应用;2005年01期
中国重要会议论文全文数据库 前10条
1 李肖坚;夏冰;钟达夫;李瑞丰;;一种缓冲区溢出防御虚拟机的研究与设计[A];全国网络与信息安全技术研讨会'2005论文集(上册)[C];2005年
2 杨文彬;贾卓生;;缓冲区溢出及其防护方法[A];全国计算机网络应用年会论文集(2001)[C];2001年
3 罗衡峰;杨晓明;;信息系统安全漏洞利用与防御——缓冲区溢出关键技术研究[A];2008第六届电子产品防护技术研讨会论文集[C];2008年
4 赵云霞;崔宝江;;缓冲区溢出漏洞攻击与防范技术研究[A];全国计算机安全学术交流会论文集(第二十四卷)[C];2009年
5 姚欣洪;宫云战;杨朝红;;一种基于代码静态分析的缓冲区溢出检测算法[A];第六届中国测试学术会议论文集[C];2010年
6 马俊;李根;卢凯;;基于模拟器的缓冲区溢出动态检测方法[A];全国第19届计算机技术与应用(CACIS)学术会议论文集(下册)[C];2008年
7 张婷婷;罗守山;;Windows缓冲区溢出保护机制及突破技术研究[A];第十三届中国科协年会第11分会场-中国智慧城市论坛论文集[C];2011年
8 王泓;李洪敏;;防止缓冲区溢出——C/C++语言的安全问题[A];第十九次全国计算机安全学术交流会论文集[C];2004年
9 黄文;黄玮;范文庆;;基于二进制代码的传感器网络缓冲区溢出检测模型[A];第十三届中国科协年会第11分会场-中国智慧城市论坛论文集[C];2011年
10 杨洋;帅春燕;江建慧;;基于堆栈分析的缓冲区溢出漏洞检测方法[A];第六届中国测试学术会议论文集[C];2010年
中国重要报纸全文数据库 前10条
1 张少波;应对缓冲区溢出漏洞攻击[N];计算机世界;2003年
2 王振武;缓冲区溢出型漏洞分析及防护[N];网络世界;2002年
3 ;缓冲区溢出与病毒攻击[N];网络世界;2003年
4 河南 本苯;杜绝缓冲区溢出?[N];电脑报;2004年
5 静;认知缓冲区溢出[N];中国电脑教育报;2002年
6 中科红旗软件技术有限公司工程师 俞戍远;“首例Linux病毒”并非病毒[N];网络世界;2001年
7 山枫;向服务倾斜[N];中国计算机报;2004年
8 中科红旗软件技术有限公司工程师 俞戍远;Ramen并非真正Linux病毒[N];中国计算机报;2001年
9 主持人:潘永花;10种最严重的Internet安全威胁[N];网络世界;2000年
10 高;通用格式图片发现藏毒[N];中国计算机报;2004年
中国博士学位论文全文数据库 前1条
1 夏一民;缓冲区溢出漏洞的静态检测方法研究[D];国防科学技术大学;2007年
中国硕士学位论文全文数据库 前10条
1 许社村;基于特征分析的缓冲区溢出发现技术研究[D];哈尔滨工业大学;2006年
2 杨海军;一种防止堆缓冲区溢出的有效方法[D];西安电子科技大学;2009年
3 刘洋;基于动态污点分析的二进制程序缓冲区溢出的研究[D];北京工业大学;2015年
4 燕佳芬;Linux环境下缓冲区溢出漏洞检测方法研究[D];西安建筑科技大学;2015年
5 秦弋戈;细粒度堆随机化技术研究[D];南京大学;2016年
6 钱锦;针对缓冲区溢出漏洞的攻击方法及高级逃逸技术研究[D];华北电力大学(北京);2016年
7 王少华;缓冲区溢出检测与防护技术改进研究[D];天津理工大学;2016年
8 徐欣民;一种缓冲区溢出漏洞自动挖掘及漏洞定位技术[D];华中科技大学;2008年
9 宋奕青;基于动态二进制探测框架的缓冲区溢出检测研究[D];上海交通大学;2010年
10 王建国;基于缓冲区溢出的攻击技术及防御策略研究[D];上海交通大学;2008年
,本文编号:517596
本文链接:https://www.wllwen.com/guanlilunwen/ydhl/517596.html