通过手机传感器嗅探用户输入的密码-RadeBit瑞安全

话不多说,直接上攻击演示视频!

近期,研究人员发现了一种恶意JavaScript文件。这种恶意JS文件能够在用户毫不知情的情况下在网站或App中悄悄进行加载,当用户使用智能手机访问网站或App时,它就能够在后台通过各种手机传感器来访问并收集用户手机中的数据,攻击者将能够利用这些收集到的数据来破解用户的密码或PIN码。

这种新型攻击技术是由英国纽卡斯尔大学的一个安全研究团队发现的,研究人员表示,这种恶意脚本能够利用25种不同的传感器来收集数据,在对这些收集到的数据进行整合之后,攻击者将能够推断出目标用户在手机上所输入的内容。

并非所有的传感器都会受到操作系统权限的限制

这种攻击技术之所以能够存在,主要是因为某些应用程序不会受到手机操作系统的权限限制,例如Web浏览器,而像这样的App将能够访问手机所有的传感器数据。

根据目前智能手机内置的权限模型,当App需要访问例如GPS、照相机或麦克风这样的传感器时,手机会要求用户对相应操作赋权,但是当App访问手机的加速计、陀螺仪、NFC和重力感应器的数据时,手机并不会向用户发出权限请求。由于硬件成本不高,这些传感器正在成为现代智能手机的标配,但移动端操作系统更新升级的脚步却没有跟上,所以才导致了这一问题的出现。

攻击依赖于恶意JavaScript代码

为了验证这种攻击,研究人员编写了一个名叫PINlogger.js的JavaScript文件,这个文件能够访问这些不受系统权限控制的传感器,并从中获取传感器的使用日志等数据。

通过手机传感器嗅探用户输入的密码-RadeBit瑞安全

如果用户允许浏览器或者已被感染的App在手机后台运行的话,那么当用户在使用其他的App时,PINlogger.js脚本就会持续收集传感器数据。此时,用户在任何时候所输入的PIN码以及密码都会被PINlogger.js记录下来,而这些数据将会发送至攻击者所控制的服务器。由于手机中配备的传感器越来越多,所以攻击者可以收集到的数据量也就会更大,这也将导致攻击者破解用户输入内容的成功率就会更高。

该研究团队的Siamak Shahandashti博士表示:“这就好比是在玩拼图一样,你所得到的信息越多,你就能够越快拼出完整的图。”

攻击者猜测PIN码的准确率非常高

研究人员表示,他们所训练的人工智能网络可以仅仅通过监听手机运动和方向传感器的数据流(这种数据无需特殊的访问权限)来破解用户的密码。据了解,他们总共对50多台用户设备进行了测试,而在他们的首次测试中,四位数字PIN码的破解成功率竟高达74%。在对神经网络进行了进一步训练之后,第二次和第三次测试的成功率相应增长到了86%和94%。除此之外,研究人员也对破解算法进行了升级,现在已经能够处理字母和数字混合的密码了。

根据研究人员透露的信息,他们这项研究的目的是为了提高厂商和用户对智能手机传感器访问权限的关注度,因为目前的移动操作系统厂商还没有建立标准的权限控制模型来管理智能手机传感器的访问权限。

某些浏览器厂商已经修复了这个问题

该研究团队已经向多家浏览器厂商报告了这一问题。根据Mozilla公司的公告,火狐浏览器已经从v46版本开始限制JavaScript脚本访问手机的运动和方向传感器。除此之外,苹果公司也已经在iOS 9.3的Safari浏览器中采取了类似的限制措施。但需要注意的是,目前Chrome浏览器仍然存在 这一问题

通过手机传感器嗅探用户输入的密码-RadeBit瑞安全

对此,研究人员表示他们希望在将来能够看到厂商从系统层出发来解决这一问题,而不仅仅是在应用程序中设置相应的权限限制。

后话

关于这项研究的完整报告已经在国际信息安全杂志上发表了,感兴趣的同学可以点击查阅。【传送门

* 参考来源:bleepingcomputer