你的指纹还安全吗?

 0x03 FINGERPRINTS ON MOBILE DEVICES: ABUSING AND LEAKING

speaker是来自FireEye的Wei Tao和Zhang Yulong。Talk首先介绍了指纹系统的原理以及实现,比如如何进行特征采集,如何对比特征等。

随后讲了2种架构,

一种是Fingerprint without TrustZone和Fingerprint with TrustZone。在root情况下without TrustZone是非常危险的,所有的数据都可以轻松获取到。但是在有了TrustZone的情况下,hacker在获取了root以后依然无法读取TrustZone中的指纹信息。如果想要获取指纹信息,理论上还需要破解TrustZone才行。

接着speaker介绍了四种攻击手段:

第一个攻击是confused attack(迷惑性攻击)。speaker提到fingerprint有两种用处,一种是authentication另一种authorization。就像是passport和visa。一个用来做身份验证,一个用来行使权力。Hacker可以采取一种迷惑性的攻击,让用户仅仅是觉得做身份验证,但实际上却行使了权利,比如说在demo中用户以为他在解锁手机屏幕,而实际上却使用指纹转了钱给黑客。

第二个攻击是不安全的数据存储。最经典的例子就是HTC one的指纹保存文件。对所有人都是可读可写的。毫无安全性可言。

第三个攻击是finger spy。

虽然TrustZone非常安全,但是android系统是通过应用层的service和TrustZone进行通讯的。因此hacker可以伪造一个finger print app,并且和finger print sensor进行通讯,从而窃取到用户的指纹。三星针对这个问题的解决方式是TrustZone UI。也就是当使用指纹进行授权的时候必须通过TrustZone UI来进行,因为TrustZone UI也是TrustZone的一部分,所以黑客必须要破解掉TrustZone才能获取到指纹。

第四个攻击是fingerprint backdoor。

用户在系统的设置中可以查看当前记录的指纹数量,但是这个数量信息并没有保存在TrustZone当中。因此hacker可以留下自己的指纹作为后门,并且将增加的指纹的数量减掉。比如说在demo中fingerprint service显示仅保存了一个指纹,但是demo中却成功的用三个指纹解锁了手机屏幕,因为其中两个指纹其实是黑客留下的,为了防止用户发现,黑客将保存的指纹数修改成了1。

PPT:

https://www.blackhat.com/docs/us-15/materials/us-15-Zhang-Fingerprints-On-Mobile-Devices-Abusing-And-Leaking.pdf

最新文章

  1. LINUX多线程(一)(创建和退出)
  2. 利用CSS3实现页面淡入动画特效
  3. 转载:Restore SQL Server database and overwrite existing database
  4. 动手写一个快速集成网易新闻,腾讯视频,头条首页的ScrollPageView,显示滚动视图
  5. hdu2937
  6. 启动Activity,传递参数最佳实践
  7. malloc功能具体解释
  8. 有return如果是try catch finally运行命令
  9. Cocoa 新的依赖管理工具:Carthage
  10. 谈谈Ext JS的组件——布局的使用方法续二
  11. shiro教程
  12. Express全系列教程之(九):将session上传至mysql数据库
  13. visual studio 2017 中默认无法开发 Android 8.0 及以上系统的解决方案
  14. 1804.03235-Large scale distributed neural network training through online distillation.md
  15. Akka-CQRS(5)- CQRS Writer Actor 部署和测试
  16. tomcat插件使用
  17. Flink Java Demo(Windows)
  18. 自动化测试工具Telerik Test Studio发布R1 2019|附下载
  19. 比较MessageListActivity使用不同的layout
  20. tp5自动生成目录

热门文章

  1. flex自适应小例子
  2. noi 1.5 45:金币
  3. MFC Picture控件加载图片
  4. vi编辑器的使用
  5. 彻底卸载Oracle
  6. C#如何实现下载文件保存到本地上面去
  7. sdk、jdk、jre、jvm、jdt、cdt分别都是什么东西
  8. Steve Loughran:Why not raid 0,its about time and snowflakes!!!
  9. thinkPHP 5.0.x 使用SQLite3 进行缓存设置 Cache
  10. github开发