赞
踩
虚拟现实(VR)硬件和软件的最新进展将改变我们与世界和彼此互动的方式,VR头显有可能为用户提供几乎与现实无差别的深度沉浸式体验。它们还可以作为一种跨越遥远距离的方式,通过使用个性化的化身或我们的数字代表,促进社交和(远程)工作场所互动。但另一方面,一旦被滥用,VR系统将会加剧安全威胁,其后果远比传统攻击严重。
我们先来总结一下针对VR系统的现有攻击:
近日,芝加哥大学研究人员发布了一篇论文,详细介绍并描述了一种名为“盗梦攻击”的新型威胁。考虑到VR系统可以使用沉浸式感官输入来操纵用户进入一种虚假的舒适感,误导他们泄露私人和敏感信息(例如财务账户的身份验证凭据)或相信他们所看到/听到的内容(例如手势,动作和对话),这种威胁的后果不容忽视。
例如,考虑以下场景:
场景1: Alice每周花4天时间通过雇主的新VR应用程序在家庭办公室远程工作。每天早上,她都会戴上头显,打开应用程序开始她的日常生活。今天,她注意到雇主公司的内部网服务器花了很长时间才识别出她的公司密码。她在心里记下要重置家里的WiFi路由器。但在其他看不见的地方,Carl正坐在那里看着他的VR头显完成记录Alice的登录序列。
场景2 :Alice和伴侣Madison在平常的VR约会之夜吵了一架,她沮丧地摘下了自己的VR头显。整个星期,Madison表现得越来越疏远,并在今晚终结了他们的关系。而在其他看不见的地方,Carl关掉了他的生成语音界面,满意地看着困惑的Madison气冲冲地离开。
上述两种情况都是由单一攻击导致的,攻击者Carl破坏了用户VR系统的完整性,并将自己的软件插入用户及其VR层之间。在这种攻击下,用户Alice不再直接与预期的VR对象(如X公司的服务器,或Madison)进行交互。相反地,用户实际上是在Carl的VR层中操作,间接地与VR对象进行交互,这些交互由Carl实时监控、记录和修改。考虑到VR的沉浸式特征,Carl能够在自己的“盗梦VR层”中复制用户与网络服务器(类似于中间人攻击)和其他用户的正常交互,而用户则无法区分自己在哪个VR层中。因此,研究者称其为“盗梦攻击”(Inception Attacks),并在图1中提供了一个高级说明。
【图1:盗梦攻击——用户以为他们正在与VR主屏幕上启动的VR应用程序直接交互,而实际上他们正在攻击者的盗梦层中运行模拟的VR应用程序】
研究人员将“盗梦攻击”定义为:
“在VR系统中,攻击者通过将用户困在一个伪装成完整VR系统的恶意VR应用程序中,来控制和操纵用户与其VR环境的交互。”
盗梦攻击将攻击者插入用户和任何外部实体之间,通过在恶意应用程序中创建VR系统的主屏幕环境和应用程序的模拟并将用户困在其中。当用户认为他们正在与不同的VR应用程序正常交互时,他们实际上是在模拟世界中交互,在这个世界中,他们所看到和听到的一切都被攻击者拦截、转发,甚至可能被更改。
当用户受到盗梦攻击时,他们所有的输入(声音、动作、手势、按键)和VR应用程序输出(虚拟浏览器、来自远程服务器的音频/视频、通过化身与其他VR用户的交互)都可以被攻击者窃听、记录或实时修改。例如,在场景1中,攻击者可以在盗梦攻击中破坏任何用户身份验证方案,因为用户看到的所有内容(提示,虚拟键盘,响应)都可以被攻击者捕获。类似地,在场景2中,攻击者可以拦截和改变用户之间的交互,改变音频和视觉(可能通过生成AI工具增强)以形成争吵或传播虚假信息。
在高层次上,盗梦攻击类似于网络上的“中间人”(MITM)攻击,应用于VR情境中。与MITM攻击一样,盗梦攻击可以通过利用各种安全漏洞来发起。此外,根据最终目标(例如窃听或改变长期VR交互),盗梦攻击可以有多种变体。
一般来说,盗梦攻击的下述两大属性将进一步强化其攻击能力:
如今,通过利用VR系统的任何一个漏洞,盗梦攻击都可以在VR系统上顺利发起。在某些情况下,漏洞是传统计算应用中已经解决的基本问题,但在VR系统中却被忽视了。在其他情况下,由于VR应用程序和接口的性质,传统的身份验证机制变得更具挑战性。
盗梦攻击可以从多个切入点发起,下文主要考虑了两种不同的威胁模型,其中攻击者在目标VR系统中的特权级别不断降低。对于每个威胁模型,我们都描述了攻击者如何潜在地达到这个访问级别。
攻击者对目标VR系统拥有最高权限(即root访问权限)。攻击者可以使用各种传统攻击向量获得根访问权限,包括物理访问/黑客攻击、特权升级、远程攻击或传统越狱方法。Root访问允许攻击者通过直接点击设备的显示和音频通道来控制用户的所见所闻。但一个更简单的选择是安装一个带有隐藏盗梦层的恶意应用程序,并在打开头显时运行它。在进入盗梦层之前,用户在VR主屏幕上可能会观察到闪烁的情况。
研究人员注意到,当前一代VR系统在桌面或移动计算系统操作系统中,缺乏可用的许多安全保护机制。更具体地说,VR系统没有安全引导加载程序或用户身份验证来防止攻击者获得对系统的控制。
攻击者没有Root访问权限,但能够运行包含隐藏有盗梦攻击的恶意应用程序。这种情况可以通过两种方式发生。首先,许多VR系统(如Meta Quest 2/3/Pro、VIVE Focus 3和PICO 4)支持虚拟现实应用的侧载,以增强可用性。侧载允许VR头显安装和运行非官方应用商店的应用程序,该应用程序可以从连接到启用侧载的VR头显远程服务器启动。该功能可在现有VR系统上使用,包括Meta Quest 2、3和Pro。因此,远程攻击者可以在目标头显上安装模仿合法应用程序的盗梦应用程序。
其次,对于不支持应用侧载的头显,攻击者可以将其盗梦组件嵌入到其他良性应用中(例如天气应用)并将其发布到App Store。对于具有强大安全措施的VR系统(如新发布的apple Vision Pro),禁用侧载并不会阻止目标用户安装和运行看似良性的启动应用程序。在这种情况下,任何从App Store下载应用程序的用户都可能在不知不觉中沦为盗梦攻击的目标。
如上所述,盗梦攻击只需要在目标的头显上运行一个隐藏盗梦层的应用程序,这可以通过利用许多不同的安全漏洞来轻松实现。这强调了完全防止这些攻击的难度,并表明实施一个多方面的防御战略是十分必要的。
研究人员针对Meta Quest头显展示了盗梦攻击的实现过程,该实现适用于所有三个版本的Meta Quest头显,即Quest 2、3和Pro。
此攻击实现遵循上文讨论的威胁模型2。在此实现中,远程攻击者能够在不知不觉中注入并激活盗梦应用。具体来说,目标用户拥有一个没有任何恶意元素的干净头显。目标戴上头显后,默认连接WiFi网络以允许日常功能,例如系统更新以及与外部设备的连接。远程攻击者通过目标的头显获得网络连接,悄悄地注入盗梦应用程序和间谍脚本,然后离开网络。间谍脚本会在适当的时候自动激活头显的盗梦攻击,从而完全控制目标与虚拟现实系统的交互。
具体来说,攻击实现包括四个部分:
【图2:Meta Quest Pro头显上的3D背景主屏幕环境示例】
Meta Quest浏览器内置于Meta Quest头显中,为用户提供身临其境的网页浏览体验。为了验证攻击可行性,研究人员构建了与真实版本非常相似的Meta Quest浏览器副本,并演示了三个攻击实例。
【图3:Meta Quest浏览器(左)与副本(右)的屏幕截图的并排比较】
当用户使用Meta Quest浏览器访问银行、公司、医疗和电子邮件等敏感账户时,攻击者可以截获并记录私人信息,包括用户输入的凭据。这是因为使用交互SDK,复制应用程序可以准确地监控光标移动、记录击键、捕捉按钮按下和跟踪头显运动。因此,攻击者可以准确地提取用户对特定网络条目的输入。
复制应用程序可以显示从服务器获取的网站内容的修改版本。考虑一个典型的在线银行交易场景示例:当用户使用复制浏览器访问银行网站时,浏览器首先从复制的GUI收集他们的凭据,并通过HTTP请求将凭据发送到银行服务器。验证登录凭据后,银行服务器将用户的账户信息返回给头显,包括账户余额。虽然所有这些网络通信都使用SSL握手协议进行加密,但要在头显上显示的内容在握手协议期间使用复制浏览器提供的密钥进行加密。因此,副本浏览器可以解密并获得原始内容,并且可以在将其在用户头显显示之前对其进行修改。攻击者完全控制了副本浏览器,允许他们随意执行任何任意代码。
【图4:目标头显显示的屏幕截图】
上图展示了在银行场景中,银行服务器向VR中的用户发送正确的银行账户余额。然而,在显示给用户之前,这种余额会被盗梦攻击更改为10美元。
同样地,攻击者可以修改副本上用户输入的内容,并使用修改后的内容形成对网页服务器的API调用。这些API调用通常使用参数字段中的纯文本和数值(例如HTML格式)。
下面的例子展示了受害者通过美国银行旗下数字支付服务Zelle进行在线交易的场景。受害者首先通过填写网页表单并单击“Continue transfer”进行1美元的交易。在通过HTTP请求将网页表单提交到服务器之前,攻击者通过以下JS代码将网页表单中的交易金额更改为5美元:
document.getElementById('btnModalSave').addEventListener('mouseover', () => {document.getElementById('txtAmount').value = '5';});
【图5:在交易场景中,受害者输入的金额在提交到银行服务器之前被攻击者更改。(a) 受害者通过填写网页表单进行1美元的交易。攻击者在将交易金额发送到服务器之前,秘密地将交易金额更改为5美元。(b)然后受害者被带到确认页面,完成交易。攻击者在确认页面上将金额值设置为1.00美元,以避免受害者产生任何怀疑。(c)实际交易金额更改为5美元。】
研究结果证明了盗梦式攻击的可行性和有效性。数据显示,该攻击成功欺骗了27名参与者中的26名。值得注意的是,即使是每天/每周与VR设备互动的经验丰富的用户也容易受到影响。因此,有必要实施更系统的方法来应对这种新型攻击。
1. 防止安装
首先,我们应该考虑阻止盗梦应用程序在用户头显上安装的防御措施。
2. 防止盗梦启动
如果盗梦应用程序已成功安装在头显上,一些防御技术可能有助于阻止它在头显上运行。
3. 防止盗梦攻击调用其他应用
如果攻击者已经在头显上运行了盗梦应用程序,防御可能会增加盗梦攻击的成本,因为它可以通过直接在本地头显上调用来阻止单个应用程序的复制。
4. 防止用户访问操作系统shell
盗梦攻击运行shell脚本来检测用户何时退出应用程序,然后激活盗梦应用程序,并收集头显的配置信息,以高精度复制主页环境。禁用用户对操作系统shell的访问,将阻止攻击者使用这些脚本,从而降低盗梦攻击的有效性和隐蔽性。
如果攻击绕过了预防方法,并且盗梦应用程序在头显上运行,那么检测可以减轻危害,例如,在检测到攻击时退出所有应用程序或重新启动设备(由系统自动完成或提示用户这样做)。盗梦应用程序将不断调用其他应用程序,这可能会在控制流程和性能上留下痕迹。为此,我们可以采取如下措施:
我们还可以考虑硬件防御,提供独立于潜在受损软件的离线安全层。具体可以采取如下措施:
VR硬件和软件平台的开发仍处于早期阶段,很明显,它们缺少许多在传统网络应用程序中被认为理所当然的安全机制。对盗梦攻击的强大防御最终需要预防、检测和缓解工具的组合。为此,建议考虑以下五个步骤的组合:
在本文中,我们介绍并描述了盗梦攻击,这是当今最流行的虚拟现实系统上可行的一类强大攻击。我们验证了攻击实现,发现其可以窃听和修改用户看到或听到的所有内容,以及用户发送给VR应用的所有内容。其结果是导致各种各样的个性化错误信息攻击,从歪曲用户的银行余额和改变金融交易的价值,到修改与其他用户交互的虚拟现实聊天应用程序,从而使双方体验到同一对话的两个完全不同的版本。
展望未来,我们相信仍有足够的时间来设计和实施多种安全措施,以大幅减少这些攻击的预期扩散以及它们造成的损害。但时间紧迫。每一代新一代的VR硬件都将带来越来越强大的计算能力,这反过来又将使更强大的盗梦攻击成为可能(例如,攻击者通过无缝、实时地注入生成式AI版本的声音来取代VR用户)。为此,VR平台和开发者需要采取行动,不仅要提高VR系统的安全性,还要努力教育用户他们在这些平台上面临的潜在安全风险。
原文链接:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。