揭秘:两张A4纸破解虹膜、人脸识别,百度安全技术小哥怎么做到的?
几天前,一个朋友告诉我,他不小心破解了三星S8 手机 的瞳孔、人脸识别。
我很惊讶,赶紧问他怎么做到的?结果下一秒他的回答让我怀疑是在吹牛。
把照片打印在A4纸上就行啊。
他说。
Whaaaaaaaaaat?你在逗我? 这是我当时的反应,差点和他打赌一顿烧烤。
庆幸没赌。
他叫小灰灰,是百度安全实验室的技术小哥。
2017年10月24日 GeekPwn极棒破解大会现场,他在主持人黄健翔、两位评委以及众多观众的见证下,把一个三星S8手机塞进一个纸箱子里,该手机已被现场评委用人脸识别锁定。
当他再次把手伸出来时,手机已经解锁。
全场掌声轰鸣,因为箱子里真的只放了张A4纸,上面打印着经过他特殊处理的评委照片。
GeekPwn破解现场
同样看起来技术含量很高的虹膜识别,小灰灰手里也只用了另一张打印的A4纸晃了晃就解开。
“还有这种操作?你这样让设备厂商情何以堪呐……”会后我找到他,试图挖出“两张A4纸破解生物识别”背后的秘密。
Let's Rock
1.为啥用两张纸就能破解生物识别?我随便打印两张也能吗?
先说三条关于生物识别破解的铁律:
生物识别一定要用传感器来采集生物信息;
手机上采集生物识别信息的无非就是摄像头、指纹传感器什么的,采集回来一张图片,和你之前录入生物信息时形成的图片(算法特征)比对;
即使同一个人,两次录入的数据也不一定100%相同,所以电脑会做给相似度打个分,达到一定分数就通过,没达到就不通过;
理解了上面三条,你就明白,所谓“破解生物识别”,无非就是个“欺骗传感器”的 游戏 。
想要破解 马云 手机里的人脸识别,未必自己要整容成他的样子,只要让摄像头捕捉到一个图案,误认为是马云本人就行。
好,现在我们用这个原则开始破解。
第一弹:虹膜识别
虹膜识别看起来很高端,但负责采集的传感器终究还是个摄像头,采集到的也无非是张2D图片。
图片来自网络
所以,只要摄像头捕捉到一张和被攻击者的虹膜差不多的图案,就能破解。
理论上,如果运气够好,切个胡萝卜破解瞳孔识别也不是没可能,只是几率比中福利彩票的概率还小。
怎么得到一张能骗过摄像头的虹膜图案?小灰灰的方法简单粗暴,直接用相机去拍 —— 既然手机就是用摄像头来采集虹膜,当然就能用相机拍出来的图案来破解。
为了让虹膜上的特征点和纹路更清晰呈现,并且更接近真实检测的效果,小灰灰改造了一台红外相机。
图片来自网络
据小灰灰透露,如果配置够高,使用长焦镜头和高清红外相机,10米左右的正面拍摄就能捕捉到清晰的虹膜图案。
即使相机配置不高,攻击者也可能用一些取巧的方式采集虹膜图案。比如把设备改造到一个 VR 眼睛里,让对方戴一会儿。
随后,对采集的图片进行一些特殊处理,比如在图像上做个透明隐形眼睛效果,伪造出眼珠子圆溜溜的立体光学特性,打印出来,放在手机摄像头前晃一晃,制造出眼球微动的效果,就能骗过摄像头,破解虹膜识别。
经小灰灰PS过的虹膜照片
第二弹:人脸识别
人脸识别的原理,也是摄像头采集一张2D图案,通过对比特征点来实现。
小灰灰发现,昏暗环境下,由于手机本身拍摄到的图案不如白天清晰,为了保证夜间人脸识别体验,一些手机会将人脸识别的“严格性”调低。
这就好比原本60分及格的试卷,现在50分就能及格。
根据这个原理,小灰灰对现场拍摄到的评委的照片进行了明暗度、对比度和噪点相关特殊处理,模拟出手机摄像头夜间拍摄的效果,打印出来后,放在昏暗的地方(比如现场的纸盒子里),摄像头就很难分辨真假。
现场用PS对图片进行处理
第三弹:指纹识别
嗯……没错,除了人脸虹膜,他把指纹识别也破解了。
其实小灰灰在极棒现场就尝试过破解iPhone 6 的指纹识别,但由于大会现场环境等因素,演示并未成功。
会后他不紧不慢地给我演示了一遍,终于成功。我用手机录了个简单的视频。
他说,目前指纹采集模块主要有光学、电容、射频三种,手机上通常是电容型。
归根到底,无论哪种采集方式,最终采集到的还是一张指纹图案。
因此,只要采集到攻击目标的指纹图案,并把指纹图案还原成传感器需要的样子就好。
现场,小灰灰把指纹采集器藏在一个电插板开关里,评委按下开关时,指纹就采集完成。
改造过后的插线板
同样,也可以把指纹采集装置隐藏到电水壶开关等装置里,也能采集大拇指指纹。
比如,一个水壶,你拿它时会不会把大拇指按在上面?
小灰灰表示,之后百度安全实验室会就指纹识别破解进行具体技术分析,暂且不表。简单来说就是,采集图案、制作泡沫模具、进行导电处理,破解。
2.所以,在整个破解过程中,最难的地方在哪?
小灰灰:主要是确定基于传感器和图案伪造的攻击思路。
前期我必须对各类生物识别手机传感器采集规律进行摸索,想要骗过传感器,就必须先弄懂它们到底采集了些什么,评判标准是什么,这样才能准备相应欺骗内容。
比如,虹膜识别时,摄像头会捕捉眼球动作和瞳孔缩放,这些都需要花时间研究才能知道。
在制作图片和指纹泡沫时也有很多的细节,比如用打印图案欺骗人脸识别时,要侧着拍,避免手机屏幕光照在纸上产生反光等等……
3.这些被破解的设备,问题出在哪儿?
小灰灰:本质上来说,目前手机上的摄像头只能采集到2D图像,硬件设备的局限就注定了人脸、虹膜和指纹存在被 2D图案破解的可能性。
直接原因是一些厂商在安全性上的妥协。生物识别的“严格程度”其实是可以调控的,为了照顾产品体验,厂商会在采集环境不佳时(比如晚上)在安全性上做妥协。
所以百度安全实验室也想借此机会,呼吁设备厂商在考虑产品体验的同时多兼顾安全性。人的生物特征是有限的,手指就十根,脸就一张,虹膜就两个,一旦被盗用了就无法更改,如今生物识别非常火热,如果不注重这方面安全,未来可能导致严重后果。
其实在此之前,国外已经有利用红外相机拍摄来破解虹膜识别虹膜的案例,但他们需要制作一个特殊的美瞳隐形眼镜,佩戴在眼球上才能破解虹膜识别,这次只打印了一张A4纸,一些简单的设备,就能骗过传感器。
我希望通过这种低成本的破解,来推动生物技术的革新, 2D 人脸识别不够安全,这不,搭载 3D 人脸识别的 Face ID 就来了。
后记
小灰灰的同事向我透露,上场前,其实他一度陷入自我怀疑,担心别人觉得他使用的技术没有什么门槛,没技术含量,看起来很Low。
我忽然想起个老段子:
从前有一家香皂厂,生产线经常有香皂装不进盒子,导致空盒售卖。
厂长问两个技术员解决办法,留学归来的那个说,用X光检测盒子里是否有香皂,再用机械臂把空盒夹出来,算下来预算大概两百万;另一个技术员听后,端起一台20块钱的电风扇,放在流水线旁,空盒一下子就全被吹跑了。
在另一个故事里,小灰灰就是第二个技术员。
黑客一次又一次用破解演示的方式向人们警示危险,倒逼厂商改进和更换新技术,只不过这一次,他就用了两张A4纸。
用最简单的设备和工具,做最酷的事,这不就是极客吗?