CN105512025A - 基于模拟消息的Fuzz引擎优化方法与系统 - Google Patents

基于模拟消息的Fuzz引擎优化方法与系统 Download PDF

Info

Publication number
CN105512025A
CN105512025A CN201410850078.2A CN201410850078A CN105512025A CN 105512025 A CN105512025 A CN 105512025A CN 201410850078 A CN201410850078 A CN 201410850078A CN 105512025 A CN105512025 A CN 105512025A
Authority
CN
China
Prior art keywords
tested software
fuzz
software process
controller
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410850078.2A
Other languages
English (en)
Other versions
CN105512025B (zh
Inventor
贾真
李柏松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Antiy Technology Group Co Ltd
Original Assignee
Harbin Antiy Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harbin Antiy Technology Co Ltd filed Critical Harbin Antiy Technology Co Ltd
Priority to CN201410850078.2A priority Critical patent/CN105512025B/zh
Publication of CN105512025A publication Critical patent/CN105512025A/zh
Application granted granted Critical
Publication of CN105512025B publication Critical patent/CN105512025B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明属于软件漏洞挖掘技术领域,具体涉及一种基于模拟消息的Fuzz引擎优化方法与系统;它包括路径收集模块:控制器收集生成器生成的畸形测试数据的路径;被测试软件进程启动模块:控制器使用启动进程API启动被测试软件进程;畸形数据读取接收模块:控制器控制被测试软件读取或者接收畸形数据;以及被测试软件进程监控模块:监控器监控被测试软件进程是否抛出异常或进程崩溃;本发明不仅回避了命令行调用方式,使Fuzz测试在被测试软件不支持命令行调用的情况下同样可以进行,而且只需对进程启动并关闭一次,因此具有节省了大量计算机资源,节约测试时间的技术优势。

Description

基于模拟消息的Fuzz引擎优化方法与系统
技术领域
本发明属于软件漏洞挖掘技术领域,具体涉及一种基于模拟消息的Fuzz引擎优化方法与系统。
背景技术
如今,网络安全已经成为国家安全中重要组成部分,而软件漏洞挖掘技术更是维护网络安全的主要手段之一。
软件漏洞挖掘技术主要向两个方向发展,一个是基于软件源代码进行技术分析的源代码缺陷检测技术,另一个是基于可执行程序的Fuzz测试。其中,基于可执行程序的Fuzz测试是一种通过软件读取或者接收畸形数据来测试软件漏洞的方法。
现有技术中,Fuzz引擎由以下三部分组成:第一、用于生成畸形数据(包括文件、网络数据包、字符串等等)的测试用例生成器;第二、用于调用被测试软件读取或者接收畸形数据的控制器;第三、用于监控被测软件在读取或者接收畸形数据过程中是否抛出异常的监控器。
由于Fuzz测试属于枚举测试方式,因此为了使生成的畸形数据更有可能触发软件程序潜在的漏洞,人们更多地把注意力集中在了测试用例生成器的改进工作,而控制器和监控器却一直没有改进。
现阶段,控制器使用命令行调用被测试软件并传递测试参数,这种命令行方式存在以下两方面缺点:
第一,在被测试软件不支持命令行调用的情况下,Fuzz测试无法进行;
第二,每次Fuzz测试都要启动一次进程、关闭一次进程,对于庞大的测试用例,这样的工作无疑耗费了大量计算机资源和运行时间。
发明内容
为了解决现阶段控制器使用命令行调用被测试软件并传递测试参数而存在的两个缺点,本发明公开了一种基于模拟消息的Fuzz引擎优化方法与系统,不仅回避了命令行调用方式,使Fuzz测试在被测试软件不支持命令行调用的情况下同样可以进行,而且只需对进程启动并关闭一次,因此具有节省了大量计算机资源,节约测试时间的技术优势。
本发明的目的是这样实现的:
基于模拟消息的Fuzz引擎优化方法,包括以下步骤:
S1、控制器收集生成器生成的畸形测试数据的路径;
S2、控制器使用启动进程API调用被测程序可执行文件,启动被测试软件进程;
S3、控制器使用模拟消息技术对被测试软件进程发送消息,所述的消息用于控制被测试软件按照畸形测试数据的路径,读取或者接收畸形数据;
S4、监控器监控被测试软件进程是否抛出异常或进程崩溃,如果:
是,控制器重新启动被测试软件进程,进行下一次Fuzz测试;
否,无需重新启动被测试软件进程,直接进行下一次Fuzz测试。
上述基于模拟消息的Fuzz引擎优化方法,步骤S3所述的模拟消息技术具体为SendMessage()函数。
上述基于模拟消息的Fuzz引擎优化方法的基于模拟消息的Fuzz引擎优化系统,包括:
路径收集模块:控制器收集生成器生成的畸形测试数据的路径;
被测试软件进程启动模块:控制器使用启动进程API调用被测程序可执行文件,启动被测试软件进程;
畸形数据读取接收模块:控制器使用模拟消息技术对被测试软件进程发送消息,所述的消息用于控制被测试软件按照畸形测试数据的路径,读取或者接收畸形数据;
被测试软件进程监控模块:监控器监控被测试软件进程是否抛出异常或进程崩溃,如果:
是,控制器重新启动被测试软件进程,进行下一次Fuzz测试;
否,无需重新启动被测试软件进程,直接进行下一次Fuzz测试。
有益效果:
第一、由于控制器使用启动进程API调用被测程序可执行文件,启动被测试软件进程,因此无需命令行,在被测试软件不支持命令行调用的情况下,Fuzz测试同样可以进行;
第二、由于如果监控器监控被测试软件进程没有抛出异常或进程崩溃,则无需重新启动被测试软件进程,直接进行下一次Fuzz测试,因此在整个Fuzz测试过程中,只需对进程启动并关闭一次,节省了计算机资源,节约了测试时间。
附图说明
图1是本发明基于模拟消息的Fuzz引擎优化方法流程图。
图2是本发明基于模拟消息的Fuzz引擎优化系统示意图。
图中:1路径收集模块、2被测试软件进程启动模块、3畸形数据读取接收模块、4被测试软件进程监控模块。
具体实施方式
下面结合附图对本发明具体实施方式作进一步详细描述。
具体实施例一
本实施例为基于模拟消息的Fuzz引擎优化方法实施例。
本实施例的基于模拟消息的Fuzz引擎优化方法,流程图如图1所示。该方法包括以下步骤:
S1、控制器收集生成器生成的畸形测试数据的路径;
S2、控制器使用启动进程API调用被测程序可执行文件,启动被测试软件进程;
S3、控制器使用模拟消息技术对被测试软件进程发送消息,所述的消息用于控制被测试软件按照畸形测试数据的路径,读取或者接收畸形数据;
需要说明的是,步骤S3所述的消息,根据每个被测试的软件不同而不同,需要使用Fuzz引擎的技术人员视具体被测试软件重新定义。
S4、监控器监控被测试软件进程是否抛出异常或进程崩溃,如果:
是,控制器重新启动被测试软件进程,进行下一次Fuzz测试;
否,无需重新启动被测试软件进程,直接进行下一次Fuzz测试。
上述基于模拟消息的Fuzz引擎优化方法中,步骤S3所述的模拟消息技术具体为SendMessage()函数。
以Word为例,具体说明上述方法的流程。
S1、控制器收集生成器生成的畸形测试数据的路径;
S2、控制器发送“Ctrl+0”组合键消息,调用Word软件的“打开”对话框,启动Word软件进程;
S3、控制器使用SendMessage()对Word发送键盘或鼠标消息,本实施例中,先发送的是输入文件路径的键盘消息,再发送的是回车消息;
由于其它软件同Word软件相比,对键盘快捷键的设置不同,所以发送的消息有所不同,但是操作方法类似,如果被测试软件不支持键盘快捷键,也可以定义鼠标点击消息控制被测试软件,一样可以达到效果。
S4、监控器监控Word软件进程是否抛出异常或进程崩溃,如果:
是,控制器重新启动Word软件进程,进行下一次Fuzz测试;
否,无需重新启动Word软件进程,直接进行下一次Fuzz测试。
具体实施例二
本实施例为基于模拟消息的Fuzz引擎优化系统实施例。
本实施例的基于模拟消息的Fuzz引擎优化系统,示意图如图2所示。该系统包括:
路径收集模块1:控制器收集生成器生成的畸形测试数据的路径;
被测试软件进程启动模块2:控制器使用启动进程API调用被测程序可执行文件,启动被测试软件进程;
畸形数据读取接收模块3:控制器使用模拟消息技术对被测试软件进程发送消息,所述的消息用于控制被测试软件按照畸形测试数据的路径,读取或者接收畸形数据;
被测试软件进程监控模块4:监控器监控被测试软件进程是否抛出异常或进程崩溃,如果:
是,控制器重新启动被测试软件进程,进行下一次Fuzz测试;
否,无需重新启动被测试软件进程,直接进行下一次Fuzz测试。

Claims (3)

1.基于模拟消息的Fuzz引擎优化方法,其特征在于,包括以下步骤:
S1、控制器收集生成器生成的畸形测试数据的路径;
S2、控制器使用启动进程API调用被测程序可执行文件,启动被测试软件进程;
S3、控制器使用模拟消息技术对被测试软件进程发送消息,所述的消息用于控制被测试软件按照畸形测试数据的路径,读取或者接收畸形数据;
S4、监控器监控被测试软件进程是否抛出异常或进程崩溃,如果:
是,控制器重新启动被测试软件进程,进行下一次Fuzz测试;
否,无需重新启动被测试软件进程,直接进行下一次Fuzz测试。
2.根据权利要求1所述的基于模拟消息的Fuzz引擎优化方法,其特征在于,步骤S3所述的模拟消息技术具体为SendMessage()函数。
3.一种基于权利要求1所述基于模拟消息的Fuzz引擎优化方法的基于模拟消息的Fuzz引擎优化系统,其特征在于,包括:
路径收集模块(1):控制器收集生成器生成的畸形测试数据的路径;
被测试软件进程启动模块(2):控制器使用启动进程API调用被测程序可执行文件,启动被测试软件进程;
畸形数据读取接收模块(3):控制器使用模拟消息技术对被测试软件进程发送消息,所述的消息用于控制被测试软件按照畸形测试数据的路径,读取或者接收畸形数据;
被测试软件进程监控模块(4):监控器监控被测试软件进程是否抛出异常或进程崩溃,如果:
是,控制器重新启动被测试软件进程,进行下一次Fuzz测试;
否,无需重新启动被测试软件进程,直接进行下一次Fuzz测试。
CN201410850078.2A 2014-12-31 2014-12-31 基于模拟消息的Fuzz引擎优化方法与系统 Active CN105512025B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410850078.2A CN105512025B (zh) 2014-12-31 2014-12-31 基于模拟消息的Fuzz引擎优化方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410850078.2A CN105512025B (zh) 2014-12-31 2014-12-31 基于模拟消息的Fuzz引擎优化方法与系统

Publications (2)

Publication Number Publication Date
CN105512025A true CN105512025A (zh) 2016-04-20
CN105512025B CN105512025B (zh) 2019-01-15

Family

ID=55720026

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410850078.2A Active CN105512025B (zh) 2014-12-31 2014-12-31 基于模拟消息的Fuzz引擎优化方法与系统

Country Status (1)

Country Link
CN (1) CN105512025B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107491385A (zh) * 2016-06-13 2017-12-19 腾讯科技(深圳)有限公司 一种软件测试过程中录屏的方法及装置
CN108804297A (zh) * 2018-06-12 2018-11-13 郑州云海信息技术有限公司 一种qat状态控制功能的测试方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103209173A (zh) * 2013-03-08 2013-07-17 北京理工大学 一种网络协议漏洞挖掘方法
CN103425570A (zh) * 2012-05-22 2013-12-04 中国科学院软件研究所 一种基于文件格式的Fuzz优化方法
WO2014082908A1 (en) * 2012-11-28 2014-06-05 Siemens Aktiengesellschaft Method and apparatus for generating test case for fuzz test

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425570A (zh) * 2012-05-22 2013-12-04 中国科学院软件研究所 一种基于文件格式的Fuzz优化方法
WO2014082908A1 (en) * 2012-11-28 2014-06-05 Siemens Aktiengesellschaft Method and apparatus for generating test case for fuzz test
CN103209173A (zh) * 2013-03-08 2013-07-17 北京理工大学 一种网络协议漏洞挖掘方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
姚洪波等: "基于FUZZING测试技术的Windows内核安全漏洞挖掘方法研究及应用", 《信息网络安全》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107491385A (zh) * 2016-06-13 2017-12-19 腾讯科技(深圳)有限公司 一种软件测试过程中录屏的方法及装置
CN107491385B (zh) * 2016-06-13 2018-11-09 腾讯科技(深圳)有限公司 一种软件测试过程中录屏的方法及装置
CN108804297A (zh) * 2018-06-12 2018-11-13 郑州云海信息技术有限公司 一种qat状态控制功能的测试方法及系统

Also Published As

Publication number Publication date
CN105512025B (zh) 2019-01-15

Similar Documents

Publication Publication Date Title
CN110162977B (zh) 一种Android车载终端系统漏洞检测系统及方法
CN103019942B (zh) 一种基于安卓系统的待测应用自动测试方法和系统
CN102110053B (zh) 一种基于Android的随机测试方法
CN102937932A (zh) 集成异构测试工具的自动化测试装置及方法
CN102779094A (zh) 终端和软件异常测试方法
CN102306119A (zh) 捕获全局异常的系统及方法
CN105335292A (zh) 应用程序兼容性测试方法和系统
CN104090751B (zh) 一种在Android系统上获取root权限的方法
CN103389939A (zh) 一种针对堆可控分配漏洞的检测方法及系统
CN109948338B (zh) 基于静态分析的安卓应用敏感路径触发方法
CA2862046C (en) Method and device for prompting program uninstallation
CN103713998A (zh) 一种可扩展的在线静态代码缺陷分析方法
CN111723002A (zh) 一种代码调试方法、装置、电子设备及存储介质
CN103209173A (zh) 一种网络协议漏洞挖掘方法
CN109977681A (zh) 一种面向无人机的模糊测试方法及无人机的模糊测试系统
CN104572428A (zh) 基于windows操作系统下的复杂控件测试方法
CN113010392A (zh) 大数据平台的测试方法、装置、设备、存储介质和系统
CN105227399A (zh) 基于用户态的网络设备调试信息获取方法及系统
CN105512025A (zh) 基于模拟消息的Fuzz引擎优化方法与系统
CN104035766A (zh) 基于覆盖率测试的android系统裁剪方法
CN106407800A (zh) 一种hook的方法及终端设备
CN103324572A (zh) 电力二次系统的操作系统性能测试方法及装置
CN103049376A (zh) 一种进程的内存溢出测试方法、装置及设备
CN103546342A (zh) 一种终端一致性测试方法及用于该方法的api接口通用适配器
CN111930565A (zh) 分布式管理系统中组件的进程故障自愈方法、装置及设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 150010 Heilongjiang science and technology innovation city, Harbin new and high tech Industrial Development Zone, No. 7 building, innovation and entrepreneurship Plaza, 838

Patentee after: Harbin antiy Technology Group Limited by Share Ltd

Address before: 150090 room 506, Hongqi Street, Nangang District, Harbin Development Zone, Heilongjiang, China, 162

Patentee before: Harbin Antiy Technology Co., Ltd.

PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Fuzz engine optimizing method and system based on simulation message

Effective date of registration: 20190718

Granted publication date: 20190115

Pledgee: Bank of Longjiang, Limited by Share Ltd, Harbin Limin branch

Pledgor: Harbin antiy Technology Group Limited by Share Ltd

Registration number: 2019230000007

PE01 Entry into force of the registration of the contract for pledge of patent right
CP03 Change of name, title or address

Address after: 150010 building 7, innovation and entrepreneurship Plaza, science and technology innovation city, Harbin high tech Industrial Development Zone, Heilongjiang, China (No. 838, world Kun Road)

Patentee after: Antan Technology Group Co.,Ltd.

Address before: 150010 Heilongjiang science and technology innovation city, Harbin new and high tech Industrial Development Zone, No. 7 building, innovation and entrepreneurship Plaza, 838

Patentee before: Harbin Antian Science and Technology Group Co.,Ltd.

CP03 Change of name, title or address
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20211119

Granted publication date: 20190115

Pledgee: Bank of Longjiang Limited by Share Ltd. Harbin Limin branch

Pledgor: Harbin Antian Science and Technology Group Co.,Ltd.

Registration number: 2019230000007

PC01 Cancellation of the registration of the contract for pledge of patent right