人脸识别攻防调研

2021-10-19  本文已影响0人  成虫_62d0

PA攻击(Presentation attacks)简介

攻击人脸识别系统就叫“PA攻击”,或PA。这种攻击有以下几个特点

Untitled

3d攻击不是很常见,2d攻击比较普遍。反pa要求如下:

目标:在最少的时间内达到最高的精度,同时提供友好的用户体验(不需要用户交互),或尽量少的交互。

PAD(presentation attack detection)顶级解决方案

PAD方案详细介绍:

局部二值特征(图像纹理分析)LBP

英文Local Binary Pattern,是一种用来描述图像局部特征的算子,是一种图像纹理分析方法。其有灰度不变性和旋转不变性特征(是不断旋转圆形邻域得到一系列初始定义的 LBP值,取其最小值作为该邻域的 LBP 值)。现在有很多优化过的变种算法,但是它们都有一个共同之处—借助周围邻域像素点的信息,通过某种计算,最终估算得到中心像素位置的新值。

计算方式如下:

原始的LBP算子定义在像素33的邻域内,以邻域中心像素为阈值,相邻的8个像素的灰度值与邻域中心的像素值进行比较,若周围像素大于中心像素值,则该像素点的位置被标记为1,否则为0。这样,33邻域内的8个点经过比较可产生8位二进制数,将这8位二进制数依次排列形成一个二进制数字,这个二进制数字就是中心像素的LBP值。中心像素的LBP值反映了该像素周围区域的纹理信息。 (计算LBP特征的图像必须是灰度图,如果是彩色图,需要先转换成灰度图。 )

Untitled.png Untitled 1.png

缺点

原始算法计算量较大。

优点

可以跟其他算法方便的集成联合使用。

眨眼检测

眨眼是一种常见的活体检测方案。原理是人类一分钟眨眼在15-30次左右,每次持续时间约为250ms,可以根据录制的视频进行分析检测是否是活体,但是这种方案不太安全,可以使用replay-attack进行破解。

深度学习:卷积神经网络(Convolutional Neural Network)

任务响应

眨眼 摇头 微笑 等等,交互不友好

3d 相机

可有效的对抗PA。但是3d模型攻击难以防范。

光线反射(active flash)

主动利用屏幕或相机闪光灯,主动进行光源切换(亮度,颜色),光线照射在人脸上,根据图像进行活体检测。下面是一个用例:

Untitled 2.png

活体检测方式一般都是结合使用的。任务响应和LBP结合。光线反射和任务响应结合。腾讯优图结合了光线反射以及任务响应,并采用了深度学习。

优图人脸识别介绍

一种基于光线反射的强安全性活体检测协议

论文地址https://arxiv.org/pdf/1801.01949.pdf

安全性基于俩个要素:

使用线性回归模型和神经网络分别验证。

时间验证模型的响应是非伪造的。

形状验证人脸的立体性和真实性。

步骤:

利用不可预测的指令,高效地随机抓取图片序列。合法的响应是立即自动生成的。这样攻击者就要花费大量成本去合成图片来通过人脸认证。然后根据前面的指令和图片来验证人脸识别的有效性。例如根据指令检查图像的反光区域。

三、论文中的攻击模型

四、协议介绍

A. 协议处理过程

协议包含8个步骤,架构图如下:

Untitled 3.png

B.核心技术

1)光线反射模型

Irgb = \{{Ir, Ig, Ib}\}

上面公式表示一个经过 灰度修正和饱和像素移除处理的颜色值RGB。

Ic, c ∈ \{r, g, b\}

上述表示在朗博面上的一个像素点x,经过数值处理后的值。数值处理的公式如下:

Ic(x) = \int_ Ω E(x, λ)R(x, λ)Sc(λ)dλ, c ∈ \{r, g, b\}

λ表示光谱波长,Ω表示相机支持的所有可见光的频谱范围。E(x, λ)表示光源光谱功率分布,R(x, λ)表示反射值,Sc(λ)表示传感器响应函数。

俩个推论:

1.对于固定光源Ec,点x和点y有如下关系:

Ic(x) /Ic(y) = Rc(x) /Rc(y) , c ∈ {r, g, b}

也就是说被相机捕获的俩个不同的点x和y,经过数值处理后的值是跟它们的反射值等比。

2.对于同一点,我们使用不同的光源Ec1和Ec2,那么:

Ic1(x) /Ic2(x) = Ec1(x) /Ec2(x) , c1, c2 ∈ {r, g, b}

也就是说,对于同一个点不同光源,其经数值处理后的值,跟反射值等比。

上面俩个推论是本协议的基础。公式一可以计算出俩个像素点的相对反射强度比值,反射强度是人脸特征决定的,包括图像纹理和3d形状。我们可以提取这些特征数据给神经网络进行训练,让神经网络知道其是一个真实有效的人脸数据。

公式二表明给定一个点,改变其光源,其数值会等比变化。另外,光线变化,反射光也会同时变化,这样根据时间检测响应图像是否有延迟,如有延迟则判定为非法伪造。

2)人脸截取

处理人脸晃动,进行修正,提取landmark点。

3)时间验证

4)人脸验证

调研总结

腾讯优图的活体检测基础跟上述论文提供的方式类似,主要是基于随机指令和反射光源以及神经网络。为什么replay attack能成功,猜测可能是优图后端未开启强验证,计算可能要消耗大量cpu资源。

防御方式:

如若是我们自己进行人脸识别,活体检测验证,可以采用一种低成本方式—“任务响应”。例如让用户眨眼,张嘴,朗读数字和文字。

上一篇下一篇

猜你喜欢

热点阅读