一、概述
随着手机功能越来越多,其在我们生活中扮演的角色也越来越重要,除了保存传统的通讯录、短信、照片等个人隐私,现在的手机还是一个支付工具,如果手机被盗用,手机锁屏密码就是保证大家数据和资金安全的第一道屏障。我们最近也研究和总结了一些手机解锁的新老姿势的安全性,在此分享给大家,欢迎大家上车一起交流。
本次测试的手机包含了苹果,三星,华为,小米,VIVO,Google,一加,乐视等品牌的热销型号手机,测试的解锁姿势主要有以下5种:
1.手势/PIN码解锁
2.蓝牙设备解锁
3.指纹解锁
4.人脸解锁
5.虹膜解锁
测试结果表明,以上的解锁姿势都存在一定的安全风险。
二、手势密码/PIN码解锁
在传统角度上来说,手势/数字密码是最安全的手机解锁姿势,一般的4-6位数字或图形密码结合错误次数限制,可以有效的防止攻击者通过暴力破解等方法(当然通过刷机重置系统或非通用BUG绕过不在讨论范围内)。虽然很难绕过此类姿势,但我们还可以想想如何在已经解锁的状态去清除密码。

在Android7.0及7.1系统中,系统导出了一个选择解锁方式的系统组件,第三方应用可以调用此接口发送特定参数的Intent即可关闭所有锁屏认证功能,包含手势密码/PIN码/指纹等等。目前谷歌已经确认为中危并在新版本中修复了此漏洞(CVE-2017-0704),详见谷歌2017年7月Android安全公告。

除此之外,德国斯图加特大学的一个团队的研究报告指出,由于人体手指温度与手机屏幕温度存在一定温差,可以使用红外热成相相机能够拍摄出手指点击或滑动过程中产生的细小温差,从而破解输入的手机锁屏密码(如上图)。

三、蓝牙设备解锁

华为EMUI在系统设置“锁屏与密码”中存在⼀个“智能解锁”功能,⽀持使⽤⼿环等蓝⽛设备解锁,其中主要实现代码位于com.huawei.trustagent包中。主要流程为当⽤户开启智能解锁功能后,可选择添加可信⼿环设备时,添加成功的⼿环设备MAC地址添加到白名单中。之后当⼿机亮屏时,后台会⾃动检测当前手机连接的蓝⽛设备MAC地址是否在⽩名单中且信号强度(rssi)是否在⼀定范围内,如果符合特定条件则⾃动解锁。

而之前说到的Google的SmartLock功能在刚上线也出现过类似漏洞,Google的修复方案是在解锁时检测当前连接的蓝牙设备是否已经配对成功,小米手环则在固件中自定义一个蓝牙profile在解锁前与手机通信进行身份校验(这也是小米蓝牙解锁只支持小米手环的部分原因)。 目前华为已经致谢并修复此漏洞,CVE编号为CVE-2017-2728,详见华为PSIRT安全公告,后续对于这类涉及智能设备的系统漏洞我们也会继续保持关注。
四、指纹识别解锁
2013年苹果发布了第一款按压式指纹识别的手机—iPhone5S,之后指纹识别几乎是所有旗舰手机的标配,而随着技术的成熟与成本的下降,现在更是普及到了百元机标配。从手机指纹识别技术原理上来看,主要有以下三种方案:
1.电容指纹识别

2.超声波指纹识别

3.屏下光学指纹识别


在指纹识别安全方面,国内外已经有不少这方面的研究,如上图,在2014年德国CCC黑客大会上研究员Starbug从德国国防部长一张看似普通的新闻照片中成功提取出了其指纹图案,然后大家可能会想起电影里的用胶带复制玻璃杯上的指纹绕过指纹门禁(一般为光学指纹识别)的方法,不过在这想和大家说的是由于复制的只是平面的指纹图像且胶带并不导电,这种方法并不适于主流的电容式指纹识别手机。不过极客们又想到了另一种方法,也就是所谓的电容指纹膜。通过混合电容液与电容材料,得到可以导电的指纹套,当套有人手指的指纹套放在电容传感器上时,可产生与原版手指相同的电容值从而被电容指纹芯片成功识别。借助于万能的淘宝,我们只需要40元就能买到一套完整的指纹复制工具,以上就是我们制作一个电容指纹膜,测试可以成功解锁iPhone7/iPhone6s/Google Pixel/小米Mix/一加2/Vivo Xplay5等手机。

为了提升指纹识别安全性,一些厂商推出了新的活体指纹识别与3D指纹识别方案,活体指纹识别(如金立M2017)在原有的指纹识别的同时检测了心率,肤色。3D指纹识别(如华为Mate9)则在原有的表层指纹识别基础上加以改进,使电信号直抵真皮层,读取深层指纹。这两种方案都可以解决目前常见的指纹复制带来的风险,但日后是否还会出现新的对抗方法还有待研究。
五、人脸识别解锁
人脸识别技术作为应用最广范的生物识别技术也最容易被破解。和其他的生物特征相比,人脸特征是最容易获取的,伪造者可以通过网上搜索、偷拍等途径获取用户脸部照片或视频。因此针对人脸识别认证系统的欺骗手段一直是人脸识别系统所面对的主要问题。
常见的绕过人脸识别的主要有方法有: 1.人脸照片: 拍摄二维平面图像人脸; 2.人脸视频:利用软件模拟或偷拍方法生成的动态人脸视频,具有眨眼等运动信息以及表情信息,; 3.立体人脸模型:通过对人脸进行3D建模并打印实物;

在手机端针对人脸照片的活体检测技术主要有眨眼生理行为检测等;针对人脸视频与立体人脸模型的活体检测技术主要有结合特定唇语/语音识别,特定行为交互等需要用户配合的交互手段及近红外人脸识别技术等。下图为部分厂商所使用的人脸识别活体检测方法:
六、虹膜识别解锁



1.用一台相机拍摄眼部照片;
2.用激光打印机打印眼部虹膜细节照片;
3.贴上隐形眼镜;
4.拿上照片就能成功通过虹膜识别。
而在实践之后我们发现事实上并没有这么简单,正如三星官方所回应的,目前市面要想找到一部能拍摄到清晰的虹膜细节的相机太难了。在试过了手机,单反,单反+滤镜,红外夜视摄像头后,均没能拍到清晰的虹膜照片。于是我们在万能的淘宝上买了一部Starbug所用的同款古董级SONY DSC-V1红外夜视相机(2003年产),苦于其500万像素值及本身对焦素质,我们测试了多次仍没拍到一张能通过三星的S8虹膜解锁的清晰虹膜照片。

七、总结
上文中说的各种解锁姿势其实只是移动端身份认证方式的一部分,这些解锁姿势同样广泛用于支付认证/实名认证等领域,从目前趋势上来看,生物识别技术可能将成为未来主流的身份认证手段。
而从安全性方面考虑,相比传统的密码认证与设备认证方法,生物识别技术其实适合用于身份识别(identification)而不是身份认证(authentication),像指纹,虹膜等识别技术只能代表某个人生物特征,由于生物特征存在不可更改性与一定的可复制性,一旦用户生物特征信息泄露,则其身份就可能其它人被复制利用,手机锁屏密码也当然能轻易绕过。
在此我们给大家的防范建议是:
(1)尽量少在社交平台发自拍照,特别是高清无码的;
(2)最最最重要的:不要轻易将手机借给其它人;
(3)使用传统的(6位数字或更长)PIN码解锁手机最安全;
不过大家也不用太担心,以上破解各种解锁姿势的方法在实际生活场景中都有一定的利用难度,厂商们也早已经认识到了此类风险,不断在推出新的带活体检测的生物识别技术方案,相信日后还有更多姿势等待我们去探索,在此也欢迎大家与我们交流。
参考资料:
【1】 bbs.pediy.com/thread-2167…
【2】 securityaffairs.co/wordpress/5…
【3】 mherfurt.wordpress.com/2015/05/08/…
【4】 d.wanfangdata.com.cn/Periodical/…