开发了脚本以通过智能手机浏览器窃取PIN码


各种输入方法都会影响倾斜角度,但是在脚本收集数据后,神经网络无论如何都可以识别PIN码

如您所知,任何智能手机都具有许多传感器-GPS,光线,方向传感器,运动传感器和大约20个传感器-它们都持续提供数据,以便智能手机可以与周围的物理世界交互。 根据官方Javascript API的规定 ,开发人员有几种方法可以从这些传感器访问信息,包括通过移动浏览器。

这种方法为远程黑客开辟了广阔的可能性。 例如,纽卡斯尔大学计算机科学学院的专家开发了PINlogger.js脚本,您可以使用该脚本通过浏览器确定用户单击屏幕键盘上的哪个按钮。 每次单击,脚本都会从移动设备的倾斜传感器读取信息。 令人惊讶的是,在某些浏览器(Safari)中,即使从锁定的屏幕,在浏览器中启动的脚本仍继续收集数据。 如果在相邻选项卡上您在网上银行中输入密码而不关闭前一个选项卡,则其工作方式相同。

此方法适用于通过带有脚本的恶意网站以及可从传感器访问信息的任何移动应用程序窃取PIN码。 PIN码的识别精度很高。 首次尝试识别出四位数PIN码,概率为70%,第二次识别为86%,第三次识别为94%,第五次尝试识别为不同用户的概率为98%,一个用户的概率为99%。


来自相邻标签的攻击向量(b)仅在iOS的Chrome和Dolphin中起作用,而来自框架的攻击(a)在所有流行的浏览器中都起作用,包括Safari,Chrome,Firefox,Opera和Dolphin

为了对攻击进行实际演示,开发了一个特殊的界面来输入四位数的PIN码。 客户端部分向服务器发送了方向和运动传感器的读数。 服务器部分在Node.js上实现,传感器读数存储在MobgoLab数据库中。

在此演示中,研究人员可以使用onkeydown事件轻松识别键盘事件。 科学工作的作者提请注意以下事实:在其他程序中使用了类似的方法来收集PIN码,以从诸如TouchLoggerTapLogger的传感器获取信息。 如果需要在锁定的屏幕上检测到单击,则可能需要更复杂的方案来分割传感器数据,以便隔离必要的数据。 例如,这可以通过测量信号的峰值幅度并使用其他传感器来完成,如先前的科学论文中所示。 输入数据的代码已发布在GitHub上

数据库在按下时会累积有关点击和传感器读数的信息。 10名志愿者中的每5人都输入了50个四位数的PIN码(总共2488个正确输入的PIN码)。 然后,该数据集用于提取特征,然后训练神经网络(70%的数据用于训练,15%的测试和15%的测试)。

从比较测试的结果来看,与以前的类似开发相比,PINlogger.js在从运动传感器的信息中识别PIN码方面要好得多。 此外,这是第一个通过浏览器而不是通过智能手机上安装的应用程序窃取PIN码的系统。



研究人员指出,大多数用户并不了解通过从传感器获取数据而泄漏个人数据的危险。 一项用户调查显示,他们中的大多数人都在GPS或摄像机中看到威胁,而不是在构成更真实威胁的地方-内部运动,倾斜和其他传感器。 数字25不是偶然的:研究人员在标准智能手机中算的只是这么多传感器。 下图显示了调查结果-在25个传感器用户中,哪一个威胁最大。



用户不仅不知道威胁。 许多人甚至都不了解25个传感器中的大多数收集什么样的信息。 人们甚至没有听说过一些传感器。



问题在于此信息在操作系统级别上不受保护。 应用程序和任何站点都可以通过浏览器轻松访问它-未经许可。 只有少数几个传感器需要显式许可才能提供信息,包括照相机和GPS。 其余的则完全公开地提供信息。

使用此开放数据,您不仅可以收集PIN码和密码,而且可以监视用户。 任何站点都可以确定某人何时接到电话并挂断,



...当一个人坐着,走路或跑步时。



同样,所有这些信息未经任何许可都可用于任何站点和任何应用程序。 网站使用标准JavaScript来获取它。

安全专家和移动行业的主要参与者都非常了解此安全问题,但是到目前为止,他们尚未就如何解决这一问题达成共识。

该科研成果已于2017年4月7日在公共领域的《 国际信息安全杂志》 (doi:10.1007 / s10207-017-0369-x)上发表。

Source: https://habr.com/ru/post/zh-CN403109/


All Articles