G.O.S.S.I.P 阅读推荐 2024-08-14 That Doesn’t Go There

今天要为大家推荐的论文是来自UC Riverside Professor Nael Abu-Ghazaleh 研究组和UMich Professor Jiasi Chen 研究组共同投稿的最新研究 That Doesn't Go There: Attacks on Shared State in Multi-User Augmented Reality Applications,该工作已发表于USENIX Security 2024。

研究背景

随着多用户增强现实(AR)技术的迅速发展,尤其是在共享虚拟体验方面,其安全性问题引起了越来越多的关注。在这些应用中,为了实现用户之间的一致交互,AR系统需要建立一个“共享状态”,通过这一共享状态,多个用户可以在同一虚拟环境中进行互动。当前的方法是通过收集设备的传感器数据(如摄像头图像),处理并整合这些数据,从而创建和访问共享状态(如图1所示)。然而,这一过程引入了新的漏洞和攻击机会,特别是恶意数据写入可能“毒害”共享状态,从而对依赖该状态的下游用户构成威胁。另一种漏洞出现在读取共享状态时:通过提供虚假的输入,攻击者可能会在未授权的位置查看全息增强内容。

图1:AR处理流程。AR设备感知环境,对感知到的数据进行处理,并将信息上传到共享状态。共享状态返回增强信息,并将其叠加显示在用户的屏幕上。

在这项研究中,作者展示了一系列针对多用户共享状态的全新攻击,主要集中在三个公开可用的AR框架(Google, Meta, Mapillary)上。尽管这些框架在底层实现、范围和机制上有所不同,但它们在读取和写入共享状态时对统一的威胁模型存在共同的脆弱性。

研究方法

攻击模型:

如图2所示,作者的攻击模型假设一个恶意应用程序正在AR设备上运行,该应用程序具有读取共享状态的权限。尽管它没有特殊权限,但可以通过调用设备常用的API定期读取共享状态中的数据。作者假设攻击者能够获取设备的位置、摄像头图像以及IMU传感器数据,并将这些数据与共享状态中的全息图和其他虚拟对象关联起来。通过分析这些数据,攻击者可以发起以下三种类型的攻击:(1)未经授权读取和篡改共享的虚拟对象,从而误导其他用户的决策;(2)使用伪造的传感器数据,将全息图放置在错误的位置,导致现实环境中的混乱或危害;(3)结合GPS欺骗,远程访问物理位置,获取原本应受限于特定地理区域的共享状态信息。

图2:针对AR共享状态的攻击示例。读取攻击:一个私有全息图被读取到其原本写入区域之外的地方(例如,从办公室被读取到了海滩);写入攻击:一个全息图被写入到攻击者实际不在的区域(例如,在管道区域而不是原本的田野区域)。

AR共享状态分类

  1. 全局 Global vs. 本地 Local 共享状态

    - 全局共享状态: 这类共享状态涉及地理范围较大的AR应用,通常依赖GPS和相机图像来写入和读取内容。例如,像 Pokémon Go 这样的全球性AR应用就属于全局共享状态。全局共享状态的数据通常具有长期持续性,可能在数年内保持不变。

    - 本地共享状态: 这类共享状态适用于地理范围较小的AR应用,通常不依赖GPS,而主要依靠相机图像和惯性测量单元(IMU)数据进行读写操作。例如,在建筑物内进行的AR寻宝游戏就是本地共享状态的一个例子。本地共享状态的数据通常是临时性的,其有效期通常不到一年。

  2. Curated vs. Non-curated 共享状态

    - Curated Shared State 这种共享状态中的地图由高信任度的用户或管理员创建,这些用户通常具有较高的写入权限,并且倾向于避免恶意行为。例如,Google的Street View Car上传的数据就是策划共享状态的一部分。普通用户只能读取这些共享状态中的内容,无法进行修改。

    - Non-curated Shared State:在这种共享状态下,所有用户都可以自由读写其中的数据。虽然这种模式有助于快速扩展和更新共享状态,但由于缺乏审核机制,恶意用户可能会插入错误或有害的信息。Mapillary的街景地图服务就是一个典型的非策划共享状态的例子。


实验评估: 

Attack 场景A:Local, Non-curated 共享状态
实验设计
作者探索了在本地非策划共享状态的AR框架上实现攻击的可行性,主要围绕Google的Cloud Anchor API展开。该API允许多个用户在单个应用中共享AR体验,使能够在共享状态中写入全息图,并通过访问共享状态来读取这些全息图。为了展示攻击的可行性,作者设计了一系列实验,展示如何在远程位置发起读写攻击,甚至通过图像模拟的方法欺骗API,使其误认为设备位于目标环境中,尽管实际并不在现场。
实验配置
实验中,作者使用三星Galaxy S20和Galaxy S21智能手机作为测试设备,并通过MacBook Pro显示器显示目标环境的图像。实验涵盖了多个场景,包括办公室桌面、卧室桌面和室外花园等。作者在不同的环境光照条件下进行实验,以模拟攻击成功率在各种实际应用中的表现。实验过程中,作者通过操纵设备摄像头对准显示器上的目标环境图像来生成API请求,从而实现远程读取或写入全息图。
实验结果

实验结果显示,在远程读写攻击中,作者在办公室桌面、卧室桌面和室外烧烤区的成功率较高,特别是在环境变化不大的情况下(静态场景),成功率更高。在添加杂物(Add clutter)后,成功率有所下降,但仍然具有相当的威胁性。此外,在光线较暗的环境中,攻击成功率通常会降低约15-25%。

Attack 场景B:Global, Curated 共享状态
实验设计
作者进一步探讨了针对全局策划共享状态的攻击,特别是利用Google的Geospatial API进行实验。该API依托Google的Street View数据库,允许用户在全球范围内的任意位置附加AR全息图,从而创建一种全局性的AR体验。为了展示攻击的可能性,作者设计了一系列实验,展示如何通过GPS欺骗和图像模拟的方法,远程读取目标位置的全息图,即使设备并未实际处于该位置。
实验配置
在实验中,作者使用GPS模拟器伪造设备的地理位置,并通过显示器展示目标环境的图像。实验在多个校园场景中进行测试,包括建筑物前、操场和街道等。测试设备为三星Galaxy S21智能手机,通过对准显示器上的目标环境图像生成API请求,从而实现远程读取全息图。
实验结果

在远程读取攻击中,当设备与显示器之间的距离约为0.5米时,成功率最高。在这一距离下,设备摄像头能够清晰聚焦并成功欺骗API,使其误认为设备位于目标位置。然而,随着设备与显示器之间的距离增加,成功率显著下降。此外,光照条件的变化也对攻击成功率产生了影响。

Attack 场景C:Global, Crowd  共享状态
实验设计
作者还探讨了全局非策划共享状态下的攻击,以Mapillary为例。Mapillary允许用户在全球范围内上传和共享图像数据,这些数据用于更新和扩展共享状态中的地图。为了展示攻击的可行性,作者设计了实验,展示如何通过操纵GPS和图像数据进行恶意写入,导致共享状态中的地图和全息图信息被篡改,从而影响后续用户的正常使用。
实验配置
在实验中,作者拍摄了不同场景的图像序列,并通过修改其GPS数据,将这些图像上传到Mapillary共享状态中。作者使用iPhone 12拍摄图像,并通过Mapillary的桌面上传工具进行数据上传。此外,作者使用OpenSFM库和自定义脚本,模拟受害者的读取操作,以展示攻击对受害者视图的影响。
实验结果

实验结果显示,恶意写入攻击能够成功将错误的GPS数据与图像序列关联,导致共享状态中的全息图显示在错误的位置。例如,作者成功将“挖掘安全”的标志显示在了一个有地下管线的区域,这对使用共享状态的受害者造成了严重的安全隐患。此外,作者还通过图像篡改成功向共享状态中插入了虚假的全息图,例如虚假的停车标志,进一步展示了攻击的威胁性和潜在影响。

结论

本文探讨了多用户AR系统中针对共享状态的攻击。作者对潜在攻击进行了分类,确定了三类典型场景,并展示了多种成功的端到端攻击。这些攻击包括通过远程读取和写入操作,欺骗系统以操纵全息图的位置和内容。


论文下载:https://www.usenix.org/system/files/sec24summer-prepub-218-slocum.pdf


投稿作者介绍:
张亦成 加利福尼亚大学河滨分校
博士候选人,主要研究方向为计算机架构安全,AR/VR安全,侧信道攻击,研究成果发表于USENIX Security、IEEE TIFS,IEEE DSN,IEEE SEED等国际会议及期刊。

个人主页: https://yichez.site/






免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。查看原文

为您推荐