应用测试方法、装置、电子设备及计算机可读存储介质转让专利

申请号 : CN202311111471.5

文献号 : CN116841912B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李孟德

申请人 : 美云智数科技有限公司

摘要 :

本申请涉及互联网技术领域,提供一种应用测试方法、装置、电子设备及计算机可读存储介质,所述方法包括:获取待测试应用的应用信息;基于所述应用信息确定测试工具,所述测试工具包括主动测试工具和被动测试工具中的一种;所述主动测试工具是基于所述应用信息中的网络标识信息确定的,所述被动测试工具是基于所述应用信息中的端口信息确定的;利用所述测试工具对所述待测试应用进行测试,得到应用测试结果。本申请可以避免人工进行漏洞扫描时需要从多种工具中选择相应的工具而导致的测试效率低的问题,进而提高进行应用测试时的效率。

权利要求 :

1.一种应用测试方法,其特征在于,包括:

获取待测试应用的应用信息;

基于所述应用信息确定测试工具,所述测试工具包括主动测试工具和被动测试工具中的一种;所述主动测试工具是基于所述应用信息中的网络标识信息确定的,所述被动测试工具是基于所述应用信息中的端口信息确定的;

利用所述测试工具对所述待测试应用进行测试,得到应用测试结果;

在确定所述测试工具为所述主动测试工具的情况下,所述利用所述测试工具对所述待测试应用进行测试,得到应用测试结果,还包括:利用所述主动测试工具对所述待测试应用进行资产扫描,得到资产扫描信息;

利用所述主动测试工具对所述资产扫描信息进行异常检测,得到应用测试结果;

所述利用所述主动测试工具对所述资产扫描信息进行异常检测,得到应用测试结果,包括:利用所述主动测试工具对所述资产扫描信息进行资产描绘,得到第一扫描数据;

利用所述主动测试工具对所述资产扫描信息进行信息爆破,得到第二扫描数据;

利用所述主动测试工具对所述资产扫描信息进行漏洞扫描,得到第三扫描数据;

基于所述第一扫描数据、所述第二扫描数据与所述第三扫描数据,生成应用测试结果;

在确定所述测试工具为所述被动测试工具的情况下,所述利用所述测试工具对所述待测试应用进行测试,得到应用测试结果,包括:利用所述被动测试工具对所述待测试应用进行数据编排,得到编排数据;

利用所述被动测试工具对所述编排数据进行异常分析,得到异常分析数据;

利用所述被动测试工具对所述异常分析数据进行安全渗透测试,得到应用测试结果;

所述利用所述被动测试工具对所述待测试应用进行数据编排,得到编排数据,包括:基于所述应用信息,调用所述被动测试工具的数据编排模块;

利用所述数据编排模块中的XPATH语言,对所述待测试应用中触发动作行为的功能菜单及与所述功能菜单对应的接口或请求进行数据编排,得到编排数据。

2.根据权利要求1所述的应用测试方法,其特征在于,所述利用所述被动测试工具对所述编排数据进行异常分析,得到异常分析数据,包括:调用所述被动测试工具中的威胁分析模型;其中,所述威胁分析模型是基于样本编排数据与漏洞数据,对预设分析模型进行训练得到的;

基于所述威胁分析模型对所述编排数据进行异常分析,得到异常分析数据。

3.根据权利要求1所述的应用测试方法,其特征在于,所述异常分析数据包括威胁分析队列数组与脆弱链条数组;所述利用所述被动测试工具对所述异常分析数据进行安全渗透测试,得到应用测试结果,包括:利用所述被动测试工具,对所述威胁分析队列数组进行安全渗透测试与模糊测试,得到第一测试结果;

利用所述被动测试工具,对所述脆弱链条数组进行安全渗透测试,得到第二测试结果;

基于所述第一测试结果与所述第二测试结果,生成应用测试结果。

4.根据权利要求1所述的应用测试方法,其特征在于,所述利用所述主动测试工具对所述资产扫描信息进行信息爆破,得到第二扫描数据,包括:利用所述主动测试工具对所述资产扫描信息进行目录爆破,得到第一爆破数据;

利用所述主动测试工具对所述资产扫描信息进行口令爆破,得到第二爆破数据;

基于所述第一爆破数据与所述第二爆破数据,生成第二扫描数据。

5.根据权利要求1‑4任一项所述的应用测试方法,其特征在于,在利用所述测试工具对所述待测试应用进行测试,得到应用测试结果之后,还包括:对所述应用测试结果进行可视化输出。

6.一种应用测试装置,其特征在于,包括:

获取模块,用于获取待测试应用的应用信息;

确定模块,用于基于所述应用信息确定测试工具,所述测试工具包括主动测试工具和被动测试工具中的一种;所述主动测试工具是基于所述应用信息中的网络标识信息确定的,所述被动测试工具是基于所述应用信息中的端口信息确定的;

测试模块,用于利用所述测试工具对所述待测试应用进行测试,得到应用测试结果;

所述测试模块,还用于利用所述主动测试工具对所述待测试应用进行资产扫描,得到资产扫描信息;利用所述主动测试工具对所述资产扫描信息进行异常检测,得到应用测试结果;

所述测试模块,还用于利用所述主动测试工具对所述资产扫描信息进行资产描绘,得到第一扫描数据;利用所述主动测试工具对所述资产扫描信息进行信息爆破,得到第二扫描数据;利用所述主动测试工具对所述资产扫描信息进行漏洞扫描,得到第三扫描数据;基于所述第一扫描数据、所述第二扫描数据与所述第三扫描数据,生成应用测试结果;

所述测试模块,还用于利用所述被动测试工具对所述待测试应用进行数据编排,得到编排数据;利用所述被动测试工具对所述编排数据进行异常分析,得到异常分析数据;利用所述被动测试工具对所述异常分析数据进行安全渗透测试,得到应用测试结果;

所述测试模块,还用于基于所述应用信息,调用所述被动测试工具的数据编排模块;利用所述数据编排模块中的XPATH语言,对所述待测试应用中触发动作行为的功能菜单及与所述功能菜单对应的接口或请求进行数据编排,得到编排数据。

7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述应用测试方法。

8.一种计算机可读存储介质,所述计算机可读存储介质为非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至5任一项所述应用测试方法。

说明书 :

应用测试方法、装置、电子设备及计算机可读存储介质

技术领域

[0001] 本申请涉及互联网技术领域,尤其涉及一种应用测试方法、装置、电子设备及计算机可读存储介质。

背景技术

[0002] 应用安全渗透测试是一种比较复杂、繁琐以及涉及面广的评估系统安全性的测试技术。目前流行的安全渗透测试过程是由人工分别采用各种工具进行安全扫描,再配合手
工挖掘漏洞的过程。在上述过程中,进行安全扫描时采用的工具种类很多,并且同一种类型
的工具也各有不同,人工使用起来比较繁琐和复杂,由此导致当前进行应用测试时的效率
低下。

发明内容

[0003] 本申请旨在至少解决相关技术中存在的技术问题之一。为此,本申请提出一种应用测试方法,可以提高进行应用测试时的效率。
[0004] 本申请还提出一种应用测试装置、电子设备及计算机可读存储介质。
[0005] 根据本申请第一方面实施例的应用测试方法,包括:
[0006] 获取待测试应用的应用信息;
[0007] 基于所述应用信息确定测试工具,所述测试工具包括主动测试工具和被动测试工具中的一种;所述主动测试工具是基于所述应用信息中的网络标识信息确定的,所述被动
测试工具是基于所述应用信息中的端口信息确定的;
[0008] 利用所述测试工具对所述待测试应用进行测试,得到应用测试结果。
[0009] 根据本申请实施例的应用测试方法,在获取到待测试应用的网络标识信息时,可以通过主动测试工具对待测试应用进行测试并得到应用测试结果;在获取到待测试应用的
端口信息时,可以通过被动测试工具对待测试应用进行测试并得到应用测试结果,由此可
以避免人工进行漏洞扫描时需要从多种工具中选择相应的工具而导致的测试效率低的问
题,进而提高进行应用测试时的效率。
[0010] 根据本申请的一个实施例,在确定所述测试工具为所述被动测试工具的情况下,所述利用所述测试工具对所述待测试应用进行测试,得到应用测试结果,包括:
[0011] 利用所述被动测试工具对所述待测试应用进行数据编排,得到编排数据;
[0012] 利用所述被动测试工具对所述编排数据进行异常分析,得到异常分析数据;
[0013] 利用所述被动测试工具对所述异常分析数据进行安全渗透测试,得到应用测试结果。
[0014] 根据本申请的一个实施例,所述利用所述被动测试工具对所述待测试应用进行数据编排,得到编排数据,包括:
[0015] 基于所述应用信息,调用所述被动测试工具的数据编排模块;
[0016] 利用所述数据编排模块中的XPATH语言,对所述待测试应用中触发动作行为的功能菜单及与所述功能菜单对应的接口或请求进行数据编排,得到编排数据。
[0017] 根据本申请的一个实施例,所述利用所述被动测试工具对所述编排数据进行异常分析,得到异常分析数据,包括:
[0018] 调用所述被动测试工具中的威胁分析模型;其中,所述威胁分析模型是基于样本编排数据与漏洞数据,对预设分析模型进行训练得到的;
[0019] 基于所述威胁分析模型对所述编排数据进行异常分析,得到异常分析数据。
[0020] 根据本申请的一个实施例,所述异常分析数据包括威胁分析队列数组与脆弱链条数组;所述利用所述被动测试工具对所述异常分析数据进行安全渗透测试,得到应用测试
结果,包括:
[0021] 利用所述被动测试工具,对所述威胁分析队列数组进行安全渗透测试与模糊测试,得到第一测试结果;
[0022] 利用所述被动测试工具,对所述脆弱链条数组进行安全渗透测试,得到第二测试结果;
[0023] 基于所述第一测试结果与所述第二测试结果,生成应用测试结果。
[0024] 根据本申请的一个实施例,在确定所述测试工具为所述主动测试工具的情况下,所述利用所述测试工具对所述待测试应用进行测试,得到应用测试结果,还包括:
[0025] 利用所述主动测试工具对所述待测试应用进行资产扫描,得到资产扫描信息;
[0026] 利用所述主动测试工具对所述资产扫描信息进行异常检测,得到应用测试结果。
[0027] 根据本申请的一个实施例,所述利用所述主动测试工具对所述资产扫描信息进行异常检测,得到应用测试结果,包括:
[0028] 利用所述主动测试工具对所述资产扫描信息进行资产描绘,得到第一扫描数据;
[0029] 利用所述主动测试工具对所述资产扫描信息进行信息爆破,得到第二扫描数据;
[0030] 利用所述主动测试工具对所述资产扫描信息进行漏洞扫描,得到第三扫描数据;
[0031] 基于所述第一扫描数据、所述第二扫描数据与所述第三扫描数据,生成应用测试结果。
[0032] 根据本申请的一个实施例,所述利用所述主动测试工具对所述资产扫描信息进行信息爆破,得到第二扫描数据,包括:
[0033] 利用所述主动测试工具对所述资产扫描信息进行目录爆破,得到第一爆破数据;
[0034] 利用所述主动测试工具对所述资产扫描信息进行口令爆破,得到第二爆破数据;
[0035] 基于所述第一爆破数据与所述第二爆破数据,生成第二扫描数据。
[0036] 根据本申请的一个实施例,在利用所述测试工具对所述待测试应用进行测试,得到应用测试结果之后,还包括:
[0037] 对所述应用测试结果进行可视化输出。
[0038] 根据本申请第二方面实施例的应用测试装置,包括:
[0039] 获取模块,用于获取待测试应用的应用信息;
[0040] 确定模块,用于基于所述应用信息确定测试工具,所述测试工具包括主动测试工具和被动测试工具中的一种;所述主动测试工具是基于所述应用信息中的网络标识信息确
定的,所述被动测试工具是基于所述应用信息中的端口信息确定的;
[0041] 测试模块,用于利用所述测试工具对所述待测试应用进行测试,得到应用测试结果。
[0042] 根据本申请第三方面实施例的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述应
用测试方法。
[0043] 根据本申请第四方面实施例的计算机可读存储介质,所述计算机可读存储介质为非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现
如上述任一种所述应用测试方法。
[0044] 本申请实施例中的上述一个或多个技术方案,至少具有如下技术效果之一:
[0045] 可以避免人工进行漏洞扫描时需要从多种工具中选择相应的工具而导致的测试效率低的问题,进而提高进行应用测试时的效率。
[0046] 本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

[0047] 为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他的附图。
[0048] 图1是本申请实施例提供的应用测试方法的流程示意图;
[0049] 图2是本申请实施例提供的应用测试方法中主动扫描的流程示意图;
[0050] 图3是本申请实施例提供的应用测试方法中被动扫描的流程示意图;
[0051] 图4是本申请实施例提供的应用测试装置的结构示意图;
[0052] 图5是本申请提供的电子设备的结构示意图。

具体实施方式

[0053] 下面结合附图和实施例对本申请的实施方式作进一步详细描述。以下实施例用于说明本申请,但不能用来限制本申请的范围。
[0054] 在本申请实施例的描述中,需要说明的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请实施例和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此
不能理解为对本申请实施例的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0055] 在本申请实施例的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领
域的普通技术人员而言,可以具体情况理解上述术语在本申请实施例中的具体含义。
[0056] 在本申请实施例中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第
一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或
仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”
可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特
征。
[0057] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性
表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可
以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领
域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征
进行结合和组合。
[0058] 图1是本申请实施例提供的应用测试方法的流程示意图,如图1所示,该应用测试方法包括:
[0059] 步骤110,获取待测试应用的应用信息。
[0060] 需要说明的是,本申请实施例提供的应用测试方法的执行主体可以是服务器、计算机设备,例如手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移
动个人计算机(Ultra‑Mobile Personal Computer,UMPC)、上网本或者个人数字助理
(Personal Digital Assistant,PDA)等。
[0061] 本申请中服务器或计算机设备上可以部署有应用测试系统,应用测试系统可以通过其中设置的测试工具执行本申请中的应用测试方法,对指定应用进行测试。为方便描述,
后续可以将应用测试系统简称为系统。
[0062] 其中,待测试应用为指定需要进行安全测试的应用。
[0063] 本申请应用信息可以为网络标识信息或端口信息。
[0064] 其中,网络标识信息可以为互联网协议(Internet Protocol,IP)地址、统一资源定位器(Uniform Resource Locator,URL)地址或域名。
[0065] 在一方面,本申请中可以由用户通过系统手工录入扫描信息,其中扫描信息可以包括扫描名称与作为待测试应用的应用信息的网络标识信息。
[0066] 由此,系统可以获取到待测试应用的应用信息,并将整体的扫描信息记录至数据库。
[0067] 在另一个方面,本申请中用户可以在浏览器或者应用中设置代理,将浏览器或者应用产生的超文本传输协议(Hypertext Transfer Protocol,HTTP)/安全超文本传输协议
(Hypertext Transfer Protocol Secure,HTTPS)流量代理至系统中。
[0068] 需要说明的是,本申请的系统中可以设置有数据处理模块,其中,数据处理模块可以用于进行被动代理配置、字典配置、数据加密和解密、数据编码、数据对比等。
[0069] 用户可以在系统的数据处理模块中配置被动代理监听端口,用于监听浏览器或者应用发起的HTTP/HTTPS流量。同时,还可以在数据处理模块中配置黑名单和白名单,排除多
余的流量数据等。
[0070] 由此,系统可以获取到待测试应用的应用信息。
[0071] 需要说明的是,本申请系统中还可以设置有反连平台模块,其中,反连平台模块可以实现反连的配置和实现,用于测试反序列化漏洞等的回显,包括Dnslog配置、端口监听、
反连服务器配置等功能。
[0072] 步骤120,基于应用信息确定测试工具。
[0073] 本申请的系统中至少可以包括主动测试工具与被动测试工具。
[0074] 其中,主动测试工具中可以包括资产扫描模块、网络空间拓扑模块、信息爆破模块与非应用漏洞测试模块等主动模块,以及作为共性模块的数据处理模块与可视化模块。其
中,信息爆破模块可以包括目录爆破模块与口令爆破模块。口令爆破模块也可以称为弱口
令爆破模块。
[0075] 被动测试工具中可以包括数据编排模块、人工智能(Artificial Intelligence,AI)自动化威胁分析模块、应用漏洞测试模块等被动模块,以及作为共性模块的反连平台模
块、数据处理模块与可视化模块;其中数据编排模块也可以称为菜单及接口编排模块。
[0076] 其中,菜单及接口编排模块用于进行业务菜单和应用程序接口(Application Programming Interface,API)自动录制编排。
[0077] AI自动化威胁分析模块用于基于人工智能进行威胁分析。
[0078] 应用漏洞测试模块用于进行安全渗透测试及模糊测试(Fuzz Testing)。
[0079] 其中,测试数据采用yml文件格式进行存储和测试,每个漏洞类型都有唯一的测试编号VUL‑T‑xx或者VUL‑T‑xx‑REV,其中VUL‑T‑xx‑REV编号的需要结合反连平台判断测试结果,例如可以为下表1所示:
[0080] 表1
[0081]
[0082] 资产扫描模块具有实现IP和端口资产扫描、服务指纹识别、C段识别、域名破解的功能。
[0083] 其中,C段指的是同一内网段内的其他服务器,每个IP有ABCD四个段,例如:XXX.YYY.M.K(需要说明的是,IP在实际情况中为正数),A段就是XXX,B段是YYY,C段是M,D段
是K。C段常用于划分局域网或子网,例如在同一C段的IP地址通常属于同一个局域网或子
网。
[0084] 网络空间拓扑模块用于基于资产扫描模块的数据,描绘基本的网络空间拓扑,可视化实现IP和服务的拓扑地图,并按照外网、内网进行区域边界划分。
[0085] 目录爆破模块具有实现应用服务的目录爆破功能,可以自动化扫描后台地址、文件以及相应的目录。
[0086] 弱口令爆破模块用于基于资产扫描模块的数据,针对端口和所对应的服务进行弱口令暴力破解,例如针对安全外壳协议(Secure Shell,SSH)服务进行爆破。
[0087] 可视化模块用于展示漏洞详细数据、漏洞分类、资产信息、扫描时间、扫描任务、历史数据等功能。
[0088] 因此,若确定应用信息为网络标识信息,则确定采用主动测试工具;而若确定应用信息为端口信息,则确定采用被动测试工具。
[0089] 需要说明的是,本申请当同时获取到网络标识信息与端口信息,可以将主动测试工具以及被动测试工具均确定为所需的测试工具。
[0090] 步骤130,利用测试工具对待测试应用进行测试,得到应用测试结果。
[0091] 若确定的测试工具为主动测试工具,则通过主动测试工具中的各模块对待测试应用进行测试,以确定待测试应用中是否存在异常,并输出应用测试结果。
[0092] 若确定的测试工具为被动测试工具,则通过被动测试工具中的各模块对待测试应用进行测试,以确定待测试应用中是否存在异常,并输出应用测试结果。
[0093] 其中,应用测试结果中可以包括漏洞详细数据、漏洞分类、资产信息、扫描时间、扫描任务等信息。
[0094] 可以理解地,在利用测试工具对待测试应用进行测试,得到应用测试结果之后,还可以包括:
[0095] 步骤140,对应用测试结果进行可视化输出。
[0096] 在得到应用测试结果后,可以调用测试工具中的可视化模块,根据应用测试结果生成可视化看板,提供直观的统计数据。可视化看板可以优先展示有漏洞的数据,并可通过
点击“更多”显示所有的资产及漏洞数据。
[0097] 根据本申请实施例的应用测试方法,在获取到待测试应用的网络标识信息时,可以通过主动测试工具对待测试应用进行测试并得到应用测试结果;在获取到待测试应用的
端口信息时,可以通过被动测试工具对待测试应用进行测试并得到应用测试结果,由此可
以避免人工进行漏洞扫描时需要从多种工具中选择相应的工具而导致的测试效率低的问
题,进而提高进行应用测试时的效率。
[0098] 基于上述实施例,在确定测试工具为被动测试工具的情况下,上述步骤130可以包括:
[0099] 步骤1311,利用被动测试工具对待测试应用进行数据编排,得到编排数据;
[0100] 在得到应用信息后,本申请中系统可以在用户点击监听功能后启动,对待测试应用进行监听。同时,调用被动测试工具中的数据编排模块,对待测试应用在发送流量传输时
的业务菜单与接口或请求进行编排,得到编排数据。
[0101] 步骤1312,利用被动测试工具对编排数据进行异常分析,得到异常分析数据;
[0102] 在得到编排数据后,系统可以调用被动测试工具中的AI自动化威胁分析模块,对编排数据进行异常分析,得到异常分析数据。
[0103] 其中,异常分析数据可以包括威胁分析队列数组与脆弱链条数组。
[0104] 步骤1313,利用被动测试工具对异常分析数据进行安全渗透测试,得到应用测试结果。
[0105] 在得到异常分析数据后,本申请系统可以调用被动测试工具中的应用漏洞测试模块与反连平台模块,对异常分析数据进行安全渗透测试,在完成安全渗透测试后,得到应用
测试结果。
[0106] 本实施例在确定测试工具为被动测试工具的情况下,可以自动调用被动测试工具对待测试应用进行测试,由此可以避免人工进行漏洞扫描时需要从多种工具中选择相应的
工具而导致的测试效率低的问题,进而提高进行应用测试时的效率。
[0107] 基于上述实施例,上述步骤1311可以包括:
[0108] 步骤13111,基于应用信息,调用被动测试工具的数据编排模块;
[0109] 本申请中在得到应用信息后,可以调用被动测试工具中的数据编排模块,对应用信息中的端口信息对应的端口进行流量传输等动作行为进行监听。
[0110] 步骤13112,利用数据编排模块中的XPATH语言,对待测试应用中触发动作行为的功能菜单及与功能菜单对应的接口或请求进行数据编排,得到编排数据。
[0111] 进一步地,在监听到相应端口触发了流量传输等行为动作时,可以确定该行为动作对应的功能菜单,以及该功能菜单对应的接口或请求(即API或HTTP请求),并对功能菜单
以及接口或请求进行数据编排,得到编排数据。
[0112] 需要说明的是,一般通过浏览器点击业务的功能菜单时,一次点击视为一次动作行为。当该行为动作的点击行为开始时,通过XPATH语言自动获取被点击的功能菜单的名
称,并将功能菜单的名称作为该行为动作的父节点,当完成该行为动作所需要的所有API接
口或者请求之后,把API接口或者请求编排到功能菜单的名称下。在完成该行为动作之后,
自动针对当前应用窗口进行截图,一同编排到功能菜单的名称下。例如某个业务功能下有
新增、删除功能,当打开浏览器,点击新增、删除按钮时,通过数据编排模块可以得到相应的
编排数据。
[0113] 其中,XPATH即XML路径语言,它是一门在XML文档中查找信息的语言。XPath 最初设计是用来搜寻XML文档的,但是它同样适用于HTML文档的搜索。
[0114] 本实施例通过被动测试工具的数据编排模块对待测试应用中触发动作行为的功能菜单及与功能菜单对应的接口或请求进行数据编排,可快速定位业务功能菜单和API接
口或者HTTP请求数据的对应关系,大大提高查找效率,进而可以提高进行应用测试时的效
率。
[0115] 基于上述实施例,上述步骤1312可以包括:
[0116] 步骤13121,调用被动测试工具中的威胁分析模型;
[0117] 本申请可以调用被动测试工具中的AI自动化威胁分析模块,并进一步调用AI自动化威胁分析模块中的威胁分析模型。
[0118] 需要说明的是,本申请中的威胁分析模型是基于样本编排数据与漏洞数据,对预设分析模型进行训练得到的。
[0119] 其中,样本编排数据是基于数据编排模块进行数据编排得到的。漏洞数据又可以称为威胁情报数据,可以从通用漏洞和披露(Common Vulnerabilities and Exposures,
CVE)、中国国家漏洞数据库(China National Vulnerability Database,CNNVD)、中国国家
漏洞库(China National Vulnerability Database,CNVD)等权威漏洞库进行获取。
[0120] 预设分析模型可以为开放的AI系统,可以通过样本编排数据与威胁情报数据作为样本进行训练,由此得到根据输入的编排数据进行威胁分析的能力。
[0121] 步骤13122,基于威胁分析模型对编排数据进行异常分析,得到异常分析数据。
[0122] 进一步地,可以将编排数据输入至威胁分析模型中,通过威胁分析模型的威胁分析能力对编排数据进行分析,在分析完成后得到威胁分析模型输出的异常分析数据。
[0123] 其中,威胁分析模型可以列出威胁名称、详细威胁描述、威胁分析队列数组ARRAY[API,OBJ,VUL‑T/VUL‑T‑REV]、脆弱链条数组CHAIN[CH01‑AUTO,CH02‑HAND,CH03‑HAND]。
[0124] 其中,API为接口名称;0BJ为接口下的具体对象,包括请求头、请求参数;VUL‑T为漏洞测试编号,例如XSS攻击、普通SQL注入等,不需要反连平台;VUL‑T‑REV为漏洞测试编
号,例如反序列化漏洞、SQL盲注等,需要反连平台。
[0125] 又例如:CH01‑AUTO可以为输入用户名[API:OBJ]‑>密码空[API:OBJ]‑>返回200成功;CHO2‑HAND可以为输入用户名‑>输入密码‑>验证码为空‑点击登陆‑>登陆成功;CHI03‑
HIAND可以为输入用户名‑>输入密码‑随便输入验证码‑>点击登陆‑>登陆成功。
[0126] 其中AUTO是指AI可自动化测试,HAND是指需要手工测试;
[0127] 如果上面链条任意一条登陆成功,说明存在逻辑缺陷,存在安全漏洞。
[0128] 本实施例可以通过AI自动化威胁分析模块中的威胁分析模型对编排数据进行异常分析,提高威胁分析的准确性与分析速度,进而可以提高应用测试的准确性与效率。
[0129] 基于上述实施例,上述步骤1313可以包括:
[0130] 步骤13131,利用被动测试工具,对威胁分析队列数组进行安全渗透测试与模糊测试,得到第一测试结果;
[0131] 本申请在得到异常分析数据后,可以调用被动测试工具中的应用漏洞测试模块与反连平台模块,对异常分析数据进行安全渗透测试与模糊测试。
[0132] 具体地,可以调用被动测试工具中的应用漏洞测试模块,对异常分析数据中的威胁分析队列数组进行安全渗透测试,以及调用被动测试工具中的反连平台模块,对异常分
析数据中的威胁分析队列数组进行安全渗透测试,在完成安全渗透测试后,得到第一测试
结果。
[0133] 具体地,可以针对威胁分析队列数组中的ARRAY01[API,OBJ,VUL‑T‑xx]进行自动化安全渗透测试,根据VUL‑T‑xx对应的编号调用应用漏洞测试模块中对应的yml测试数据
进行安全渗透测试。测试结束之后,形成第一测试数据;
[0134] 以及,针对威胁分析队列数组中的ARRAY02[API,OBJ,VUL‑T‑xx‑REV]进行自动化安全渗透测试,具体可以根据VUL‑T‑xx‑REV对应的编号调用应用漏洞测试模块中对应的
yml测试数据,同时调用反连平台模块对ARRAY02[API,OBJ,VUL‑T‑xx‑REV]进行安全渗透测
试。测试结束之后,形成第二测试数据。
[0135] 同时,还可以调用应用漏洞测试模块进行模糊FUZZ测试:具体地,针对ARRAY01、ARRAY02之外其它的菜单及接口编排数据开展模糊测试,测试结束之后,形成第三测试数
据。
[0136] 进一步地,由第一测试数据、第二测试数据与第三测试数据形成第一测试结果。
[0137] 步骤13132,利用被动测试工具,对脆弱链条数组进行安全渗透测试,得到第二测试结果;
[0138] 同时,本申请可以针对脆弱链条CHAIN中的AUTO链条进行自动化安全渗透测试,具体可以为根据数组[API:OBJ]定位到接口下的OBJ,自动发起请求,并根据返回结果进行判
断是否成功。测试结束之后,形成第二测试结果。
[0139] 步骤13133,基于第一测试结果与第二测试结果,生成应用测试结果。
[0140] 在得到第一测试结果与第二测试结果后,可以由第一测试结果与第二测试结果形成应用测试结果。
[0141] 本实施例可以通过被动测试工具,自动对异常分析数据进行安全渗透测试,得到应用测试结果,由此可以避免人工进行漏洞扫描时需要从多种工具中选择相应的工具而导
致的测试效率低的问题,进而提高进行应用测试时的效率。
[0142] 基于上述实施例,在确定测试工具为主动测试工具的情况下,上述步骤130还可以包括:
[0143] 步骤1321,利用主动测试工具对待测试应用进行资产扫描,得到资产扫描信息;
[0144] 本申请中系统可以调用主动测试工具中的数据处理模块,对扫描信息中的对象进行分析以及处理元数据,将扫描信息转换为可扫描的IP地址。同时,可以获取数据处理模块
中配置的IP黑名单、白名单、爆破字典与延迟时间的预处理信息,以便于提高扫描速度,提
高扫描效率。
[0145] 进一步地,可以调用主动测试工具中的资产扫描模块,通过资产扫描模块根据数据处理模块处理得到的待测试应用的IP地址,针对IP地址进行C段、端口扫描,并针对每个
端口进行服务识别,获取全面的资产信息作为资产扫描信息。
[0146] 步骤1322,利用主动测试工具对资产扫描信息进行异常检测,得到应用测试结果。
[0147] 本申请在得到资产扫描信息后,可以调用主动测试工具中的各模块,对资产扫描信息进行异常检测,在完成异常检测后,可以得到应用测试结果。
[0148] 具体地,可以调用主动测试工具中的网络空间拓扑模块、信息爆破模块与非应用漏洞测试模块等。
[0149] 本实施例在确定测试工具为主动测试工具的情况下,可以自动调用主动测试工具对待测试应用进行测试,由此可以避免人工进行漏洞扫描时需要从多种工具中选择相应的
工具而导致的测试效率低的问题,进而提高进行应用测试时的效率。
[0150] 基于上述实施例,上述步骤1322可以包括:
[0151] 步骤13221,利用主动测试工具对资产扫描信息进行资产描绘,得到第一扫描数据;
[0152] 本实施例中可以调用主动测试工具中的网络空间拓扑模块,对资产扫描信息进行资产描绘,形成清晰的内网、外网、服务资产拓扑图作为第一扫描数据。
[0153] 步骤13222,利用主动测试工具对资产扫描信息进行信息爆破,得到第二扫描数据;
[0154] 以及,可以调用主动测试工具中的信息爆破模块,对资产扫描信息进行信息爆破,由此得到第二扫描数据。
[0155] 具体地,可以调用目录爆破模块与口令爆破模块进行信息爆破。
[0156] 步骤13223,利用主动测试工具对资产扫描信息进行漏洞扫描,得到第三扫描数据;
[0157] 本申请还可以调用主动测试工具中的非应用漏洞测试模块,对资产扫描信息进行漏洞扫描,具体地,可以针对中间件、数据库等服务进行漏洞扫描,生成第三扫描数据。
[0158] 步骤13224,基于第一扫描数据、第二扫描数据与第三扫描数据,生成应用测试结果。
[0159] 在得到第一扫描数据、第二扫描数据与第三扫描数据后,可以由第一扫描数据、第二扫描数据与第三扫描数据共同形成应用测试结果。
[0160] 本实施例可以通过主动测试工具,自动对资产扫描信息进行异常检测,得到应用测试结果,由此可以避免人工进行漏洞扫描时需要从多种工具中选择相应的工具而导致的
测试效率低的问题,进而提高进行应用测试时的效率。
[0161] 基于上述实施例,上述步骤13222可以包括:
[0162] 步骤132221,利用主动测试工具对资产扫描信息进行目录爆破,得到第一爆破数据;
[0163] 本申请中可以调用主动测试工具中的目标爆破模块,对资产扫描信息进行目录剥皮,得到第一爆破数据。
[0164] 具体地,可以针对中间件、应用系统等服务进行目录爆破,获取敏感文件或者数据作为第一爆破数据。
[0165] 步骤132222,利用主动测试工具对资产扫描信息进行口令爆破,得到第二爆破数据;
[0166] 本申请还可以调用主动测试工具中的口令爆破模块(即弱口令爆破模块),对资产扫描信息进行弱口令爆破,具体地,可以针对SSH、Redis、Mysql等服务进行弱口令爆破,得
到第二爆破数据。
[0167] 步骤132223,基于第一爆破数据与第二爆破数据,生成第二扫描数据。
[0168] 在得到第一爆破数据与第二爆破数据后,本申请可以由第一爆破数据与第二爆破数据形成第二扫描数据。
[0169] 本实施例可以通过目录爆破模块与口令爆破模块对资产扫描信息进行信息爆破,可以得到全面且准确的爆破数据作为扫描数据,可以提高应用测试的准确性。
[0170] 在一个实施例中,本申请的应用测试方法可以包括主动扫描的测试方法与被动扫描的测试方法。
[0171] 图2是本申请实施例提供的应用测试方法中主动扫描的流程示意图,如图2所示,该应用测试方法可以包括如下步骤:
[0172] 步骤a1:在系统中手工录入扫描信息:扫描名称以及IP、URL地址、域名(三者选择其一)。系统记录扫描对象到数据库。
[0173] 步骤a2:系统调用数据处理模块,分析录入的对象,处理元数据,转变成最终可扫描的IP地址:IP01。同时在数据处理模块中配置IP黑名单和白名单、爆破字典、延迟时间等
预处理,提高扫描的速度和效率。
[0174] 步骤a3:系统调用资产扫描模块,并获取数据处理模块中的预配置数据,针对IP01进行C段、端口扫描,并针对每个端口进行服务识别,获取全面的资产扫描数据ASSETS01。同
时系统基于资产扫描数据,调用网络空间拓扑模块进行资产描绘,形成清晰的内网、外网、
服务资产拓扑图MAP01,并提供给可视化模块进行展示。
[0175] 步骤a4:系统基于资产扫描数据ASSETS01,调用目录爆破模块,针对中间件、应用系统等服务进行目录爆破,获取敏感文件或者数据,生成扫描数据DATA01。
[0176] 步骤a5:系统基于资产扫描数据ASSETS01,调用弱口令爆破模块,针对SSH、Redis、Mysql等服务进行弱口令爆破,生成扫描数据DATA02。
[0177] 步骤a6:系统基于资产扫描数据ASSETS01,调用非应用漏洞测试模块,针对中间件、数据库等服务进行漏洞扫描,生成扫描数据DATA03。
[0178] 步骤a7:系统基于MAP01、DATA01、DATA02、DATA03数据,调用可视化模块,生成可视化看板,提供直观的统计数据。可视化看板优先展示有漏洞的数据,可通过点击“更多”显示
所有的资产及漏洞数据。
[0179] 由此,系统可以实现批量的、自动化扫描、持续监控的能力。上面步骤a1填写监控的对象范围,并在数据处理模块中配置周期性、持续性扫描、监控的具体策略,系统重复步
骤a2到步骤a7,实现批量的、自动化扫描、持续监控的能力。
[0180] 图3是本申请实施例提供的应用测试方法中被动扫描的流程示意图,如图3所示,该应用测试方法可以包括如下步骤:
[0181] 步骤b1:在浏览器中设置代理(proxy),把HTTP/HTTPS流量代理到本申请所形成的工具或者装置中。
[0182] 步骤b2:配置数据处理模块(listen):在数据处理模块中配置被动代理监听端口,用于监听浏览器发起的HTTP/HTTPS流量。同时可在数据处理模块中配置黑名单和白名单,
排除多余的流量数据等。
[0183] 步骤b3:配置反连平台模块:在反连平台中配置Dnglog、监听IP和端口、反连服务器配置。用于测试反序列化漏洞所需要的证据。
[0184] 步骤b4:点击监听功能,系统正式启动,同时调用菜单及接口编排模块,并获取数据处理模块中的预配置数据,系统处于监听状态。当浏览器发生流量传输,系统被动抓取流
量,并自动实现菜单及接口编排。
[0185] 步骤b5:系统基于菜单及接口编排数据,调用AI自动化威胁分析模块,列出威胁名称、详细威胁描述、威胁分析队列数组ARRAY[API,OBJ,VUL‑T/VUL‑T‑REV]、脆弱链条数组
CHAIN[CH01‑AUTO,CH02‑HAND,CH03‑HAND]。通过AI生成的队列数组ARRAY和脆弱链条数组,
大大提高测试效率和精准度。
[0186] 步骤b6:系统针对队列数组ARRAY01[API,OBJ,VUL‑T‑xx]进行自动化安全渗透测试,系统根据VUL‑T‑xx对应的编号调用应用漏洞测试模块中对应的yml测试数据进行安全
渗透测试。测试结束之后,形成测试数据TEST‑DATA01。
[0187] 步骤b7:系统针对队列数组ARRAY02[API,OBJ,VUL‑T‑xx‑REV]进行自动化安全渗透测试,系统根据VUL‑T‑xx‑REV对应的编号调用应用漏洞测试模块中对应的yml测试数据,
同时调用反连平台模块进行安全渗透测试。测试结束之后,形成测试数据TEST‑DATA02。
[0188] 步骤b8:系统针对脆弱链条CHAIN中的AUTO链条进行自动化安全渗透测试,系统会根据数组[API:OBJ]定位到接口下的OBJ,自动发起请求,并根据返回结果进行判断是否成
功。测试结束之后,形成测试数据TEST‑DATA03。
[0189] 步骤b9:系统再次调用应用漏洞测试模块进行模糊FUZZ测试:系统针对ARRAY01、ARRAY02之外其它的菜单及接口编排数据开展FUZZ模糊测试,测试结束之后,形成测试数据
TEST‑DATA04。
[0190] 步骤b10:系统基于TEST‑DATA01、TEST‑DATA02、TEST‑DATA03、TEST‑DATA04数据,调用可视化模块,生成可视化看板,提供直观的统计数据。可视化看板优先展示有漏洞的数
据,可通过点击“更多”显示所有的资产及漏洞数据。
[0191] 由此,系统可以实现批量的、自动化扫描、持续监控的能力:首先在上面步骤b2中配置被动代理监听端口的有效token02数据,并在数据处理模块中配置周期性、持续性扫
描、监控的具体策略。然后点击启动扫描,系统在扫描过程中自动把旧的token01数值替换
成有效的token02数值,并重复步骤b5到步骤b10,实现批量的、自动化扫描、持续监控的能
力。
[0192] 需要说明的是,目前安全渗透测试过程手段多样、安全测试工具种类繁多,在实际操作过程中,往往要切换各种工具,并综合利用多种工具实现安全渗透测试目标。本申请在
此过程中,通过系统集合持续性的、被动的、主动的、功能覆盖全的、自动化威胁分析的能
力,使得可以通过“流水线”化的方式实现自动化安全扫描,完成应用测试。
[0193] 需要说明的是,传统的应用安全渗透测试存在如下不足:
[0194] 应用系统的业务菜单无法跟所请求的API接口或者HTTP请求进行对应,在测试过程中,如果要针对API接口或者HTTP请求进行问题复现,极难寻找其所对应的业务菜单,导
致效率低下。
[0195] 现有的工具或系统无法针对业务场景进行自动化的威胁分析,不利于敏捷开发和测试。
[0196] 现有的工具或系统在持续性扫描、威胁分析上都不够完善,不能同时兼容持续性的、被动的、主动的、自动化威胁分析的功能。
[0197] 本申请针对业务菜单无法跟所请求的API接口或者HTTP请求进行对应的问题,利用XPATH自动获取菜单名称,同时记录完成这一次动作所对应的API接口或者HTTP请求,然
后进行编排管理,可快速定位业务功能菜单和API接口或者HTTP请求数据的对应关系,大大
提高查找效率。其次,针对现有的工具或系统无法针对业务场景进行自动化的威胁分析的
问题,本申请利用AI人工智能训练技术,能够基于上面编排的动作,智能给出威胁分析的内
容和攻击图谱。最后,针对工具或系统的不完善问题,本申请可以集合持续性的、被动的、主
动的、功能覆盖全的、自动化威胁分析的能力,通过“流水线”化的方式实现自动化扫描,其
中被动的扫描可以实现代理的方式抓取API接口或者HTTP请求,主动的扫描可以扫描主机
端口、C段、漏洞、弱口令等,功能同时覆盖持续性的、被动的、主动的扫描,涵盖自动化威胁
分析、资产扫描、可视化网络空间拓扑的功能,可以提高应用测试的效率。
[0198] 图4是本申请实施例提供的应用测试装置的结构示意图,如图4所示,该应用测试装置,包括:
[0199] 获取模块410,用于获取待测试应用的应用信息;
[0200] 确定模块420,用于基于所述应用信息确定测试工具,所述测试工具包括主动测试工具和被动测试工具中的一种;所述主动测试工具是基于所述应用信息中的网络标识信息
确定的,所述被动测试工具是基于所述应用信息中的端口信息确定的;
[0201] 测试模块430,用于利用所述测试工具对所述待测试应用进行测试,得到应用测试结果。
[0202] 根据本申请实施例的应用测试装置,在获取到待测试应用的网络标识信息时,可以通过主动测试工具对待测试应用进行测试并得到应用测试结果;在获取到待测试应用的
端口信息时,可以通过被动测试工具对待测试应用进行测试并得到应用测试结果,由此可
以避免人工进行漏洞扫描时需要从多种工具中选择相应的工具而导致的测试效率低的问
题,进而提高进行应用测试时的效率。
[0203] 基于上述任一实施例,测试模块430具体用于:
[0204] 利用所述被动测试工具对所述待测试应用进行数据编排,得到编排数据;
[0205] 利用所述被动测试工具对所述编排数据进行异常分析,得到异常分析数据;
[0206] 利用所述被动测试工具对所述异常分析数据进行安全渗透测试,得到应用测试结果。
[0207] 基于上述任一实施例,测试模块430包括编排单元,所述编排单元用于:
[0208] 基于所述应用信息,调用所述被动测试工具的数据编排模块;
[0209] 利用所述数据编排模块中的XPATH语言,对所述待测试应用中触发动作行为的功能菜单及与所述功能菜单对应的接口或请求进行数据编排,得到编排数据。
[0210] 基于上述任一实施例,测试模块430还包括分析单元,所述分析单元用于:
[0211] 调用所述被动测试工具中的威胁分析模型;其中,所述威胁分析模型是基于样本编排数据与漏洞数据,对预设分析模型进行训练得到的;
[0212] 基于所述威胁分析模型对所述编排数据进行异常分析,得到异常分析数据。
[0213] 基于上述任一实施例,测试模块430还包括测试单元,所述测试单元用于:
[0214] 利用所述被动测试工具,对所述威胁分析队列数组进行安全渗透测试与模糊测试,得到第一测试结果;
[0215] 利用所述被动测试工具,对所述脆弱链条数组进行安全渗透测试,得到第二测试结果;
[0216] 基于所述第一测试结果与所述第二测试结果,生成应用测试结果。
[0217] 基于上述任一实施例,测试模块430具体还用于:
[0218] 利用所述主动测试工具对所述待测试应用进行资产扫描,得到资产扫描信息;
[0219] 利用所述主动测试工具对所述资产扫描信息进行异常检测,得到应用测试结果。
[0220] 基于上述任一实施例,测试模块430还包括检测单元,所述检测单元用于:
[0221] 利用所述主动测试工具对所述资产扫描信息进行资产描绘,得到第一扫描数据;
[0222] 利用所述主动测试工具对所述资产扫描信息进行信息爆破,得到第二扫描数据;
[0223] 利用所述主动测试工具对所述资产扫描信息进行漏洞扫描,得到第三扫描数据;
[0224] 基于所述第一扫描数据、所述第二扫描数据与所述第三扫描数据,生成应用测试结果。
[0225] 基于上述任一实施例,检测单元还包括爆破单元,所述爆破单元用于:
[0226] 利用所述主动测试工具对所述资产扫描信息进行目录爆破,得到第一爆破数据;
[0227] 利用所述主动测试工具对所述资产扫描信息进行口令爆破,得到第二爆破数据;
[0228] 基于所述第一爆破数据与所述第二爆破数据,生成第二扫描数据。
[0229] 基于上述任一实施例,测试模块430还用于:
[0230] 对所述应用测试结果进行可视化输出。
[0231] 基于与上述实施例中的方法相同的思想,本申请提供的应用测试装置能够实现上述实施例的方法,为了便于说明,装置实施例的结构示意图中,仅仅示出了与本申请实施例
相关的部分,本邻域技术人员可以理解,图示结构并不构成对结装置的限定,可以包括比图
示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0232] 图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和
通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通
信。处理器510可以调用存储器530中的逻辑指令,以执行如下方法:获取待测试应用的应用
信息;
[0233] 基于所述应用信息确定测试工具,所述测试工具包括主动测试工具和被动测试工具中的一种;所述主动测试工具是基于所述应用信息中的网络标识信息确定的,所述被动
测试工具是基于所述应用信息中的端口信息确定的;
[0234] 利用所述测试工具对所述待测试应用进行测试,得到应用测试结果。
[0235] 此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本
申请的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的部分可以以
软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以
使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施
例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,
Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种
可以存储程序代码的介质。
[0236] 又一方面,本申请实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,例如包括:
获取待测试应用的应用信息;
[0237] 基于所述应用信息确定测试工具,所述测试工具包括主动测试工具和被动测试工具中的一种;所述主动测试工具是基于所述应用信息中的网络标识信息确定的,所述被动
测试工具是基于所述应用信息中的端口信息确定的;
[0238] 利用所述测试工具对所述待测试应用进行测试,得到应用测试结果。
[0239] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单
元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其
中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性
的劳动的情况下,即可以理解并实施。
[0240] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上
述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该
计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指
令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施
例或者实施例的某些部分所述的方法。
[0241] 最后应说明的是,以上实施方式仅用于说明本申请,而非对本申请的限制。尽管参照实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,对本申请的技术方
案进行各种组合、修改或者等同替换,都不脱离本申请技术方案的精神和范围,均应涵盖在
本申请的权利要求范围中。