安全测试方法及装置与流程

文档序号:20874949发布日期:2020-05-26 16:22阅读:186来源:国知局
安全测试方法及装置与流程

本申请涉及通信技术领域,尤其涉及安全测试方法及装置。



背景技术:

为了保证金融行业产品(例如,银行应用、银行网站等)的安全性,需要对金融行业产品进行安全测试。

目前多采用安全测试工具进行安全测试,但是安全测试工具基于爬虫方式进行,不适用于金融行业产品。因为金融行业中的产品中很多页面需要输入内容,并且,对输入内容进行校验之后才能访问下一级页面。因此,采用爬虫方式仅能获取待测产品中一级页面和少量二级页面的产品数据,无法获取待测产品的全部数据,导致安全测试的覆盖率较低。

例如,以自动化测试工具awvs为主导的自动化安全测试工具均采用爬虫原理进行,可以自动去爬取待测产品的各种url链接,但此类安全测试工具在对金融行业产品进行安全测试时,存在严重适用性问题。因为金融行业产品对输入数据的限制非常严苛,随机爬去或者输入数据,无法正确进入二级或更深层页面。

目前,也有人工收集待测产品的产品数据,以发送至自动化测试工具进行安全测试。但是,人工收集产品数据需要较大工作量,导致安全测试的效率较低且覆盖率不全面。

例如,由于金融产品业务的复杂性,在测试过程之前,往往需要对测试人员进行业务培训、以便测试人员了解产品业务,并针对待测产品的业务收集产品数据,这需要投入大量时间,甚至可能在数量级上已经超过安全测试本身所需时间。同时因为对金融产品业务的缺失,测试人员在测试覆盖度上也可能存在一定的缺失。



技术实现要素:

鉴于此,本申请提供一种安全测试方法、装置及系统,可以金融行业产品进行安全测试,且,提高安全测试的覆盖率和效率。

为了实现上述目的,本发明提供了下述技术特征:

一种安全测试方法,包括:

在对待测产品进行功能测试过程中,复制并存储测试过程中产生的网页数据至数据库,重复上述步骤直到功能测试结束;

从所述数据库中提取所述待测产品的网页数据,并发送所述待测产品的网页数据至安全测试系统;

接收所述安全测试系统反馈的安全测试结果。

可选的,所述在对待测产品进行功能测试过程中,复制并存储测试过程中产生的网页数据至数据库,重复上述步骤直到功能测试结束,包括:

在采用浏览器软件对所述待测产品进行功能测试的过程中,利用预先设置于所述浏览器软件的软件脚本,复制功能测试过程中产生的网页数据并存储所述网页数据至数据库;

重复上述步骤直到所述功能测试结束。

可选的,在重复上述步骤直到所述功能测试结束之后,还包括:

确定所述待测产品对应的待测网址;

按所述待测产品对应的待测网址,对所述数据库中的网页数据执行筛选操作;

仅保留包含有所述待测网址的网页数据。

可选的,所述从所述数据库中提取所述待测产品的网页数据,并发送所述待测产品的网页数据至安全测试系统,包括:

采用静默测试方式,实现从所述数据库中提取所述待测产品的网页数据,并发送所述待测产品的网页数据至安全测试系统。

可选的,在具有多个安全测试系统的情况下,所述从所述数据库中提取所述待测产品的网页数据,并发送所述待测产品的网页数据至安全测试系统,包括:

从所述数据库中提取所述待测产品的网页数据;

采用负载均衡方式分发所述待测产品的网页数据至多个安全测试系统,分别采用多个安全测试系统执行对待测产品执行安全测试。

一种安全测试装置,包括:

复制并存储单元,用于在对待测产品进行功能测试过程中,复制并存储测试过程中产生的网页数据至数据库,重复上述步骤直到功能测试结束;

提取并发送单元,用于从所述数据库中提取所述待测产品的网页数据,并发送所述待测产品的网页数据至安全测试系统;

接收单元,用于接收所述安全测试系统反馈的安全测试结果。

一种处理设备,包括:

数据库设备,用于存储对待测产品进行功能测试过程中产生的网页数据;

处理器,用于在对待测产品进行功能测试过程中,复制并发送测试过程中产生的网页数据至数据库设备,重复上述步骤直到功能测试结束;从所述数据库中提取所述待测产品的网页数据并发送所述待测产品的网页数据至安全测试系统;接收所述安全测试系统反馈的安全测试结果。

可选的,所述处理器,还用于在采用浏览器软件对所述待测产品进行功能测试的过程中,利用预先设置于所述浏览器软件的软件脚本,复制功能测试过程中产生的网页数据并存储所述网页数据至数据库;

重复上述步骤直到所述功能测试结束。

一种安全测试系统,包括:

处理设备和安全测试系统;

所述处理设备,用于在对待测产品进行功能测试过程中,复制并存储测试过程中产生的网页数据至数据库,重复上述步骤直到功能测试结束;从所述数据库中提取所述待测产品的网页数据,并发送所述待测产品的网页数据至安全测试系统;接收所述安全测试系统反馈的安全测试结果;

所述安全测试系统,用于对网页数据执行安全测试,生成并发送安全测试结果至处理设备。

一种安全测试系统,包括:

功能测试设备、处理设备和安全测试系统;

功能测试设备,用于对待测产品进行功能测试,在对待测产品进行功能测试过程中,复制并发送测试过程中产生的网页数据,重复上述步骤直到功能测试结束;

所述处理设备,用于接收并存储对待测产品进行功能测试过程中产生的网页数据至数据库,重复上述步骤直到功能测试结束;从所述数据库中提取待测产品的网页数据并发送待测产品的网页数据至安全测试系统,接收所述安全测试系统反馈的安全测试结果;

所述安全测试系统,用于对网页数据执行安全测试,生成并发送安全测试结果至处理设备。

通过以上技术手段,可以实现以下有益效果:

本发明提出将待测产品的功能测试与安全测试相结合的安全测试方式,在对待测产品进行功能测试过程中,复制并存储功能测试过程中产生的网页数据至数据库,重复执行复制并存储操作直至功能测试结束。因此数据库存储有待测产品的多个网页数据。

本发明可以通过将功能测试和安全测试相结合的方式,可以简单方便地获得覆盖率比较全面的产品数据,后续基于产品数据进行安全测试,所以可以提高安全测试的覆盖率和效率。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例公开的一种安全测试系统实施例一的结构示意图;

图2为本申请实施例公开的一种安全测试系统实施例二的结构示意图;

图3为本申请实施例公开的一种安全测试方法实施例一的结构示意图;

图4为本申请实施例公开的一种安全测试方法实施例二的结构示意图;

图5为本申请实施例公开的一种安全测试方法中网页数据的示意图;

图6为本申请实施例公开的一种安全测试装置实施例一的结构示意图;

图7为本申请实施例公开的一种安全测试装置实施例二的结构示意图。

具体实施方式

由于金融行业的待测产品通常也具有功能测试,也即对待测产品中各个功能进行测试,以验证各个功能是否正常运行。由于功能测试的覆盖率非常高,为此本发明提出将待测产品的功能测试与安全测试相结合的安全测试方式。

通过脚本对功能测试过程中产生的功能测试数据进行复制并存储至数据库,以此方式来获得对待测产品进行安全测试的产品数据。后续可以从数据库获取产品数据,并发送给第三方安全测试系统进行安全测试并获得第三方安全测试系统反馈的安全测试结果。

本发明充分利用功能测试的业务覆盖度与功能测试过程中存储的产品数据,对待测产品进行安全测试,从而提高安全测试的覆盖率和效率。

与现有技术相比本发明提供的安全测试具有以下有益效果:

第一覆盖率高:本发明复制功能测试过程中的产品数据,由于功能测试的业务覆盖率较高,所以由此获得的用于进行安全测试的产品数据的覆盖率也比较高,即可以覆盖传统安全测试自动化工具无法完成测试点,如越权测试、信息泄露等。

第二测试效率高:本发明可以重用功能测试过程中产品的产品数据,无需重新人工收集产品数据,所以无需花费较多时间来收集产品数据,提高了测试效率。

第三测试精度高:由于安全测试所使用的产品数据,是基于功能测试所获取的,衔接了功能测试的业务流程和安全测试的测试流程。由于产品数据的精度比较高,所以也提高了对待测产品的测试精度。

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为了便于理解,本发明提供两种安全测试系统。

第一种安全测试系统如图1所示,第一种安全测试系统中功能测试和部分安全测试均在处理设备中执行。

第二种安全测试系统如图2所示,第二种安全测试系统中功能测试于功能测试设备中执行,部分安全测试在处理设备中执行。

下面介绍两种安全测试系统的具体实现:

参见图1,本发明提供了一种安全测试系统的实施例一,包括:

处理设备100和安全测试系统200。

所述处理设备100,用于在对待测产品进行功能测试过程中,复制并存储测试过程中产生的网页数据至数据库,重复上述步骤直到功能测试结束;从所述数据库中提取所述待测产品的网页数据,并发送所述待测产品的网页数据至安全测试系统;接收所述安全测试系统反馈的安全测试结果。

所述安全测试系统200,用于对网页数据执行安全测试,生成并发送安全测试结果至处理设备。

参见图2,本发明提供了一种安全测试系统的实施例二,包括:

功能测试设备000、处理设备100和安全测试系统200;

功能测试设备,用于对待测产品进行功能测试,在对待测产品进行功能测试过程中,复制并发送测试过程中产生的网页数据,重复上述步骤直到功能测试结束;

所述处理设备,用于接收并存储对待测产品进行功能测试过程中产生的网页数据至数据库,重复上述步骤直到功能测试结束;从所述数据库中提取待测产品的网页数据并发送待测产品的网页数据至安全测试系统,接收所述安全测试系统反馈的安全测试结果;

所述安全测试系统,用于对网页数据执行安全测试,生成并发送安全测试结果至处理设备。

本发明提供了一种安全测试方法实施例一,应用于图1所示的安全测试系统。参见图3,包括以下步骤:

步骤s301:在处理设备的浏览器应用中添加软件脚本。

功能测试人员可以利用处理设备中的浏览器应用进行功能测试,为了不影响正常功能测试,在浏览器应用中添加软件脚本,应用于对功能测试过程中产生的网页数据执行复制操作。

步骤s302:处理设备在对待测产品进行功能测试过程中,复制并存储测试过程中产生的网页数据至数据库,重复上述步骤直到功能测试结束。

功能测试人员利用浏览器应用进行功能测试,功能测试人员会不断针对待测产品的各个功能进行功能测试。在进行功能测试过程中预置的软件脚本会不断复制功能测试过程中产生的页面数据,并发送页面数据至数据库,数据库会存储页面数据。

重复复制、发送和存储过程,直到功能测试结束。可以理解的是,数据库中便具有功能测试过程中的所有网页数据。

步骤s303:处理设备对所述数据库中的网页数据执行筛选操作。

s1:确定所述待测产品对应的待测网址。

可以理解的是,待测产品对应一个待测网址。例如,中国银行对应一个中国银行的网址“https://www.boc.cn/”。

s2:按所述待测产品对应的待测网址,对所述数据库中的网页数据执行筛选操作。

由于功能测试人员在测试过程中不可避免的会掺入一些其它产品的网页数据,因此为了便于后续执行安全测试,可以对数据库中的网页数据,按照待测网址执行筛选操作。

可以理解的是,待测产品下的一级网页、二级网页、三级网页等各级网页的网址中均包含有待测网址。例如,中国银行的一级网页、二级网页、三级网页的网址中均包含有中国银行的网址“https://www.boc.cn/”。

s3:仅保留包含有所述待测网址的网页数据。

在执行筛选操作后,仅保留下包含待测网址的网页数据,删除其余网页数据。其余网页数据为非待测产品的网页数据。

步骤s304:处理设备从所述数据库中提取所述待测产品的网页数据,并发送所述待测产品的网页数据至安全测试系统。

在有一个第三方的安全测试系统的情况下,可以逐条从数据库中提取待测产品的网页数据,并发送待测产品的网页数据至安全测试系统,以供安全测试系统测试后,再反馈安全测试结果至处理设备。

在有多个第三方的安全测试系统的情况下,可以逐条从数据库中提取待测产品的网页数据,并采用负载均衡方式发送待测产品的网页数据至安全测试系统,以供安全测试系统测试后,再反馈安全测试结果至处理设备。

步骤s305:处理设备接收所述安全测试系统反馈的安全测试结果。

处理设备可以逐条接收各个网页数据的安全测试结果,也可以一并接收所有网页数据的安全测试结果。对此实现方式本发明不做限定。

处理设备可以接收安全测试系统反馈的多个网页数据对应的多个安全测试结果并整合多个安全测试结果,接收并展示安全测试系统反馈的安全测试结果。

参见本发明提供了一种安全测试方法实施例二,应用于图2所示的安全测试系统。参见图4,包括以下步骤:

步骤s401:在功能测试设备的浏览器应用中添加软件脚本。

功能测试人员可以利用功能测试设备中的浏览器应用进行功能测试,为了不影响正常功能测试,在浏览器应用中添加软件脚本,应用于对功能测试过程中产生的网页数据执行复制操作。

步骤s402:功能测试设备在对待测产品进行功能测试过程中,复制并发送测试过程中产生的网页数据至处理设备,重复上述步骤直到功能测试结束。

功能测试人员利用浏览器应用进行功能测试,功能测试人员会不断针对待测产品的各个功能进行功能测试。在进行功能测试过程中预置的软件脚本会不断复制功能测试过程中产生的页面数据,并发送页面数据至处理设备。

重复复制和发送过程,直到功能测试结束。

步骤s403:处理设备不断接收并存储功能测试设备发送的网页数据。

可以理解的是,在功能测试结束之后数据库中便具有功能测试过程中的所有网页数据。

步骤s404:处理设备对所述数据库中的网页数据执行筛选操作。

s1:确定所述待测产品对应的待测网址。

可以理解的是,待测产品对应一个待测网址。例如,中国银行对应一个中国银行的网址“https://www.boc.cn/”。

s2:按所述待测产品对应的待测网址,对所述数据库中的网页数据执行筛选操作。

由于功能测试人员在测试过程中不可避免的会掺入一些其它产品的网页数据,因此为了便于后续执行安全测试,可以对数据库中的网页数据,按照待测网址执行筛选操作。

可以理解的是,待测产品下的一级网页、二级网页、三级网页等各级网页的网址中均包含有待测网址。例如,中国银行的一级网页、二级网页、三级网页的网址中均包含有中国银行的网址“https://www.boc.cn/”。

s3:仅保留包含有所述待测网址的网页数据。

在执行筛选操作后,仅保留下包含待测网址的网页数据,删除其余网页数据。其余网页数据为非待测产品的网页数据。

步骤s405:处理设备从所述数据库中提取所述待测产品的网页数据,并发送所述待测产品的网页数据至安全测试系统。

在有一个第三方的安全测试系统的情况下,可以逐条从数据库中提取待测产品的网页数据,并发送待测产品的网页数据至安全测试系统,以供安全测试系统测试后,再反馈安全测试结果至处理设备。

在有多个第三方的安全测试系统的情况下,可以逐条从数据库中提取待测产品的网页数据,并采用负载均衡方式发送待测产品的网页数据至安全测试系统,以供安全测试系统测试后,再反馈安全测试结果至处理设备。

步骤s406:处理设备接收所述安全测试系统反馈的安全测试结果。

处理设备可以逐条接收各个网页数据的安全测试结果,也可以一并接收所有网页数据的安全测试结果。对此实现方式本发明不做限定。

处理设备可以接收安全测试系统反馈的多个网页数据对应的多个安全测试结果并整合多个安全测试结果,接收并展示安全测试系统反馈的安全测试结果。

下面提供一个本发明的场景实施例:

在功能测试环境中添加软件脚本,软件脚本可以实现代理服务器功能。功能测试人员通过代理服务器访问待测产品以用于进行功能测试。代理服务器采用透明模式,在功能测试人员进行功能测试过程中,感受不到代理服务器的存在,也即对于原有的功能测试未有任何影响。

在功能测试过程中软件脚本会复制功能测试过程中产生的网页数据,参见图5,网页数据可以包括功能测试人员访问网页的网址(url)、网页对应的cookie,头部参数,身体参数和其它参数。当然还可以包括其它参数,对此不再赘述。

目前功能测试大多情况会执行两轮重复功能测试,在第一轮功能测试过程中,随着功能测试的不断进行,可以不断复制并存储功能测试过程中产生的网页数据,直到第一轮功能测试结束。

针对数据库中保存的网页数据,按照待测产品的网页地址执行过滤操作,仅保留待测网址的网页数据。

在进行第二轮功能测试的过程中,后台采用静默测试方式进行安全测试过程。在功能测试人员登录之后,可以调出第一轮功能测试该功能测试人员的url记录,将cookie替换为当前cookie,以用于恢复第一轮测试数据的可用性(第一轮测试数据需要在当前测试人员登录的情况下才能使用)。

将第一轮保存下来的网页数据,发送至第三方安全测试工具进行安全测试,并获得安全测试结果。本发明强调功能测试与安全测试相结合,最终实现原子级别的安全测试。

第三方安全测试系统,可以包括nessus、awvs等多个安全测试系统,以便可以覆盖业内绝大部分常见漏洞。对于原子级的安全测试,在设计架构及部署上采用分布式的原则,保证各第三方漏扫工具分布式部署,相互独立,即插即用。大大提高了系统的灵活性和扩展性。

参见图6,本发明提供了一种安全测试装置实施例一,主要分三个模块:

数据采集模块、数据调度模块和静默测试模块。

数据采集模块,通过软件脚本复制功能测试产生的网页数据(也即提取url及对应参数,cookie等参数)并存入网页数据至数据库。

数据调度模块,识别功能测试人员是否在线,如果在线,则从数据库读出该功能测试人员第一轮功能测试过程中保存下来的网页数据,并将网页数据中的cookie替换当前cookie,并发送数据库中的网页数据至第三方安全测试系统,并获取第三方安全测试系统生成安全测试报告。

静默测试模块,用于完成后台静默自动化安全测试,可以覆盖sql注入扫描、xss扫描、越权点挖掘、敏感信息记录、上传漏洞挖掘等功能。

参见图7,本发明提供了一种安全测试装置实施例二,包括:

复制并存储单元71,用于在对待测产品进行功能测试过程中,复制并存储测试过程中产生的网页数据至数据库,重复上述步骤直到功能测试结束;

提取并发送单元72,用于从所述数据库中提取所述待测产品的网页数据,并发送所述待测产品的网页数据至安全测试系统;

接收单元73,用于接收所述安全测试系统反馈的安全测试结果。

通过以上技术手段,可以实现以下有益效果:

本发明提出将待测产品的功能测试与安全测试相结合的安全测试方式,在对待测产品进行功能测试过程中,复制并存储功能测试过程中产生的网页数据至数据库,重复执行复制并存储操作直至功能测试结束。因此数据库存储有待测产品的多个网页数据。

本发明可以通过将功能测试和安全测试相结合的方式,可以简单方便地获得覆盖率比较全面的产品数据,后续基于产品数据进行安全测试,所以可以提高安全测试的覆盖率和效率。

本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1