基于Fuzzing的文件格式漏洞挖掘技术_唐彰国
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
—151—
基于Fuzzing 的文件格式漏洞挖掘技术
唐彰国,钟明全,李焕洲,张 健
(四川师范大学网络与通信技术研究所,成都 610066)
摘 要:软件漏洞挖掘已成为信息安全研究的一个热点,基于此,分析现有漏洞挖掘工具的不足,阐述基于Fuzzing 的漏洞挖掘与分析的功能需求,根据文件格式结构化存储的特征,给出一种启发式的畸形数据的构造方法,设计并实现文件型漏洞智能挖掘与分析系统,给出软件结构、运行机制和关键技术。实例测试结果表明,该系统有效提高了文件漏洞挖掘的效率和智能化水平。 关键词:Fuzzing 技术;文件格式漏洞;漏洞挖掘
File Format Vulnerability Exploiting Technique Based on Fuzzing
TANG Zhang-guo, ZHONG Ming-quan, LI Huan-zhou, ZHANG Jian
(Institute of Computer Network and Communication Technology, Sichuan Normal University, Chengdu 610066)
【Abstract 】The exploiting of the software vulnerabilities is a hotspot of information security research. The shortage of current vulnerability exploiting implements is analyzed. The function demands of vulnerability exploiting and analysis based on Fuzzing are emphasized. A heuristic construction of abnormality data based on structural storage characteristic is proposed. The file format vulnerability intelligent exploiting and analysis system are designed and developed. The system’s software structure and run mechanism and critical technology are given. Experimental result proves its effectiveness and intelligence.
【Key words 】Fuzzing technology; file format vulnerability; vulnerability exploiting
计 算 机 工 程Computer Engineering 第36卷 第16期
Vol.36 No.16 2010年8月
August 2010
·安全技术·
文章编号:1000—3428(2010)16—0151—03
文献标识码:A
中图分类号:TP391
1 概述
近年来,利用软件漏洞尤其是文件型漏洞在未授权的情况下对计算机系统进行访问或破坏的现象越来越严重。文件型漏洞是指应用程序处理不同格式的文件时由于设计上的缺陷,可能演变成为对系统产生威胁的安全漏洞。作为隐患发现技术之一的漏洞挖掘与分析技术,越来越受到重视。
Fuzzing 是一种有效的自动化漏洞挖掘技术。其原理是通过向软件外部接口发送一些随机的组合数据和代码,致使目标软件发生异常,进而发现漏洞。由于这些数据和代码不需要理解和满足目标软件的上下文逻辑关系,因此采用Fuzzing 技术能够实现漏洞挖掘与分析的自动化[1-2]。传统文件格式的Fuzzing 工具(如FileFuzz)存在的不足主要表现为挖掘效率低、异常信息少、无相关分析、依赖第三方样本等。尤其是随着文档规模的增大、文件安全检测以及过滤机制的完善,对文件格式不公开的复合文档通过构造随机数据进行暴力Fuzzing 测试的效率和成功率都相当低[3]。因此,如何自行构造“个性化”的样本文件、改进畸形数据的构造方法,以及构造能够穿透软件过滤机制的测试文件,使其到达程序执行的代码区并引发程序的出错和异常处理,是目前解决文件格式漏洞挖掘效率低下和提升挖掘智能化水平的关键。
2 文件格式漏洞挖掘的需求分析
传统漏洞挖掘和分析技术过度依赖于个人的经验和直觉。漏洞研究要走向自动化和智能化一个关键步骤在于正确分析系统的安全需求,用安全需求来指明漏洞挖掘和分析的方向。
2.1
基于Fuzzing 的文件格式漏洞挖掘流程
如图1所示,样本文件可以是文本文件、二进制文件或其他非公开格式的复合文档。已知的高风险文件有注册表等
系统缺省文件、媒体文件、办公文档和配置文件等。一种类型文件可能存在多个Fuzzing 目标,如二进制文件可分别测试其头部区和数据区。通过对文件进行广度和深度2个层面的二进制变异形成测试数据并供目标程序执行,同时监视异常,根据异常时输出的信息进行分析并确定其可利用性。
图1 Fuzzing 流程
2.2 功能需求
根据研究目的分类主要有挖掘未知漏洞、分析已知漏洞和精确触发特定漏洞。为有效满足上述目的,必须支持“个性化”的定向挖掘方案。
(1)构造样本文件:提供多样化的样本文件构造方式,样
基金项目:四川省应用基础研究基金资助项目(07JY029-011);四川省教育厅基金资助项目(08ZA043);四川师范大学科学研究基金资助项目
作者简介:唐彰国(1978-),男,讲师、硕士,主研方向:信息安全;钟明全,讲师、硕士;李焕洲,副教授、博士;张 健,讲师、 博士
收稿日期:2010-03-18 E-mail :tangzhangguo@