CN107590389B - 安全性测试方法及装置、电子设备、计算机存储介质 - Google Patents
安全性测试方法及装置、电子设备、计算机存储介质 Download PDFInfo
- Publication number
- CN107590389B CN107590389B CN201710971285.7A CN201710971285A CN107590389B CN 107590389 B CN107590389 B CN 107590389B CN 201710971285 A CN201710971285 A CN 201710971285A CN 107590389 B CN107590389 B CN 107590389B
- Authority
- CN
- China
- Prior art keywords
- message
- test
- sending
- list
- preset
- 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.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 207
- 238000000034 method Methods 0.000 claims abstract description 374
- 230000008569 process Effects 0.000 claims abstract description 346
- 230000002159 abnormal effect Effects 0.000 claims abstract description 28
- 238000012544 monitoring process Methods 0.000 claims abstract description 15
- 230000006870 function Effects 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 12
- 238000012790 confirmation Methods 0.000 claims description 11
- 238000002347 injection Methods 0.000 claims description 10
- 239000007924 injection Substances 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 10
- 238000001514 detection method Methods 0.000 claims description 2
- 230000003247 decreasing effect Effects 0.000 claims 1
- 238000010998 test method Methods 0.000 claims 1
- 238000009781 safety test method Methods 0.000 abstract description 14
- 238000011076 safety test Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000005856 abnormality Effects 0.000 description 6
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000013468 resource allocation Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012356 Product development Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种安全性测试方法及装置、电子设备、计算机存储介质,其中,方法包括:配置与被测对象相对应的进程列表;分别确定所述进程列表中的各个进程所对应的进程窗口;分别向各个进程所对应的进程窗口发送预设消息组合中包含的各条测试消息;监测所述进程列表中的进程数量是否减少;若是,确定所述被测对象的安全性异常。采用本方案,可以对安全性漏洞具有较高的覆盖率,可以全面地获取产品安全性漏洞,实现对产品安全性测试,并且,产品安全性测试结果与测试技术人员测试水平具有较低的依赖性。
Description
技术领域
本发明涉及电子信息技术领域,具体涉及一种安全性测试方法及装置、电子设备、计算机存储介质。
背景技术
安全性测试是在IT产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程。目前,技术人员通常采用“模拟黑客攻击产品”的方法对产品的安全性进行测试,即尝试各种攻击产品的方法或工具,以获取产品安全性性漏洞,
但是,发明人在实现本发明的过程中发现,现有技术中的上述方式至少存在下述缺陷:在上述安全性测试方法中,安全性测试结果与安全性测试人员测试能力具有较强的依赖性,无法全面地获取产品的安全性漏洞,对安全性漏洞的覆盖率低,特别是当安全性测试人员的不具备较强的产品测试能力时,无法有效发现产品中的安全性漏洞。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的安全性测试方法及装置、电子设备、计算机存储介质。
根据本发明的一个方面,提供了一种安全性测试方法,包括:
配置与被测对象相对应的进程列表;
分别确定所述进程列表中的各个进程所对应的进程窗口;
分别向各个进程所对应的进程窗口发送预设消息组合中包含的各条测试消息;
监测所述进程列表中的进程数量是否减少;若是,确定所述被测对象的安全性异常。
根据本发明的另一个方面,提供了一种安全性测试装置,包括:
配置模块,适于配置与被测对象相对应的进程列表;
窗口确定模块,适于分别确定所述进程列表中的各个进程所对应的进程窗口;
发送模块,适于分别向各个进程所对应的进程窗口发送预设消息组合中包含的各条测试消息;
监测确定模块,适于监测所述进程列表中的进程数量是否减少;若是,确定所述被测对象的安全性异常。
根据本发明的又一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述安全性测试方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述安全性测试方法对应的操作。
根据本发明的提供的安全性测试方法及装置、电子设备、计算机存储介质,通过配置与被测对象相对应的进程列表,分别确定进程列表中的各个进程所对应的进程窗口,并分别向各个进程所对应的进程窗口发送预设消息组合中包含的各条测试消息,最终监测进程列表中的进程数量是否减少,若是,则确定被测对象的安全性异常。采用本方案,可以全面、完备地获取产品安全性漏洞,实现对产品安全性测试,并且,产品安全性测试结果与测试技术人员测试水平具有较低的依赖性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例提供的安全性测试方法的流程示意图;
图2示出了根据本发明另一个实施例提供的安全性测试方法的流程示意图;
图3示出了根据本发明一个实施例提供的安全性测试装置的结构框图;
图4示出了根据本发明另一个实施例提供的安全性测试装置的结构框图;
图5示出了根据本发明一个实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例提供的安全性测试方法的流程示意图。如图1所示,该方法包括:
步骤S110,配置与被测对象相对应的进程列表。
其中,被测对象可以为一个或多个,当被测对象为多个时,分别针对每个被测对象配置相应的进程列表。可选的,可为每个进程列表设置相应的列表标识符(如被测对象名称等),通过列表标识符建立与被测对象的映射关系。
进一步地,进程是系统进行资源分配和调度的基本单位,一个被测对象往往对应于一个或多个进程。例如,当某一被测对象安装包中存在多个exe 类文件时,其通常可对应于多个进程。所以,一个被测对象所对应的进程列表中包含一个或多个进程。可选的,进程列表可包含被测对象对应的进程标识符、和/或进程名称等进程信息。
可选的,本实施例可对被测对象具体的功能、测试环境等不作限定。
步骤S120,分别确定进程列表中的各个进程所对应的进程窗口。
其中,一个进程可对应一个或多个进程窗口。可选的,可利用系统API 函数等根据进程的进程标识符来获取进程对应的进程窗口,并进一步确定进程列表中的各个进程所对应的进程窗口。
步骤S130,分别向各个进程所对应的进程窗口发送预设消息组合中包含的各条测试消息。
具体地,为提高被测对象安全漏洞的测试覆盖率,可向各个进程所对应的进程窗口发送预设消息组合中包含的各条测试消息。可选的,各条测试消息可以为由机器自动化生成的随机测试消息,也可以为人工与机器相结合生成的测试消息。进一步地,具体的消息发送规则本领域技术人员可自行设置,本实施例对具体的消息发送规则等不做限定。
步骤S140,监测进程列表中的进程数量是否减少;若是,确定被测对象的安全性异常。
具体地,当被测对象对应的一个或多个进程消失时,通常表明被测对象存在相应的安全漏洞,则可根据进程数量的变化来确定被测对象的安全性状态。
若当前被测对象的对应的进程数量减少,则可确定该被测对象存在相应的安全性漏洞。从而可通过分析已经发送的测试消息来确定被测对象具体的安全漏洞。
可选的,在实际实施过程中,步骤S130和步骤S140可并行执行,在步骤S130向进程窗口发送预设消息组合中包含的各条测试消息过程中,步骤 S140可不断监测进程列表中的进程数量,当监控的进程列表中的进程数量减少时,确定被测对象的安全性异常。
由此可见,本实施例提供的安全性测试方法,通过向被测对象相对应的进程中的进程窗口发送预设消息组合中包含的各条测试消息,从而可提高被测对象安全性漏洞的测试覆盖率,提高被测对象安全性测试的完备性;并通过最终监测进程列表中的进程数量是否减少,若是,则确定被测对象的安全性异常,从而可以实现对产品安全性测试;并且,本实施例提供的安全性测试方法无需技术人员针对被测对象设定特定的测试方案及编写大量测试数据,从而使得安全性测试结果与测试技术人员测试水平具有较低的依赖性。
图2示出了根据本发明另一个实施例提供的安全性测试方法的流程示意图。如图2所示,该方法包括:
步骤S210,配置与被测对象相对应的进程列表。
其中,被测对象可以为一个或多个,当被测对象为多个时,分别针对每个被测对象配置相应的进程列表。可选的,可为每个进程列表设置相应的列表标识符(如被测对象名称等),通过列表标识符建立与被测对象的映射关系。
进一步地,进程是系统进行资源分配和调度的基本单位,一个被测对象往往对应于一个或多个进程。例如,当某一被测对象安装包中存在多个exe 类文件时,其通常可对应于多个进程。所以,一个被测对象所对应的进程列表中包含一个或多个进程。可选的,进程列表可包含被测对象对应的进程标识符、和/或进程名称等进程信息。
可选的,本实施例中的被测对象包括安全软件、和/或操作系统,如安全卫士等,并且本实施例被测对象的测试环境等不作限定。
可选的,本实施例中的安全性测试方法可适用于分布式测试平台。从而可实现被测对象安全性测试的并发执行,提高测试效率。
步骤S220,分别确定进程列表中的各个进程所对应的进程窗口。
具体地,分别针对配置的进程列表中的每个进程,确定该进程所对应的全部的进程窗口,其中,一个进程可对应一个或多个进程窗口。进程窗口包含隐藏窗口和非隐藏窗口。可选的,可利用API函数等根据进程的进程标识符来获取进程对应的进程窗口。如,通过WinExec函数、ShellExecute函数、或CreateProcess等函数获取进程窗口句柄,通过窗口句柄中的进程信息(如进程标识符等)可识别出窗口对应的进程,从而确定进程列表中的各个进程所对应的进程窗口。
步骤S230,分别针对每个进程所对应的每个进程窗口,依次向该进程窗口发送预设消息组合中包含的各条测试消息。
具体地,可预先通过随机方式或半随机方式生成预设消息组合中包含的各条测试消息。例如,可通过机器自动化随机生成各条测试消息,也可以通过人工设定参数,使机器以半随机的方式生成各条测试消息。
其中,预设消息组合中包含的各条测试消息分别对应于唯一的消息序号,并且,每条测试消息中包含相应的消息体,具体的消息体的结构本领域技术人员可自行设置。消息体中包含注入信息,其中,注入信息中包含指针地址,该指针地址为指向存储空间中(如内存)数据的地址。可选的,消息体中还包含消息标识符(如消息编号)、消息对应的窗口信息等。例如,消息体可采用WINDOWS系统中MSG结构,通过hwnd参数表示消息对应的窗口信息,通过message参数表示消息标识符,并通过lParam等参数表示注入消息中的指针地址等。
进一步地,在测试消息生成后,为提高被测对象安全漏洞的测试覆盖率,分别针对每个进程所对应的每个进程窗口,依次向该进程窗口发送预设消息组合中包含的各条测试消息。其中,消息发送方式包括但不限于以下两种发送方式:
发送方式一:通过串行处理方式依次向各个进程所对应的进程窗口发送预设消息组合中包含的各条测试消息。该种消息发送方式可节省消息发送端口,精简系统结构,但消息发送效率较低。
发送方式二:通过并行处理方式分别向各个进程所对应的进程窗口发送预设消息组合中包含的各条测试消息。该种消息发送方式可快速提高消息发送速率,但会增加系统开销。
可选的,还可以采用串行和并行处理相结合的方式,向各个进程所对应的进程窗口发送预设消息组合中包含的各条测试消息。总之,本领域技术人员可根据实际业务需求设定相应的消息发送方式。
其中,每当发送完一条测试消息之后,判断是否收到来自该进程窗口的响应确认消息,若是,则在预设的消息发送列表中记录本条测试消息的消息序号,并发送预设消息组合中的下一条消息;若否,则进一步判断本条测试消息的发送时间距离当前时间是否达到预设时间间隔,若是,则发送预设消息组合中的下一条消息。具体地,在给进程窗口发送一条测试消息后,进程窗口会反馈相应的响应确认消息;但当进程窗口出现阻塞未能及时反馈响应确认消息时,若步骤S240判断监测的进程列表中的进程数量未发生减少,则继续等待相应确认消息的反馈,直至达到预设时间间隔时,发送下一条测试消息。
步骤S240,监测进程列表中的进程数量是否减少,若是,则执行步骤S250;若否,则执行步骤S260。
其中,当被测对象对应的一个或多个进程消失时,通常表明被测对象存在相应的安全漏洞,则可根据进程数量的变化来确定被测对象的安全性状态。
具体地,在步骤S230发送测试消息的过程中,可不断监测进程列表中的进程数量,当进程列表中的进程数量减少时,停止执行步骤S230,即不再向进程窗口发送测试消息,而进一步执行步骤S250。可选的,当监测到的进程列表中的进程数量减少时,可启动漏洞报警机制,以提示测试人员被测对象中存在安全漏洞。其中,具体的报警形式本领域技术人员可自行设置,例如,可通过漏洞报警弹窗,或者消息推送等形式进行漏洞报警。
当步骤S230中测试消息发送完毕后,监测到的进程列表中的进程数量未减少,则进一步执行步骤S260。
步骤S250,确定被测对象的安全性异常。
具体地,当监测到进程列表中的进程数量减少时,确定从进程列表中退出的进程。例如,可通过相应的API函数不断获取当前存活进程,根据当前存活进程与进程列表的比对,可确定出从进程列表中退出的进程。
进一步地,根据预设的消息发送列表确定在该进程退出之前,向该进程发送的测试消息所属的消息序号范围,并提取消息序号范围内的测试消息,根据提取到的测试消息分析被测对象的异常原因。其中,确定需提取的消息序号范围的规则本领域人员可自行设置,例如,可将进程第一次未收到响应确认消息的消息序号至进程退出前最后一个测试消息对应的消息序号之间的范围确定为需提取的消息序号范围;也可以将进程退出前连续未收到响应确认消息所对应的消息序号范围确定为需提取的消息序号范围。
举例来说,若预设的消息组合中包含100条测试消息。表1示出了进程 P1所对应的测试消息。如表1所示,向进程P1仅发送了7条测试消息,当在第7条消息发送后,进程P1退出进程列表,从而不再向进程发送测试消息。在该7条测试消息中,序号为3、5、6及7的测试消息在发送后未获得相应的响应确认消息,则进程P1的退出可能与序号5-7的测试消息,或序号3-7 的测试消息相关。则可提取序号5-7所对应的测试消息,或序号3-7所对应的测试消息,根据提取出的测试消息进一步分析被测对象的异常原因。
表1
消息序号 | 已发送 | 已反馈 |
1 | YES | YES |
2 | YES | YES |
3 | YES | NO |
4 | YES | YES |
5 | YES | NO |
6 | YES | NO |
7 | YES | NO |
可选的,在确定被测对象的安全性异常后,也可通过漏洞报警机制提示测试人员具体的安全性异常内容。
进一步可选的,在确定被测对象安全性异常后,可通过从预设的漏洞修复补丁库中调取与确定的安全性异常相匹配的漏洞修复补丁,对被测对象进行及时修复;若预设的漏洞修改补丁库中无与确定的安全性异常相匹配的漏洞修复补丁,则可在测试或开发等相关人员对该安全性异常进行修复后,将与该安全性异常修复方法自动生成相应的漏洞修复补丁,存储在漏洞修复补丁库中。
步骤S260,验证被测对象的各个功能模块。
若预设消息组合中包含的各条测试消息发送完毕后,监测进程列表中的进程数量未减少,则进一步验证被测对象的各个功能模块是否正常。其中,被测对象的各个功能模块包括:防护弹窗模块等。具体的功能模块验证方法本领域人员可自行设置。
具体地,验证被测对象的各个功能模块是否正常。若验证的被测对应的各个功能模块正常,则表明针对预设消息组合中包含的各条测试消息,被测对象未出现安全漏洞;若验证的被测对应的各个功能模块不正常,则可根据预设消息组合中包含的各条测试消息进一步分析被测对象的安全性异常。以表1为例,若预设消息组合中仅包含7条测试消息,在该7条测试消息均发送后,未有进程从进程列表中退出,但被测对象中的防护弹窗模块发生异常,则可根据发送的测试消息确定引起防护弹窗模块异常的消息序号范围,如序号5-7的消息序号范围,或序号3-7的消息序号范围等。总之,本领域技术人员可根据实际业务根据发送的测试消息确定被测的安全性异常。
由此可见,本实施例提供的安全性测试方法,通过向被测对象相对应的进程中的每个进程窗口发送预设消息组合中包含的各条测试消息,从而可提高被测对象安全性漏洞的测试覆盖率,提高被测对象安全性测试的完备性;并通过最终监测进程列表中的进程数量是否减少,若是,则确定被测对象的安全性异常,从而可以实现对产品安全性测试;并且,本实施例提供的安全性测试方法无需技术人员针对被测对象设定测试方案及编写大量测试数据,从而使得安全性测试结果与测试技术人员测试水平具有较低的依赖性;此外,通过随机或半随机的方式生成测试消息可进一步地提高测试效率;并且,通过记录测试消息的消息序号,在有进程退出进程列表时可以快速地确定引起进程退出所对应的测试消息,从而可准确地确定被测对象的安全性异常;另外,即使在未有进程从进程列表中退出的情况下进一步对被测对象的各个功能模块进行检测,从而进一步提高安全测试的完备性。
图3示出了根据本发明一个实施例提供的安全性测试装置的结构框图。如图3所示,该装置包括:配置模块31、窗口确定模块32、发送模块33、监测确定模块34。
其中,配置模块31适于配置与被测对象相对应的进程列表。
其中,被测对象可以为一个或多个,当被测对象为多个时,分别针对每个被测对象配置相应的进程列表。可选的,可为每个进程列表设置相应的列表标识符(如被测对象名称等),通过列表标识符建立与被测对象的映射关系。
进一步地,进程是系统进行资源分配和调度的基本单位,一个被测对象往往对应于一个或多个进程。例如,当某一被测对象安装包中存在多个exe 类文件时,其通常可对应于多个进程。所以,一个被测对象所对应的进程列表中包含一个或多个进程。可选的,进程列表可包含被测对象对应的进程标识符、和/或进程名称等进程信息。
可选的,本实施例可对被测对象具体的功能、测试环境等不作限定。
窗口确定模块32,适于分别确定进程列表中的各个进程所对应的进程窗口。
其中,一个进程可对应一个或多个进程窗口。可选的,可利用系统API 函数等根据进程的进程标识符来获取进程对应的进程窗口,并进一步确定进程列表中的各个进程所对应的进程窗口。
发送模块33,适于分别向各个进程所对应的进程窗口发送预设消息组合中包含的各条测试消息。
具体地,为提高被测对象安全漏洞的测试覆盖率,可向各个进程所对应的进程窗口发送预设消息组合中包含的各条测试消息。可选的,各条测试消息可以为由机器自动化生成的随机测试消息,也可以为人工与机器相结合生成的测试消息。进一步地,具体的消息发送规则本领域技术人员可自行设置,本实施例对具体的消息发送规则等不做限定。
监测确定模块34,适于监测进程列表中的进程数量是否减少;若是,确定被测对象的安全性异常。
具体地,当被测对象对应的一个或多个进程消失时,通常表明被测对象存在相应的安全漏洞,则可根据进程数量的变化来确定被测对象的安全性状态。
若当前被测对象的对应的进程数量减少,则可确定该被测对象存在相应的安全性漏洞。从而可通过分析已经发送的测试消息来确定被测对象具体的安全漏洞。
可选的,在实际实施过程中,发送模块33和监测确定模块34可并行执行,在发送模块33向进程窗口发送预设消息组合中包含的各条测试消息过程中,监测确定模块34可不断监测进程列表中的进程数量,当监控的进程列表中的进程数量减少时,确定被测对象的安全性异常。
由此可见,本实施例提供的安全性测试装置,通过向被测对象相对应的进程中的进程窗口发送预设消息组合中包含的各条测试消息,从而可提高被测对象安全性漏洞的测试覆盖率,提高被测对象安全性测试的完备性;并通过最终监测进程列表中的进程数量是否减少,若是,则确定被测对象的安全性异常,从而可以实现对产品安全性测试;并且,本实施例提供的安全性测试装置无需技术人员针对被测对象设定特定的测试方案及编写大量测试数据,从而使得安全性测试结果与测试技术人员测试水平具有较低的依赖性。
图4示出了根据本发明另一个实施例提供的安全性测试装置的结构框图。如图4所示,在图3所示装置的基础上,该装置还包括:消息生成模块41、以及功能检测模块42。
其中,本实施例中的被测对象包括安全软件、和/或操作系统,如安全卫士等,并且本实施例被测对象的测试环境等不作限定。
可选的,本实施例中的安全性测试方法可适用于分布式测试平台。从而可实现被测对象安全性测试的并发执行,提高测试效率。
窗口确定模块32进一步适于:分别针对进程列表中的每个进程,确定该进程所对应的全部进程窗口;其中,该进程所对应的全部进程窗口包括:可见窗口和/或隐藏窗口。
消息生成模块41,适于通过随机方式或半随机方式生成预设消息组合中包含的各条测试消息。其中,测试消息的消息体中包括注入信息,且所述注入信息进一步包括:指针地址。
其中,预设消息组合中包含的各条测试消息分别对应于唯一的消息序号。
则发送模块33进一步适于:分别针对每个进程所对应的每个进程窗口,依次向该进程窗口发送预设消息组合中包含的各条测试消息;其中,每当发送完一条测试消息之后,判断是否收到来自该进程窗口的响应确认消息;若是,则在预设的消息发送列表中记录本条测试消息的消息序号,并发送所述预设消息组合中的下一条消息;若否,则进一步判断本条测试消息的发送时间距离当前时间是否达到预设时间间隔,若是,则发送所述预设消息组合中的下一条消息。
发送模块33进一步适于:通过串行处理方式依次向各个进程所对应的进程窗口发送预设消息组合中包含的各条测试消息;或者,通过并行处理方式分别向各个进程所对应的进程窗口发送预设消息组合中包含的各条测试消息。
监测确定模块34进一步适于:当监测到所述进程列表中的进程数量减少时,确定从所述进程列表中退出的进程;根据所述预设的消息发送列表确定在该进程退出之前,向该进程发送的测试消息所属的消息序号范围;提取所述消息序号范围内的测试消息,根据提取到的测试消息分析所述被测对象的异常原因。
功能检测模块43,适于若进程列表中的进程数量未减少,进一步验证被测对象的各个功能模块是否正常;若否,确定被测对象的安全性异常。可选的,被测对象的各个功能模块包括防护弹窗模块。
由此可见,本实施例提供的安全性测试装置,通过向被测对象相对应的进程中的每个进程窗口发送预设消息组合中包含的各条测试消息,从而可提高被测对象安全性漏洞的测试覆盖率,提高被测对象安全性测试的完备性;并通过最终监测进程列表中的进程数量是否减少,若是,则确定被测对象的安全性异常,从而可以实现对产品安全性测试;并且,本实施例提供的安全性测试装置无需技术人员针对被测对象设定测试方案及编写大量测试数据,从而使得安全性测试结果与测试技术人员测试水平具有较低的依赖性;此外,通过随机或半随机的方式生成测试消息可进一步地提高测试效率;并且,通过记录测试消息的消息序号,在有进程退出进程列表时可以快速地确定引起进程退出所对应的测试消息,从而可准确地确定被测对象的安全性异常;另外,即使在未有进程从进程列表中退出的情况下进一步对被测对象的各个功能模块进行检测,从而进一步提高安全测试的完备性。
根据本发明一个实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的安全性测试方法。
图5示出了根据本发明一个实施例提供的电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图5所示,该电子设备可以包括:处理器(processor)502、通信接口(CommunicationsInterface)504、存储器(memory)506、以及通信总线508。
其中:处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。
通信接口504,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器502,用于执行程序510,具体可以执行上述安全性测试方法实施例中的相关步骤。
具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。
处理器502可能是中央处理器CPU,或者是特定集成电路ASIC (ApplicationSpecificIntegratedCircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器506,用于存放程序510。存储器506可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
程序510具体可以用于使得处理器502执行以下操作:
配置与被测对象相对应的进程列表;
分别确定所述进程列表中的各个进程所对应的进程窗口;
分别向各个进程所对应的进程窗口发送预设消息组合中包含的各条测试消息;
监测所述进程列表中的进程数量是否减少;若是,确定所述被测对象的安全性异常。
其中,所述预设消息组合中包含的各条测试消息分别对应于唯一的消息序号,则程序510还可以用于使得处理器502执行以下操作:
分别针对每个进程所对应的每个进程窗口,依次向该进程窗口发送预设消息组合中包含的各条测试消息;
其中,每当发送完一条测试消息之后,判断是否收到来自该进程窗口的响应确认消息;若是,则在预设的消息发送列表中记录本条测试消息的消息序号,并发送所述预设消息组合中的下一条消息;
若否,则进一步判断本条测试消息的发送时间距离当前时间是否达到预设时间间隔,若是,则发送所述预设消息组合中的下一条消息。
程序510还可以用于使得处理器502执行以下操作:
当监测到所述进程列表中的进程数量减少时,确定从所述进程列表中退出的进程;
根据所述预设的消息发送列表确定在该进程退出之前,向该进程发送的测试消息所属的消息序号范围;
提取所述消息序号范围内的测试消息,根据提取到的测试消息分析所述被测对象的异常原因。
程序510还可以用于使得处理器502执行以下操作:
若所述进程列表中的进程数量未减少,进一步验证所述被测对象的各个功能模块是否正常;若否,确定所述被测对象的安全性异常。
其中,所述被测对象的各个功能模块包括:防护弹窗模块。
程序510还可以用于使得处理器502执行以下操作:
分别针对所述进程列表中的每个进程,确定该进程所对应的全部进程窗口;其中,该进程所对应的全部进程窗口包括:可见窗口和/或隐藏窗口。
程序510还可以用于使得处理器502执行以下操作:
通过随机方式或半随机方式生成所述预设消息组合中包含的各条测试消息;其中,所述测试消息的消息体中包括注入信息,且所述注入信息进一步包括:指针地址。
程序510还可以用于使得处理器502执行以下操作:
通过串行处理方式依次向各个进程所对应的进程窗口发送预设消息组合中包含的各条测试消息;或者,
通过并行处理方式分别向各个进程所对应的进程窗口发送预设消息组合中包含的各条测试消息。
其中,所述安全性测试方法适用于分布式测试平台,且所述被测对象包括:安全软件、和/或操作系统。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的安全性测试装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (18)
1.一种安全性测试方法,包括:
配置与被测对象相对应的进程列表;
分别确定所述进程列表中的各个进程所对应的进程窗口;
分别向各个进程所对应的进程窗口发送预设消息组合中包含的各条测试消息;
监测所述进程列表中的进程数量是否减少;若是,确定所述被测对象的安全性异常;其中,所述预设消息组合中包含的各条测试消息分别对应于唯一的消息序号,则所述分别向各个进程所对应的进程窗口发送预设消息组合中包含的各条测试消息的步骤具体包括:
分别针对每个进程所对应的每个进程窗口,依次向该进程窗口发送预设消息组合中包含的各条测试消息;
其中,每当发送完一条测试消息之后,判断是否收到来自该进程窗口的响应确认消息;若是,则在预设的消息发送列表中记录本条测试消息的消息序号,并发送所述预设消息组合中的下一条消息;
若否,则进一步判断本条测试消息的发送时间距离当前时间是否达到预设时间间隔,若是,则发送所述预设消息组合中的下一条消息。
2.根据权利要求1所述的方法,其中,所述监测所述进程列表中的进程数量是否减少;若是,确定所述被测对象的安全性异常的步骤具体包括:
当监测到所述进程列表中的进程数量减少时,确定从所述进程列表中退出的进程;
根据所述预设的消息发送列表确定在该进程退出之前,向该进程发送的测试消息所属的消息序号范围;
提取所述消息序号范围内的测试消息,根据提取到的测试消息分析所述被测对象的异常原因。
3.根据权利要求1所述的方法,其中,若所述进程列表中的进程数量未减少,进一步验证所述被测对象的各个功能模块是否正常;若否,确定所述被测对象的安全性异常。
4.根据权利要求3所述的方法,其中,所述被测对象的各个功能模块包括:防护弹窗模块。
5.根据权利要求1-4任一所述的方法,其中,所述分别确定所述进程列表中的各个进程所对应的进程窗口的步骤具体包括:
分别针对所述进程列表中的每个进程,确定该进程所对应的全部进程窗口;其中,该进程所对应的全部进程窗口包括:可见窗口和/或隐藏窗口。
6.根据权利要求1-4任一所述的方法,其中,所述分别向各个进程所对应的进程窗口发送预设消息组合中包含的各条测试消息的步骤之前,进一步包括:
通过随机方式或半随机方式生成所述预设消息组合中包含的各条测试消息;其中,所述测试消息的消息体中包括注入信息,且所述注入信息进一步包括:指针地址。
7.根据权利要求1-4任一所述的方法,其中,所述分别向各个进程所对应的进程窗口发送预设消息组合中包含的各条测试消息的步骤具体包括:
通过串行处理方式依次向各个进程所对应的进程窗口发送预设消息组合中包含的各条测试消息;或者,
通过并行处理方式分别向各个进程所对应的进程窗口发送预设消息组合中包含的各条测试消息。
8.根据权利要求1-4任一所述的方法,其中,所述安全性测试方法适用于分布式测试平台,且所述被测对象包括:安全软件、和/或操作系统。
9.一种安全性测试装置,包括:
配置模块,适于配置与被测对象相对应的进程列表;
窗口确定模块,适于分别确定所述进程列表中的各个进程所对应的进程窗口;
发送模块,适于分别向各个进程所对应的进程窗口发送预设消息组合中包含的各条测试消息;
监测确定模块,适于监测所述进程列表中的进程数量是否减少;若是,确定所述被测对象的安全性异常;其中,所述预设消息组合中包含的各条测试消息分别对应于唯一的消息序号;
则所述发送模块进一步适于:分别针对每个进程所对应的每个进程窗口,依次向该进程窗口发送预设消息组合中包含的各条测试消息;
其中,每当发送完一条测试消息之后,判断是否收到来自该进程窗口的响应确认消息;若是,则在预设的消息发送列表中记录本条测试消息的消息序号,并发送所述预设消息组合中的下一条消息;
若否,则进一步判断本条测试消息的发送时间距离当前时间是否达到预设时间间隔,若是,则发送所述预设消息组合中的下一条消息。
10.根据权利要求9所述的装置,其中,所述监测确定模块进一步适于:
当监测到所述进程列表中的进程数量减少时,确定从所述进程列表中退出的进程;
根据所述预设的消息发送列表确定在该进程退出之前,向该进程发送的测试消息所属的消息序号范围;
提取所述消息序号范围内的测试消息,根据提取到的测试消息分析所述被测对象的异常原因。
11.根据权利要求9所述的装置,其中,所述装置还包括:
功能检测模块,适于若所述进程列表中的进程数量未减少,进一步验证所述被测对象的各个功能模块是否正常;若否,确定所述被测对象的安全性异常。
12.根据权利要求11所述的装置,其中,所述被测对象的各个功能模块包括:防护弹窗模块。
13.根据权利要求9-12任一所述的装置,其中,所述窗口确定模块进一步适于:
分别针对所述进程列表中的每个进程,确定该进程所对应的全部进程窗口;其中,该进程所对应的全部进程窗口包括:可见窗口和/或隐藏窗口。
14.根据权利要求9-12任一所述的装置,其中,所述装置还包括:
消息生成模块,适于通过随机方式或半随机方式生成所述预设消息组合中包含的各条测试消息;
其中,所述测试消息的消息体中包括注入信息,且所述注入信息进一步包括:指针地址。
15.根据权利要求9-12任一所述的装置,其中,所述发送模块进一步适于:
通过串行处理方式依次向各个进程所对应的进程窗口发送预设消息组合中包含的各条测试消息;或者,
通过并行处理方式分别向各个进程所对应的进程窗口发送预设消息组合中包含的各条测试消息。
16.根据权利要求9-12任一所述的装置,其中,所述安全性测试装置适用于分布式测试平台,且所述被测对象包括:安全软件、和/或操作系统。
17.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器适于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-8任一所述的安全性测试方法对应的操作。
18.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-8任一所述的安全性测试方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710971285.7A CN107590389B (zh) | 2017-10-18 | 2017-10-18 | 安全性测试方法及装置、电子设备、计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710971285.7A CN107590389B (zh) | 2017-10-18 | 2017-10-18 | 安全性测试方法及装置、电子设备、计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107590389A CN107590389A (zh) | 2018-01-16 |
CN107590389B true CN107590389B (zh) | 2020-09-11 |
Family
ID=61053229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710971285.7A Active CN107590389B (zh) | 2017-10-18 | 2017-10-18 | 安全性测试方法及装置、电子设备、计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107590389B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110858132B (zh) * | 2018-11-22 | 2023-07-21 | 安天科技集团股份有限公司 | 一种打印设备的配置安全检测方法及装置 |
CN109558233A (zh) * | 2018-11-29 | 2019-04-02 | 北京北信源信息安全技术有限公司 | 窗口进程管理方法、装置、存储介质及服务器 |
CN111581084B (zh) * | 2020-04-28 | 2021-01-26 | 南方电网数字电网研究院有限公司 | 基于智能电表操作系统的进程测试方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1484790A (zh) * | 2001-01-04 | 2004-03-24 | �Ҵ���˾ | 测试带有图形用户界面的未知程序的方法和装置 |
CN101944167A (zh) * | 2010-09-29 | 2011-01-12 | 中国科学院计算技术研究所 | 识别恶意程序的方法及系统 |
CN103838651A (zh) * | 2012-11-21 | 2014-06-04 | 鸿富锦精密工业(深圳)有限公司 | 主板功能测试管控系统及方法 |
CN104199774A (zh) * | 2014-09-05 | 2014-12-10 | 北京奇虎科技有限公司 | 程序安全测试方法和装置 |
CN107122306A (zh) * | 2017-05-15 | 2017-09-01 | 网易(杭州)网络有限公司 | 自动化测试方法及装置、存储介质、电子设备 |
-
2017
- 2017-10-18 CN CN201710971285.7A patent/CN107590389B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1484790A (zh) * | 2001-01-04 | 2004-03-24 | �Ҵ���˾ | 测试带有图形用户界面的未知程序的方法和装置 |
CN101944167A (zh) * | 2010-09-29 | 2011-01-12 | 中国科学院计算技术研究所 | 识别恶意程序的方法及系统 |
CN103838651A (zh) * | 2012-11-21 | 2014-06-04 | 鸿富锦精密工业(深圳)有限公司 | 主板功能测试管控系统及方法 |
CN104199774A (zh) * | 2014-09-05 | 2014-12-10 | 北京奇虎科技有限公司 | 程序安全测试方法和装置 |
CN107122306A (zh) * | 2017-05-15 | 2017-09-01 | 网易(杭州)网络有限公司 | 自动化测试方法及装置、存储介质、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107590389A (zh) | 2018-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111414172B (zh) | 应用软件自动部署发布系统及方法 | |
US9514034B1 (en) | Ordered test execution to enable faster feedback | |
CN106294102B (zh) | 应用程序的测试方法、客户端、服务器及系统 | |
CN107590389B (zh) | 安全性测试方法及装置、电子设备、计算机存储介质 | |
CN107729255B (zh) | 软件测试方法、装置及系统 | |
CN107741910B (zh) | 应用程序安装性能测试方法、装置、计算设备及存储介质 | |
US20110296248A1 (en) | Systems and methods for restoring machine state history related to detected faults in package update process | |
US20120284567A1 (en) | Model-based testing of an application program under test | |
CN110569159A (zh) | 挡板生成方法、装置、设备及计算机存储介质 | |
CN109995612B (zh) | 一种服务巡检方法、装置及电子设备 | |
CN109255240B (zh) | 一种漏洞处理方法和装置 | |
CN107621963B (zh) | 一种软件部署方法、软件部署系统及电子设备 | |
US20150317232A1 (en) | Method And Apparatus For Positioning Crash | |
CN109885037A (zh) | 一种车辆诊断的方法及相关设备 | |
CN111447167A (zh) | 车载系统安全防护方法及装置 | |
Weber et al. | CCaaS: Online Conformance Checking as a Service. | |
CN111752819A (zh) | 一种异常监控方法、装置、系统、设备和存储介质 | |
CN112748950A (zh) | 一种软件代码审查方法及装置 | |
CN111597093B (zh) | 一种异常处理方法、装置及其设备 | |
US8365281B2 (en) | Determining whether method of computer program is a validator | |
CN109688088B (zh) | 网络入侵防护系统抗逃逸能力测试方法、装置和测试机 | |
CN108156048A (zh) | 一种实现在复杂场景中获取应用崩溃信息的方法和装置 | |
CN110597736B (zh) | 测试数据生成方法及装置 | |
CN114090357A (zh) | 一种硬盘性能测试方法、装置、电子设备及存储介质 | |
CN112948276A (zh) | 模糊测试方法、装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |