【具体实施方式】
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一实施例提供的测试方法的流程示意图。如图1所示,该方法包括:
101、测试装置配置待测的脱敏系统的脱敏信息处理方式。
102、测试装置根据第一测试参数,访问目标应用系统上用于向脱敏系统传输待测数据的目标页面,目标应用系统是指部署有脱敏系统的应用系统。
103、测试装置通过目标页面,将待测数据提供给目标应用系统并接收目标应用系统返回的第一处理结果,该第一处理结果是脱敏系统根据脱敏信息处理方式对从目标应用系统拦截到的待测数据进行脱敏处理后的结果。
104、测试装置根据待测数据预期的第二处理结果和目标应用系统返回的第一处理结果,确定脱敏系统是否具有脱敏功能。
在本实施例中,测试装置可以是任何能够完成上述测试流程的装置或设备,例如可以是服务器、终端设备或测试专用设备等。
本实施例提供的测试方法主要用于对脱敏系统进行测试,但并不限于此。本实施例的脱敏系统可以是能够识别出敏感信息并且可以对敏感信息进行处理的应用。对于敏感信息,经过脱敏系统的处理后,非法用户就无法识别出或无法获取到这些信息,解决敏感信息泄露的问题。为便于描述,在本发明各实施例中,将脱敏系统识别待测数据是否为敏感信息,以及在识别出待测数据是敏感信息后对待测数据进行处理的过程称为脱敏处理。脱敏系统可以采用多种脱敏信息处理方式进行脱敏处理。
其中,脱敏系统可以应用到各种应用系统,根据应用系统的不同,敏感信息会有所不同,所使用的脱敏信息处理方式也会有所不同。无论是哪个应用系统,对脱敏系统进行测试的流程都相同,本发明实施例以其中任意一个应用系统为例进行说明,为便于描述将该应用系统称为目标应用系统。对于目标应用系统来说,可以设置包括预先定义的敏感信息的敏感信息库。例如,可以将用户的用户名、电话号码、电子邮件、身份证号码信息预先定义为敏感信息,并存储到敏感信息库中。为了避免敏感信息的泄露,目标应用系统上部署脱敏系统,由脱敏系统对敏感信息进行脱敏处理。在部署脱敏系统之前,需要对脱敏系统进行测试。
具体的,测试装置首先配置待测脱敏系统的脱敏信息处理方式,以使脱敏系统可以采用所配置的脱敏信息处理方式对待测数据进行脱敏处理,进而基于脱敏处理结果完成对脱敏系统的测试。
例如,测试装置可以根据预设的脱敏处理策略,将脱敏信息处理方式配置为下述中的至少一种:
不处理、预定部分展示、完全屏蔽、按权限屏蔽、变换后展示、误报。
上述不处理,可以包括对待测数据不进行屏蔽、变换、替代等处理。
上述预定部分展示,可以包括根据预定的展示规则展示待测数据的特定字段。例如假设待测数据为(Tel_Num:15912344321)时,所述预定的展示规则可以包括将变量名为“Tel:Num”所对应的值的第四位至第八位用字符“*”代替。则上述待测数据(Tel_Num:15912344321)按照上述预定部分展示方式处理后的处理结果为(Tel_Num:159*****321)。
上述完全屏蔽,可以包括根据预定的屏蔽规则屏蔽待测数据的所有字段。例如预定的屏蔽规则可以包括将变量名为“Tel:Num”所对应的值用一个或多个“*”字符全部代替。则上述待测数据(Tel_Num:15912344321)按照上述完全屏蔽方式处理后的处理结果为(Tel_Num:*)或(Tel_Num:***********)。
上述按权限屏蔽,可以包括根据指定信息的权限对待测数据进行处理。例如,指定信息为客户端用户的用户名,则可以根据用户名所在不同域组的权限设置相应的处理方法。具体的可以如下表1中所示,可以根据客户端用户的权限对待测数据进行处理。例如,当客户端用户的用户名属于超级管理员域组时,可以设置对待测数据不进行处理;当客户端用户的用户名属于管理员域组时,可以设置对待测数据进行部分屏蔽;当客户端用户的用户名属于用户域组时,可以设置对待测数据进行全部屏蔽或部分屏蔽。表1以待测数据包括变量名和值两部分为例,但不限于此。
表1按权限屏蔽处理方式示意表
上述变换后展示,可以包括将待测数据按照预定变换规则进行变换。例如,待测数据可以是ModelMap中的第四变量(Name4:evil)中的值“evil”,则按照预定规则可以将“evil”变换为“live”,则处理结果可以为(Name4:live)。
上述误报,可以表示为由于敏感信息的识别规则出现异常或判断出的敏感信息不符合根据其他条件设置的敏感信息判断标准时,对待测数据不进行处理操作,此时可以生成误报日志。该误报日志中可以存储记录产生误报的次数以及每次误报的目标源(例如原始的待测数据)、误报原因、日志产生时间等。在本实施例中可以存储所述生成的误报日志,可以用于后续的行为统计。
为了将待测数据提供给脱敏系统,测试装置根据第一测试参数,访问目标应用系统上用于向脱敏系统传输待测数据的目标页面;之后通过目标页面,将待测数据提供给目标应用系统,这样部署在目标应用系统上的脱敏系统可以从目标应用系统拦截待测数据;之后脱敏系统可以根据所配置的脱敏信息处理方式对拦截到的待测数据进行脱敏处理,获得第一处理结果,并将第一处理结果提供给目标应用系统;目标应用系统将第一处理结果通过目标页面提供给测试装置。
在一可选实施方式中,第一测试参数包括:指向目标页面的URL、账号名和密码。
如图2所示,上述步骤102的一种实施方式包括:
1021、测试装置根据URL,向目标应用系统发送访问请求,该访问请求用于请求访问目标页面。
1022、测试装置接收目标应用系统在确定测试装置未与目标应用系统建立会话后返回的登录页面。
1023、测试装置登录页面中输入账号名和密码,以与目标应用系统建立会话。
1024、测试装置接收目标应用系统在测试装置与目标应用系统建立会话后返回的目标页面。
以上述URL为https://zopsantx.alipay.com/project/viewProject.htm为例,该URL中的https://zopsantx.alipay.com表示目标应用系统的地址,:/project/viewProject.htm表示目标应用系统上的目标页面。
具体的,测试装置直接通过https://zopsantx.alipay.com/project/viewProject.htm向目标应用系统发送访问请求。目标应用系统接收测试装置发送的访问请求,判断测试装置是否有权访问/project/viewProject.htm指向的目标页面;如果没有,就通过HTTP重定向,将测试装置重定向到登录页面;如果有权限,则允许测试装置访问目标页面,即将目标页面直接提供给测试装置。目标应用系统判断测试装置是否有权访问/project/viewProject.htm指向的目标页面,主要是指目标应用系统判断测试装置与目标应用系统是否建立会话,即判断测试装置与目标应用系统之间的会话ID是否存在已建立会话的ID中,如果不存在,说明测试装置未与目标应用系统建立会话,也就意味着测试装置没有权限访问目标页面,于是将测试装置重定向到登录页面。例如,可由后台用户管理系统(BackendUserManage,Bumg)系统提供的登录页面,Bumg可以理解为统一登录门户。
之后,测试装置在登录页面中输入第一测试参数中的账号名和密码进行登录,登录成功也就意味着测试装置与目标应用系统建立了会话,并存储会话ID。于是目标应用系统将目标页面提供给测试装置,具体的,测试装置可以再次向目标应用系统发送访问请求,目标应用系统获取测试装置与目标应用系统之间的会话ID,由于该会话ID是否存在已建立会话的ID中,所以目标应用系统将目标页面提供给测试装置。
测试装置访问到目标页面后,通过目标页面向目标应用系统传输待测数据。其中,待测数据可以包括属于敏感信息的数据和/或不属于敏感信息的数据。待测数据可以是一个或者至少两个。
在一可选实施方式中,待测数据为至少两个,则测试装置具体可以通过目标页面,逐个将至少两个待测数据中的每个待测数据提供给目标应用系统并接收目标应用系统返回的每个待测数据的第一处理结果。对于敏感系统来说,会从目标应用系统逐个拦截待测数据,并对所拦截的待测数据进行脱敏处理,获得对每个待测数据的第一处理结果。
在一可选实施方式中,测试装置通过目标页面,将待测数据提供给目标应用系统并接收目标应用系统返回的第一处理结果之前,可以根据第二测试数据,在目标页面上配置输入组件、输出组件和提交组件。具体的,测试装置可以访问目标页面,根据第二测试数据在目标页面上配置输入组件、输出组件和提交组件。
用于设置输入组件、输出组件和提交组件的第二测试数据可以包括用于指示各组件在目标页面上的位置的数据、用于指示各组件实现形式的数据、以及用于指示各组件大小的数据等等。在一可选实施方式中,如图3所示,输入组件可以是一个输入框,提交组件可以是确认按钮,输出组件可以是一信息列表;相应的,上述第二测试数据可以包括指示输入框、确认按钮和输出框分别在目标页面上的位置的数据、指示输入组件为输入框、提交组件为确认按钮和输出框为信息列表的数据、以及指示输入框大小、确认按钮大小和信息列表大小的数据等。在另一可选实施方式中,如图4所示,输入组件可以是一回显输入框,提交组件可以是搜索按钮,输出组件也是该回显输入框,在该实施方式中,输入组件和输出组件为同一输入框;相应的,上述第二测试数据可以包括用于指示回显输入框和搜索按钮分别在目标页面上的位置的数据、指示输入组件和输出组件为回显输入框、提交组件为搜索按钮的数据、以及指示回显输入框大小的数据等。
基于上述,测试装置具体可以在输入组件中输入待测数据,点击提交组件将待测数据提供给目标应用系统;之后,接收目标应用系统输出到输出组件中的第一处理结果。
测试装置获得第一处理结果后,可以根据待测数据预期的第二处理结果和第一处理结果,确定脱敏系统是否具有脱敏功能。
例如,测试装置可以将第一处理结果和第二处理结果进行比较,如果两者相同,确定脱敏系统具有脱敏功能;反之,确定脱敏系统不具有脱敏功能。
在一可选实施方式中,待测数据可以是属于敏感信息的数据,例如,邮箱号、手机号码、固话号码、身份证号、银行卡号等。当上述配置的敏感信息处理方式为完全屏蔽时,待测数据预期的第二处理结果可以是***********,如果脱敏系统对待测数据进行脱敏处理后的第一处理结果是***********,说明脱敏系统能够识别出待测数据为敏感信息,且可以根据所配置的敏感信息处理方式完成对待测数据的处理,因此可以确定脱敏系统具有脱敏功能;反之,如果第一处理结果不是***********,说明脱敏系统不能识别待测数据为敏感数据或者不能根据所配置的敏感信息处理方式对待测数据进行处理,因此可以确定脱敏系统不具有脱敏功能。或者,当上述配置的敏感信息处理方式为预定部分展示,以待测数据为手机号码15912344321为例,则待测数据预期的第二处理结果可以是159*****321,如果脱敏系统对待测数据进行脱敏处理后的第一处理结果是159*****321,说明脱敏系统能够识别出“15912344321”为敏感信息,且可以根据所配置的敏感信息处理方式完成对“15912344321”的处理,因此可以确定脱敏系统具有脱敏功能;反之,如果第一处理结果不是159*****321,说明脱敏系统不具有脱敏功能。
在一可选实施方式中,待测数据可以是不属于敏感信息的数据,例如可以是新闻数据、网址数据等。对于这种情况,无论上述配置的敏感信息处理方式是哪种,待测数据预期的第二处理结果可以是“非敏感信息”,如果脱敏系统对待测数据进行脱敏处理后的第一处理结果是类似“非敏感信息”的结果,说明脱敏系统能够识别出待测数据不属于敏感信息,并且不对待测数据的处理,因此可以确定脱敏系统具有脱敏功能;反之,如果第一处理结果不是类似“非敏感信息”的结果,说明脱敏系统不能识别待测数据不属于敏感数据,因此可以确定脱敏系统不具有脱敏功能。
在一可选实施方式中,待测数据为至少两个。测试装置可以将每个待测数据的第二处理结果与第一处理结果进行比较,若存在第一处理结果和第二处理结果不相同的情况,则确定脱敏系统不具有脱敏功能;反之,若所有待测数据的第一处理结果和第二处理结果均相同,则确定脱敏系统具有脱敏功能。或者,测试装置可以每个待测数据的第二处理结果与第一处理结果进行比较,若第一处理结果和第二处理结果不相同的待测数据的百分比小于预设门限,则确定脱敏系统具有脱敏功能;若第一处理结果和第二处理结果不相同的待测数据的百分比大于或等于预设门限,则确定脱敏系统不具有脱敏功能。
在一可选实施方式中,脱敏系统可以采用C/S架构实现,则该脱敏系统可以包括服务端和客户端,客户端部署于目标应用系统,而服务端部署于不同于目标应用系统的其他应用系统中。对目标应用系统来说,实现脱敏处理的是脱敏系统中的客户端。服务端主要用于管理、更新和维护客户端。
基于上述,测试装置配置脱敏系统的敏感信息处理方式的过程包括:测试装置在脱敏系统的服务端配置敏感信息处理方式,由服务端将所配置的敏感信息处理方式同步到各客户端。值得说明的是,服务端向客户端同步所配置的敏感信息处理方式的过程需要花费时间,但本发明实施例对此并不关注。
值得说明的是,测试装置要配置脱敏系统的敏感信息处理方式,需要预先获知敏感系统的标识,例如可以是敏感系统的名称或敏感系统的访问地址等,以便于找到敏感系统。
在一可选实施方式中,测试装置可以将图1所示方法流程预先配置到一测试用例模板中,这样测试装置在对脱敏系统进行测试时,可以通过向该测试用例模板输入参数,例如脱敏系统的标识、第一测试参数等,形成测试用例,通过运行测试用例完成对待测脱敏系统的测试。进一步,考虑到脱敏系统可以在多种脱敏信息处理方式下工作,因此可以针对每种脱敏信息处理方式预先配置一个测试用例模板,这样在对脱敏系统进行测试时,测试装置只需结合目标应用系统向测试用例模板传输相应参数,生成测试用例,完成对脱敏系统的测试。这种预先配置测试用例模板的方式可以进一步提高测试效率。
在一可选实施方式中,上述测试过程中所需的参数,例如第一测试参数、第二测试参数等可以预先配置到测试文件中,测试装置直接读取测试文件从中获取所需的参数。除此之外,也可以由用户在测试过程中手动输入测试所需的参数,与现有技术相比,虽然用户需要手动输入测试所需参数,但不需要编写测试用例,手动输入测试所需参数消耗的时间要远少于手动编写测试用例的时间,因此同样有利于提高测试效率。
综上可见,测试装置可以自动完成对脱敏系统的测试,不需要用户编写测试用例,且在本实施例测试过程中也不需要用户参与,提高了测试效率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
图5为本发明一实施例提供的测试装置的结构示意图。如图5所示,该测试装置包括:第一配置模块51、访问模块52、提供模块53和确定模块54。
第一配置模块51,与脱敏系统连接,用于配置待测的脱敏系统的脱敏信息处理方式。
访问模块52,用于根据第一测试参数,访问目标应用系统上用于向脱敏系统传输待测数据的目标页面,该目标应用系统是指部署有脱敏系统的应用系统。
提供模块53,与访问模块52连接,用于通过访问模块52访问的目标页面,将待测数据提供给目标应用系统并接收目标应用系统返回的第一处理结果,第一处理结果是脱敏系统根据脱敏信息处理方式对从目标应用系统拦截到的待测数据进行脱敏处理后的结果。
确定模块54,与提供模块53连接,用于根据待测数据预期的第二处理结果和提供模块53接收的第一处理结果,确定脱敏系统是否具有脱敏功能。
在一可选实施方式中,第一测试参数包括:指向目标页面的URL、账号名和密码。
基于上述,如图6所示,访问模块52的一种实现结构包括:第一发送单元521、第一接收单元522和输入单元523。
第一发送单元521,用于根据URL,向目标应用系统发送访问请求。
第一接收单元522,用于接收目标应用系统在确定测试装置未与目标应用系统建立会话后返回的登录页面。
输入单元523,与第一接收单元522连接,用于在第一接收单元522接收的登录页面中输入账号名和密码,以与目标应用系统建立会话。
第一接收单元521,还用于接收目标应用系统在测试装置与目标应用系统建立会话后返回的目标页面。
在一可选实施方式中,如图6所示,测试装置还包括:第二配置模块55。
第二配置模块55,与提供模块53连接,用于根据第二测试参数,在目标页面上配置输入组件、输出组件和提交组件。
基于上述,提供模块53具体可用于:
在输入组件中输入待测数据,点击提交组件将待测数据提供给目标应用系统;
接收目标应用系统输出到输出组件中的第一处理结果。
在一可选实施方式中,待测数据为至少两个。
基于上述,提供模块53具体可用于:
通过目标页面,逐个将至少两个待测数据中的每个待测数据提供给目标应用系统并接收目标应用系统返回的每个待测数据的第一处理结果;
相应的,确定模块54具体可用于:
根据每个待测数据预期的第二处理结果和每个待测数据的第一处理结果,确定脱敏系统是否具有脱敏功能。
在一可选实施方式中,第一配置模块51具体可用于:
根据预设的脱敏处理策略,将脱敏处理方式配置为下述中的至少一种:
不处理、预定部分展示、完全屏蔽、按权限屏蔽、变换后展示、误报。
在一可选实施方式中,脱敏系统包括服务端和客户端,客户端部署于目标应用系统,服务端部署于不同于目标应用系统的其他应用系统中。相应的,第一配置模块51具体可用于:将脱敏信息处理方式配置到脱敏系统的服务端,以供服务端将脱敏信息处理方式同步到脱敏系统的客户端。
本实施例提供的测试装置,配置待测脱敏系统的脱敏信息处理方式,根据第一测试参数,访问需要应用该脱敏系统的目标应用系统提供的用于向脱敏系统提供待测数据的目标页面,之后通过目标页面将待测数据提供给目标应用系统并接收目标应用系统返回的由脱敏系统根据脱敏信息处理方式对拦截到的待测数据进行脱敏处理后的处理结果,根据待测数据预期的处理结果和目标系统返回的处理结果,确定脱敏系统是否具有脱敏功能,实现对脱敏系统的测试。本实施例提供的测试装置可以自动完成对脱敏系统的测试,不需要用户编写测试用例,且在测试过程中也不需要用户参与,提高了测试效率。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。