现场展示破解人脸识别技术的5种方法 | FIT 2017专题

简介:

一人,一车,一司机,故事还得从一次“网约黑车”的经历说起 。
车到了,可疑的是,接我的司机、车的信息,与手机客户端上显示的完全不符,但为了赶紧回家,我顾不了太多便上了车,结果司机开了不到一分钟,就回头对我说:“我要取消订单了,等会儿你直接给我钱就行 ”,在我的一再拒绝下,司机说可以把我送回原处,让我重新打个出租车回去。

结果当我再次用该约车软件打车,发现来接我的居然还是那个司机!司机说:“你要么就打个出租车回去,只要你还用这个软件约车,打到的还是我的车!”

当时我就纳闷了,为什么还是你的车?why?

现场展示破解人脸识别技术的5种方法 | FIT 2017专题

原来,附近有个由30多个黑车司机组成的车队,每个司机都有一堆虚假的司机账号,上百个账号由同一个人来统一接单,然后通过电台调度车辆去接人,因此不管你打到哪个号,都会调我去接人,而且就算是别人去接你,也是一样的流程。

于是我感到奇怪,这个 打车APP 上明明使用了人脸识别功能来验证司机信息,为什么这些司机可以继续使用虚假账号?经过一顿软磨硬泡,司机终于透露,虽然人脸识别听起来很牛逼,但是他们有软件可以轻易破解。

没错,人脸识别技术就这么被一群黑车师傅给黑了。

以上故事是在 Freebuf 主办的 FIT 2017 互联网安全创新大会上,来自平安科技的安全研究员高小厨(高亭宇)在一场“关于人脸识别技术应用风险”主题演讲中的一段描述。说完他便现场展示了那个司机用来破解人脸识别技术的软件,一个可以让照片“张口说话”的APP。

现场展示破解人脸识别技术的5种方法 | FIT 2017专题 【请注意两张照片的嘴部】

高小厨说,从那之后他开始琢磨人脸识别技术在实际应用层面的风险,并调研了市面上使用了人脸识别技术的软件,最后的结果出乎自己的预料。

花式破解人脸识别技术

通过分析,他发现市面上大部分使用了人脸识别技术的软件,其识别流程均大致如下:

检测人脸 → 活体检测 → 人脸对比(和之前上传的自拍照或证件照)→ 分析对比结果 → 返回结果(通过或不通过)
据雷锋网了解,其中活体检测技术即在人脸识别时要求用户进行眨眼、点头、张嘴等动作,以防止静态图像破解,国内多个知名APP中的人脸识别都采用了该项技术。

高小厨表示,一般的APP开发者不会自己开发人脸识别技术,而是通过第三方的API接口或SDK组件来获得人脸识别功能,基于这个特点,他对人脸识别技术从接入到实际使用过程中的每个关键点进行了分析,最终在多个环节都找到了多个突破点,只要略施小计,就能让人脸识别形同虚设。

现场展示破解人脸识别技术的5种方法 | FIT 2017专题

1.注入应用绕过活体检测

高小厨首先在现场演示了通过注入应用的方式来篡改程序,从而绕过所谓的活体检测功能,使用一张静态照片就可以通过人脸识别。

在注入过程中,他首先在程序中布置一个了断点,通过不断演示人脸识别流程来触发该断点,然后分析并修改程序储存的值,来达到最终的绕过活体检测的效果。

除了注入应用之外,他还发现可以通过查看当前APP的数据结构,修改入参字典来篡改活体检测完成后的图片,从而达到活体检测由任意一个人完成都可以通过的效果,这样他同样可以拿着被攻击者的照片来通过静态人脸识别,然后自己眨眼抬头来破解活体检测。

2.视频攻击绕过活体检测

如果说前面的方法需要一些技术门槛,那这个方法就可以适用于所有小白用户,只需要安装一个能够将人脸照片制作成视频的手机软件,然后在朋友圈、个人空间等地方找到对方的一张正面照片(这个应该不难),输入到软件中,就可以令其开口说话,所谓的活体检测也就不攻自破。

文章开头所说的黑车司机也正是用的这款软件,实现了对APP人脸识别功能的破解。由此雷锋网猜想,如果使用软件合成的视频即能够破解人脸识别活体检测,那么任意一段清晰的正面视频也应该可以用来尝试破解,如果真如此,那些经常在网络上抛头露面的明星、网红、视频直播,一旦使用人脸识别作为密码,那就相当于把密码写在脸上了。

  1. 三维建模绕过云端检测

高小厨注意到,除了点头、眨眼,有些人脸识别还会要求用户进行点头、摇头等动作,于是他立刻想到了使用3D建模,构建人脸模型的方式来破解。

通过网上下载的两个用来制作3D建模的软件,参照郭富城照片中的脸部特征,高小厨在短时间内就做出了对应的 3D 建模图像,人脸检测软件对比结果显示,这两个在短时间内制作出来的模型与原来照片的相似度分别高达 73.17 %和 86.71%,可以用来破解一般的人脸识别。

现场展示破解人脸识别技术的5种方法 | FIT 2017专题

【3D人脸模型,以及论发型的重要性】

4.脸部模具绕过云端检测

既然3D建模能成功绕过人脸识别,高小厨立刻想到了使用3D 打印来进行尝试,结果却出乎意料的失败了,在分析了失败原因时,他说:

通常人脸识别会分析脸部的多个特征值,而有的人脸识别技术会在眉毛部位提取多个特征点,而3D打印如果不够精细,打印出来人脸一般会缺少眉部特征。

如果3D打印模型只采用了一种材料,打印出来的人脸模型颜色会过于单一,比如材料是黄色的,眉毛也是黄色的,这会大大降低识别的成功率。

如果3D打印使用的材料不合适,打印出来的模型的脸部细节会很粗糙,需要后期手工打磨。
现场展示破解人脸识别技术的5种方法 | FIT 2017专题

虽然高小厨在现场没有直说,但雷锋网(公众号:雷锋网)宅客频道编辑已经隐约能读懂他话中的含义:“不是3D打印不行,而是我用的这台3D打印机太辣鸡! 如果换一台更加精密的打印机,破解同样不在话下。”

当他掏出自己用于测试的3D打印模型时,不得不承认这个模型有些惨不忍睹,确实如同高小厨所说,缺乏面部细节、颜色单一,比例似乎也不太对。

现场展示破解人脸识别技术的5种方法 | FIT 2017专题

【用于测试的3D打印模型】

5.利用接口防护不当和各种奇葩的设计缺陷

高小厨发现,部分APP在使用上传人脸图像时,没有对图像数据进行签名,导致图片可以被工具截获然后篡改,而有的则是在数据报文没有加入时间戳,可以通过重放数据报文的方式来实施破解。

在测试某一款应用时,他发现人脸识别的成功与否,是通过返回报文中的一个阈值来决定的,相当于考试中的“及格分数”,如果人脸匹配度超过该阈值就可以通过,不幸的是,该APP 没有对这个返回报文加签名,导致该报文可以被篡改,最终高小厨通过调低该阈值的方式破解了它的人脸识别。

APP风险初步调研

高小厨在现场展示了自己进行的APP风险调研的结果,他发现除了一般的考勤、账号安全APP之外,大量的银行、P2P 金融企业的 APP 已经介入使用了人脸识别技术,其中:

金融行业在使用人脸识别技术时安全性明显高于一般应用;
当人脸识别技术涉及关键业务时,安全防护水准往往更高
比如他在测试国内某P2P金融的客户端时,尝试人脸识别解锁失败数次后,该APP 就检测出了可能存在恶意破解的情况,强制使用银行卡信息、手机短信等其他方式来完成认证。

现场展示破解人脸识别技术的5种方法 | FIT 2017专题

高小厨在现场强调了一点,除了人脸识别技术在手机上本身的应用缺陷之外,许多问题导致的原因都是开发者在调用第三方的人脸识别服务时,没有严格按照一个安全的规范来做,接入流程不够严谨,甚至经常出现为了提高用户体验而舍弃安全性的做法,这样的做法在技术实力不强的小公司十分常见,最终导致的结果就是,让用户把密码写在了自己的脸上。

本文作者:谢幺

本文转自雷锋网禁止二次转载,原文链接

目录
相关文章
|
5月前
|
机器学习/深度学习 人工智能 监控
人工智能之人脸识别技术应用场景
人脸识别技术是一种通过计算机技术和模式识别算法来识别和验证人脸的技术。它可以用于识别人脸的身份、检测人脸的表情、年龄、性别等特征,以及进行人脸比对和活体检测等应用。
400 1
|
7月前
|
机器学习/深度学习 人工智能 算法
工智能 - 人脸识别:发展历史、技术全解与实战
工智能 - 人脸识别:发展历史、技术全解与实战
165 1
|
7月前
|
人工智能 API 数据安全/隐私保护
Azure AI - Azure人脸识别任务概述与技术实战
Azure AI - Azure人脸识别任务概述与技术实战
223 1
|
6月前
|
机器学习/深度学习 算法 PyTorch
深度学习在人脸识别技术中的最新进展
深度学习在人脸识别技术中的最新进展
|
7月前
|
前端开发 计算机视觉
人脸识别平台批量导入绑定设备的一种方法
人脸识别平台批量导入绑定设备的一种方法
72 0
|
6月前
|
机器学习/深度学习 人工智能 监控
人脸识别技术发展历史、技术全解和实战应用
人脸识别技术发展历史、技术全解和实战应用
244 1
|
5月前
|
JSON 人工智能 API
App Inventor 2 人脸识别App开发 - 第三方API接入的通用方法
**App 效果图**:展示人脸识别功能,可识别性别和年龄。 **工作原理**:调用第三方人脸识别API,上传图片并接收返回的JSON数据,AppInventor2解析结果显示。
112 0
|
6月前
|
人工智能 计算机视觉 Python
人工智能视觉:基于OpenCV的人脸识别技术的深度解析
人工智能视觉:基于OpenCV的人脸识别技术的深度解析
|
7月前
|
机器学习/深度学习 算法 安全
提高人脸识别识别率技术
智能工厂趋势中,人脸识别技术在提升生产效率和安全管理方面展现应用价值。技术挑战包括环境光线控制、背景干扰、数据多样性和算法优化。解决方案涉及模型选择、实时性与准确性平衡,以及使用标签平滑技术减轻模型过拟合,提高泛化能力。通过训练优化的CNN模型,结合数据增强和标签平滑,实现更精准的人脸识别系统。
|
7月前
|
人工智能 算法 计算机视觉
人工智能视觉:基于OpenCV的人脸识别技术的深度解析
人工智能视觉:基于OpenCV的人脸识别技术的深度解析

热门文章

最新文章