基于模糊测试的漏洞挖掘及相关攻防技术研究
本文关键词:基于模糊测试的漏洞挖掘及相关攻防技术研究,,由笔耕文化传播整理发布。
【摘要】:安全漏洞是指信息系统在设计、实现或者运行管理过程中存在的缺陷或不足,从而使攻击者能够在未授权的情况下利用这些缺陷破坏系统的安全策略。它是研究安全问题的生命线,是网络攻击和防御的核心问题。随着移动通信技术和互联网技术的快速发展和相互融合,安全漏洞导致的信息泄露、金钱损失等问题愈加严重,如何发现漏洞、修复漏洞、加强防御等问题成为安全研究的热门领域。全文从安全漏洞的角度针对系统和应用的协议漏洞挖掘和相关安全技术进行研究,主要研究工作可分成五个部分,概述如下:第一部分:首先,本文基于模糊测试(Fuzzing)技术设计了一个协议漏洞挖掘体系,完整的概述了协议漏洞挖掘的过程和方法,包括漏洞和目标调研、测试用例生成、测试、监控、调试、漏洞分析和利用、漏洞上报、漏洞修复等,为协议漏洞挖掘工作提供了理论指导和设计标准。其次,针对当前通用协议测试框架存在的测试用例构造策略单一、单维、监控和调试等问题,本文设计了一个协议漏洞挖掘框架GPVDF(General Protocol Vulnerability Discovering Framework),并提出种测试用例构造和测试算法GTFTCG (General Three-stage Fuzzing Test Cases Generator)。与相关工作对比,该算法使用手工分析和构造、基于生成和变异结合的多维策略构造测试用例,改善了单一和单维的测试用例构造策略,并且在测试之前加入了手工分析RFC文档和已知漏洞数据等知识,在测试之中加入了数据包的校验和模块,大大提高了测试用例的接受率和有效性,提高了漏洞挖掘的检出率。在测试过程中,使用手工分析和测试技术,该技术能够检测Fuzzing技术无法发现的安全漏洞。此外,根据不同的数据字段类型,设计了一个公共的畸形数据库,为协议或文件格式的测试用例构造提供了数据来源。第二部分:针对当前路由器安全研究工作存在单一的测试用例构造策略、缺少监控和调试、通用性差、测试成本高等的问题,基于GPVD框架设计了一个针对路由器和应用程序的通用协议漏洞挖掘架构,并开发了一个工具GRPFuzzer(General Router Protocol Fuzzer)。首先,通过调研目标协议和协议相关的历史漏洞知识,根据GTFTCG算法构造测试用例和测试,改善了测试用例构造策略。其次,在测试过程中,使用Dynamips模拟路由器等网络设备,减少了测试的硬件成本。再次,采用发送数据包、监控CPU和日志等多种方式检测路由器和软件的异常,能够检测拒绝服务漏洞、路由器重启、进程僵死等异常,提高了漏洞检出率;同时,基于Dynamips-mod和OllyDBG开发的调试模块可以分别调试路由器和相关应用程序,解决了相应的调试问题。最后,针对SNMP(Simple Network Management Protocol)协议,分析协议的各个字段和己知漏洞知识,构造了SNMP协议的测试用例库,选择Cisco和华为的两款核心路由器,以及Wireshark和科来网络分析系统两款软件进行测试,发现了一些大量的拒绝服务漏洞。第三部分:针对当前NFC(Near Field Communication)安全研究工作存在的自动化程度低、生成策略单一、缺少监控手段、监控手段单一、移植性差等问题,根据GPVD框架设计了一个NFC应用安全漏洞挖掘系统GNFCVulFinder。该系统采用GTFTCG算法构造测试用例,解决了测试用例构造策略单一的问题,优化了测试用例构造策略:采用数据包逆向和数据包嗅探两种手段辅助分析和构造数据报文,不仅有助于分析被测协议的字段,还能够检验测试用例的正确性和一致性,有助于提高测试用例的有效性;基于读卡器ACR ACS 122U的标签模拟和基于进程控制的触碰操作模拟,实现了测试的自动化,并支持多个系统平台,解决了移植差的问题;采用logcat/Xapspy和进程操作两种方式监控测试目标,能够详细监测目标的日志和异常状态,解决了目标异常监控的问题;针对使用NFC数据交换格式(NFC Data Exchange Format)协议的NFC系统和应用程序,构造了一个NDEF测试用例数据库,可以用于不同操作系统平台下各类NFC系统和应用的测试,节省了测试用例构造的时间开销和人力成本。针对Android、Windows Phone等智能终端系统和应用程序进行了系统化的测试,发现了WiFi打开、蓝牙打开、手电筒打开、屏幕亮度、拒绝服务等大量的安全漏洞,并提出了相应的建议和解决措施。第四部分:针对发现的己知和未知漏洞,分R%提出不同的利用方式和修复方式,并基于NFC技术提出一种新的攻击模型和相应的防御系统。针对发现的SNMP漏洞,通过网络Socket技术实现了针对路由器和应用程序的漏洞利用程序,并提出过滤特殊字符、限速、阻塞端口、编写ACL表等多种修复措施。针对发现的NDEF漏洞,提出了“NFC测试程序直接加载”、“NFC应用程序写入标签”、“NFC设备模拟标签”三种漏洞利用方式;根据协议解析、设计缺陷、泛洪攻击等漏洞类型,分别提出了相应的修复措施。利用URL跳转漏洞、Android系统设计缺陷、己知、VebView漏洞,首次提出一种新的基于NFC技术的攻击形式和攻击模型,实现远程执行任意代码的目的;针对新的攻击形式,从被动防御的角度提出相关漏洞修复的措施,从主动防御的角度设计了恶意URL主动防御架构,并利用支持向量机(Support Vector Machine)算法开发了恶意URL检测系统,在执行NFC标签内容前检测URL的恶意性,为近场通信提供了安全保证。第五部分:针对URL检测系统无法检测应用程序的行为,提出一种新的Android恶意行为检测算法。该算法使用系统调用序列和控制流序列表征Android应用程序的行为,能够在一定程度上抵御混淆和加密攻击,并能够防止因未触发恶意行为造成的漏报。同时,该算法使用已知的Android样本数据集,训练出一个恶意行为特征基和阈值,并通过归一化压缩距离算法比较应用程序的相似度判断应用程序的恶意性,减少了恶意软件的比较次数和比较时间,提高了检测速度和效率。最后,根据提出的算法,开发了一个Android恶意行为检测系统SCADet,并在华为U8860真机上进行分类,证明了系统的有效性。
【关键词】:安全漏洞 协议漏洞挖掘 模糊测试 漏洞利用 漏洞修复 行为检测
【学位授予单位】:西安电子科技大学
【学位级别】:博士
【学位授予年份】:2015
【分类号】:TP309
【目录】:
- 摘要5-7
- ABSTRACT7-15
- 符号对照表15-16
- 缩略语对照表16-21
- 第一章 绪论21-43
- 1.1 研究背景和意义21-23
- 1.2 国内外研究现状23-36
- 1.2.1 手工测试23-24
- 1.2.2 补丁比对24-26
- 1.2.3 程序分析26-30
- 1.2.4 二进制审核30-31
- 1.2.5 Fuzzing测试31-35
- 1.2.6 优缺点35-36
- 1.3 本文的主要研究工作和结构安排36-41
- 1.3.1 本文的主要研究工作36-40
- 1.3.2 本文的结构安排40-41
- 1.4 本章小结41-43
- 第二章 基础知识43-57
- 2.1 Fuzzing测试过程43-45
- 2.2 测试对象45-56
- 2.2.1 SNMP协议45-46
- 2.2.2 近场通信技术46-54
- 2.2.3 NFC数据交换格式54-56
- 2.3 小结56-57
- 第三章 基于Fuzzing技术的协议漏洞挖掘体系和算法57-71
- 3.1 引言57-58
- 3.2 基于Fuzzing技术的漏洞挖掘体系和漏洞挖掘框架58-63
- 3.2.1 基于Fuzzing技术的漏洞挖掘体系58-61
- 3.2.2 基于Fuzzing技术的漏洞挖掘框架61-63
- 3.3 测试用例构造和测试算法63-67
- 3.4 算法分析与评估67-69
- 3.5 小结69-71
- 第四章 针对路由器系统和应用程序的协议漏洞挖掘技术研究71-87
- 4.1 国内外研究现状71-77
- 4.2 协议漏洞挖掘工具77-78
- 4.3 实验78-81
- 4.3.1 协议脆弱点分析79-80
- 4.3.2 实验环境80-81
- 4.4 测试结果与评估81-85
- 4.4.1 测试结果81-84
- 4.4.2 评估84-85
- 4.5 小结85-87
- 第五章 针对近场通信技术的协议漏洞挖掘技术研究87-121
- 5.1 引言87
- 5.2 国内外研究现状87-92
- 5.3 系统架构和实现92-100
- 5.3.1 系统架构92-93
- 5.3.2 系统实现93-100
- 5.4 实验配置和环境100-102
- 5.4.1 实验配置100-101
- 5.4.2 实验环境101-102
- 5.5 实验结果102-118
- 5.6 结果评估与解决措施118-119
- 5.6.1 结果评估118-119
- 5.6.2 解决措施119
- 5.7 小结119-121
- 第六章 协议漏洞的利用和修复技术研究121-137
- 6.1 引言121
- 6.2 SNMP协议漏洞121-125
- 6.2.1 漏洞利用121-124
- 6.2.2 漏洞修复及防御措施124-125
- 6.3 NDEF协议漏洞125-135
- 6.3.1 漏洞利用125-127
- 6.3.2 漏洞修复及防御措施127
- 6.3.3 漏洞利用和防御示例127-135
- 6.4 小节135-137
- 第七章 安卓平台恶意行为检测技术研究137-151
- 7.1 引言137
- 7.2 移动恶意软件检测技术研究现状137-141
- 7.3 Android恶意软件检测算法141-143
- 7.3.1 应用场景141
- 7.3.2 检测算法141-143
- 7.4 行为表征和匹配143-145
- 7.4.1 行为表征143-145
- 7.4.2 行为匹配145
- 7.5 基于Android平台的恶意软件检测系统145-147
- 7.6 实验和结果评估147-149
- 7.6.1 实验147-148
- 7.6.2 结果评估148-149
- 7.7 小结149-151
- 第八章 结论和展望151-155
- 8.1 研究结论151-153
- 8.2 研究展望153-155
- 参考文献155-169
- 致谢169-171
- 作者简介171-172
【相似文献】
中国期刊全文数据库 前10条
1 路晓丽;葛玮;陈新丽;郝克刚;;支持共享和复用的测试用例库系统的设计[J];计算机科学;2006年05期
2 胡珊;杨丰玉;张晔;刘琳岚;;基于测试项抽取的测试用例复用方法[J];微电子学与计算机;2010年01期
3 张德平;查日军;;划分测试用例选择的风险决策方法[J];计算机应用研究;2010年12期
4 杨翊;陈挺;许峥;;证券软件的测试用例设计充分性实践[J];中国证券期货;2012年07期
5 张智轶;陈振宇;徐宝文;杨瑞;;测试用例演化研究进展[J];软件学报;2013年04期
6 杨悦;秦湘河;杨永安;郭荣;;航天测控软件测试用例标准及应用研究[J];无线电工程;2013年09期
7 王侃,卢庆龄,彭艳丽;测试用例自动生成的链方法研究与实现[J];装甲兵工程学院学报;2001年03期
8 李顺华;测试用例管理方法探讨[J];飞航导弹;2001年05期
9 徐仁佐,陈斌,陈波,吴闽泉,熊忠伟;构造面向对象软件可复用测试用例的模式研究[J];武汉大学学报(理学版);2003年05期
10 陈绍英;金成姬;;性能测试用例[J];程序员;2004年11期
中国重要会议论文全文数据库 前10条
1 王道堂;林春哲;张凯;;软件测试用例构造方法与手段[A];计算机技术在工程建设中的应用——第十二届全国工程建设计算机应用学术会议论文集[C];2004年
2 李磊;曹先彬;;基于进化的软件测试用例生成方法[A];2005年“数字安徽”博士科技论坛论文集[C];2005年
3 徐李勤;王洁宁;;基于层次有色Petri网的软件测试用例选取研究[A];全国第二届信号处理与应用学术会议专刊[C];2008年
4 林春哲;张凯;王道堂;;软件测试用例设计分析[A];计算机技术在工程建设中的应用——第十二届全国工程建设计算机应用学术会议论文集[C];2004年
5 张侠影;李志蜀;;一种优化的测试用例约简方法[A];2008'中国信息技术与应用学术论坛论文集(一)[C];2008年
6 张德平;聂长海;徐宝文;;划分测试用例选择策略研究[A];第五届中国测试学术会议论文集[C];2008年
7 郭从颖;;场景驱动测试用例设计及其测试自动化技术研究[A];中国计量协会冶金分会2008年会论文集[C];2008年
8 郭从颖;;场景驱动测试用例设计及其测试自动化技术研究[A];2008全国第十三届自动化应用技术学术交流会论文集[C];2008年
9 周晓燕;李兵;潘伟丰;覃叶宜;;基于错误传播概率网络的软件回归测试用例选择[A];第五届全国复杂网络学术会议论文(摘要)汇集[C];2009年
10 万琳;张威;马雪雁;陈曼青;;基于路径的测试用例自动生成技术[A];第十届全国容错计算学术会议论文集[C];2003年
中国重要报纸全文数据库 前6条
1 深圳市信息无障碍研究会 戴杰;“听”软件的IT工程师[N];人民政协报;2014年
2 谢敏 沈雪芳 戴金龙;解决软件测试的近忧和远虑[N];计算机世界;2005年
3 计算机世界实验室 韩勖;拨云见日[N];计算机世界;2008年
4 《网络世界》记者 郑楠;ONF测试步伐有条不紊[N];网络世界;2014年
5 ;找错[N];计算机世界;2002年
6 信息产业部软件与集成电路促进中心 于明邋唐仕武;驶入测试“快车道”[N];计算机世界;2007年
中国博士学位论文全文数据库 前10条
1 罗玲;扩展π演算的建模、验证与测试[D];西安电子科技大学;2015年
2 王志强;基于模糊测试的漏洞挖掘及相关攻防技术研究[D];西安电子科技大学;2015年
3 李丽;航天相机主控软件测试用例自动生成技术的研究[D];中国科学院研究生院(长春光学精密机械与物理研究所);2010年
4 黄如兵;组合测试用例的自适应随机生成与优先级排序方法研究[D];华中科技大学;2013年
5 张娟;软件测试中测试用例复用的研究[D];上海大学;2012年
6 游亮;回归测试用例选择技术研究[D];华中科技大学;2012年
7 谢晓东;基于模型比较的软件测试用例生成方法研究[D];华中科技大学;2007年
8 李根;基于动态测试用例生成的二进制软件缺陷自动发掘技术研究[D];国防科学技术大学;2010年
9 邢颖;测试用例自动生成的分支限界算法及实验研究[D];北京邮电大学;2014年
10 钱思佑;图形用户界面测试中相关问题研究[D];中国科学技术大学;2010年
中国硕士学位论文全文数据库 前10条
1 田春艳;基于灰色关联逼近理想解方法的测试用例评价模型研究[D];昆明理工大学;2009年
2 唐海鹏;基于Additional策略回归测试用例优先级排序优化研究[D];西南大学;2015年
3 陈梦云;基于圈复杂度和调用次数的测试用例排序方法[D];上海师范大学;2015年
4 姚瑞超;广东电网测试用例自动生成工具的研究与设计[D];华南理工大学;2015年
5 张泽林;基于数据挖掘的软件多故障定位与分析技术[D];南京理工大学;2015年
6 邹炳松;嵌入式软件的图形化测试用例生成系统设计与实现[D];哈尔滨工业大学;2015年
7 李锦程;基于微信平台的医疗就诊系统设计与实现[D];哈尔滨工业大学;2015年
8 赵群;软件错误定位中的巧合正确性问题研究[D];哈尔滨工业大学;2015年
9 常龙辉;Web应用的测试用例优化生成与优先级技术[D];上海大学;2015年
10 王令赛;基于粒子群优化算法的测试用例生成技术研究[D];中国矿业大学;2015年
本文关键词:基于模糊测试的漏洞挖掘及相关攻防技术研究,由笔耕文化传播整理发布。
本文编号:277516
本文链接:https://www.wllwen.com/shoufeilunwen/xxkjbs/277516.html