研究人员已证明,即使受害者用手遮住了键盘,它也可以在41%的时间内猜出4位数的银行卡密码,通过训练一种特殊用途的深度学习算法可以实现。

攻击者需要建立目标ATM机的复制品,因为针对不同密码键盘的特定尺寸和密钥间距训练算法至关重要。

攻击链

在实验中,研究人员共收集了5800个人的视频,针对输入的4位数和5位数银行卡密码来进行测试。运行预测模型的机器是一台配备 128 GB RAM 的 Xeon E5-2670 和三台配备 5GB RAM 的 Tesla K20m。通过使用3次尝试(一般为卡被扣留前允许的最大尝试次数),研究人员在30%的时间内重建了5位数的PIN密码的正确序列,并对4位数密码重建率达到了 41%。

该模型可以根据非输入密码手的遮挡范围排除按键,并通过评估两个按键之间的拓扑距离,从另一只手的动作中推断出按下的数字。

三种攻击场景的预测热图

捕捉画面的摄像机的位置起着关键作用,尤其是在记录左手输入或右手输入时。在ATM机顶部隐藏针孔摄像头被确定为攻的最佳角度。如果针孔摄像头也能够捕捉音频,模型还可以使用每个数字略有不同的按压声音反馈,从而使预测更加准确。

应对措施

该实验证明,用另一只手覆盖密码键盘不足以防御基于深度学习算法的攻击,但值得庆幸的是,我们可以采取一些措施。

首先,如果银行允许您选择5位数密码甚至更多位数的密码,一定要选择较长的密码。虽然相对难记住,但应对此类攻击要安全得多。

其次,手部遮挡面积的大小也能决定着被猜出密码的概率。数据显示,75% 的遮挡面积会为每次攻击提供0.55的准确度,而100%遮挡面积能将准确度降低到 0.33。

最后,为用户提供虚拟和随机键盘,而不是标准化的机械键盘。虽然不可避免地会带来可用性缺陷,但它是一种极好的安全措施。

值得一提的是,研究人员在一项对78名参与者的调查中使用了该实验的视频片段,以确定人类是否也能猜出隐藏的密码以及猜到什么程度。调查显示,参与者的回答准确率平均仅为7.92%,这对于执行此类攻击来说概率很低。