[发明专利]程序安全测试方法和装置有效
申请号: | 201410453672.8 | 申请日: | 2014-09-05 |
公开(公告)号: | CN104199774B | 公开(公告)日: | 2017-02-22 |
发明(设计)人: | 李文林;张一武;张杰 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京华沛德权律师事务所11302 | 代理人: | 刘杰 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序 安全 测试 方法 装置 | ||
技术领域
本发明涉及程序测试技术,具体涉及一种程序安全测试方法以及相应的程序安全测试装置。
背景技术
程序在正式投入使用之前,通常会针对加载模块的白文件利用以及加载模块劫持进行安全测试。
上述加载模块通常为DLL(Dynamic Link Library,动态链接库),也可以为类似于DLL的其他类型的加载模块,如尾缀为TPI的加载模块等。在加载模块为DLL的情况下,DLL的白文件利用通常是指利用DLL白文件绕过安全软件的主防加载恶意模块,从而实现恶意攻击;DLL劫持通常是指在运行程序当前所在目录下伪造与程序调用(或启动)的真正的DLL同名的DLL,且在伪造的DLL被程序调用并运行DLL中的函数后,再转向真正的DLL。下面以加载模块为DLL为例对程序安全测试方法进行说明。
目前,针对DLL白文件的利用和DLL劫持的程序安全测试方法主要包括如下两种:
方法一、在编写完程序代码后,由相关的测试人员(如白盒测试人员等)对程序源代码进行审查,以从程序源代码中找出由于编写疏忽而造成的DLL白文件的利用和DLL劫持的漏洞。
方法二、采用IDA等反编译工具对编译后的程序进行反编译,之后,由黑客或者系统安全工程师根据已经公布的一些开源库的漏洞进行有针对性的调试以及实验。
发明人在实现本发明过程中发现,上述方法一由于是通过人工进行程序源代码核查,因此,通常不可能对程序中的所有分支进行核查,漏查率较高且测试效率较低;同时,由于程序在各种系统环境下的表现不尽相同,因此核查后程序源代码中通常会仍存在隐晦的漏洞,进一步提升了漏查率;上述方法二需要测试人员具有强大的专业技能(如代码分析能力等),且该方法同样存在测试效率较低以及漏查率较高等问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的程序安全测试方法和装置。
依据本发明的一个方面,提供了一种程序安全测试方法,主要包括:获取被测程序的测试任务信息,并获取被测程序中的加载模块的历史加载记录信息;在所述测试任务信息的基础上,针对每一条历史加载记录信息分别生成用例以及用例属性信息,用例属性信息是安装运行用例所需的信息,且所述用例属性信息包括:加载模块被加载时的所有尝试加载路径信息;根据所述用例属性信息安装运行用例,且所述用例基于所述所有尝试加载路径信息执行加载模块的加载操作;获取用例在运行过程中与预置的恶意加载模块相关的执行过程信息;根据所述执行过程信息判断所述被测程序是否存在安全漏洞,并输出判断结果信息。
依据本发明的再一个方面,提供了一种程序安全测试装置,包括:第一获取模块,适于获取被测程序的测试任务信息;第二获取模块,适于获取被测程序中的加载模块的历史加载记录信息;用例生成模块,适于在所述测试任务信息的基础上,针对每一条历史加载记录信息分别生成用例以及用例属性信息,所述用例属性信息是安装运行用例所需的信息,且所述用例属性信息包括:加载模块被加载时的所有尝试加载路径信息;安装运行模块,适于根据所述用例属性信息安装运行用例,且所述用例基于所述所有尝试加载路径信息执行加载模块的加载操作;第三获取模块,适于获取用例在运行过程中与预置的恶意加载模块相关的执行过程信息;安全判断模块,适于根据所述执行过程信息判断所述被测程序是否存在安全漏洞,并输出判断结果信息。
本发明的程序安全测试方法和装置通过利用测试任务信息以及加载模块的历史加载记录信息生成用例以及用例属性信息,且在用例属性信息的基础上自动安装并运行用例,这样,可以通过获取到的用例运行过程中对加载模块的加载记录信息自动判断出被测程序是否存在与预置的恶意加载模块相关的安全漏洞;从而本发明有效降低了程序安全测试对测试人员自身的专业技能的依赖程度,实现了自动对被测程序进行安全测试的目的,最终本发明提高了程序安全测试效率,并有效降低了漏查率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。本实施例的附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明实施例一的程序安全测试方法流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410453672.8/2.html,转载请声明来源钻瓜专利网。