【
中国智能制造网 智造快讯】生活中我们熟知的手机传感器有很多种,传感器的作用是使我们在前台操作的更加方便流畅。近期,英国纽卡斯尔大学的一个安全研究团队发现了一种恶意JavaScript文件,能够在用户毫不知情的情况下在网站或App中悄悄进行加载,并通过各种手机传感器来访问并收集用户手机中的数据,破解用户的密码或PIN码。
智能手机时代 传感器或变身黑客帮手
手机传感器嗅探用户密码
这种恶意JS文件能够在用户毫不知情的情况下在网站或App中悄悄进行加载,当用户使用智能手机访问网站或App时,它就能够在后台通过各种手机传感器来访问并收集用户手机中的数据,攻击者将能够利用这些收集到的数据来破解用户的密码或PIN码。研究人员表示,这种恶意脚本能够利用25种不同的传感器来收集数据,在对这些收集到的数据进行整合之后,攻击者将能够推断出目标用户在手机上所输入的内容。
根据Mozilla公司的公告,火狐浏览器已经从v46版本开始限制JavaScript脚本访问手机的运动和方向传感器。除此之外,苹果公司也已经在iOS 9.3的Safari浏览器中采取了类似的限制措施。但需要注意的是,目前Chrome浏览器仍然存在这一问题。
这种攻击技术之所以能够存在,主要是因为某些应用程序不会受到手机操作系统的权限限制,例如Web浏览器,而像这样的App将能够访问手机所有的传感器数据。根据目前智能手机内置的权限模型,当App需要访问例如GPS、照相机或麦克风这样的传感器时,手机会要求用户对相应操作赋权,但是当App访问手机的加速计、陀螺仪、NFC和重力感应器的数据时,手机并不会向用户发出权限请求。
由于硬件成本不高,这些传感器正在成为现代智能手机的标配,但移动端操作系统更新升级的脚步却没有跟上,所以才导致了这一问题的出现。为了验证这种攻击,研究人员编写了一个名叫PINlogger.js的JavaScript文件,这个文件能够访问这些不受系统权限控制的传感器,并从中获取传感器的使用日志等数据。
如果用户允许浏览器或者已被感染的App在手机后台运行的话,那么当用户在使用其他的App时,PINlogger.js脚本就会持续收集传感器数据。此时,用户在任何时候所输入的PIN码以及密码都会被PINlogger.js记录下来,而这些数据将会发送至攻击者所控制的服务器。由于手机中配备的传感器越来越多,所以攻击者可以收集到的数据量也就会更大,这也将导致攻击者破解用户输入内容的成功率就会更高。
该研究团队的Siamak Shahandashti博士表示:“这就好比是在玩拼图一样,你所得到的信息越多,你就能够越快拼出完整的图。”研究人员还表示,他们所训练的人工智能网络可以仅仅通过监听手机运动和方向传感器的数据流(这种数据无需特殊的访问权限)来破解用户的密码。据了解,他们总共对50多台用户设备进行了测试,而在他们的测试中,四位数字PIN码的破解成功率竟高达74%。在对神经网络进行了进一步训练之后,第二次和第三次测试的成功率相应增长到了86%和94%。除此之外,研究人员也对破解算法进行了升级,现在已经能够处理字母和数字混合的密码了。
根据研究人员透露的信息,他们这项研究的目的是为了提高厂商和用户对智能手机传感器访问权限的关注度,因为目前的移动操作系统厂商还没有建立标准的权限控制模型来管理智能手机传感器的访问权限。
手机传感器的职责所在
智能手机在智能的道路上越走越远,我们平日里用手机解决大部分的问题,上网、游戏、导航、支付等等,从中受益颇多。那么这些传感器都肩负那些职责呢?
距离传感器
距离传感器通常安放在手机听筒旁边,用来检测手机正面与其他物体的距离。如果距离达到一个阈值,就会自动关闭屏幕,一则省电,二则防止手机触摸屏被误操作。
通常距离传感器在手机上会应用于两个方面,一是打电话时,手机接近头部就会自动灭屏,以防止耳朵或脸对触摸屏进行了误操作,而且通话中关闭屏幕也可以省电,手机从耳边拿开又会自动亮屏;二是防止手机在口袋或包包里屏幕亮起出现误操作现象,距离传感器感应到近距离有物体,就会通知手机自动关闭屏幕。
光线传感器
智能手机通常都有这样一项设置--自动亮度调节,打开后手机会根据周围光线的强弱自动调节手机屏幕亮度。在阳光明媚的室外,屏幕亮度会自动变大帮人在强光下看清屏幕;在昏暗的晚上,屏幕亮度就会自动变小,减少光线对眼睛的刺激,也可以顺便省个电。光线传感器就是用来感受周围光线强弱以实现手机屏幕亮度的自动调节的。光线传感器和距离传感器很多时候会集成在一个位置,可以减少前面板的开洞,设计上更好看。
电子罗盘
说到罗盘,我们就会想到指南针,而电子罗盘,就是在手机中起指南针作用的。电子罗盘是利用地磁原理工作的,手机中的指南针不需要GPS也不需要网络就可以指方向,它就是依靠电子罗盘来辨别方向的。而电子罗盘更实际的用处,是在地图导航上面。当你打开地图软件,通过GPS定位后会发现有一个小箭头,箭头会在你移动的过程中指向移动的方向,这个可以直接感应方向的小箭头就是电子罗盘控制的。有些手机没有电子罗盘,定位后只会出现一个圆点,而没有箭头指方向。
重力传感器
重力传感器是用来检测手机摇动、晃动、翻转等动作的,比如当手机竖拿转为横拿,被重力感应器检测到,然后指示屏幕从竖屏显示变为横屏显示。重力传感器常被应用于游戏上,有些赛车类游戏需要左右摆动手机来转弯;有些过关类游戏需要晃动手机来使房顶上的钥匙掉到地上,等等,这些都是依靠手机的重力传感器来完成了。当然如今为广大人民熟知的一个依靠重力传感器来实现的动作就是微信摇一摇!
VR技术日臻成熟,而对搭配VR设备使用的手机不可或缺的功能就是重力感应,在带上VR眼镜后,四面八方都有布景,要转动身体来感受这个立体的世界,如果手机不支持重力感应的话,那么不管你怎么转画面恐怕也不会有变化的。