掌桥专利:专业的专利平台
掌桥专利
首页

一种人机交互验证码的测试方法、系统及电子设备

文献发布时间:2024-04-18 20:01:30


一种人机交互验证码的测试方法、系统及电子设备

技术领域

本申请涉及网络安全技术领域,具体而言,涉及一种人机交互验证码的测试方法、系统及电子设备。

背景技术

目前在人机交互验证码系统的测试中,系统测试团队仅仅测试了上述人机交互验证码系统的功能流程是否正确,也就是说,人机交互验证码现有的测试验证技术只能测试出上述人机交互验证码系统的基础功能性是否正常以及从开始到结束的主流程是否联通。举例来说,现有技术中针对上述人机交互验证码系统进行测试的测试用例可以包括以下几个步骤:验证码的触发流程,验证码的操作验证流程-成功态,验证码的操作验证流程-失败态,验证码的刷新、完成和关闭流程。

但是,随着黑产的技术迭代更新,现有技术中的测试验证技术已经无法满足风控业务的反爬需求了,也就是说,现有技术中,无法检测和验证人机交互验证码对人机识别能力的好坏。

发明内容

本申请实施例的目的在于提供一种人机交互验证码的测试方法、系统及电子设备,用以解决现有技术中无法检测和验证人机交互验证码对人机识别能力的好坏的技术问题。

第一方面,本申请实施例提供一种人机交互验证码的测试方法,包括:根据第一配置参数生成待测试人机交互验证码;对所述待测试人机交互验证码进行攻击测试,得到对应的测试结果;其中,利用如下至少一种测试方式对所述待测试人机交互验证码进行测试:通用攻击测试、模拟路径攻击测试以及订制化攻击脚本攻击测试;根据所述测试结果确定所述待测试人机交互验证码对应的安全分数。

在上述方案中,通过生成待测试人机交互验证码,从而可以采用一种或者多种测试方式对上述待测试人机交互验证码进行测试,以得到对应的测试结果以及安全分数。其中,与现有技术中只能测试出人机交互验证码系统的基础功能性是否正常以及从开始到结束的主流程是否联通相比,本申请实施例提供的人机交互验证码的测试方法可以测试出人机交互验证码对一种或者多种攻击方式的防御情况,从而可以实现验证人机交互验证码系统对人机识别能力的好坏的目的。

在可选的实施方式中,所述对所述待测试人机交互验证码进行攻击测试,得到对应的测试结果,包括:生成模拟通用攻击;利用所述模拟通用攻击对所述待测试人机交互验证码进行攻击测试。在上述方案中,由于人机交互验证码每天都会面临着数十万甚至上百万的通用攻击,这些通用攻击会利用各种各样的灰色技术或工具不断尝试破解验证码,因此,可以通过生成模拟通用攻击,并利用上述模拟通用攻击对待测试人机交互验证码进行攻击测试,以测试人机交互验证码对通用攻击的防御情况。

在可选的实施方式中,所述对所述待测试人机交互验证码进行攻击测试,得到对应的测试结果,包括:利用预先训练好的路径规划模型进行路径规划,得到所述待测试人机交互验证码对应的规划路径;根据第二配置参数对所述规划路径进行路径混淆,得到所述待测试人机交互验证码对应的测试路径;利用所述测试路径对所述待测试人机交互验证码进行攻击测试。在上述方案中,由于黑产技术可以通过模拟用户行为轨迹来对人机交互验证码进行破解,因此,可以通过路径规划模型规划对应的路径,并可以再上述规划得到的路径基础上进行路径混淆,从而得到更接近实际用户行为轨迹的测试路径;通过利用上述测试路径对待测试人机交互验证码进行攻击测试,可以测试人机交互验证码对模拟路径攻击的防御情况。

在可选的实施方式中,所述对所述待测试人机交互验证码进行攻击测试,得到对应的测试结果,包括:获取针对所述待测试人机交互验证码的订制化攻击脚本;利用所述订制化攻击脚本对所述待测试人机交互验证码进行攻击测试。上述方案中,由于黑产技术可以针对人机交互验证码开发专门的订制化攻击脚本对验证码进行破解,因此,可以获取对应的订制化攻击脚本,并利用上述订制化攻击脚本对待测试人机交互验证码进行攻击测试,以测试人机交互验证码对订制化攻击脚本攻击的防御情况。

在可选的实施方式中,所述对所述待测试人机交互验证码进行攻击测试,得到对应的测试结果,包括:对所述待测试人机交互验证码进行所述通用攻击测试;若所述待测试人机交互验证码通过通用攻击测试,则对所述待测试人机交互验证码进行所述模拟路径攻击测试以及所述订制化攻击脚本攻击测试。在上述方案中,由于通用攻击是最基础以及最广泛的攻击方式,业务上得尽可能防御住,因此,可以先对待测试人机交互验证码进行通用攻击测试,并在待测试人机交互验证码通过上述通用攻击测试后,再对待测试人机交互验证码进行模拟路径攻击测试以及订制化攻击脚本攻击测试,以提高测试效率。

在可选的实施方式中,所述测试结果包括:每种测试方式对应的防御成功概率;所述根据所述测试结果确定所述待测试人机交互验证码对应的安全分数,包括:计算每种测试方式对应的所述防御成功概率的加权平均值,得到所述安全分数。在上述方案中,可以结合多种测试方式对应的测试结果确定待测试人机交互验证码对应的安全分数,其中,可以采用加权平均法计算上述安全分数,从而可以适应测试人员的各种测试需求。

第二方面,本申请实施例提供一种人机交互验证码的测试系统,包括:生码层,用于根据第一配置参数生成待测试人机交互验证码;攻防层,用于对所述待测试人机交互验证码进行攻击测试,得到对应的测试结果;其中,利用如下至少一种测试方式对所述待测试人机交互验证码进行测试:通用攻击测试、模拟路径攻击测试以及订制化攻击脚本攻击测试;分析层,用于根据所述测试结果确定所述待测试人机交互验证码对应的安全分数。

在上述方案中,通过生成待测试人机交互验证码,从而可以采用一种或者多种测试方式对上述待测试人机交互验证码进行测试,以得到对应的测试结果以及安全分数。其中,与现有技术中只能测试出人机交互验证码系统的基础功能性是否正常以及从开始到结束的主流程是否联通相比,本申请实施例提供的人机交互验证码的测试方法可以测试出人机交互验证码对一种或者多种攻击方式的防御情况,从而可以实现验证人机交互验证码系统对人机识别能力的好坏的目的。

在可选的实施方式中,所述攻防层包括:通用攻击测试模块,用于对所述待测试人机交互验证码进行通用攻击测试;模拟路径攻击测试模块,用于对所述待测试人机交互验证码进行模拟路径攻击测试;订制化攻击脚本攻击测试模块,用于对所述待测试人机交互验证码进行订制化攻击脚本攻击测试。

在可选的实施方式中,所述通用攻击测试模块具体用于:生成模拟通用攻击;利用所述模拟通用攻击对所述待测试人机交互验证码进行攻击测试。在上述方案中,由于人机交互验证码每天都会面临着数十万甚至上百万的通用攻击,这些通用攻击会利用各种各样的灰色技术或工具不断尝试破解验证码,因此,可以通过生成模拟通用攻击,并利用上述模拟通用攻击对待测试人机交互验证码进行攻击测试,以测试人机交互验证码对通用攻击的防御情况。

在可选的实施方式中,所述模拟路径攻击测试模块具体用于:利用预先训练好的路径规划模型进行路径规划,得到所述待测试人机交互验证码对应的规划路径;根据第二配置参数对所述规划路径进行路径混淆,得到所述待测试人机交互验证码对应的测试路径;利用所述测试路径对所述待测试人机交互验证码进行攻击测试。在上述方案中,由于黑产技术可以通过模拟用户行为轨迹来对人机交互验证码进行破解,因此,可以通过路径规划模型规划对应的路径,并可以再上述规划得到的路径基础上进行路径混淆,从而得到更接近实际用户行为轨迹的测试路径;通过利用上述测试路径对待测试人机交互验证码进行攻击测试,可以测试人机交互验证码对模拟路径攻击的防御情况。

在可选的实施方式中,所述订制化攻击脚本攻击测试模块具体用于:获取针对所述待测试人机交互验证码的订制化攻击脚本;利用所述订制化攻击脚本对所述待测试人机交互验证码进行攻击测试。上述方案中,由于黑产技术可以针对人机交互验证码开发专门的订制化攻击脚本对验证码进行破解,因此,可以获取对应的订制化攻击脚本,并利用上述订制化攻击脚本对待测试人机交互验证码进行攻击测试,以测试人机交互验证码对订制化攻击脚本攻击的防御情况。

在可选的实施方式中,所述通用攻击测试模块用于:对所述待测试人机交互验证码进行所述通用攻击测试;若所述待测试人机交互验证码通过通用攻击测试,则所述模拟路径攻击测试模块以及所述订制化攻击脚本攻击测试模块用于:对所述待测试人机交互验证码进行所述模拟路径攻击测试以及所述订制化攻击脚本攻击测试。在上述方案中,由于通用攻击是最基础以及最广泛的攻击方式,业务上得尽可能防御住,因此,可以先对待测试人机交互验证码进行通用攻击测试,并在待测试人机交互验证码通过上述通用攻击测试后,再对待测试人机交互验证码进行模拟路径攻击测试以及订制化攻击脚本攻击测试,以提高测试效率。

在可选的实施方式中,所述测试结果包括:每种测试方式对应的防御成功概率;所述分析层具体用于:计算每种测试方式对应的所述防御成功概率的加权平均值,得到所述安全分数。在上述方案中,可以结合多种测试方式对应的测试结果确定待测试人机交互验证码对应的安全分数,其中,可以采用加权平均法计算上述安全分数,从而可以适应测试人员的各种测试需求。

第三方面,本申请实施例提供一种电子设备,包括:处理器、存储器和总线;所述处理器和所述存储器通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的计算机程序指令,所述处理器调用所述计算机程序指令能够执行如第一方面所述的人机交互验证码的测试方法。

第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序指令,所述计算机程序指令被计算机运行时,使所述计算机执行如第一方面所述的人机交互验证码的测试方法。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举本申请实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的一种人机交互验证码的测试方法的流程图;

图2为本申请是谁了提供的一种步骤S102的具体实施方式的示意图;

图3为本申请实施例提供的一种人机交互验证码的测试系统的结构框图;

图4为本申请是谁了提供的另一种人机交互验证码的测试系统的结构框图;

图5为本申请实施例提供的一种电子设备的结构框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

请参照图1,图1为本申请实施例提供的一种人机交互验证码的测试方法的流程图,该人机交互验证码的测试方法可以包括如下步骤:

步骤S101:根据第一配置参数生成待测试人机交互验证码。

步骤S102:对待测试人机交互验证码进行攻击测试,得到对应的测试结果。

步骤S103:根据测试结果确定待测试人机交互验证码对应的安全分数。

具体的,在执行本申请实施例提供的人机交互验证码的测试方法之前,可以先配置相应的第一配置参数。

需要说明的是,本申请实施例对上述第一配置参数的具体实施方式不作具体的限定,本领域技术人员可以根据实际情况进行合适的调整;举例来说,第一配置参数可以包括需要生成的人机交互验证码的验证码类型、需要生成的人机交互验证码的验证码条数、人机交互验证码对应的渠道端和语言种类等。

作为一种实施方式,可以提供一个前端用户界面(User Interface,UI),通过表单提交的方式可以让用户把需要生成的第一配置信息存储下来;作为另一种实施方式,上述第一配置参数可以通过调用应用程序编程接口(Application Programming Interface,API)存储在Mysql数据库中。

在上述步骤S101中,可以根据上述第一配置参数生成待测试人机交互验证码;其中,人机交互验证码是指用于验证用户是真实人类而非机器人的图形或文字验证码。

作为一种实施方式,可以利用人机验证码构造器这一实际生成验证码的服务读取第一配置数据的读取,然后加载对应的验证码算法,批量生成验证码session,并绘制和生成批量热待测试人机交互验证码;其中,批量生成的待测试人机交互验证码可以用于后面环节的验证和攻防测试。

作为另一种实施方式,上述验证码算法可以与生产环境线上软件开发工具包(Software Development Kit,SDK)里的实际验证码算法一致。

在上述步骤S102中,可以利用如下至少一种测试方式对待测试人机交互验证码进行攻击测试,从而得到对应的测试结果:通用攻击测试、模拟路径攻击测试以及订制化攻击脚本攻击测试。

其中,通用攻击测试通过模拟通用攻击对待测试人机交互验证码进行攻击测试;模拟路径攻击测试通过模拟用户行为轨迹对待测试人机交互验证码进行攻击测试;订制化攻击脚本攻击测试通过获取订制化攻击脚本对待测试人机交互验证码进行攻击测试。

需要说明的是,本申请实施例对上述通用攻击测试、模拟路径攻击测试以及订制化攻击脚本攻击测试这三种测试方式的具体实施方式不作具体的限定,本领域技术人员可以根据实际情况进行合适的调整。

此外,本申请实施例对测试结果的具体实施方式同样不作具体的限定,本领域技术人员同样可以根据实际情况进行合适的调整。举例来说,测试结果可以包括通过攻击测试的待测试人机交互验证码的数量、通过攻击测试的待测试人机交互验证码的百分比、这组待测试人机交互验证码是否通过测试等。

可以理解的是,在上述三种测试方式中,作为一种实施方式,可以仅采用其中一种测试方式对待测试人机交互验证码进行攻击测试,其中,具体采用哪种测试方式可以根据实际情况进行调整;作为另一种实施方式,可以采用其中的两种测试方式对待测试人机交互验证码进行攻击测试,同样的,具体采用哪两种测试方式可以根据实际情况进行调整;作为又一种实施方式,可以采用上述三种测试方式对待测试人机交互验证码进行攻击测试,其中,可以同时采用上述三种测试方式对待测试人机交互验证码进行攻击测试,也可以依次采用上述三种测试方式对待测试人机交互验证码进行攻击测试。

在上述步骤S103中,可以根据上述步骤S102中得到的测试结果,确定待测试人机交互验证码对应的安全分数。

需要说明的是,本申请实施例对确定安全分数的具体实施方式不作具体的限定,本领域技术人员可以根据实际情况进行合适的调整。举例来说,可以计算多种测试方式对应的测试结果的加权平均值;或者,可以利用神经网络模型确定待测试人机交互验证码对应的安全分数等。

在上述方案中,通过生成待测试人机交互验证码,从而可以采用一种或者多种测试方式对上述待测试人机交互验证码进行测试,以得到对应的测试结果以及安全分数。其中,与现有技术中只能测试出人机交互验证码系统的基础功能性是否正常以及从开始到结束的主流程是否联通相比,本申请实施例提供的人机交互验证码的测试方法可以测试出人机交互验证码对一种或者多种攻击方式的防御情况,从而可以实现验证人机交互验证码系统对人机识别能力的好坏的目的。

进一步的,在上述实施例的基础上,可以利用通用攻击测试对待测试人机交互验证码进行测试,此时,上述步骤S102具体可以包括如下步骤:

步骤1),生成模拟通用攻击。

步骤2),利用模拟通用攻击对待测试人机交互验证码进行攻击测试。

具体的,在上述步骤1)中,为了利用通用攻击测试对待测试人机交互验证码进行测试,首先可以生成模拟通用攻击。其中,可以采用站外攻击平台生成上述模拟通用攻击。

作为一种实施方式,可以采用GSA Captcha Breaker生成上述模拟通用攻击,它具备多种识别方式、高识别率、响应急速和高灵活度等多个极其优越的特性。GSA CaptchaBreaker支持多种验证码类型的识别,包括文本、图像、数学等,它可以自动识别并破解各种常见的验证码,无需手动设置规则。GSA Captcha Breaker采用先进的图像处理和机器学习算法,能够准确地识别大多数验证码,它不仅可以识别简单的文本验证码,还可以处理复杂的图像验证码,因此,可以在很短的时间内完成验证码的识别,极大的提高攻击测试效率,并可以完美的与其它软件或系统集成。

此外,在本申请实施例中,还可以在上述GSA Captcha Breaker的基础上融入一些其它的攻击工具,例如:Buster、Burp reCAPTCHA等辅助GSACaptcha Breaker一起模拟通用攻击。

在上述步骤2)中,可以利用上述步骤1)中生成模拟通用攻击对待测试人机交互验证码进行攻击,以测试待测试人机交互验证码是否能够通过上述攻击测试,从而可以实现对待测试人机交互验证码进行通用攻击测试。

在上述方案中,由于人机交互验证码每天都会面临着数十万甚至上百万的通用攻击,这些通用攻击会利用各种各样的灰色技术或工具不断尝试破解验证码,因此,可以通过生成模拟通用攻击,并利用上述模拟通用攻击对待测试人机交互验证码进行攻击测试,以测试人机交互验证码对通用攻击的防御情况。

进一步的,在上述实施例的基础上,可以利用模拟路径攻击测试对待测试人机交互验证码进行测试,此时,上述步骤S102具体可以包括如下步骤:

步骤1),利用预先训练好的路径规划模型进行路径规划,得到待测试人机交互验证码对应的规划路径。

步骤2),根据第二配置参数对规划路径进行路径混淆,得到待测试人机交互验证码对应的测试路径。

步骤3),利用测试路径对待测试人机交互验证码进行攻击测试。

具体的,在上述步骤1)中,上述路径相当于用户行为轨迹,其中,用户行为轨迹是指在进行验证码验证过程中,用户在输入验证码时所展现出的行为表现和模式。作为一种实施方式,上述行为可以包括鼠标移动轨迹、点击位置、按键时间间隔、按键顺序等。

其中,通过分析用户在输入验证码时的行为轨迹,可以判断其是否为真实用户或者是否存在异常行为。它的原理主要基于人类在进行操作时的习惯和行为模式,每个人在操作计算机时都会有一定的习惯和特点,例如:鼠标移动的速度和轨迹、按键的力度和节奏等,通过对这些行为进行分析和比对,可以判断用户是否为真实用户或者是否存在欺诈行为。因此,可以通过规划上述路径对待测试人机交互验证码进行攻击测试。

作为一种实施方式,可以利用如下步骤训练得到上述路径规划模型:获取训练数据集、数据预处理、模型选择、设置损失函数、反向传播和更新权值。首先,下载人机交互验证码的数据集,然后对其进行标注,标注的数据包括目标的类别和位置信息;然后,将这些标注的数据送给神经网络模型进行训练;在训练过程中,设置损失函数和训练参数,采用反向传播算法计算损失函数的梯度,并更新权值,以提高模型的预测准确度。

需要说明的是,本申请实施例对上述路径规划模型的具体实施方式不作具体的限定,本领域技术人员可以根据实际情况进行合适的调整。举例来说,路径规划模型可以采用YOLO算法。

其中,YOLO算法是使用了卷积神经网络(Convolutional Neural Network,CNN)来提取图像特征的目标检测算法。它的基本思想是将目标检测问题转化为一个回归问题,它将图像分成一个固定大小的网格,并在每个网格上预测多个边界框和相应的类别概率;每个边界框包含了一个目标的位置和大小信息,以及该目标属于不同类别的概率。

下面是YOLO算法模型的具体实现:首先,定义一些函数,这些函数将用来选择高于某个阈值的边界框,并对其应用非极大值抑制,并导入所需的库:实现基于概率和阈值过滤边界框的函数、实现计算IoU的函数、实现非极大值抑制的函数、随机初始化下大小为(19,19,5,85)的输出向量、实现将CNN的输出作为输入并返回被抑制的边界框的函数;然后,使用yolo_eval函数对之前创建的随机输出向量进行预测。

接下来,可以在新的图像上使用预训练的YOLO算法,以预测推理其工作效果:首先,在加载类别信息和预训练模型之后,可以使用定义的函数来获取yolo_outputs;然后,定义一个函数来预测边界框并在图像上标记边界框;最后,使用预测函数读取图像并进行预测,最终输出预测结果。

可以理解的是,在经过上述训练过程得到路径规划模型后,可以利用上述路径规划模型进行路径规划,从而可以得到待测试人机交互验证码对应的规划路径。

在上述步骤2)中,可以按照预先设定好的第二配置规则对步骤1)中生成的规划路径进行一定程度的混淆,从而来提升模拟攻击人机验证码的隐秘性。需要说明的是,本申请实施例对上述第二配置规则的具体实施方式不作具体的限定,本领域技术人员可以根据实际情况进行合适的调整。举例来说,第二配置规则可以包括增加按键时间间隔、改变鼠标移动轨迹等。

因此,在本申请实施例中,可以通过前端表单配置将鼠标移动轨迹、点击位置、按键时间间隔、按键顺序等做一定的设置,存到数据库;然后路径规划模型规划好路径后通过第二配置规则进行一定程度的路径混淆,最后模拟执行验证码的操作。

在上述步骤3)中,可以利用上述步骤2)中生成测试路径模拟执行验证码的操作对待测试人机交互验证码进行攻击,以测试待测试人机交互验证码是否能够通过上述攻击测试,从而可以实现对待测试人机交互验证码进行模拟路径攻击测试。

在上述方案中,由于黑产技术可以通过模拟用户行为轨迹来对人机交互验证码进行破解,因此,可以通过路径规划模型规划对应的路径,并可以再上述规划得到的路径基础上进行路径混淆,从而得到更接近实际用户行为轨迹的测试路径;通过利用上述测试路径对待测试人机交互验证码进行攻击测试,可以测试人机交互验证码对模拟路径攻击的防御情况。

进一步的,在上述实施例的基础上,可以利用订制化攻击脚本攻击测试对待测试人机交互验证码进行测试,此时,上述步骤S102具体可以包括如下步骤:

步骤1),获取针对待测试人机交互验证码的订制化攻击脚本。

步骤2),利用订制化攻击脚本对待测试人机交互验证码进行攻击测试。

具体的,业务环境中存在一些场景,通用破解方法无法攻击破解掉平台的人机交互验证码,内部自建模型破解率也很低,但是依然存在很大百分比的验证码数据遭到了破解。这是由于,黑产技术可以通过订制化攻击脚本的开发专门对人机交互验证码系统做一对一的适配,因此,需要建立订制化攻击脚本的防御验证测试能力。

在上述步骤1)中,可以获取针对待测试人机交互验证码的订制化攻击脚本。需要说明的是,本申请实施例对获取订制化攻击脚本的具体实施方式不作具体的限定,本领域技术人员可以根据实际情况进行合适的调整。举例来说,可以接收外部设备发送的订制化攻击脚本;或者,可以收集互联网上的订制化攻击脚本,然后上传上述订制化攻击脚本等。

作为一种实施方式,可以在UI界面上操作上传按钮,上传API将订制化攻击脚本的文件以及相关静态素材文件等上传至OSS(一种存储介质,其特性是存储空间可无限横向扩展)中;在存储的过程中会有另外一系列信息会存入Mysql关系型数据库表中,这列数据会存储脚本名字、脚本版本、脚本、类型、验证码版本、创建时间、更新时间等信息。

在上述步骤2)中,可以执行上述步骤2)中获取到的订制化攻击脚本,对待测试人机交互验证码进行攻击,以测试待测试人机交互验证码是否能够通过上述攻击测试,从而可以实现对待测试人机交互验证码进行订制化攻击脚本攻击测试。

上述方案中,由于黑产技术可以针对人机交互验证码开发专门的订制化攻击脚本对验证码进行破解,因此,可以获取对应的订制化攻击脚本,并利用上述订制化攻击脚本对待测试人机交互验证码进行攻击测试,以测试人机交互验证码对订制化攻击脚本攻击的防御情况。

进一步的,在上述实施例的基础上,请参照图2,图2为本申请实施例提供的一种步骤S102的具体实施方式的示意图,此时,上述步骤S102具体可以包括如下步骤:

步骤1),对待测试人机交互验证码进行通用攻击测试。

步骤2),若待测试人机交互验证码通过通用攻击测试,则对待测试人机交互验证码进行模拟路径攻击测试以及订制化攻击脚本攻击测试。

具体的,在生成待测试人机交互验证码后,可以先对待测试人机交互验证码进行通用攻击测试;若待测试人机交互验证码没有通过通用攻击测试,则可以直接确定其对应的安全分数为不及格。

若待测试人机交互验证码通过通用攻击测试,则可以进一步对待测试人机交互验证码进行模拟路径攻击测试以及订制化攻击脚本攻击测试,并根据通用攻击测试、模拟路径攻击测试以及订制化攻击脚本攻击测试的测试结果,计算器对应的安全分数。

在上述方案中,由于通用攻击是最基础以及最广泛的攻击方式,业务上得尽可能防御住,因此,可以先对待测试人机交互验证码进行通用攻击测试,并在待测试人机交互验证码通过上述通用攻击测试后,再对待测试人机交互验证码进行模拟路径攻击测试以及订制化攻击脚本攻击测试,以提高测试效率。

进一步的,在上述实施例的基础上,测试结果包括:每种测试方式对应的防御成功概率,此时,上述步骤S103具体可以包括如下步骤:

计算每种测试方式对应的防御成功概率的加权平均值,得到安全分数。

具体的,可以采用加权平均法计算安全分数。其中,加权平均法是一种计算平均值的方法,它根据每个数据点的权重给予不同的重要性;在加权平均法中,每个数据点的权重是一个非负数,表示该数据点的重要程度,权重越大,表示该数据点对最终平均值的贡献越大。

在本申请实施例中,可以将测试结果收集起来存在数据库中,每一笔验证请求都有一个唯一的请求trance Id,表中的数据信息字段包含验证码类型、测试方式、测试结果、测试时间等信息。

以同时采用通用攻击测试、模拟路径攻击测试以及订制化攻击脚本攻击测试对待测试人机交互验证码进行攻击测试为例,可以形成如下积分规则:安全分数=(通用攻击测试成功拦截百分数×通用攻击测试权重+模拟路径攻击测试成功拦截百分数×模拟路径攻击测试权重+订制化攻击脚本攻击测试成功拦截百分数×订制化攻击脚本攻击测试权重)/(通用攻击测试权重+模拟路径攻击测试权重+订制化攻击脚本攻击测试权重)×100。

举例来说,假设通用攻击测试权重为0.7,模拟路径攻击测试权重为0.2,订制化攻击脚本攻击测试权重为0.1;通用攻击测试成功拦截百分数为90%,模拟路径攻击测试成功拦截百分数为80%,订制化攻击脚本攻击测试成功拦截百分数为70%;则,安全分数为86。

其中,作为一种实施方式,由于通用攻击是最基础和广泛的攻击方式,业务上必须得尽可能防御住,因此,通用攻击测试权重可以设置的较大。

在上述方案中,可以结合多种测试方式对应的测试结果确定待测试人机交互验证码对应的安全分数,其中,可以采用加权平均法计算上述安全分数,从而可以适应测试人员的各种测试需求。

请参照图3,图3为本申请实施例提供的一种人机交互验证码的测试系统的结构框图,该人机交互验证码的测试系统300包括:生码层301,用于根据第一配置参数生成待测试人机交互验证码;攻防层302,用于对所述待测试人机交互验证码进行攻击测试,得到对应的测试结果;其中,利用如下至少一种测试方式对所述待测试人机交互验证码进行测试:通用攻击测试、模拟路径攻击测试以及订制化攻击脚本攻击测试;分析层303,用于根据所述测试结果确定所述待测试人机交互验证码对应的安全分数。

在上述方案中,通过生成待测试人机交互验证码,从而可以采用一种或者多种测试方式对上述待测试人机交互验证码进行测试,以得到对应的测试结果以及安全分数。其中,与现有技术中只能测试出人机交互验证码系统的基础功能性是否正常以及从开始到结束的主流程是否联通相比,本申请实施例提供的人机交互验证码的测试方法可以测试出人机交互验证码对一种或者多种攻击方式的防御情况,从而可以实现验证人机交互验证码系统对人机识别能力的好坏的目的。

进一步的,在上述实施例的基础上,请参照图4,图4为本申请是谁了提供的另一种人机交互验证码的测试系统的结构框图。

其中,生码层301包括:生码配置服务,用于配置第一配置参数;人机验证码构造器,用于根据第一配置参数生成待测试人机交互验证码。

攻防层303包括:通用攻击测试模块,用于对待测试人机交互验证码进行通用攻击测试;模拟路径攻击测试模块,用于对待测试人机交互验证码进行模拟路径攻击测试;订制化攻击脚本攻击测试模块,用于对待测试人机交互验证码进行订制化攻击脚本攻击测试。

分析层303包括:评分规则配置,用于配置评分规则;安全分计算,用于根据测试结果确定待测试人机交互验证码对应的安全分数。

进一步的,在上述实施例的基础上,所述通用攻击测试模块具体用于:生成模拟通用攻击;利用所述模拟通用攻击对所述待测试人机交互验证码进行攻击测试。

在上述方案中,由于人机交互验证码每天都会面临着数十万甚至上百万的通用攻击,这些通用攻击会利用各种各样的灰色技术或工具不断尝试破解验证码,因此,可以通过生成模拟通用攻击,并利用上述模拟通用攻击对待测试人机交互验证码进行攻击测试,以测试人机交互验证码对通用攻击的防御情况。

进一步的,在上述实施例的基础上,所述模拟路径攻击测试模块具体用于:利用预先训练好的路径规划模型进行路径规划,得到所述待测试人机交互验证码对应的规划路径;根据第二配置参数对所述规划路径进行路径混淆,得到所述待测试人机交互验证码对应的测试路径;利用所述测试路径对所述待测试人机交互验证码进行攻击测试。

在上述方案中,由于黑产技术可以通过模拟用户行为轨迹来对人机交互验证码进行破解,因此,可以通过路径规划模型规划对应的路径,并可以再上述规划得到的路径基础上进行路径混淆,从而得到更接近实际用户行为轨迹的测试路径;通过利用上述测试路径对待测试人机交互验证码进行攻击测试,可以测试人机交互验证码对模拟路径攻击的防御情况。

进一步的,在上述实施例的基础上,所述订制化攻击脚本攻击测试模块具体用于:获取针对所述待测试人机交互验证码的订制化攻击脚本;利用所述订制化攻击脚本对所述待测试人机交互验证码进行攻击测试。

上述方案中,由于黑产技术可以针对人机交互验证码开发专门的订制化攻击脚本对验证码进行破解,因此,可以获取对应的订制化攻击脚本,并利用上述订制化攻击脚本对待测试人机交互验证码进行攻击测试,以测试人机交互验证码对订制化攻击脚本攻击的防御情况。

进一步的,在上述实施例的基础上,所述通用攻击测试模块用于:对所述待测试人机交互验证码进行所述通用攻击测试;若所述待测试人机交互验证码通过通用攻击测试,则所述模拟路径攻击测试模块以及所述订制化攻击脚本攻击测试模块用于:对所述待测试人机交互验证码进行所述模拟路径攻击测试以及所述订制化攻击脚本攻击测试。

在上述方案中,由于通用攻击是最基础以及最广泛的攻击方式,业务上得尽可能防御住,因此,可以先对待测试人机交互验证码进行通用攻击测试,并在待测试人机交互验证码通过上述通用攻击测试后,再对待测试人机交互验证码进行模拟路径攻击测试以及订制化攻击脚本攻击测试,以提高测试效率。

进一步的,在上述实施例的基础上,所述测试结果包括:每种测试方式对应的防御成功概率;所述分析层303具体用于:计算每种测试方式对应的所述防御成功概率的加权平均值,得到所述安全分数。

在上述方案中,可以结合多种测试方式对应的测试结果确定待测试人机交互验证码对应的安全分数,其中,可以采用加权平均法计算上述安全分数,从而可以适应测试人员的各种测试需求。

请参照图5,图5为本申请实施例提供的一种电子设备的结构框图,该电子设备500包括:至少一个处理器501,至少一个通信接口502,至少一个存储器503和至少一个通信总线504。其中,通信总线504用于实现这些组件直接的连接通信,通信接口502用于与其他节点设备进行信令或数据的通信,存储器503存储有处理器501可执行的机器可读指令。当电子设备500运行时,处理器501与存储器503之间通过通信总线504通信,机器可读指令被处理器501调用时执行上述人机交互验证码的测试x方法。

例如,本申请实施例的处理器501通过通信总线504从存储器503读取计算机程序并执行该计算机程序可以实现如下方法:步骤S101:根据第一配置参数生成待测试人机交互验证码。步骤S102:对待测试人机交互验证码进行攻击测试,得到对应的测试结果;其中,利用如下至少一种测试方式对待测试人机交互验证码进行测试:通用攻击测试、模拟路径攻击测试以及订制化攻击脚本攻击测试。步骤S103:根据测试结果确定待测试人机交互验证码对应的安全分数。

其中,处理器501包括一个或多个,其可以是一种集成电路芯片,具有信号的处理能力。上述的处理器501可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、微控制单元(Micro Controller Unit,简称MCU)、网络处理器(NetworkProcessor,简称NP)或者其他常规处理器;还可以是专用处理器,包括神经网络处理器(Neural-networkProcessing Unit,简称NPU)、图形处理器(Graphics Processing Unit,简称GPU)、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuits,简称ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。并且,在处理器501为多个时,其中的一部分可以是通用处理器,另一部分可以是专用处理器。

存储器503包括一个或多个,其可以是,但不限于,随机存取存储器(RandomAccess Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),可擦除可编程只读存储器(ErasableProgrammable Read-OnlyMemory,简称EPROM),电可擦除可编程只读存储器(ElectricErasableProgrammable Read-Only Memory,简称EEPROM)等。

可以理解,图5所示的结构仅为示意,电子设备500还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。图5中所示的各组件可以采用硬件、软件或其组合实现。于本申请实施例中,电子设备500可以是,但不限于台式机、笔记本电脑、智能手机、智能穿戴设备、车载设备等实体设备,还可以是虚拟机等虚拟设备。另外,电子设备500也不一定是单台设备,还可以是多台设备的组合,例如服务器集群,等等。

本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序指令,所述计算机程序指令被计算机运行时,使所述计算机执行前述方法实施例所述的人机交互验证码的测试方法。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

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

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 一种新能源汽车动力电池用阻燃防火材料及其制备方法
  • 一种用于制备防油易洁涂料的组合物及相关涂料、涂料制备方法和橱柜用板的制备方法
  • 一种基于改性氮化硼的水性膨胀型防火涂料及其制备方法
  • 一种氟树脂改性高氯化聚乙烯防火防腐复合涂料及其制备方法
  • 一种膨胀型建筑防火涂料及其制备方法
  • 一种新能源汽车动力电池箱壳体防火耐腐蚀涂料及制备方法和应用
  • 一种防火涂料、制备方法及其在动力电池中的应用
技术分类

06120116559101