-
-
[原创] “刷脸时代”你的脸就是我的脸 -- 人脸识别漏洞分析 (上)
-
发表于: 2021-10-15 11:55 9829
-
大家好, 我是星舆车联网实验室李四伟。星舆取 “星辰大海, 舆载万物”之意, 是专注于车联网技术研究, 漏洞挖掘和工具研发的安全团队。团队成员在漏洞挖掘, 硬件逆向与AI大数据方面有着丰富经验, 连续在GeekPwn等破解赛事中斩获奖项, 并获众厂商致谢。团队研究成果多次发表于DEFCON等国内外顶级安全会议。并成功入选特斯拉漏洞名人堂。
自七十年代以来,人脸识别已经成为了计算机视觉和生物识别领域被研究最多的主题之一,随着深度学习的大力发展,大量人脸识别数据集的构建,硬件成本的降低,人脸识别技术逐渐走向成熟,并与各领域技术应用相结合,广泛应用于金融,安防,娱乐等等领域。而人脸识别技术的安全性问题越来越受到重视,各种基于人脸识别技术的漏洞产生的人脸欺诈方法层出不穷,对人脸识别漏洞做系统性的分析。本文阐述了人脸识别系统的构成和原理,对人脸识别各个子任务存在的问题与漏洞进行分析,展示了人脸识别漏洞分析的一些方法,并设计相应实验验证。在几款常见车辆系统中做了相关测试,成功验证出一种能够欺骗车载人脸识别系统的方法,并实际在多款车辆上测试通过,成功欺骗车载人脸识别系统,进入车载系统,获取用户信息,甚至获取车辆启动权限,将车辆正常启动。并在其他场景中例如手机,打印机等验证了该方法的有效性,最终总结了一种通用的2D人脸识别系统的漏洞,并给出了缓解该漏洞的建议。
一.人脸识别简述
人脸识别的定义
人脸识别,是指利用分析比较人脸视觉特征信息进行身份鉴别的计算机技术,属于生物特征识别技术中的一种[1].。人脸识别是一个开放区间的分类任务。人脸识别的发展
从上个世纪七十年代起,人脸识别算法不断的优化,人脸识别的方法不断的多样化,而基于人脸特征提取的方法也逐渐从人工精心设计局部特征转变到通过算法模型训练提取全局深度特征,甚至多种特征相融合的多模态人脸识别算法。而由于数据采集设备的发展能够采集到包含更多信息的数据,基于对不同数据源处理,又划分出2D人脸识别技术与3D人脸识别技术。人脸识别系统结构
现在通用的人脸识别任务由人脸检测,人脸对齐,人脸特征提取及人脸匹配组成,部分场景下还包含活体检测,属性提取;3D人脸识别还包括3D重构,点云生成等过程,下图是一个通用的人脸识别系统架构:
我们重点阐述一下人脸识别对输入数据分析的过程,如图[2]:
•人脸检测: 人脸检测器用于图像中是否包含人脸,人脸的边界框的坐标位置的回归,如果有人脸,就返回包含每张人脸的边界框的坐标及置信度[3,4]。下图展示了一种经典的人脸检测算法,检测人脸的过程[5]:
人脸对齐: 人脸对齐的目标是使用一组位于图像中固定位置的参考点来缩放和裁剪人脸图像。这个过程通常需要使用一个特征点检测器来寻找一组人脸特征点,在简单的 2D 对齐情况中,即为寻找最适合参考点的最佳仿射变换。更复杂的 3D 对齐算法还能实现人脸正面化,即将人脸的姿势调整到正面向前[4].下图为一个简单的基于五个关键点的仿射变换对齐人脸的图示:
人脸特征提取: 在人脸表征阶段,人脸图像的像素值会被转换成紧凑且可判别的特征向量,理想情况下,同一个主体的所有人脸都应该映射到距离相近的特征向量[4]。
人脸匹配: 对特征提取模块提取的特征向量进行匹配,两个特征向量进行相似度计算,从而得到一个相似度分数,该分数给出了两者属于同一个主体的可能性,常见的相似度计算包括欧式距离,余弦相似度。下图显示了三个人进行相似度的比较,可以直观的观测到属于同一个的两张图片之间的距离较小[4,5]。
活体检测:在一些身份验证场景确定对象真实生理特征的方法,在人脸识别应用中,活体检测能通过、张嘴、摇头、点头等组合动作,使用人脸关键点定位和人脸追踪等技术,验证用户是否为真实活体本人操作[6]。另外一种是非配合式静默活体检测,不需要用户动作配合,主要基于人脸纹理信息、不同模态的相机信息采集、不同频率运动分布进行活体判定。下图是一个同时实现人脸检测+活体检测的算法流程图[13]:
人脸识别原理
人脸识别本质是一个分类问题,但是与普通的分类不同的是,人脸识别的结果是一个开集,实际识别分类的结果大概率不存在于训练的数据集中。主要是通过人脸检测算法回归图像中人脸的位置信息及人脸的置信度,然后截取人脸图片,通过人脸的关键点坐标信息矫正对齐人脸,使人脸的位置信息更加偏向正面,以减少不同角度的人脸导致的人脸特征提取的差异,最后将对齐后的人脸数据送入特征提取模型,提取人脸的整体特征,最后得到一个特征向量,该特征向量就表征着这张图片的整张人脸特征信息,通过欧式距离或着余弦距离计算不同人脸图片间的相似度,再使用通用阈值提供判定是否为同一个人的标准,最终基于不同人脸的特征向量间的距离与阈值进行比较来判定是否为同一人。
我们可以简单的理解为所有的人脸的图片特征都分布在一个n维超平面,所有的人脸特征都是平面上的一个点,我们通过点和点之间的距离来判断是否属于同一个人,距离越近,属于同一个人的概率就越高。人脸识别中关于优化特征提取的一个思路就是增大非同一人之间的类间距离,减少同一个人之间的类内距离[8]。这就存在一个设想:是否可以通过影响人脸识别提取到的特征向量,进而影响人脸匹配的结果,导致错误识别的出现?[7]我们后续就基于这个设想进行实践并发现了2D人脸识别系统的一个漏洞,完成了对人脸识别系统的欺骗。以下是基于一种人脸识别算法arcface的特征图解:人脸识别方法分类
2D人脸识别:数据源主要是在特定视角下表示颜色或纹理的图像,不包含空间信息[9,10],例如RGB图,灰度图和红外人脸图像。主要是提取2D人脸图像的特征进行人脸匹配分类。
3D人脸识别:3D人脸识别通常使用深度相机采集人脸的深度信息及rgb信息,深度相机通常包括双目相机,基于3D结构光的相机, tof 相机[9,10]。3D人脸识别通常基于采集到的深度数据对人脸进行重建,然后基于3D人脸重建的结果,提取重建后的人脸特征,后续和2D人脸类似,基于提取的3D人脸特征进行匹配。
2D+人脸识别:由于3D人脸识别开发难度比较大,于是有2D+人脸识别,其处理方式比较简单,只是将3D的人脸数据分为2D的RGB数据+深度数据,本质是一种多模态的人脸识别技术[9,10]。
人脸识别在智能汽车领域的应用
随着人脸识别技术的日益成熟,由于人脸识别技术安全性,无约束性,无感知,便利性等特点,在新一代智能汽车中人脸识别技术被广泛应用于车机系统。各大厂商比如小鹏,蔚来,荣威,威马,凯迪拉克,宝马等公司相继在车机系统中提供人脸识别相关的功能,用于保护用户个人隐私,账号授权,疲劳检测,甚至车辆启动控制,并以此作为一个宣传卖点。基于人脸识别技术在车机系统的广泛应用,人脸识别的安全性也在车联网安全中占据重要的位置。数据安全与人脸
《信息安全技术 人脸识别数据安全要求》国家标准的征求意见稿的已经面向社会公开征求意见。此次拟出台的国标主要是为解决人脸数据滥采,泄露或丢失,以及过度存储、使用等问题,由于一系列政策问题(补充)人脸数据安全越来越收到重视,数据采样的合法性,数据安全性,数据存储安全性等等问题 [11]。
我们可以看到越来越多的厂商,开始尝试使用生成的人脸来训练人脸识别算法[12],而以往我们会认为生成的人脸用于训练往往无法取得理想的效果。这一些系列信息说明国家越来越重视人脸数据安全性问题。我们的人脸数据其实和个人各种隐私以及安全有着紧密的联系,后续的实验中将详细描述人脸识别系统的漏洞,以及如何利用用户泄露的人脸数据,完成对其手机的解锁,车辆的启动以及个人行程隐私信息的获取。
欢迎入伙一起探讨学习
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课