对“人脸识别攻击”说不!
金融行业数字化转型如火如荼,而生物识别技术特别是人脸识别在金融行业的应用和推广是其中重要的一环。人脸识别技术具有使用便捷、无需用户记忆、无接触等优点,目前已被大量使用。在金融行业,人脸识别技术应用在登录、刷脸支付和取款等各种金融场景提升了用户体验,各大金融机构都将其作为增强身份认证的重要手段。
但我们也注意到,人脸识别技术给人们带来便利的同时,该技术也面临着安全防护、隐私保护等等方面的挑战。我国工业和信息化部在2019年颁布的《关于促进网络安全产业发展的指导意见(征求意见稿)》中,支持构建基于商用密码、指纹识别、人脸识别等技术的网络身份认证体系,但也强调着力提升支撑网络安全管理、应对有组织高强度攻击的能力。
本文结合人脸识别技术的安全技术挑战,分析相应的防御技术,总结人脸识别技术需要关注的攻击行为和方法,提出相应的应对策略。
二、人脸识别攻击风险分析
生物识别技术是指使用人体的部分生物特征,对用户身份进行标记和标识的一种技术。生物特征可分为两大类别:生理特征和行为特征。前者与身体外形相关,主要包括人脸识别、指纹扫描、虹膜扫描、静脉扫描等,后者与行为习惯相关,主要包括声纹识别、微表情识别等。当前应用于在金融机构中众多终端、移动设备或者应用程序的人脸识别技术可轻易获取用户的个人指纹、人脸或声音等生物特征,但是其保存及使用生物特征的技术方法与资质缺乏有效监管与监督,这极有可能造成用户生物特征信息泄露。另外随着社交平台的广泛使用,个人照片、视频等用户信息对于攻击者也都唾手可得。金融机构在使用人脸识别技术的时候,在人脸识别交互活体检测、人像照片抓拍、人脸信息上送、静默活体检测、人脸比对的处理过程中,均存在不同的攻击面,具体可分为采集层攻击、活检层攻击、算法层攻击,金融机构人脸识别需要有效应对以下攻击手段:
1.人脸识别采集层攻击
采集层攻击主要攻击人脸识别系统本身,由于不同的人脸识别系统的软硬件具体架构和算法不同,并都进行了一定的防护处理,需要
对系统代码进行逆向破解,攻击难度较大。但是目前依然有一些此类攻击的例子。主要包括以下方面:
人脸识别代码破解:针对人脸识别代码执行过程进行攻击,对人脸识别进行代码逆向,获取人脸识别代码逻辑,基于动态插桩,hook人脸识别函数注入攻击脚本,改变其执行流程。
摄像头劫持攻击:针对用户终端设备摄像头的攻击,在系统驱动层篡改摄像头获取的人脸信息。主要途径是利用黑产手中的手机虚拟视频刷机工具,通过刷入特定的程序来劫持相机、攻击人脸识别系统。例如黑产卖家通过非法售卖各种主流厂商特定型号手机的刷机包,刷机篡改底层API,劫持手机摄像头为虚拟摄像头,使用预先录制的视频来替代实际视频,从而绕过人脸识别系统。该方法由于修改了设备底层系统,理论上可用于多种APP。
报文篡改攻击:劫持破解客户端与服务器之间的报文信息,对其中的识别信息进行篡改上送。
2.人脸识别活检层攻击
通过伪造特征,使用照片、视频拼接等方式,伪造人脸识别特征,绕过识别系统,达到伪造身份登录系统或隐藏身份逃过检查的目的。
照片攻击:使用照片对人脸识别系统的攻击,是最简单的也是性价比最高的攻击方法。虽然该方法较难绕过使用了复杂的防御机制或算法(例如纹理检测、3D结构光等)的人脸识别系统,但是攻击未作防护APP的人脸识别系统往往能成功。目前智能手机市场中,安全性良莠不齐的安卓系统手机占据了较大市场份额。由于安卓手机的开放特性,厂商众多、型号各异,大部分安卓手机使用单摄像头,安全性参差不齐。一些小型机构APP,在没有很好考虑手机与操作系统整体适配性的情况下,较容易遭到攻击。
视频攻击:视频攻击也是一种简单的攻击方式。当人脸识别系统开启动态活体检测功能后,使用静态照片方式会被人脸识别系统检测为攻击行为,此时通过播放预录制动态视频方式有可能绕过检测。视频可以通过对用户进行钓鱼录制来获得,或者利用图像处理和三维建模软件,将用户照片转换为动态视频,来生成完成所有活体检测动作的视频,达到伪造身份登录系统的目的。
3.人脸识别算法层攻击
高精度伪造攻击:攻击者在获取用户信息后,使用例如仿真面具等高精度伪造模型来进行攻击,可以是纸面具,也可以是树脂、PVC等材质制成的“塑料”面具。随着3D打印技术的发展,近年来更出现了高仿真面具,连雀斑、毛孔等细节都能清晰展现。如果使用仿真面具、3D建模、照片活化、AI换脸等方式,只需要获取受害者的照片或特征即可伪造出“活体”视频。
对抗样本:攻击者使用含有特殊样本的对抗样本眼镜,利用人脸识别算法中的缺陷绕过人脸识别系统。比如RealAI公司研究的一种对抗样本眼镜,其原理主要利用了人工智能算法普遍存在的“对抗样本”漏洞。只需要将照片按比例打印出来,裁剪出眼睛和鼻子粘贴到眼镜上即可进行攻击。经该公司研究人员验证,安卓手机的攻击成功率高达95%。这种方法也成功用于攻击苹果公司的Face ID上。Face ID由于采用硬件3D结构光技术,业界公认安全性较高,但是莫斯科国立大学、华为莫斯科研究中心的研究人员提出了一种攻击方法,用普通打印机打出一张特殊贴纸(特定的对抗样本)贴到额头上就能攻破Face ID。攻击的大致流程是,首先将平面贴纸进行转换以凸显三维信息,而后将转换结果模拟矩形图像放在帽子上。为了提高攻击的鲁棒性,研究人员在投影参数中添加轻微的扰动值。将上一步得到的模拟矩形图像投影到人脸图像上之后,将新得到的图像转换为 ArcFace 输入的标准模板,然后降低初始矩形图像的 TV 损失以及余弦相似度损失之和,其中相似性由原图嵌入向量与 ArcFace 综合计算得出。
AI算法攻击:AI算法根据受害者照片生成3D模型、动态图片或者将其他视频的人脸替换成受害者的照片,达到伪造身份登录系统或有隐藏身份逃过检查的目的。AI攻击通常有三种方式,一种是3D建模,根据一张或多张照片自动生成3D模型;一种是照片活化,直接使照片动起来;一种是AI换脸,将一个视频的人脸自动替换为受害者的人脸。
3D建模:在国外,伦敦帝国理工学院(ICL)的计算机科学家 James Booth 和同事开发的一种新的方法,可以自动构建 3DMM,并使其能够融入更广泛的人脸,比如不同种族的特征。该技术结合三种算法,可以全自动精准人脸 3D 建模。此外诺丁汉大学和金斯顿大学的研究小组已经开发出一种用一张2D照片生成3D脸部模型的技术应用。该技术使用一个巨大的2D图片和3D脸部模型库对计算机进行训练。通过这些信息,卷积神经网络(CNN)能够猜测并模拟脸部看不见的部分,从一张2D图像中重建3D脸部几何图形。
在国内,知象光电研究团队研究出3DfacePro技术。该技术使用3D人脸数据库中的样本数据,利用深度学习提取2D人脸图像中高分辨率的深度图像,进而恢复出三维点数据,输出3D人脸模型。
由此可见,根据人脸照片生成3D模型的技术越发成熟,门槛也越来越低。对于“黑产”而言,该技术的出现极大方便了人脸视频的伪造。仅仅利用一张简单的2D照片,就可以制作出逼真的人脸视频。在可预见的未来几年内,必将有不法分子将此类技术用于人脸识别攻击中。
照片活化:照片活化技术堪称3D建模技术的“减配”版。该技术可以自动识别人脸照片中的脸部框架、眼睛、嘴巴等部位,使人脸照片可以做出眨眼、张嘴、小幅度转头等简单动作。目前已有大量基于该技术的软件或APP出现,且已被黑产广泛非法使用中。常见工具包括CrazyTalk、PhotoSpeak等。
AI换脸:AI换脸是指通过AI算法将视频中的人物面容替换为他人面容。目前比较有名的开源AI换脸软件有deepfacelab、faceswap等。不过由于AI换脸是通过机器学习算法进行的,“换脸”过程需要大量时间进行训练,才能最终生成新的视频。于是类似Fackeapp、ZAO之类的软件或应用应运而生。这些软件通过后台强大的服务器集群和算法优化,可以快速生成“换脸”视频,比如ZAO可以在上传完人脸后毫秒之间生成“换脸”视频。随着技术的发展,如果能够出现实时“换脸”技术,则配合模拟器或摄像头劫持等技术,则可大大减小攻击难度并且提高攻击成功率。
三、人脸识别攻击防御
1.人脸识别采集层攻击防御
金融机构应对人脸识别采集层攻击的防御措施主要是两个方面。一是切实做好人脸识别应用安全开发全生命周期管理。在人脸识别应用的设计阶段,就做好威胁建模、安全设计和第三方引入供应链安全评估;在开发阶段,做好安全编码、静态扫描和代码审计工作;在测试阶段,落实动态扫描、模糊测试和渗透测试。在发布阶段,关注安全运行和持续的安全检查。二是对人脸识别应用,做好代码混淆、应用加壳、流量加密和权限控制。在终端方面,做好终端环境检测与处理环境加固。
2.人脸识别活检层与算法层攻击防御
针对人脸识别攻击,活检层与算法层攻击主要集中在绕过活体检测或攻击人脸识别比对算法,称为“呈现攻击”。“呈现攻击”花样繁多,所以针对“呈现攻击”的“呈现攻击检测”(presentation attack detection,PAD)技术成为了研究者的关注焦点。
目前常见的人脸识别呈现攻击检测/防御方法分类主要分为硬件和软件两大类别。
2.1.基于硬件的防御
主要是指通过硬件设备或者物理方式来检测或防御人脸识别的攻击行为,主要包括以下几种类别。
2.1.1基于传感器特性
主要依赖于传感器硬件特性来检测或防御攻击。根据硬件的不同,往往采集的人脸数据也不同。例如使用光场相机(LFC)测量焦点的变化、测量来自近红外/热源/多光谱面部传感器的反射率、测量3D扫描中的反射率等。此类方法的优点是安全性较高,缺点是由于包括人脸识别传感器以及附加的硬件组件,所以成本较高、体积较大。此外,由于安卓设备配置差异较大,大部分安卓手机只有普通单目摄像头,无法支持此类检测/防御方法,因此也制约了其普及。通过LFC进行人脸识别攻击检测的示意图,(a)是真人图像,(b)是喷墨打印机打印的图像,(c)是iPad显示的图像,(d)是激光打印机的图像,可以看到只有真人在LFC前才能被检测出不同焦点的变化,而通过打印或屏幕显示的照片都无法被LFC检测出焦点变化。
2.1.2眨眼检测
眨眼检测是指进行人脸识别时,持续跟踪人的无意识眨眼行为。眨眼检测可以基于专用的眨眼检测硬件来检测,也可以基于软件算法来检测。这种方式可以检测照片攻击等一些呈现攻击行为,但是也存在被绕过的可能,例如佩戴高精度面具。
2.1.3挑战应答
挑战应答是指系统进行人脸识别时跟踪用户对给定挑战的响应,例如跟踪用户对预定刺激信号的注视与反应来识别是否是真人。这种方式一般需要特殊硬件的支持。此外也有基于软件的挑战应答机制,用于需要对系统给出的提示做出反馈,例如转头、点头、眨眼等,基于软件的挑战应答机制需要对用户反馈的连贯性做判断,否则很容易被预录制动作的视频绕过。
2.1.4基硬件的人脸识别PAD技术优缺点
2.2基于软件的防御
基于软件的方法通过软件算法来检测捕获到的人脸样本是否属于真实人脸。该方法具有精度高、成本低、不依赖于硬件等特点。基于软件的PAD主要分为静态方法和动态方法两类。
2.2.1基于软件的静态方法
静态方法是指通过检测单张图片来判断是否属于真实人脸。静态方法与时间无关,但是也可以检测视频。检测视频的时候通过独立检测每一帧,综合大部分帧的结果得到最终结果。相对于动态方法,静态方法计算量更小、速度更快。静态方法主要包括三种类型:基于纹理的方法、基于频率的方法和混合算法。
基于纹理
基于纹理的方法分析人脸图像样本中的微观纹理图案。该方法可以有效检测照片和真人图像。其原理是检测照片的纹理特征,例如颜料的存在(由于打印缺陷)、镜面反射和阴影(由于显示器的反光、像素排列的条纹等)等。基于纹理的方法最有名和使用最广泛的是基于局部二进制模式(LBP)算法,该算法最初用在照片攻击检测中,后来扩展到了视频攻击检测。
基于频率
基于频率分析的算法早期基于傅里叶频谱分析,并成功用于检测人脸识别攻击,后来通过计算头发而非面部的傅里叶光谱,该技术被进一步扩展为检测视频重放攻击。此外,研究人员还尝试了量化频率分量的不同技术,包括离散余弦变换(DCT)、高斯差分(DoG)滤波器和高频分量。
混合算法
混合算法结合多种算法将纹理和运动等结合起来对人脸识别攻击进行检测,以提高检测的精度和性能。。例如基于多场景线索、基于运动和纹理、基于欧拉视频放大率(EVM)、综合各种纹理描述符等。例如结合多个属性、结合客户身份信息、结合面部图像的散焦特性、结合时频信息和纹理、结合形状和纹理合、使用背景信息等。
2.2.3基于软件的人脸识别PAD技术优缺点
3.人脸识别防御方法实践
为应对人脸识别系统安全威胁,需按全认证生命周期进行安全管理。在采集环境,客户端SDK需要采用代码混淆、加密加壳、权限控制、环境检测等措施,实现应用环境的安全加固。在传输环节,通过应用层面与网络传输层面的多重加密方式,传输特征数据,防止窃听、篡改、重放等攻击。在数据存储环境,除了分散、加密部署外,部署入侵防护、流量检测等安全防护设备。在算法环境,上述主要从原理方面介绍了一些人脸识别PAD的分类和方法,在实际的应用中,往往会结合使用场景、安全性、通用性、成本等多种因素,组合多种算法来检测和防御。以下列举业界常用的检测/防御方法。
主动式动作活体检测
主动式动作活体检测方法需要用户根据系统的提示做出点头、眨眼、转头等动作。为了增加检测的准确性,系统往往会随机让用户做2到3个动作,并判断两个动作之间的连贯性,以防止视频攻击、AI攻击等动态攻击。
被动式动作活体检测
被动式动作活体检测不需要用户主动做出动作。由于一般人隔2到4秒会自动眨一次眼睛,所以可以通过被检测人无意识下的眨眼动作,判断是真人还是照片。此外还可以配合微表情识别技术,判断是否是真人。
唇语活体检测
唇语活体检测属于主动活体作检测的一种,需要用户读出系统给出的一组随机数字,人脸识别系统根据捕获到的视频中的嘴唇动作特征,判断是否是真人。
静默活体检测
静默活体检测不需要用户主动做出动作,系统根据捕获到的图像的纹理、光线、背景、屏幕反射等特征,判断是否是真人。例如阿里巴巴的安全研究人员提出了一种通过检测人眼反射屏幕中的特定图像的方式判断是真人还是攻击行为。
三色光活体检测
三色活体检测是静默活体检测的一种,该方法通过在屏幕上叠加不同颜色的背景,使屏幕对应颜色的光线映射到人脸上,人脸会对这些光线进行漫反射,这与打印照片、屏幕显示照片等方法的反射有明显区别,系统对捕获到的图像进行分析,检测是否是攻击行为。
近红外人脸活体检测
近红外检测方法采用特殊的近红外摄像头捕获人脸的红外图像,并结合光流等算法判断是否是真人。
3D结构光
3D结构光技术通过近红外激光器将具有一定结构特征的光线投射到被拍摄物体上,再由专门的红外摄像头进行采集,可以得到人脸的深度区域,进而得到人脸三维结构,进而判断是否是真人。
模型训练加入眼镜人脸图像
为了提高对佩戴眼镜甚至墨镜的人群的判断的准确性,可以在模型训练时加入佩戴眼镜/墨镜的人脸图像样本集,以减小眼镜对人脸识别判断的干扰。另一个方面,优化训练模型样本集也可以在一定程度上预防通过佩戴墨镜的方式来绕过人脸识别技术的攻击。
四、金融行业人脸识别防御情况分析
目前金融行业主要将人脸识别技术用于线上业务办理(例如手机银行)、柜面业务办理、线下自助业务办理(例如ATM)、刷脸办公等场景,极大方便了客户和员工的使用。在安全性方面人脸识别技术根据不同场景可以采取不同防御方法:
线上渠道
线上业务办理等主要采用前端动作活体检测+后端静默检测的组合方式进行防御。
线下协助式渠道
自助终端、柜面等主要通过现场人工(例如柜员、客户经理等)监督结合后端静默活检增强的方式进行防御。
线下自助式渠道
线下自助式渠道主要包括ATM等场景,由于这些场景的应用可以使用特殊硬件设备辅助(例如近红外双目),因此安全性较高。
总的来说,金融行业目前线上渠道主要采用动作活检+后端静默活检方案,线下渠道主要采用硬件辅助活检/静默活检方案,安全性较其他行业高,但是仍存在一定的提升空间,建议持续关注最新的攻击方式和引入最新的安全防护措施,提升金融行业人脸识别技术的安全水平。
五、生物识别攻防技术总结
已颁布实施的《数据安全法》、《个人信息保护法》将“个人生物识别信息”纳入“敏感个人信息”,说明我国对个人生物特征信息保护日益重视,并做出了严格要求。金融行业主要使用的生物识别技术生物特征可分为两大类别:生理特征和行为特征。前者与身体外形相关,主要包括人脸识别、指纹扫描、虹膜扫描、静脉扫描等,后者与行为习惯相关,主要包括声纹识别、微表情识别等。本文主要以人脸识别举例,分析攻击行为与应对防御策略。纵观整个金融机构生物识别,其攻击和防御技术可以结合人脸识别情况进行总结,见下表。
生物识别安全技术总结
从上述生物识别技术的攻击和防御技术的情况来看,生物识别安全技术具有以下共性:
攻击方法以“呈现攻击”为主
生物识别技术与人交互的特点催生出“呈现攻击”,而呈现攻击由于受众面广、实现简单低廉而备受“黑客”青睐,与之相对的“呈现攻击检测”技术也成为生物识别安全研究人员的主要研究对象。
在防御方面,除了针对攻击行为的直接检测技术外,也可以使用其他辅助防御机制。例如将线下渠道的生物识别传感器保持在监控摄像头视线范围内,可以防御一部分伪造生物特征的攻击,并且也可对攻击者起到一定的威慑作用。
生物特征结合其他认证形成多因素
人类的生物特征正常情况下无法随意修改,生物特征一旦被盗窃,将无法恢复或需要付出极高成本。并且生物识别技术本身的安全性在高强度与高关注度攻击场景下,可能存在绕过风险,在某些场景不一定比其他多因素认证方式的安全性高,因此在安全性要求较高的场景,不建议单独使用生物识别技术作为身份认证手段。
系统端安全要关注
在生物识别系统层面,除了防御“呈现攻击”,还需要考虑针对系统端(包括服务端和客户端)攻击行为的应对措施,包括各个生物识别过程所有环节的系统端。例如面对可能发生劫持摄像头的注入攻击行为,APP需要对智能手机的root、越狱,是否为模拟器等场景进行识别,从而达到防护APP生物识别功能的要求。
保证数据安全
生物识别系统采集的生物特征数据在传输(包括在客户端与服务端之间、服务端与第三方系统之间)和存储(包括客户端、服务端)过程中,都应该采取签名、加密、分散存储与数据一致性防护等安全措施。此外,对于采集的数据还需要做合法性校验,以防止样本污染攻击。
关注AI攻击发展
AI攻击普遍存在于人脸识别攻击和声纹识别攻击中。虽然目前AI技术仍处在发展阶段,AI攻击的成功率和效率都不高,但是仍需要持续关注AI技术以及AI攻击技术的发展,还需要关注AI攻击是否也出现在其他生物识别的攻击方法中。
单模式PAD
受限于技术和成本,目前生物识别技术PAD仍以单模式为主。系统往往只提取用户的单一特征进行检测,忽略了其他生物特征或者环境特征,即使一些技术混合了多种特征和算法,也仅包含二至三个少量特征,因此目前的PAD技术在完整全面的描述用户特征方面仍有发展空间。
目前生物识别技术已广泛应用于金融行业的金融业务、日常办公、研发测试和生产运行等多个场景,提升了应用的用户体验,但是也爆出一些安全问题。由于生物特征丢失后不易修改等特性,相对于使用传统口令作为验证手段,使用生物识别技术对系统的安全性提出更高要求。随着生物识别攻击和防御技术在不断发展中螺旋式上升,生物识别技术始终面临风险和挑战。根据上述各类生物识别技术现有的攻击和防御方法,结合金融行业的特点,总结建议如下:
不单独进行身份认证。由于生物识别技术受众广,“呈现攻击”手段多样,并且生物特征丢失或遭窃取后,无法修改或修改成本过高,所以生物识别技术作为辅助手段,不建议单独作为身份认证手段,特别不建议单独作为大额支付唯一认证手段。
配合增强手段。对于安全性要求较高的场合使用生物活体检测较弱的生物识别技术时,建议结合多模态生物特征融合趋势,或者配合口令、图形手势、短信认证码、挑战应答等安全增强手段。
增加摄像头监控。线下业务授权中人脸、自助指纹、自助虹膜等验证生物特征的环节,考虑到这些生物特征容易被伪造,可增加实时监控、图像行为分析的摄像手段以防止伪造行为。
引入光线活体检测技术。人脸识别技术可在现有活体检测技术的基础上,引入光线活体检测技术,辅助增强人脸识别安全性。
增加残留指纹擦除装置。使用指纹扫描技术的场合,可在公共指纹扫描仪器增加指纹残留去除装置,在用户指纹采用完毕之后自动擦除残留指纹。
引入多模态全时域检测技术。目前业界生物识别技术的活体检测(PAD)仍以单一(或少量)模式为主,动态检测以检测少量视频切片为主,在安全性方面仍有提升空间。生物识别在实战化条件下的发展趋势和方向是尽可能模拟真实用户,建议后续引入多模态、全时域的生物识别检测技术,以提高安全性。可以将多种生物特征(例如进行人脸识别的面具攻击时,人脸和面具结合处往往有明显痕迹,如果不仅判断人脸,还结合脖子、耳朵、眼神、表情、声音等多要素做全面判断,可提高系统的攻击检测能力)、环境特征、完整上下文运动特征等要素融合起来,结合音视频流分析、大数据、AI等技术,力求全面完整描述真实用户,提高生物识别技术的安全性。