PINLogger:通过移动传感器窃取智能手机PIN码

简介: 本文讲的是PINLogger:通过移动传感器窃取智能手机PIN码,事实上,智能手机对于其使用者都非常了解。他们知道我们是否在一辆超速驾驶的汽车中,知道我们是在走路、骑车或者是乘坐在公共汽车上,甚至也知道我们每天接收电话的数量、时间等信息,当然对于我们解锁设备的个人识别码或者登陆时的双重验证他们更是了如指掌。
本文讲的是 PINLogger:通过移动传感器窃取智能手机PIN码事实上,智能手机对于其使用者都非常了解。他们知道我们是否在一辆超速驾驶的汽车中,知道我们是在走路、骑车或者是乘坐在公共汽车上,甚至也知道我们每天接收电话的数量、时间等信息,当然对于我们解锁设备的个人识别码或者登陆时的双重验证他们更是了如指掌。而最近,研究人员设计了一种攻击方式—利用一个网站来秘密收集手机大量的数据,而这些数据目前来看准确性惊人。

目前来说键盘记录攻击最有效的是猜测四位数的PIN码,一般来说第一次输入的准确率为74%,第三次尝试的成功率为94%。相同的技术还可以用于推断其他输入,包括许多Android用户依赖锁定手机的锁定模式,尽管准确率可能会有所不同。攻击过程中只要求用户打开恶意网页,并在关闭之前输入字符就可以了,整个过程中不需要安装任何恶意应用程序。

恶意网页或浏览器可以通过基于HTML的iframe标签提供恶意广告或恶意内容,合法网站可以使用标准JavaScript代码来安装攻击,该代码可访问内置于几乎所有iOS和Android设备中的运动和方向传感器。为了说明攻击是如何工作的,英国纽卡斯尔大学的研究人员写了一个名为PINLogger.js的攻击代码。在不发生任何警告或外部预警的情况下,JavaScript能够准确地推断出输入到设备中的字符。

“这意味着每当你在网页上输入私人数据时,例如网页上都会显示一些广告横幅,则广告提供者可能会“监听”并发现你在该页面中输入的内容。新西兰大学研究人员之一的暹罗F Shahandashti向我们展示了这一攻击,“据我们所了解,当攻击进行时,在一些浏览器中如果你打开一个页面A,然后再打开一个页面B,而不关闭页面A(大多数人做的)那么页面A在后台就可以监听你在在页面B中输入的内容。”

修复困难

各种类型的攻击工作的具体条件在浏览器与浏览器之间都会有所不同,而起在一定程度上还取决于每个浏览器运行的操作系统。百度所提供的浏览器,无论是在iOS或Android上运行,都能最大限度地访问传感器。因此,当恶意网页直接加载到打开或背景浏览器标签中时,浏览器会提供敏感的传感器数据,作为iframe加载或打开或背景选项卡中,甚至是当设备屏幕被锁定时,恶意页面直接加载或作为iframe加载。相比之下,其他广泛使用的浏览器限制了对传感器数据的访问,但也仍然提供了滥用的机会。

例如,Chrome for iOS将传感器数据提供给直接加载的恶意站点,作为iframe或作为广告进入活动选项卡。但Google浏览器却会阻止访问加载到背景选项卡中的所有网站,并且iPhone被锁定也会如此。Chrome for Android除了不向传输服务器提供传感器数据之外工作原理都类似。当JavaScript直接托管或通过活动选项卡上的iframe加载而不是后台选项卡时,Android上的Firefox也可以访问传感器。与此同时,Safari具有与Firefox相同的访问权限,但是当iPhone屏幕被锁定时,Apple制造的浏览器也访问了代码。各种浏览器的条件完整总结如下表所示:

PINLogger:通过移动传感器窃取智能手机PIN码

研究人员分别向Chrome,Firefox,Safari和Opera的厂商报告了这一情况。Mozilla在版本46中发布了部分修复程序,其中Firefox限制了JavaScript访问运动和方向传感器到顶级文档和同源的iframe。在2016年3月发布的iOS 9.3的Apple安全更新中,Safari在隐藏页面时暂停了运动和方向数据的可用性,采取了类似的对策。尽管这些确实是阻止PINLogger攻击的有效手段,但更新也阻止了浏览器支持一些有用的功能,例如健身和运动网站提供的功能。而Chrome则还是可以使传感器数据可用于加载到活动选项卡中的网页,Chrome开发人员在此公开承认这个问题。(Opera开发人员回应不清楚)

另外纽卡斯尔大学的研究员冯浩告诉我们,“这个问题没有直接的解决办法,也没有打破潜在有用的Web应用程序,目前没有人能够提出明确的解决方案。”

它知道你什么时候睡觉

通过访问加速度计和陀螺仪传感器,Web托管的JavaScript可以测量手机角度,旋转,移动速度和类似特征的微妙变化。这些数据反过来可以显示关于手机及其用户的敏感信息,包括每个电话的准确开始和结束以及使用它的人是不动的,行走的,在公共汽车上,在汽车中或在一列火车上。研究人员还尝试使用运行在Android 5.1.1版的Nexus 5手机上的Maxthon浏览器来进行攻击,它和运行其他浏览器的不同设备的行为也类似。

PINLogger:通过移动传感器窃取智能手机PIN码

在传感器显示的所有信息中,输入的击键几乎可以说是最敏感的。研究人员使用人工神经网络训练将某些传感器测量结合到50位四位PINS中包含的特定字符中。PINLogger能够在第一次尝试时推断出准确率为74%的受试者PIN,并在五次尝试中使得准确率接近100%。相比之下,来自一组50个PIN的随机猜测在第一次尝试中只有2%的准确率,在三次尝试中也只有6%的准确性。

研究人员写道:“人们可能会认为攻击应该针对整个4位数的PIN空间进行评估。但是,我们认为,由于用户不会随机选择PIN码,因此从有限的一组PIN中进行选择时,这种攻击仍然可行。据报道,所有可能的4位数PIN码中约有27%属于一组20 PIN,包括简单的PIN,如“1111”,“1234”或“2000”。”

研究人员继续进行了一轮评估对所有可能的四位数PIN的培训。培训包括两种模式。第一种,被称为多用户模式,其被训练使用几个主题。另外一种则被称为同一用户模式,它主要依赖于攻击目标的个人的训练。研究人员写道:

我们在多用户模式的结果表明,我们可以分别在第一,第二和第三次尝试中推断成功概率为70.75%,83.27%和94.03%。这意味着对于4位数的PIN,并且基于获得的传感器数据,攻击者可以从一组3 ^4 = 81个可能的PIN 中猜测PIN ,成功概率为0.92064 = 71.82%。然而,随机攻击只能在81次尝试中以0.81%的概率预测4位数PIN。相比之下,PINlogger.js的成功率比随机攻击者高得多。

而在同一用户模式下,81次尝试中猜测PIN的成功概率为85.46%。

还有个“关键问题”

现在没有理想的方法来防止攻击,是因为如前所述,一个无法访问传感器数据的浏览器可能会阻止许多有用的程序站点进行正常工作。对于使用Chrome的用户,一个很好的做法是尽可能多地关闭标签页。研究人员警告说,除非浏览器和操作系统制造商找出更好的长期解决方案,否则威胁可能会持续增加。

他们写道:“通过JavaScript访问移动传感器数据其实仅限于几个传感器,但这一情况可能会在未来扩大,特别是随着物联网中传感器设备的快速发展,因此设计安全可用的传感器数据管理的机制仍然是未来研究的关键问题。




原文发布时间为:2017年4月25日
本文作者:Change
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
目录
相关文章
|
7月前
|
机器学习/深度学习 传感器 数据可视化
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
|
传感器 Ubuntu Java
ESP-IDF 蓝牙开发实战 — 传感器数据上传及手机控制开发板
ESP32-C3 蓝牙部分我们学习了GATT,本文博主手把手带领大家使用 ESP32-C3的蓝牙做一个简单的小应用。
1332 0
ESP-IDF 蓝牙开发实战 — 传感器数据上传及手机控制开发板
|
传感器 存储 数据中心
河北稳控科技多通道振弦传感器无线采集仪 发送数据到手机
每次振弦采集仪启动后会将采集到的传感器数据进行内部存储,并在设置好的时间间隔将数据发送出去,通过修改“数据发送方式”参数,监测数据可由数据接口输出也可经由无线网络发送。 在发送监测数据时,可通过修改“数据包协议”参数来设置所发送的数据包的样式。
|
传感器 定位技术 图形学
SIGGRAPH | 6个惯性传感器和1个手机实现人体动作捕捉、定位与环境重建(2)
SIGGRAPH | 6个惯性传感器和1个手机实现人体动作捕捉、定位与环境重建
214 0
|
传感器 机器学习/深度学习 算法
SIGGRAPH | 6个惯性传感器和1个手机实现人体动作捕捉、定位与环境重建(1)
SIGGRAPH | 6个惯性传感器和1个手机实现人体动作捕捉、定位与环境重建
235 0
|
存储 传感器 Android开发
MLX90640 红外热成像仪测温传感器 手机 APP 软件 RedEye 连接操作详细
鉴于手机运算速度较慢,与手机连接时请务必将成像仪的刷新速率设置为 4Hz 或以下,否则可能出现较为更重的显示卡顿甚至无法正常显示实时画面。
MLX90640 红外热成像仪测温传感器  手机 APP 软件 RedEye 连接操作详细
|
传感器 安全 生物认证
iOS传感器开发——为APP添加手机密码、指纹进行安全验证
iOS传感器开发——为APP添加手机密码、指纹进行安全验证
264 0
iOS传感器开发——为APP添加手机密码、指纹进行安全验证

相关实验场景

更多