活体检测算法的攻击测试方法、装置、设备及存储介质转让专利
申请号 : CN202010504606.4
文献号 : CN111756705B
文献日 : 2021-09-14
发明人 : 鲁四喜 , 朱敏 , 罗慧
申请人 : 腾讯科技(深圳)有限公司
摘要 :
权利要求 :
1.一种活体检测算法的攻击测试方法,其特征在于,所述方法包括:获取活体检测算法的攻击失败样本;
获取所述活体检测算法对所述攻击失败样本进行活体检测时,在预设模型层的各个特征图的反向梯度矩阵;
计算每个特征图的反向梯度矩阵的平均值,将所述平均值作为特征图的权重;基于所述特征图的权重对所述各个特征图进行加权求和处理,得到目标矩阵;基于所述目标矩阵中各元素的数值大小,将所述目标矩阵转换成初始热力图;将所述初始热力图与所述攻击失败样本进行叠加处理,得到算法热力图,所述算法热力图表征所述活体检测算法在对所述攻击失败样本进行活体检测时的关注情况;
基于所述算法热力图确定所述活体检测算法对所述攻击失败样本的非重点关注区域;
对所述攻击失败样本的非重点关注区域进行攻击,得到第一攻击测试样本;
基于所述第一攻击测试样本对所述活体检测算法进行攻击测试。
2.根据权利要求1所述的方法,其特征在于,所述获取所述活体检测算法对所述攻击失败样本进行活体检测时,在预设模型层的各个特征图的反向梯度矩阵包括:调用所述活体检测算法,对所述攻击失败样本进行活体检测;
利用预设钩子函数记录所述活体检测算法对所述攻击失败样本进行活体检测时,在预设模型层的各个特征图的反向梯度矩阵。
3.根据权利要求1所述的方法,其特征在于,所述对所述攻击失败样本的非重点关注区域进行攻击,得到第一攻击测试样本包括:将所述攻击失败样本的非重点关注区域进行遮挡处理;
将遮挡处理后的攻击失败样本作为所述第一攻击测试样本。
4.根据权利要求1所述的方法,其特征在于,在基于所述第一攻击测试样本对所述活体检测算法进行攻击测试之后,所述方法还包括:当攻击测试成功时,确定所述活体检测算法为待改进算法;
当攻击测试失败时,基于所述算法热力图确定所述活体检测算法对所述攻击失败样本的重点关注区域;
对所述攻击失败样本的重点关注区域进行攻击,得到第二攻击测试样本;
基于所述第二攻击测试样本对所述活体检测算法进行攻击测试。
5.根据权利要求4所述的方法,其特征在于,在基于所述第二攻击测试样本对所述活体检测算法进行攻击测试之后,所述方法还包括:当攻击测试成功时,确定所述活体检测算法为待改进算法;
当攻击测试失败时,确定所述活体检测算法为合格算法。
6.根据权利要求4所述的方法,其特征在于,所述对所述攻击失败样本的重点关注区域进行攻击,得到第二攻击测试样本包括:确定所述攻击失败样本的重点关注区域中预设攻击区域;
利用所述预设攻击区域对应的图片遮挡所述攻击失败样本的所述预设攻击区域;
将遮挡后的攻击失败样本作为所述第二攻击测试样本。
7.一种活体检测算法的攻击测试装置,其特征在于,所述装置包括:攻击失败样本获取模块,用于获取活体检测算法的攻击失败样本;
反向梯度矩阵获取模块,用于获取所述活体检测算法对所述攻击失败样本进行活体检测时,在预设模型层的各个特征图的反向梯度矩阵;
算法热力图生成模块,所述算法热力图生成模块包括:权重计算单元,用于计算每个特征图的反向梯度矩阵的平均值,将所述平均值作为特征图的权重;加权求和处理单元,用于基于所述特征图的权重对所述各个特征图进行加权求和处理,得到目标矩阵;初始热力图生成单元,用于基于所述目标矩阵中各元素的数值大小,将所述目标矩阵转换成初始热力图;叠加处理单元,用于将所述初始热力图与所述攻击失败样本进行叠加处理,得到算法热力图,所述算法热力图表征所述活体检测算法在对所述攻击失败样本进行活体检测时的关注情况;
非重点关注区域确定模块,用于基于所述算法热力图确定所述活体检测算法对所述攻击失败样本的非重点关注区域;
非重点关注区域攻击模块,用于对所述攻击失败样本的非重点关注区域进行攻击,得到第一攻击测试样本;
第一攻击测试模块,用于基于所述第一攻击测试样本对所述活体检测算法进行攻击测试。
8.一种活体检测算法的攻击测试设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序、所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如权利要求1至6任一所述的活体检测算法的攻击测试方法。
9.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1至6任一所述的活体检测算法的攻击测试方法。
说明书 :
活体检测算法的攻击测试方法、装置、设备及存储介质
技术领域
背景技术
成用户的身份验证,但其安全性也面临着一定的挑战。
景。但和传统的软件不同,AI算法本身具有较强的黑盒性,无法采用传统软件的测试手段
(如通过代码覆盖率分析)来指引测试场景的构造。现有技术中主要是依赖于测试人员的经
验,人为构想各种测试场景,然后,收集对应场景下的测试样本,造成测试效率低,且存在遗
漏测试场景的情况,无法准确检测出算法的漏洞,算法的安全性无法得到保证。因此,需要
提供更高效可靠的方案。
发明内容
法在进行活体检测时关注情况,大大提高对存在漏洞的活体检测算法的识别率,保证后续
算法应用时的安全性。
情况;
段程序由所述处理器加载并执行以实现如上述的活体检测算法的攻击测试方法。
述的活体检测算法的攻击测试方法。
提取攻击失败样本的各个特征图的反向梯度矩阵,结合每一特征图的反向梯度矩阵,生成
可以表征活体检测算法在对攻击失败样本进行活体检测时的关注情况的算法热力图,解决
对于基于深度学习的活体检测算法的测试中,因受限于算法的黑盒性,无法准确确定算法
在进行活体检测时关注情况,导致无法有针对地进行攻击的问题;然后,通过对活体检测算
法的非重点关注区域的攻击,生成非重点关注区域的攻击样本,以该非重点关注区域的攻
击样本进行攻击测试,可以大大提高对存在漏洞的活体检测算法的识别率,保证后续算法
应用时的安全性。
附图说明
仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,
还可以根据这些附图获得其它附图。
具体实施方式
本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其
他实施例,都属于本申请保护的范围。
的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或
描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆
盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限
于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产
品或设备固有的其它步骤或单元。
软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度
学习等几大方向。
例进行说明:
理、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、智能可穿戴
设备等类型的终端设备。在另一些实施例中,设备01也可以包括独立的物理服务器,也可以
包括多个物理服务器构成的服务器集群或者分布式系统,还可以包括提供云服务、云数据
库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN
(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算
服务的云服务器。
还可以包括提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服
务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和
人工智能平台等基础云计算服务的云服务器。
络通信的形式连接形成的分布式系统。
计算设备,如服务器、用户终端)和客户端形成,节点之间形成组成的点对点(P2P,PeerTo
Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)
协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节
点,节点包括硬件层、中间层、操作系统层和应用层。
是目前主流的一种人工智能平台的服务方式,具体来说AIaaS平台会把几类常见的AI服务
进行拆分,并在云端提供独立或者打包的服务。这种服务模式类似于开了一个AI主题商城:
所有的开发者都可以通过API接口的方式来接入使用平台提供的一种或者是多种人工智能
服务,部分资深的开发者还可以使用平台提供的AI框架和AI基础设施来部署和运维自已专
属的云人工智能服务。
的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实
施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。
在实际中的系统或服务器等产品执行时,可以按照实施例或者附图所示的方法顺序执行或
者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图3所示,所述方法可以包
括:
为拍摄的活体图像,非活体样本可以包括翻拍的屏幕中的活体图像、翻拍的屏幕中的活体
视频,翻拍的图片(图片可以为活体打印照片等)中的活体图像等。
样本对活体检测算法进行进一步的攻击测试,以提高对活体检测算法的漏洞的发现准确
率,保证活体检测算法的应用安全性。
脸图像为例,不同的部分特征可以包括眼睛特征、鼻子特征、嘴巴特征等;相应的,每一层可
以对应多个特征图。
活体检测时,在预设模型层的各个特征图的反向梯度矩阵包括:
否为活体样本的标注信息。
算法在对攻击失败样本进行活体检测时的关注情况的算法热力图,具体的,如图4所示,可
以包括:
特征信息的关注程度,相应的,数值越高,活体检测算法对该部分的特征信息的关注程度越
高。
标矩阵;
图的颜色越深;反之,目标矩阵中数值越低的元素对应的初始热力图的颜色越浅。
色越深的部分,表征活体检测算法在对攻击失败样本进行活体检测时,对该部分越关注;反
之,算法热力图中颜色越浅的部分,表征活体检测算法在对攻击失败样本进行活体检测时,
对该部分越不关注。
获取活体检测算法对攻击失败样本进行活体检测时,提取的攻击失败样本的各个特征图的
反向梯度矩阵,结合每一特征图的反向梯度矩阵,生成可以表征活体检测算法在对攻击失
败样本进行活体检测时的关注情况的算法热力图,解决对于基于深度学习的活体检测算法
的测试中,因受限于算法的黑盒性,无法准确确定算法在进行活体检测时关注情况,导致无
法有针对地进行攻击的问题。
域和非重点关注区域的区分度不高,在实际的算法热力图(彩色)中可见,图中100区域(颜
色较深的区域)为活体检测算法对攻击失败样本的重点关注区域;图中除100区域为活体检
测算法对攻击失败样本的非重点关注区域。另外,为了保护个人隐私,图5中对算法热力图
中人脸区域进行了部分马赛克处理,实际的算法热力图不需要进行马赛克处理。
击后,再进行活体检测,是不会对检测结果有影响的。
等覆盖非重点关注区域。在一个具体的实施例中,以上述图5对应的攻击失败样本的非重点
关注区域进行遮挡处理为例,如图6所示,图6是本申请实施例提供的一种第一攻击测试样
本的灰度图。图6中用一张白纸遮挡了部分非重点关注区域,其中白纸上的线仅仅是为了便
于测试人员知道整个头部大概在什么区域,在实际应用中也可以不画线,另外,为了保护个
人隐私,图6中对第一攻击测试样本中人脸区域进行了马赛克处理,实际的第一攻击测试样
本不需要进行马赛克处理。
域进行编辑修改的方式。
的攻击,往往对活体检测算法没有影响,以该非重点关注区域的攻击样本进行攻击测试,可
以大大提高对存在漏洞的活体检测算法的识别率。
击后的攻击测试成功,所述活体检测算法未通过测试,活体检测算法作为待改进算法,需要
进一步的改进。
相应的,可以确定对非重点关注区域进行攻击后的攻击测试失败;为了进一步保证后续活
体检测算法应用时的安全性,可以再对重点关注区域进行攻击,生成重点关注区域的攻击
样本(第二攻击测试样本)。
嘴巴所在区域的照片。
加修饰物,如眼镜,修改表情等方式。
测试成功,所述活体检测算法未通过测试,活体检测算法作为待改进算法,需要进一步的改
进。
注情况的算法热力图;图9是本说明书实施例提供的一种第二攻击测试样本对应的算法热
力图的灰度图,图9中由于进行了灰度处理,导致重点关注区域和非重点关注区域的区分度
不高,在实际的算法热力图(彩色)中可见,图中900区域(颜色较深的区域)为活体检测算法
对第二攻击测试样本的重点关注区域,即活体检测算法的重点关注区域发生了变化,导致
活体检测算法出现活体误判,相应的,该活体检测算法未通过测试。
应的,可以确定对重点关注区域进行攻击后的攻击测试失败,可以确定该活体检测算法为
合格算法。
体检测算法对攻击失败样本进行活体检测时,提取攻击失败样本的各个特征图的反向梯度
矩阵,结合每一特征图的反向梯度矩阵,生成可以表征活体检测算法在对攻击失败样本进
行活体检测时的关注情况的算法热力图,解决对于基于深度学习的活体检测算法的测试
中,因受限于算法的黑盒性,无法准确确定算法在进行活体检测时关注情况,导致无法有针
对地进行攻击的问题;然后,通过对活体检测算法的非重点关注区域的攻击,生成非重点关
注区域的攻击样本,以该非重点关注区域的攻击样本进行攻击测试,可以大大提高对存在
漏洞的活体检测算法的识别率,保证后续算法应用时的安全性。
注情况;
少一条指令、或至少一段程序由该处理器加载并执行以实现如上述方法实施例所提供的活
体检测算法的攻击测试方法。
据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据
所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括
非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相
应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
种客户端的结构示意图,如图11所示,该客户端可以用于实施上述实施例中提供的信息交
互方法。具体来讲:
路1160、WiFi(wireless fidelity,无线保真)模块1170、包括有一个或者一个以上处理核
心的处理器1180、以及电源1190等部件。本领域技术人员可以理解,图11中示出的客户端结
构并不构成对客户端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者
不同的部件布置。其中:
基站。通常,RF电路1110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、
用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双
工器等。此外,RF电路1110还可以通过无线通信与网络和其他客户端通信。所述无线通信可
以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile
communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无
线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband Code
Division Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子
邮件、SMS(Short Messaging Service,短消息服务)等。
存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存
储数据区可存储根据所述客户端的使用所创建的数据等。此外,存储器1120可以包括高速
随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或
其他易失性固态存储器件。相应地,存储器1120还可以包括存储器控制器,以提供处理器
1180和输入单元1130对存储器1120的访问。
敏表面1131以及其他输入设备1132。触敏表面1131,也称为触摸显示屏或者触控板,可收集
用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏
表面1131上或在触敏表面1131附近的操作),并根据预先设定的程式驱动相应的连接装置。
可选的,触敏表面1131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检
测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从
触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1180,并能接收处理
器1180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多
种类型实现触敏表面1131。除了触敏表面1131,输入单元1130还可以包括其他输入设备
1132。具体地,其他输入设备1132可以包括但不限于物理键盘、功能键(比如音量控制按键、
开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
构成。显示单元1140可包括显示面板1141,可选的,可以采用LCD(Liquid Crystal
Display,液晶显示器)、OLED(Organic Light‑Emitting Diode,有机发光二极管)等形式来
配置显示面板1141。进一步的,触敏表面1131可覆盖显示面板1141,当触敏表面1131检测到
在其上或附近的触摸操作后,传送给处理器1180以确定触摸事件的类型,随后处理器1180
根据触摸事件的类型在显示面板1141上提供相应的视觉输出。其中,触敏表面1131与显示
面板1141可以两个独立的部件来实现输入和输入功能,但是在某些实施例中,也可以将触
敏表面1131与显示面板1141集成而实现输入和输出功能。
环境光线的明暗来调节显示面板1141的亮度,接近传感器可在所述客户端移动到耳边时,
关闭显示面板1141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向
上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别客户端姿
态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、
敲击)等;至于所述客户端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其
他传感器,在此不再赘述。
1161转换为声音信号输出;另一方面,传声器1162将收集的声音信号转换为电信号,由音频
电路1160接收后转换为音频数据,再将音频数据输出处理器1180处理后,经RF电路1110以
发送给比如另一客户端,或者将音频数据输出至存储器1120以便进一步处理。音频电路
1160还可能包括耳塞插孔,以提供外设耳机与所述客户端的通信。
示出了WiFi模块1170,但是可以理解的是,其并不属于所述客户端的必须构成,完全可以根
据需要在不改变发明的本质的范围内而省略。
器1120内的数据,执行所述客户端的各种功能和处理数据,从而对客户端进行整体监控。可
选的,处理器1180可包括一个或多个处理核心;优选的,处理器1180可集成应用处理器和调
制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处
理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1180
中。
功耗管理等功能。电源1190还可以包括一个或一个以上的直流或交流电源、再充电系统、电
源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个
以上处理器执行本发明中方法实施例中的指令。
段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述方法实施例
提供的活体检测算法的攻击测试方法。
读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动
硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
检测算法,对所述攻击失败样本进行活体检测,并在活体检测算法对攻击失败样本进行活
体检测时,提取攻击失败样本的各个特征图的反向梯度矩阵,结合每一特征图的反向梯度
矩阵,生成可以表征活体检测算法在对攻击失败样本进行活体检测时的关注情况的算法热
力图,解决对于基于深度学习的活体检测算法的测试中,因受限于算法的黑盒性,无法准确
确定算法在进行活体检测时关注情况,导致无法有针对地进行攻击的问题;然后,通过对活
体检测算法的非重点关注区域的攻击,生成非重点关注区域的攻击样本,以该非重点关注
区域的攻击样本进行攻击测试,可以大大提高对存在漏洞的活体检测算法的识别率,保证
后续算法应用时的安全性。
些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且
仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连
续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者
可能是有利的。
设备、服务器和存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简
单,相关之处参见方法实施例的部分说明即可。
存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。