黑进智能手表-可穿戴设备的Cyberphysical风险

阅读量153213

|

发布时间 : 2018-06-01 12:01:19

x
译文声明

本文是翻译文章,文章来源:https://securelist.com/

原文地址:https://securelist.com/trojan-watch/85376/

译文仅供参考,具体内容表达以及含义原文为准。

我们将继续研究物联网设备如何扩大对用户的日常生活及其信息安全的影响。在我们以前的研究中,我们谈到了使用单板微型计算机截取认证数据的方法。而这次,我们关注的是可穿戴设备:智能手表和健身追踪器,或者更确切地说,我们关注它们内部的加速度计和陀螺仪。
从围绕Strava的一些消息可以知道,即使不应公开的那些关于用户物理活动的非个人数据也可能被公之于众。但从个人层面上看,这件事的风险更为严重,因为这些智能设备能够追踪到您在ATM上输入PIN码、登录服务或解锁智能手机的那一刻。
在此次研究中,我们研究了可穿戴设备内的分析信号如何为潜在入侵者创造入侵机会。但研究结果让人大失所望:尽管从我们对嵌入式传感器的研究看来,信号并不能和“传统的”键盘记录器相提并论,但这仍可以用来构建用户的行为分析并检测关键数据的输入。这种分析可以依靠在用户设备上直接运行的合法应用轻易构建,这强化了网络犯罪分子渗透受害者隐私的能力,并有助于访问他们所在公司的内部网络。
所以,先来看看最重要的内容。

 

用户行为分析

当人们听到“智能可穿戴设备”这个词时,他们很可能会想到微型数码产品。然而,重要的是要了解大多数智能手表是Cyberphysical系统,因为它们配备了用于测量加速度(加速度计)和旋转(陀螺仪)的传感器,这些便宜而微小的微型电路也经常包含磁场传感器(磁力计)。如果将这些带有用户信息的传感器信号连续记录下来的话可以发现什么?恐怕得到的结果远远超过这些小工具的所有者本想要的。
为了我们的研究目的,我们基于Google的参考代码编写了一个相当简单的应用程序,并对基于Android Wear 2.5和Android 5.1智能手表操作系统的华为手表(第一代)、Kingwear KW88和PYiALCY X200智能手表进行了一些简单的实验。这些手表的选择是因为它们的可用性以及为它们编写应用程序时的简易性(我们假设在iOS中利用嵌入式陀螺仪和加速度计也遵循类似的方法)。

记录智能手表在输入密码期间的信号

为了确定传感器的最佳采样频率,我们用不同的设备进行了一系列测试,从低功耗模型(处理器方面)如Arduino 101和小米Mi Band 2开始。然而,传感器采样和数据传输速率的结果并不让人满意——为了获得或多或少让人满意的互相关(cross-correlation)值,需要至少50Hz的采样频率。我们也排除了大于100赫兹的采样率:每秒8KB的数据可能并不算太多,但并不适用于长达数小时的日志记录。最后,我们的应用程序选择以100 Hz的频率对嵌入式传感器进行采样,并记录手机内存中三个方向(x,y,z)的加速度计和陀螺仪读数的瞬时值。
无可否认,获得一整天的“数字快照”并不容易,因为华为手表在这种模式下的续航时间不超过六个小时。
但还是让我们来看看这段时间内的加速度计读数记录。纵轴表示以m / s^2为单位的加速度,横轴表示样本数(平均以10毫秒为单位)。加速度计和陀螺仪读数如下图所示。

一小时内记录的用户的数据分析。顶部 – 加速度计信号,底部 – 陀螺仪信号

这张图包含五个清晰可见的不同区域图案。对于那些精通运动学的人来说,这张图透露了很多用户信息。
最明显的运动模式是步行。我们也将从此开始。
当用户走路时,戴着智能手表的手像钟摆一样摆动,而钟摆摆动是一个周期性的过程,因此,如果在图表上存在运动传感器的加速度或方位读数根据周期性规律而变化的区域,则可以假定用户正在那时行走。分析数据时,整体考虑加速度计和陀螺仪读数十分有效。
让我们仔细看看短时间间隔内震荡幅度最大的区域(紫色区域Pattern1,Pattern3和Pattern5)。

加速度计和陀螺仪在步行时的读数

在这个例子中,可注意到手的周期性振荡持续来12分钟(Pattern1,如上图)。尽管对加速度数据的双重数值积分计算显示其精度和可变的特定速度可接近于用户在某处行走的积分常数(初始速度和坐标),但在没有请求地理信息的情况下,仍然很难准确地显示用户的动向。

加速度计数据的数值积分计算结果,该数据可估算用户在1小时内沿x和y轴方向的位移(z轴位移为零,遂图中不显示)

注意,相对于X轴位移的Y轴位移的曲线显示了人的大致路径。在这种非常原始的方法下,虽然距离并不太精确,但相当震撼的是它的精度可达到以千米计。想要提升行进距离的精度,可以用人体测量数据来估计每一步的长度(这也是健身追踪器的基本功能),但我们不会在这次的研究中研究这一点。

根据对加速度计数据沿X和Y轴进行数值积分计算可确定的被观察人员的大致路径

相比之下更困难的是分析那些不太活跃的区域。可以清晰地看到这个人在这段时间里处于休息状态。手表的方向没有变化,但存在加速度,则表明此人正在通过汽车(或电梯)移动。
下面显示了另一个22分钟的片段。这显然不是步行,因为没有可观察到的信号周期性振荡。但是,我们看到沿一个轴上的加速度信号膜的周期性变化,它可能是一种直线运动但中途有停靠的公共交通工具。

乘坐公共交通工具时的加速度计数据

以下是另一个时间片段:

Pattern 3,加速度计数据

这似乎是短时间行走(几秒钟)、暂停和忽然的手部动作的混合物。这个人大概是在室内。
下面我们讲解释图上的所有区域。

区域解码后的加速度计和陀螺仪读数

这是一个在三次步行(12,3和5分钟)中穿插地铁(20和24分钟)的旅程。短步行间隔具有一些特殊的特征,因为它涉及从地铁线路的更换。这些特征显而易见,但我们的兴趣在于用可在可穿戴设备上执行的算法来确定它们。因此,我们使用简单的互相关(cross-correlation)计算来代替神经网络(我们也知道神经网络对于这类任务来说非常棒)。
针对两段步行数据(Walking1和Walking2),我们用10秒钟的信号数据阵列计算了它们之间的互相关以及与噪声数据的互相关。

两个步行部分互相关和步行部分与噪声部分的互相关函数的最大值

从表中可以看出,即使这种计算互相关函数的方法十分基础,其也让我们可以在用户的“数字快照”中识别出运动模式,而且精确度高达83%(考虑到对相关性)。这个指标可能看起来并不高,但需要强调的是,我们还没有优化样本规模,也没有使用更复杂的例如被假定在确定特征部分信号记录方面更出色的主成分分析的算法。
这为潜在的攻击者提供了什么?通过识别用户在地铁中的移动,并且通过对这种移动的特征方向进行判断,我们可以确定用户正在乘坐哪条地铁线路。当然,使用磁力仪可以获得有关X和Y轴在空间中方向的数据可以让这个过程更加简单。但不幸的是,电动机的强大电磁拾音、确定偏北方向的低精确度以及智能手表中相对较少的磁力计迫使我们放弃了这一想法。
如果没有关于空间X轴和Y轴方向的数据(最有可能,对于单个周期不同),解码运动轨迹的问题会变成将已知长度的时间片段叠加到地形图上的几何任务。再一次,让我们站在攻击者的角度,我们可以寻找磁场爆发来表示电动火车(有轨或无轨电车)的加减速,这可使我们能够在我们感兴趣的时间片段中计算出其中的临时停靠点的数量。但这也超出了我们此次研究的范围。

 

关键数据的Cyberphysical拦截

这些或许可以确定用户何时到达工作场所、在公司计算机上登录、解锁他或她的电话等。将目标的移动数据与坐标进行比较,我们可以确定他们通过一个ATM访问银行并输入PIN码的时间。

PIN码

从佩带在手腕上的智能手表上获取加速度计和陀螺仪信号的PIN码有多容易?我们要求了四名志愿者在真正的ATM机上输入他们的个人PIN码。

在ATM键盘上输入PIN码时的加速度计信号

用基本方法从传感器读数中截取未加密的PIN码并不那么简单。但“加速度计日志”这一部分给出了一些信息——例如,图的前半部分表示手处于水平位置,而后半部分的振荡值表示键在ATM键盘上被按下。借助神经网络,来自加速度计和陀螺仪三轴的信号可用于破译随机人员的PIN码,其最小精度为80%(由来自Stevens Institute of Technology的同行指出)。这种攻击的缺点是智能手表的计算能力还不足以实现神经网络; 然而,使用简单的互相关计算来识别这种模式并且然后将数据传送到更强大的解码机器是非常可行的。而事实上,这也正是我们所做的。

ATM上输入PIN码数据的互相关函数的最大值

粗略地解释这些结果则是:从一般的信号通信流中恢复PIN码输入方式或许需要能达到87%的准确度。

 

密码和解锁码

除了ATM之外,我们还对另外两种智能手表可能会威胁用户安全的情况感兴趣:输入计算机密码并解锁智能手机。当然,我们已经知道了对电脑手机使用神经网络时的答案,但我们仍然想要亲自探索佩戴智能手表的风险。
当然,捕获在电脑上手动输入的密码需要该人在两个手腕上佩戴智能手表,这是不太可能的情况。而且尽管从理论上讲,字典可以用来从单手信号恢复语义上有意义的文本,但如果密码足够强,它也将无济于事。但是,这里的主要危险不在于传感器信号的实际密码恢复,而在于输入密码时的轻易检测。我们来详细考虑这些情景。
我们要求四个人在计算机上输入相同的13个字符密码20次。同样,我们进行了另一项实验:让两名参与者解锁使用4位密钥的LG Nexus 5X智能手机,每轮四次。我们还记录了每个参与者在模拟“正常”行为(特别是在聊天室中)时的活动。在实验结束时,我们同步读数的时间,删除了多余的信号。
所有传感器轴共获得480个离散函数。它们每个都包含250-350个读数,取决于输入密码或任意数据时所耗费的时间(大约三秒)。

一个人尝试在一台台式计算机上输入同一密码四次时,所发出的加速度计和陀螺仪轴的信号

用肉眼看,所得图形几乎相同;极端情况是一致的,部分原因是每次尝试的密码和输入方式都是相同的,这也意味着由同一个人生成的数字指纹彼此之间非常相似。

不同的人在尝试输入同一个密码时,所发出的加速度计和陀螺仪轴的信号

当叠加从不同的人接收到的信号时,可以看出,虽然密码是相同的,但输入的方式不同,所以在视觉上也极度不同。

由两个不同的人为同一部智能手机输入解锁码

这与手机的情况类似。此外,加速度计捕捉用拇指敲击屏幕的时刻,而从中可以轻易地确定密码长度。
人的眼睛容易被欺骗,但另一方面,统计数据却难以掩盖。我们从一个人到不同的人的密码输入尝试来计算互相关函数的最简单和最明显的方法开始。
下图表显示了加速度计和陀螺仪相应轴的数据互相关函数的最大值。

在台式计算机上由不同人输入的密码数据的互相关函数的最大值

一般来说,即使是非常简单的互相关计算识别出一个人的精确度也可以高达96%!如果我们比较任意文本输入模式下来自不同人的信号的互相关函数的最大值,则相关最大值不超过44%。

用于不同活动的数据互相关函数的最大值(密码输入与平常上网)


由同一人或不同的人输入的解锁码数据的互相关函数的最大值

请注意,输入智能手机解锁码时最小的互相关函数值(最高达64%),和输入电脑密码时最大的互相关函数值(最高达96%)。这样的结果符合预期,因为在解锁的情况下,手的移动和相应的加速度(线性和角度)是最小的。
但是,我们再次注意到,智能手表可用的计算能力足以计算相关函数,也就是说智能可穿戴设备可以自行执行此任务!

 

结论

从信息安全角度来看,毫无疑问,我们可以得出的结论是:便携式Cyberphysical系统扩大了潜在入侵者的攻击面。也就是说,主要危险不在于直接拦截输入数据——这非常困难(最成功的结果也是使用神经网络实现),并且迄今为止准确性方面还有很多不足之处,这取决于基于嵌入式传感器发出的信号对用户物理行为的分析。智能设备不仅能够通过外部命令来启动和停止从传感器记录信息,还能够在发生某些事件或满足特定条件时记录信息。
只要电话能够访问互联网,录制的信号就可以通过它传送到攻击者的服务器。因此,事实上Google Play商店中的一个不起眼的健身应用程序或新的手表屏幕都可以用来对付你。除了这个应用程序,只需发送一次地理标记并请求链接到您的Google Play帐户的电子邮件地址就足以根据您的动作确定您是谁,您去过哪里,以及您的智能手机使用情况,以及您在ATM上输入PIN码时的情况。
我们发现从可能对应于密码或其他敏感信息(姓名,电子邮件地址)的流量中提取数据是一项相当简单的任务。如前所述,攻击者可以在PC或云服务上将这些可用识别算法的全部功能应用于这些数据,然后可以从加速度计和陀螺仪信号日志中恢复这些敏感信息。此外,这些信号在较长时间的积累后有助于跟踪用户的移动——而且不需要地理信息服务(如GPS / GLONASS或基站信号)。
我们确定,使用简单方法分析来自嵌入式传感器(例如加速度计和陀螺仪)的信号,即使只具有可穿戴设备的计算能力,也可以确定输入同一文本的时刻(例如,身份验证数据),台式电脑的准确率高达96%,移动设备的准确率高达64%。后者的准确性可以通过编写更复杂的算法处理收到的信号来优化,但我们故意应用了最基本的数学工具箱。考虑到我们通过对企业用户面临的威胁的棱镜来观察这个实验,所获得的台式计算机的结果是此次研究值得被关注的主要因素。
考虑到使用可穿戴设备的情况可能涉及智能手表上合法应用程序的下载——例如,定期向服务器发送数十KB大小的数据包的健身追踪器(例如,13个字符的密码的未压缩“信号签名”大约是48KB)。
由于这些应用程序本身是合法的,因此我们假设除了我们的Android可穿戴设备和 Android智能手表的测试用例外,这种情况也可以应用于Apple智能手表。

建议

以下有几种迹象可表明下载到智能手表上的应用可能不安全。

  • 1.例如,应用程序可能发送有关用户帐户数据的请求(Android中的GET_ACCOUNTS权限),因为网络罪犯需要将“数字指纹”与其所有者相匹配,所以这一点十分重要。然而,应用程序也可以允许用户通过提供电子邮件地址进行注册——但在这种情况下,您至少可以自由输入您的银行卡链接到的Google Play帐户不同的地址。
  • 2.如果应用程序另外请求发送地理位置数据的权限,则更应该注意,在这种情况下,明确的建议是不允许为您智能手表上的下载的健身追踪器提供额外的权限,并且在注册时指定公司的电子邮件地址。
  • 3.电池寿命的短暂也是一个令人担忧的严重问题。如果您的设备在几个小时内被取下,则表示您可能正在被监视。理论上,智能手表可以存储长达数十小时的活动日志,并在之后上传这些数据。

总的来说,我们建议您密切关注公司员工所戴的智能手表,并可能调整其在公司安全策略中的使用。我们计划继续研究诸如可穿戴智能设备等Cyberphysical系统,以及使用它们的额外风险。

本文翻译自https://securelist.com/ 原文链接。如若转载请注明出处。
分享到:微信
+10赞
收藏
子午大帝
分享到:微信

发表评论

内容需知
  • 投稿须知
  • 转载须知
  • 官网QQ群8:819797106
  • 官网QQ群3:830462644(已满)
  • 官网QQ群2:814450983(已满)
  • 官网QQ群1:702511263(已满)
合作单位
  • 安全客
  • 安全客
Copyright © 北京奇虎科技有限公司 360网络攻防实验室 安全客 All Rights Reserved 京ICP备08010314号-66