没有合适的资源?快使用搜索试试~ 我知道了~
模糊测试技术综述.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 18 浏览量
2022-06-10
14:13:33
上传
评论
收藏 974KB DOCX 举报
温馨提示
试读
46页
模糊测试技术综述.docx
资源推荐
资源详情
资源评论
摘要模糊测试是一种安全测试技术,主要用于检测安全漏洞 ,近几年
模糊测试技术经历了快速发展,因此有必要对相关成果进行总结和分
析.通过搜集和分析网络与系统安全国际四大顶级安全会议 (IEEE
S&P,USENIX Security,CCS, NDSS)中相关的文章,总结出模糊测试
的基本工作流程,包括:预处理、输入数据构造、输入选择、评估、
结果分析这 5 个环节,针对每个环节中面临的任务以及挑战,结合相
应的研究成果进行分析和总结,其中重点分析以 American Fuzzy
Lop 工具及其改进成果为代表的,基于覆盖率引导的模糊测试方法.模
糊测试技术在不同领域中使用时,面对着巨大的差异性,通过对相应
文献进行整理和分析,总结出特定领域中使用模糊测试的独特需求以
及相应的解决方法,重点关注物联网领域,以及内核安全领域.近些年
反模糊测试技术以及机器学习技术的进步,给模糊测技术的发展带来
了挑战和机遇,这些机遇和挑战为下一步的研究提供了方向参考.
关键词模糊测试;基本工作流程;物联网安全;内核安全;机器学习
“常用系统中可能会潜伏着严重的漏洞.”
[1]
这一论述源自于模糊测试
首次面世的论文中,它揭示了一个事实,隐藏的漏洞无处不在.漏洞可
以引发严重的危害,2011 年披露的震网
[2]
蠕虫病毒,利用软件漏洞损
坏了伊朗核设施的离心机.2017 年发生的 WannaCry 勒索攻击
[3]
,通
过利用漏洞,恶意加密了超过 150 个国家的至少 23 万台计算机中的
文件,并以此进行勒索.2019 年波音 737MAX 客机控制系统的漏洞被
发现
[4]
,在此之前,已经造成了 2 起坠机事件,导致 346 人死亡,这
些事件凸显着漏洞检测技术的重要性.
模糊测试是漏洞检测技术的一种,通过使用针对目标程序生成的
随机字符流,对目标程序进行多次测试,以检测可能存在的漏洞
[1]
.
目前模糊测试已经成为漏洞检测的一种重要方法,在 2019 年
Google Project Zero
[5]
的报告中,通过模糊测试发现的漏洞数目,比
例高达 37%.在安全界中,对于模糊测试技术的研究工作自始至终从未
停止.
模糊测试相关的研究工作,一方面集中在提升模糊测试的漏洞检
测能力,另一方面集中在拓宽模糊测试的应用范围.为了提升模糊测试
的检测能力,业界引入了诸如符号执行、污点分析等程序分析技术,
提升了模糊测试在覆盖率等评估指标上的表现,进而获得了更好的漏
洞检测效果.Zhang 等人
[6]
以及 Wang 等人
[7]
对该方向的定向检测部分
进行了很好的总结.为了拓宽模糊测试的应用范围,模糊测试目前已被
应用到了诸如物联网、内核安全等领域中,并为满足相应应用领域的
特殊要求,诞生了不同的研究成果,具体将在第 5 节介绍.
目前,已有综述文章
[8-12]
对模糊测试做了归纳和整理,但自 2018 年
起,模糊测试技术开始快速发展,有必要重新梳理和总结该领域的研
究工作.
通过检索 2010—2020 年的网络与系统安全国际四大顶级会议
(IEEE S&P,USENIX Security,CCS,NDSS),在图 1 中展示了模糊测
试相关研究工作数量的逐年变化.可以看到,2018 年以后的成果数量
在急速地增加,因此基于这些文献,分析与归纳模糊测试的研究现状
与方向有重要现实意义.
Fig. 1 The number of papers related to fuzzing published at famous
security international conferences in the past ten years
图
1 10
年内在国际著名安全会议上发表的与
fuzzing
相关的论文数量
我们的主要贡献有 4 个方面:
1) 分析回顾了模糊测试的发展历史,选取模糊测试研究的重要时
间节点.这些时间节点中即包含模糊测试发展史上开创性的工作,比如
首次将模糊测试思想应用到不同领域中,也包含了诸多意义重大的研
究成果,比如 AFL(American fuzzy lop)
[13]
的诞生.
2) 目前一些综述文章提出了模糊测试的工作流程,但是并没有以
此作为文章的脉络结构,读者无法对模糊测试有一个整体工作流程的
理解.对此,我们按照自己总结出的模糊测试基本工作流程,依次介绍
每个环节的目的以及面临的挑战,并结合相应的研究成果介绍与讨论
从而使读者可以对模糊测试的整体工作流程有充分了解.
3) 模糊测试在不同的应用场景下,有着自己独特的使用需求.本文
对于近年来不同领域的模糊测试研究进行了分析与整理,比如模糊测
试在物联网、内核安全等领域的应用,基本上囊括了可以使用模糊测
试技术的各个领域,为各个领域的安全从业人员使用模糊测试提供了
参考.
4) 近年来随着反模糊测试、机器学习等相关领域的快速发展,给
模糊测试技术领域带来了新的挑战和机遇.我们介绍了反模糊测试的思
路,指出应该加强模糊测试平台建设,分析了机器学习同模糊测试结
合的困难,并指明了模糊测试的下一步研究方向.
1 模糊测试
1.1 模糊测试的发展历程
为了给读者一个直观的印象,我们首先在图 2 中展示了模糊测试
的发展历程,图 2 中的所有时间节点都会在本文详细介绍.如图 2 中所
示,模糊测试诞生于 1988 年
[1]
,并在那时设计了一个被称为 Fuzz 的
工具,通过生成随机连续字符串对以字符串为输入的对象进行模糊测
试,同时设计了一个名为 ptyjig 的工具,对输入有特殊要求的目标进
行模糊测试.这时的模糊测试,其主要目的是尝试使用非常规的数据对
目标的鲁棒性进行检测.
Fig. 2 The development of fuzzing
图
2
模糊测试的发展历程
在 1988—2004 年之间诞生的模糊测试方法大多是黑盒模糊测试,
其中比较重要的有 Protos
[14]
以及 Peach
[15]
.Protos
[14]
项目诞生于 2001
年,它将模糊测试首次应用到了网络协议的测试中,也是模糊测试技
术成为实用性工具的开始.2004 年出现的 Peach
[15]
是初期被应用在文
件模糊测试的项目,之后历经改进,时至 2021 年仍然在被使用.此外,
Peach
[15]
可以由用户手工定义用于生成输入数据的数据模型,是基于语
法生成输入思想的早期应用.
在 2007 年,受益于动态符号执行和测试数据生成技术的进步,诞
生了 Sage
[16]
模糊测试方法,该方法是使用符号执行的白盒模糊测试方
法.通过使用符号执行技术,在程序运行过程中收集条件语句对输入的
约束,通过用约束求解器进行求解产生新的输入.白盒模糊测试由于能
够对目标内部情况有足够的了解,可以获得高质量的输入数据,绕过
目标的输入检查,获得较高的覆盖率和深层漏洞检测效果.
剩余45页未读,继续阅读
资源评论
- jjhzx2023-02-17这个资源值得下载,资源内容详细全面,与描述一致,受益匪浅。
罗伯特之技术屋
- 粉丝: 3473
- 资源: 1万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功