[发明专利]用于检查软件的漏洞的设备和方法无效
申请号: | 200810125666.4 | 申请日: | 2008-06-17 |
公开(公告)号: | CN101425035A | 公开(公告)日: | 2009-05-06 |
发明(设计)人: | 金恩英;尹永泰;朴应纪 | 申请(专利权)人: | 韩国电子通信研究院 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京市柳沈律师事务所 | 代理人: | 钱大勇 |
地址: | 韩国*** | 国省代码: | 韩国;KR |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 检查 软件 漏洞 设备 方法 | ||
技术领域
本发明涉及一种用于检查软件的漏洞(vulnerability)的设备和方法,更具体地说,涉及一种用于对软件的特定功能执行模糊测试(fuzzing)的检查软件的漏洞的设备和方法。
背景技术
在开发软件的过程中,通常通过使用调试程序在很可能具有漏洞的源代码部分设置断点、并且当所运行的软件停在该断点时观察该软件的运行环境来执行对软件的分析。
另一方面,由于通常在其中不能获得源代码的环境中执行软件漏洞分析,所以以仅可以利用可执行文件执行的黑盒测试方法来分析软件的漏洞。这里,黑盒测试是这样一种测试方法:其中将软件本身认为是不能直接观察其内部操作、但是可以基于软件的输入/输出值来分析其内部操作的黑盒子。
作为一种这样的黑盒测试方法,模糊测试(fuzzing)是用于通过向软件输入各种随机数据并寻找异常操作来在处理输入期间发现软件缺陷的分析方法。通常通过构造包括随机数据的测试实例、随后通过软件来运行该测试实例、并且分析该软件的任何故障来执行所述模糊测试。
一种使用这样的模糊测试来检查软件的漏洞的传统方法随机地生成数据并对其进行分析,而不管软件的功能如何。因而,该方法不能深入检查软件的特定功能中的漏洞。
发明内容
本发明涉及一种用于检查软件的漏洞的设备和方法,其可以依据功能来对软件进行深入的模糊测试。
本发明的一个方面提供了一种用于检查软件的漏洞的设备,包括:目标功能选择模块,用于选择要被检查漏洞的软件的功能;比较文件生成模块,用于生成包括所选择的功能的第一文件和不包括所选择的功能的第二文件;二进制模式(binary pattern)比较模块,用于通过比较所述第一文件和所述第二文件的二进制值来检测改变或增加的二进制模式;测试实例生成模块,用于基于所检测的二进制模式生成至少一个测试实例;以及漏洞检验模块,用于基于所述至少一个测试实例来检查漏洞,并生成漏洞检查结果。
本发明的另一方面提供了一种用于检查软件的漏洞的方法,包括:选择要被检查漏洞的软件的功能;生成包括所选择的功能的第一文件;生成不包括所选择的功能的第二文件;比较所述第一文件和所述第二文件的二进制值,以检测改变或增加的二进制模式;基于所检测的二进制模式生成至少一个测试实例;基于所述至少一个测试实例来执行漏洞检查;以及输出漏洞检查的结果。
附图说明
通过参考附图对本发明的示范性实施例进行的详细描述,本发明的上述和其它目的、特征和优点对于本领域技术人员来说将变得更加明显,其中:
图1是示出根据本发明的示范性实施例的软件漏洞检查设备的配置的框图;
图2是示出根据本发明的示范性实施例的用于检查软件的漏洞的方法的流程图;以及
图3A至图3C是示出在根据本发明的示范性实施例的软件漏洞检查设备中包括的模块的操作的图。
具体实施方式
通过下面对如在附图中所示的本发明的示范性实施例进行的更具体的描述,本发明的前述和其它目的、特征和优点将变得显而易见。
图1是示出根据本发明的示范性实施例的软件漏洞检查设备的配置的框图。
参考图1,软件漏洞检查设备100包括:用于选择要检查的功能的目标功能选择模块110、比较文件生成模块120、二进制模式比较模块130、测试实例生成模块140和漏洞检验模块150。
目标功能选择模块110从所检查的软件的所有功能中选择要进行深入的模糊测试的功能。比较文件生成模块120生成包括该所选择的功能的第一文件和不包括所选择的功能的第二文件。
二进制模式比较模块130通过比较所述第一文件和所述第二文件的二进制值来检测彼此不同的二进制模式。这里,二进制模式是指包括一系列二进制值的一组值。因为所述第一和第二文件的二进制模式之间的差异依赖于是否包括特定功能,所以彼此不同的二进制模式的地址意味着与特定功能对应的文件数据的地址。测试实例生成模块140基于由二进制模式比较模块130检测的部分而生成测试实例,以执行模糊测试。漏洞检验模块150利用由测试实例生成模块140生成的测试实例来运行所检查的软件,基于在软件的运行期间是否发生故障来生成并输出漏洞检查结果。
图2是示出根据本发明的示范性实施例的用于检查软件的漏洞的方法的流程图。
参考图2,功能选择模块选择要检查的软件的功能(S210)。在一个实施例中,目标功能选择模块可以根据通过用户界面的用户输入或在无用户输入的情况下根据预定选择算法来选择要检查的功能。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于韩国电子通信研究院,未经韩国电子通信研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810125666.4/2.html,转载请声明来源钻瓜专利网。