没有合适的资源?快使用搜索试试~ 我知道了~
面向嵌入式CGI的内存破坏漏洞挖掘研究.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 30 浏览量
2022-12-15
14:24:42
上传
评论
收藏 190KB DOCX 举报
温馨提示
试读
10页
面向嵌入式CGI的内存破坏漏洞挖掘研究.docx
资源推荐
资源详情
资源评论
Gartner 公司预测 2020 年全世界部署的嵌入式设备在数量上将达到 200 亿,相关研究
发现这类设备在开发设计上缺乏最佳安全实践,导致存在大量安全漏洞
[1-4]
,针对这类设备
的漏洞挖掘已成为研究热点。文献[5]基于已知特征使用静态方法对大规模固件进行漏洞挖
掘,但无法检测未知漏洞。文献[6]基于程序级仿真环境实现了通过动态测试来挖掘设备的
Web 接口漏洞;文献[7]基于系统级仿真环境实现了通过已知特征来检测漏洞。仿真环境通
常对系统配置的依赖较多,而嵌入式设备的多样性使得仿真难以具备通用的配置。文献[8]
基于设备控制应用程序进行协议报文模糊测试,但该方法只对具有控制应用程序的设备有
效。文献[9]提出了一种设备和仿真相结合的方法,但需要较多人工参与。文献[10]基于符
号执行实现了 MSP430 系列微控制器的漏洞挖掘,但无法用于其它控制器。文献[11]发现
不同平台设备的内存破坏漏洞具有显著区别,基于动态测试的挖掘方法需要处理其差异。
针对上述问题,本文提出了一种基于模糊测试 CGI
[12]
的嵌入式设备漏洞挖掘方法,其
主要特点有:1)受 ACW 的启发,利用覆盖率来驱动嵌入式 CGI 的模糊测试;2)提出了一
种惰性输入模型,克服了 ACW 的固定输入模型的低效问题;3)设计了一种选择性外部函
数跟踪,有效提升了路径探索能力;4)继承了动态测试的优势,即不存在静态分析方法的
误报。为验证上述方法的有效性,本文在原型系统 BCFuzzer 进行了相关实现,并使用嵌
入式设备 CGI 程序集进行实验,结果表明:同 ACM 相比,BCFuzzer 能自动发现更多的代
码路径,也能更快的发现更多未知漏洞。
1. 模糊测试
模糊测试(fuzzing)是一种自动化或者半自动化的测试技术,它通过构造随机的非预期
畸形数据作为程序输入,并监控执行过程中的异常行为来发现软件漏洞
[13]
。模糊测试技术
分为黑盒、灰盒和白盒 3 种
[14]
。黑盒模糊测试实用面最广,因为它不关心被测试程序内部
的实现细节,但这同时也导致了它的有效性较低
[15]
。白盒模糊测试需要跟踪被测试程序内
部的详细信息,因此有效性是最高的,但存在诸多符号执行的限制
[16]
。灰盒模糊测试介于
黑盒和白盒之间,跟踪被测试程序的部分内部信息,提升了模糊测试的有效性;同时,它
的跟踪方法是轻量级的,能用于实际大型程序。其中,基于覆盖率驱动的灰盒模糊测试是
已被实践证明有效的方法
[17]
,如算法 1 所示。
算法 1:ACW 模糊测试调度算法
Input: Seeds, CGI P
Result: MaliciousCases
fixedModel ← [“HTTP_COOKIE”, “REQUEST_METHOD”, “PATH”]
for Seed ∈ Seeds do
for nuIterations ← 0 to Maxcnt do
资源评论
罗伯特之技术屋
- 粉丝: 3652
- 资源: 1万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功