speaker是来自FireEye的Wei Tao和Zhang Yulong。Talk首先介绍了指纹系统的原理以及实现,好比如何进行特征采集,如何对比特征等。android
随后讲了2种架构,安全
一种是Fingerprint without TrustZone和Fingerprint with TrustZone。在root状况下without TrustZone是很是危险的,全部的数据均可以轻松获取到。可是在有了TrustZone的状况下,hacker在获取了root之后依然没法读取TrustZone中的指纹信息。若是想要获取指纹信息,理论上还须要破解TrustZone才行。架构
接着speaker介绍了四种攻击手段:app
第一个攻击是confused attack(迷惑性攻击)。speaker提到fingerprint有两种用处,一种是authentication另外一种authorization。就像是passport和visa。一个用来作身份验证,一个用来行使权力。Hacker能够采起一种迷惑性的攻击,让用户仅仅是以为作身份验证,但实际上却行使了权利,好比说在demo中用户觉得他在解锁手机屏幕,而实际上却使用指纹转了钱给黑客。spa
第二个攻击是不安全的数据存储。最经典的例子就是HTC one的指纹保存文件。对全部人都是可读可写的。毫无安全性可言。ip
第三个攻击是finger spy。it
虽然TrustZone很是安全,可是android系统是经过应用层的service和TrustZone进行通信的。所以hacker能够伪造一个finger print app,而且和finger print sensor进行通信,从而窃取到用户的指纹。三星针对这个问题的解决方式是TrustZone UI。也就是当使用指纹进行受权的时候必须经过TrustZone UI来进行,由于TrustZone UI也是TrustZone的一部分,因此黑客必需要破解掉TrustZone才能获取到指纹。io
第四个攻击是fingerprint backdoor。class
用户在系统的设置中能够查看当前记录的指纹数量,可是这个数量信息并无保存在TrustZone当中。所以hacker能够留下本身的指纹做为后门,而且将增长的指纹的数量减掉。好比说在demo中fingerprint service显示仅保存了一个指纹,可是demo中却成功的用三个指纹解锁了手机屏幕,由于其中两个指纹实际上是黑客留下的,为了防止用户发现,黑客将保存的指纹数修改为了1。pdf
PPT:
https://www.blackhat.com/docs/us-15/materials/us-15-Zhang-Fingerprints-On-Mobile-Devices-Abusing-And-Leaking.pdf