三星清水套解锁我们复现了,但事情并非这么简单
科技

三星清水套解锁我们复现了,但事情并非这么简单

2019年10月22日 23:42:25
来源:爱否科技

今天三星被爆出了非常严重的指纹安全问题,在全球范围内都引起了比较大的震动,甚至包括中国银行、支付宝和微信在内的多家国内外金融机构都直接停止了部分三星手机的指纹支付功能。

三星的指纹出了什么问题? 背后的原理是什么?

清水套就能破解的

超声波指纹?

事情是这样的,一对来自英国的夫妇购买了三星 S10 手机,并在第一时间套上了「正反两面」都有橡胶的清水套来保护手机。 随后发现除了录入指纹的夫妇二人,任何人的指纹都能解锁手机,包括网银在内的软件都可以随意登陆。

在验证整件事情之前,我想先吐槽一句,真不是我见识短,我第一次看到这种正反面的清水套,我还去淘宝上查了,没有发现有类似的商品,相信国内用户应该用的不多。 这也就解释了网上很多「谁会把清水壳安在正面」之类的声音,这些老哥应该是没仔细看原版视频。

事实上这对英国夫妇遭遇的事情非常好复现: 手机把壳的纹路当做了指纹给记录了,之后每个人按的时候手机识别的都是清水套的纹路。 我们也在相同的情况下复现了这种情况。

值得一提的是录入过程非常痛苦,每一次都要按到手指发白,真是佩服这两夫妇。

如果事情只停止在这,或许还可以说大家是风声鹤唳,但是接下来事情的发展出现了变化: 众多三星手机持有者都表示自己在清水套的帮助下可以不用录入指纹的手指就打开手机。

这要是真的问题可就大了!

目前在网上已经成功,并且比较有代表性的案例有:

韩国推特用户 @StaLight

YouTube 主播 @Doodler Genome

国内 B 站 UP 主 @Forever_lyx

国内媒体 @差评君

其中 @Forever_lyx 还给出了非常具体的复现条件,具体如下:

此外 @Forever_lyx 还表示「屏幕越脏越好 壳子越脏越好」,再用「壳子覆盖屏幕解锁第一次 之后只要不乱移动壳子 其他手指都可以解锁」。

@差评君 的复现方式更加简单一些,直接套上壳子就点开了屏幕,并且表示「录入的指纹越多越容易成功」。

我尝试了一下午这几位用户的破解方式,条件包括:

· 录入一个指纹和四个指纹两种极端情况;

· 使用「大颗粒清水壳」、「小颗粒清水壳」和 TPU 贴膜三种材质;

· 使用「蜻蜓点水」、「正常」和「手指发白」三种按压力度;

· 使用已经录入指纹的手指和未录入指纹的手指进行多次尝试。

均未成功复现(贴膜能够使用已经录入指纹的手指正常解锁),手机一直提示「无匹配」,唯一的收获就是按到手痛。

因此在这里我不敢妄下断言,但是从中国银行等专业金融机构的风控举措来看,这个超声波指纹识别系统确实是存在问题。 三星对这件事情也做出了回应,表示这确实是个漏洞,将在本周内推出修复补丁,并且希望用户停止使用「非官方配件」。

三星指纹识别

问题出在哪?

我们都知道相较于密码,以指纹为首的生物识别确实能够简化解密步骤,让日常使用手机更加快捷便利。但是相较于可以变更的密码,生物特征一旦被破译就无法更改,这也对厂商提出了更高的要求。

目前手机行业主要使用的有电容式、光学式和超声波式三种指纹传感器类型,以及基于细节点和基于纹理结构两种指纹匹配算法。但是这些都很难实现「活体识别」这件小事。

说是小事,其实对于手机一个这样体积有限的产品来说其实是非常难的。

在广东工业大学王群峰硕士的学位论文《指纹识别系统活体检测技术研究》中提到了目前行业内主流的活体识别方式包括:基于动态软件的皮肤形变、汗水等;基于静态软件的特征(孔隙、纹理)和数据驱动(卷积神经网络 CNN),以及两种同时使用的融合策略。

首先手机的体积决定了无法在屏幕识别模块中加入温度等传感器;二是功耗限制也会限制指纹模组的功能。目前行业内有比较靠谱的活体检测机制的,只有目前主要存在于中低端手机的电容式指纹模组,并且破解方法也比较简单,在树脂里加入一点导电的金属粉末就可以了。

而在全面屏时代大放异彩的屏下光学式和超声波式指纹识别现阶段都很难进行活体检测,这是识别机制导致的。

另外,手机端的指纹识别模组由于要面向更加广大的手机用户,需要调和识别率和通过率的矛盾:识别准确率过高,用户单次成功率下降,用户体验差;准确率调的过低就无法起到加密的作用。

这个在行业内被称为拒真率 FRR 和认假率 FAR,两者等值的焦点为平均错误率 EER,这三者能够用来衡量一款指纹识别产品的综合体验。

如果你还记得的话,三星 S10 系列刚上市的时候这套超声波指纹识别被喷的一塌糊涂,其中最大的原因就是识别准确率太低,至少要放个两三次才能完成识别;而随着一次又一次的更新,这套指纹识别系统的体验,尤其是在准确率上是在不断进步的。

那么问题就来了,为什么三星能够在不改变硬件的基础上实现识别准确率的提升呢?

我推测,仅仅是推测,三星调高了 EER,使得指纹识别的容错率提升了。这样确实提升了用户体验,但是也使得指纹识别的安全性下降了。

从这次的清水套事件来看,如果我的猜测成立的话,三星可能是将这套识别概率「优化」到了一个阈值非常低的程度。要知道 S10 刚刚发布的时候,是要搭配「原厂膜」才能实现正常的指纹识别的。

另外虽说是猜测,但是我也想到了一个「证伪」的方法:等到三星的修复推送实装之后,如果指纹识别变得和以前一样难用了,也可以从一个方向上印证我的猜测。

总结

作为一项涉及到安全,尤其是支付安全的技术,指纹识别的安全性理应是无条件最高优先级的,在保证足够安全的前提下才能在用户体验间做取舍。 安全性应该算是原则问题,三星虽然及时提出修复,但是在未爆出的前提下让用户在有风险的情况下使用,应该说是不负责任的。

目前来看,中国银行等企业的行为算是未雨绸缪,认真负责,值得点赞。

不过目前整件事情都没有最终定论,更多情况还有待探索,希望三星能够像对待电池爆炸一样,给出明确的原因。 否则前有电池爆炸,后有指纹漏洞,三星让贤全球第一份额的日子真的不远了。

文章中部分图片来源于网络