虚拟现实(VR,Virtual Reality)可以提供沉浸式和互动性体验,且无需地理限制。此外,人们普遍认为它通过物理隔离增强了个人隐私的保护。本文展示了VR无法免受窃取私人信息的侧信道攻击。这种漏洞正是源于VR的最大优点—即其沉浸性和互动性。
本研究设计了一系列共享虚拟环境中的按键推理攻击,攻击者(VR用户)可以通过观察另一VR用户的虚拟形象来恢复其输入的内容。尽管虚拟形象显示的用户手势数据是含噪声的,但攻击者可以利用这些数据来识别其按键并重建输入的内容,而无需了解键盘布局或收集已标记的数据。攻击能够准确识别86%至98%的按键,并且所恢复的内容保留了原始输入内容的98%的含义。
0x01 引言
VR提供了一种全新的在线互动维度,为工作、娱乐和社交互动创造了更加便捷、舒适和高效的环境。因越来越多的人在个人和职业领域中采用了VR,特别是通过VR进行远程工作。许多公司积极推广其采用远程工作平台,包括Meta的Horizon Workrooms、Valve和vSpatial等VR应用和初创公司。苹果最近推出的Vision Pro进一步证实了行业对VR远程工作所产生的巨大兴趣。由于用户使用他们的数字化身或虚拟形象与他人互动,VR还为他们提供了独特的隐私感和增加的安全性。一般来说,VR用户可以自定义他们的数字分身,并选择展示他们想要的环境。这种过滤可以防止未经用户知情的个人信息泄露。例如,它可能阻止传统的侧信道攻击,其中攻击者可以利用对用户或其设备的物理观察来窃取信息,例如窥屏、肩窥和按键推理。
本文研究了在共享VR环境中进行按键推理攻击的可行性,其中一个VR用户可能尝试通过记录和分析其虚拟形象的动作来恢复另一个用户输入的内容。由于打字是将敏感信息输入计算系统的主要方法,因此成功的推理攻击可能会造成重大损害,例如未经授权地披露机密或机密数据,这可能导致个人隐私的泄露甚至财务损失。与物理攻击相比,通过VR进行的按键推理攻击可能更为强大,因为一个攻击者可以针对多个远程受害者且无需物理接近限制。
VR最吸引人的特性—沉浸性和互动性正是导致VR用户易受按键推理攻击的原因。具体来说,VR中的沉浸式体验依赖于每个个体的虚拟形象,这些虚拟形象显示用户的身体动作、手势和面部表情。当一个个体执行一些物理动作,如抓取物体、拍手或在键盘上输入时,他们的虚拟形象展示了那些手部动作的近似数字版本,这对于同一虚拟空间中的其他用户可见。因此,VR实际上通过消除对物理感知的需求和成本“促进”了侧信道攻击的发生。尽管这些VR运动的准确性、分辨率和粒度远远不及物理观察(例如,对手部活动进行物理视频记录),但攻击者仍然可以利用它们来提取由这些运动提供的附加信息,例如按键输入。因此,正是VR的这一特性使用户的隐私和信息安全面临着现实威胁。
本文描述了在共享的VR空间中进行按键推理攻击的设计、实施和评估过程。上图展示了攻击的一个示例场景。这种攻击完全发生在虚拟空间中的虚拟形象之间,没有任何来自物理世界的感知或数据。攻击者与目标用户位于同一虚拟空间中,收集了目标用户虚拟形象所显示的数字手部运动的含噪声数据,并用它来还原按键输入数据,称这些数字运动为VR用户的遥测数据(telemetry data)。
攻击的有效性面临着两个的挑战:
(i)遥测数据中存在大量的噪声和不一致性,
(ii)缺乏关于目标用户及其物理设备的知识和标记数据,因为他们与攻击者在物理上是隔离的。
结合人类打字固有复杂性和变化性,会使从可用数据中提取有用信息变得非常具有挑战性。通常基于迁移的攻击方法(即在已知用户上训练模型然后将其应用于其他用户)是无效的,因为个体的打字行为是独一无二的,不适用于其他用户。因此,本研究开发了一个组件化的自我监督学习流程,将按键推理这一复杂任务分解为三个连续的组件,分别负责检测按键事件、识别所使用的手指以及识别按键。对于每个组件们首先对简化的遥测数据进行统计分析,以生成初步的推理结果。然后在第二个组件中,利用这些结果来整理标记的训练数据,并训练一个DNN分类器,该分类器学习了按键输入与完整遥测数据之间的复杂关系。这个DNN分类器的输出然后被馈送到最后一个组件。
通过这种组件化设计,攻击可以逐步从含噪声的遥测数据中提取、筛选和学习重要的按键信息,同时最小化了管道中的误差传播。攻击还支持对攻击者在虚拟空间中的灵活定位。通过应用坐标变换将任意VR用户所看到的遥测数据规范化到一个统一坐标系统中,就可以使用单一的攻击流程执行各种不同的攻击。
0x02 背景
A. 按键推理攻击
在按键推理攻击中,攻击者可以在没有控制目标输入设备的情况下还原目标的输入内容。现有的攻击可以分为三类:(i)物理攻击,即在目标附近放置传感器以捕捉其打字操作,(ii)远程攻击,通过分析目标的网络流量来进行攻击,以及(iii)针对VR用户的攻击。
物理攻击:通过在目标附近物理放置传感器,例如摄像头、麦克风、惯性测量单元(IMU)、电磁(EM)和射频(RF)设备,攻击者可以记录与目标的打字操作相关的数据。记录的传感器数据包括音频、视频、振动、电磁、WiFi和LTE测量。由于按不同的键会导致传感器记录的信号发生变化,攻击者可以使用统计分析或机器学习来确定按键内容。例如,基于音频的攻击将麦克风放置在目标旁边,捕捉机械键盘上按键时产生的特定声音,并训练机器学习模型来从录音中识别按键输入。后续的研究使用其他传感器(如IMU、WiFi/LTE收发器或EM嗅探器)替代了麦克风。其他方法则使用摄像头来捕捉屏幕以及目标眼睛或眼镜反射的指尖按压,或者记录由反光键盘表面(如平板电脑)产生的按压指尖周围的反射。在VR攻击设置中,物理攻击通常不起作用,因为攻击者(即VR用户)无法放置或访问传感器或目标的物理空间中的侧信道(例如眼镜反射或表面反射)。此外,许多物理攻击需要了解键盘及其布局的知识,这些信息对于VR攻击者来说是不可访问的。
流量分析攻击:通过分析加密的SSH流量,攻击者可以检测用户何时在输入密码,并估算密码的长度和内容。这是可能的,因为SSH在交互模式下使用8字节边界对数据进行填充,并在每次按键时发送数据包。因此,攻击者可以通过计数数据包来推理密码的长度,并使用数据包之间的到达时间来估算其内容。但是,这种攻击仅适用于SSH会话。
针对VR用户的攻击:一些研究员已经提出了针对VR用户的按键推理攻击。它们都针对使用虚拟键盘输入文本的VR用户。用户可以通过旋转头部以移动虚拟键盘上的光标并进行特定的手势以选择键,或者通过在空中移动两只手的手指(每只手一根)或使用手持控制器指向键盘来输入。这些虚拟按键导致简单而缓慢的打字动作,攻击者可以通过部署立体摄像头或WiFi设备,甚至直接在目标的VR头盔上安装恶意软件来监视这些动作。这些攻击还假设攻击者具有对“虚拟键盘”布局和屏幕位置的完美了解,并且通常需要来自目标的已标记数据。
B. VR沉浸式体验
虚拟形象:虚拟现实最引人入胜的方面在于通过表现力丰富的虚拟形象来产生沉浸式体验。虚拟形象通过紧密模仿用户的真实动作和表情来培养更强烈的存在感和联系感。为了构建这样的虚拟形象,现代虚拟现实系统(例如Meta Quest 2/3/Pro、HTC VIVE XR Elite)采用了实时手部跟踪和等形渲染,使用户可以使用自己的手看到和操作虚拟对象。在虚拟形象中呈现手部运动和手势增加了沉浸感,使用户可以在虚拟现实环境中以自然的方式进行交流、手势和互动。这种逼真和富有表现力提供了真正的存在感和社交互动。
手部跟踪:虚拟现实中的手部跟踪追踪用户实际手部的位置和方向。如今,通过在用户的虚拟现实头盔上部署多个摄像头和惯性测量单元(IMU)来实现。手部跟踪的准确性受多种因素的影响,例如手部和头盔的相对位置、IMU和摄像头的数量和位置、环境中的光照条件以及手部运动的类型和速度。即使使用先进的虚拟现实系统,当用户的手部迅速移动时,跟踪可能仍会出现一定程度的误差、延迟或抖动。目前,手部跟踪的准确性还不足以用于精确的按键识别。这是由于每个用户都具有快速而复杂的手指运动,这些运动是特定于每个用户的,且不断变化,同时用户的手会自然地遮挡住头戴摄像头。为了克服这一挑战,商用虚拟现实系统使用物理键盘作为输入设备,而研究人员建议将额外的传感器,例如安装在用户手腕上的IMU,以改进对手指敲击运动的捕捉。
0x03 VR按键推理攻击
A. 启发思路
本文所提出的攻击受到VR的两个重要特性驱动。首先,高效的物理键盘输入在虚拟现实系统中正变得越来越常见。与虚拟键盘相比,物理键盘提供了精确性、舒适性、熟悉性和触觉反馈。流行的虚拟现实平台,如Oculus Quest 2/3/Pro和HTC VIVE;以及虚拟现实应用程序,如vSpatial和Immersed,已经通过蓝牙连接支持物理键盘。许多虚拟现实用户更喜欢使用它们来输入文本,特别是长时间工作。由于用户现在可以在虚拟工作空间中高效且专业地输入文本,因此虚拟现实中的文本输入将迅速扩展到包括可能包含敏感信息和个人数据的电子邮件、文档和其他基于文本的材料。
其次,虚拟现实使人们能够在共享虚拟环境中进行沉浸式互动,每个VR用户都被自己的虚拟形象所代表,而不是他们的真实形象。这与物理空间中的人们直接可见的隐私问题形成对比。这两个趋势引发了以下问题,也是研究的动机:由于用户能看到彼此的虚拟形象,在共享虚拟环境中输入敏感信息是否安全?
B. 威胁模型
假设一个虚拟现实用户U,他通过无线连接到虚拟现实头盔的物理键盘进行虚拟现实工作。此外还有一个攻击者A,他是另一个与U共享虚拟环境的虚拟现实用户。为了实现无缝互动,虚拟现实平台使用富有表现力的虚拟形象来代表虚拟环境中的每个用户,显示他们的非语言行为,如身体动作和手势。假设A只能收集与U的虚拟形象相关的数据。为了让A能够看到U的虚拟形象,A的头戴显示设备将接收U的遥测数据流,即U的手势。虽然手部跟踪是现代虚拟现实头盔的内置功能,但其数据访问和共享的法规仍在制定中。
在用户同意的情况下,虚拟现实应用程序可以访问、存储和流式传输此信息以在其他设备上呈现虚拟形象。因此,通过改变攻击者信息访问的级别和虚拟现实应用程序的设计来调查各种攻击场景。在这个过程中,确定了攻击的三个版本,根据攻击者收集的遥测数据来定义(见下图)。
• 攻击 I:在Horg上操作的原始遥测攻击。Horg是U头戴设备收集的有关U手部的三维遥测数据,从俯视角(或鸟瞰视角)的手部视图中提取。这代表了最强大的攻击者,他可以访问目标的头戴式显示设备或虚拟现实渲染服务器。这里的
• 攻击 II:在T3d(PoV)上观察到的遥测攻击。攻击者通过设置虚拟摄像机来获取U的虚拟形象数据。为了让U的虚拟形象的虚拟手势被A看到,虚拟现实系统需要将原始遥测数据Horg转换为A的虚拟摄像机的屏幕坐标。后者由PoV定义,即A相对于U的摄像机视角(PoV,point-of-view)。例如,当A的虚拟形象(因此相机)直接面对U时,即PoV =(0,0),观察到的遥测数据T3d(0,0)捕获了U手部的前视图。根据虚拟现实系统/应用程序的设计,T3d(PoV)可以由虚拟现实服务器计算并发送到A的头戴设备,也可以由A的头戴设备在接收Horg后计算。在这里,注意到后者使A有可能直接从A的虚拟现实设备中获取Horg并启动上面提到的攻击I。
• 攻击 III:使用T2d(PoV)进行渲染的手势攻击。该攻击基于攻击II中的T3d(PoV)的二维投影,去除了相机视野内的深度。这代表了一个有限攻击者,他无法访问任何遥测数据,而是记录U的虚拟形象显示在A的虚拟现实屏幕上,并应用手势跟踪工具从视频帧中提取二维手势。
在攻击设计中,唯一的假设是攻击者知道目标使用的语言(英语)。更重要的是,攻击者没有关于目标的其他信息。这意味着攻击者缺乏目标的键盘布局和位置的知识,无法访问已标记数据或先前观察到目标的信息,除了前面讨论的虚拟形象遥测/手势数据之外,也没有任何其他附加的侧信道信息。
虚拟键盘扩展:提出的攻击可以扩展到未来允许在无需控制器进行虚拟打字的VR系统。这种攻击有效是因为它仅需要手势数据,而不需要对“键盘”的任何了解。尽管由于手势跟踪的准确性不足,目前这种虚拟打字是不可行的,但随着虚拟现实硬件/技术的进步,它可能在不久的将来成为现实。虚拟现实手势跟踪系统准确性的提高只会增加攻击的威力。
0x04 设计挑战
本文所提出的攻击场景是独特的,因为攻击者仅利用目标虚拟形象的遥测/手势数据。然而,这也在构建成功的攻击方面提出了重大困难,因为数据中存在高水平的噪声。本节中通过对攻击数据的彻底分析以及对潜在攻击设计的检查来解决这个挑战。论重点放在原始遥测攻击(Horg)上,因为T3d和T2d是Horg的有损转换。
A. 查看遥测数据
研究者检查了由Oculus Quest Pro头戴显示设备生成的3D遥测数据Horg,使用头戴式显示设备的四个摄像头捕捉佩戴者双手的俯视图。在采样时间t区间,3D遥测数据由每只手上的46个关节(每只手23个关节)的(x,y,z)表示。这个3D坐标系统由p,即VR会话开始时测量的头戴式显示设备的物理位置排列,即使用户的头部在会话期间移动也保持不变。因此,给定一个关节的(x,y,z)坐标,y是手关节相对于键盘的纵向深度,而(x,z)是在水平平面内相对于p的偏差。下图(a)显示了Horg的示例实例,其中左小指正在按键。由于物理键盘放置在水平平面上,y值捕捉了关节相对于键盘的相对高度,而xz值指示了键盘内的位置。
虚拟与物理手势:上图绘制了U看到的样本观察,其中虚拟手(由Horg根据U的头戴式显示设备渲染)与物理手重叠。虚拟手势与物理手势不对齐,尤其是在指尖处,表明遥测数据存在噪声。这是可预判的,因为手通常会挡住头戴式显示设备摄像头的指尖,并且在物理键盘上打字是迅速而精细的。