SMASheD:以进攻为目的嗅探和操纵Android传感器数据外文翻译资料

 2022-04-04 22:01:39

英语原文共 13 页,剩余内容已隐藏,支付完成后下载完整资料


SMASheD:以进攻为目的嗅探和操纵Android传感器数据

摘要:目前的Android传感器安全模型只允许对敏感传感器进行限制性读取访问或需要特殊的安装时间权限,而且,Android不允许对任何传感器进行写入访问。因此,基于感应的安全和非安全应用程序至关重要依赖于Android传感器安全模型的完整性。在本文中,我们表明,这种模式可以有效地规避。具体而言,我们构建了SMASheD,这是当前Android生态系统下的一个合法框架,可用于悄悄嗅探以及操纵许多Android受限传感器(即使是触摸输入)。SMASheD利用了Android调试桥接功能,并使只有INTERNET权限的恶意应用能够随意读取和写入多个不同的传感器数据文件。SMASheD是我们所知最早的框架,它可以在没有用户意识的情况下嗅探和操控未连接的Android设备上受保护的传感器,没有持续的设备 - PC连接,也无需感染PC。本文的主要贡献是双重的。首先,我们设计和开发SMASheD框架,并评估其在多种Android设备(包括手机,手表和眼镜)上的有效性。其次,作为SMASheD框架的冒犯性含义,我们引入了一系列具有潜在破坏性的攻击。我们针对触摸传感器的攻击包括准确记录触摸屏输入(TouchLogger),注入触摸事件以访问受限制的传感器和资源,安装并授予其他恶意应用的特殊权限,访问用户帐户以及代表用户进行身份验证几乎做任何设备用户可以做(秘密)。我们针对各种物理传感器(动作,位置和环境)的攻击可能会破坏现有基于传感的安全和非安全应用(包括用于(持续)验证,授权,安全和老年护理的应用)提供的功能。

关键词:身份验证,计算机安全,权限。

1.导言

SENSING-ENABLED计算正迅速成为无处不在。随着移动设备制造商将多个低成本硬件传感器嵌入设备和移动操作系统提供商,并为使用这些传感器开发应用程序增加全面软件支持,移动设备的采用正在发生转变。

当前各种移动设备,智能手机,智能手表和智能眼镜上最常见的传感器类别包括:(1)用户输入传感器(触摸屏和硬件按钮),(2)视听传感器(麦克风和摄像头),(3)导航传感器(例如GPS),(4)运动传感器(例如加速度计和陀螺仪),(5)位置传感器(例如磁力计和接近度)以及(6)环境传感器(例如压力和温度)。使用这些传感器的移动应用程序在娱乐,导航和交通(例如[16])到老年护理(例如[10],[12])和安全性(例如[39])等许多领域都有广泛的应用。仅举几例。此外,移动设备传感器是各种安全和隐私应用的基石,包括适用于认证和授权的应用(例如[13],[14],[25],[31])。

由于移动传感器提供有关主机设备,设备用户或设备周围的潜在敏感信息,因此保护传感器数据免受恶意应用程序滥用变得极为重要。因此,大多数移动平台已经建立了传感器安全访问控制模型。具体而言,Android是最受欢迎的移动操作系统之一,也是本文的主题,它遵循一种模式,即对许多敏感传感器的读访问限制性很强(例如,应用程序只能读取自己的触摸数据),或需要特殊的安装时间用户授予的权限(例如,访问麦克风,摄像头或GPS)。对于大多数其他传感器(包括运动,位置和环境传感器)的读取访问权限不受此模型限制,因为Android可能不会将这些传感器视为明确敏感。此外,Android安全模型不允许写入任何传感器[1]。显然,基于传感的安全和非安全应用因此非常依赖Android传感器安全模型的完整性。

在本文中,我们证明了当前的Android传感器安全模型可以在很大程度上得到有效的规避。具体而言,我们构建了SMASheD,这是目前Android生态系统下的一个合法系统框架,可用于悄悄嗅探(读取)以及操纵(写入)许多Android受限传感器。准确地说,SMASheD可用于:(1)直接嗅探触摸传感器;(2)直接操纵触摸,运动,位置和环境传感器;(3)间接使用触摸注入功能,嗅探视听 和导航传感器。SMASheD不需要设备根植。

SMASheD利用了Android调试桥(ADB)功能,并允许只有INTERNET权限的恶意应用程序随意读取和写入多个传感器数据文件。ADB是一种功能,旨在允许Android应用开发人员对Android系统传感器安全模型所保护的系统资源进行扩展权限。该解决方法合法,已被Google Play商店中的许多应用程序使用,例如截图应用程序[18],同步和备份应用程序[8]以及触摸记录/重播应用程序[34]。所有这些应用程序都要求用户通过USB将其设备连接到PC,启动ADB并运行具有ADB权限的本机服务。然后,该应用会与此服务进行通信,以获取Android认为受保护的资源。

作为SMASheD的一部分,我们开发了一种提供读写传感器事件功能的服务。此功能可以隐藏在任何需要ADB解决方法的服务中,例如截图服务。安装应用程序时,用户通常会意识到她授予应用程序的权限。但是,在通过ADB安装和执行服务时,用户完全可以接受服务可能拥有的权限。此外,SMASheD可以发布用于调试或任何其他良性用途,但可以包含恶意代码,这些恶意代码将利用服务提供的功能实现恶意目的。此外,这些服务可以被恶意应用程序利用,就像[20]中的介绍一样。我们的SMASheDplatformen包含一个本地服务和一个Android应用程序。

我们的贡献:在本文中,我们公开了ADB解决方案背后的漏洞,使我们可以读写多种Android访问控制模型保护的Android传感器。 配备这种强大的能力,我们然后继续在许多安全和非安全的情况下提出攻击性的影响。 我们工作的研究贡献如下:1)嗅探和操纵Android传感器的框架(第III部分):我们设计并开发了SMASheD框架,以嗅探和操纵许多受限制的Android传感器,并评估其在多种Android设备(包括手机,手表和眼镜)上的效果。2)强大的敌对应用(第四节):作为SMASheD框架的一个重要的冒犯性含义,我们引入了一系列潜在的毁灭性攻击。我们的攻击包括以下内容(选定的攻击演示可在https://androidsmashed.wordpress.com/demos/获得):a)记录触摸屏输入,从而形成第一个全面,高度精确的TouchLogger。b)注入触摸事件以访问受限制的传感器和资源(例如麦克风,摄像头或GPS),安装并授予对其他恶意应用程序的特殊权限(转化为许多已知的恶意软件方案,例如[27],[35]和[无需用户授予特殊权限),访问用户帐户并代表用户进行身份验证 - 基本上可以做到设备用户可以做的任何事情(隐秘地)。c)操纵各种物理传感器(运动,位置和环境),以便颠覆由许多基于传感的安全和非安全应用提供的功能,包括用于(持续)认证的应用(例如[13],[14] ),授权(例如[30],[31]),安全性(例如[39])和老年人护理(例如[10],[12])。

本文是我们以前的工作[23]的延伸。在此扩展中,我们全面实施了七种攻击,将攻击范围扩展到非安全应用,包括用于安全,老年护理和视频真实性的应用,并在各种Android设备上测试SMASheD。

2.背景:机器人传感器安全模型

Android的核心安全原则是保护用户数据,系统资源和应用程序免受恶意应用程序的攻击[1]。 Android利用Linux进程隔离方法来强化应用程序和操作系统组件的隔离。这种隔离是通过在应用程序安装时为每个应用程序分配唯一的用户标识符(UID)和组标识符(GID)来实现的。因此,每个应用程序都被强制在单独的Linux进程中运行,称为应用程序沙箱,并且Linux进程隔离可确保应用程序不会干扰其他应用程序或访问系统资源,除非明确授予权限。为了允许应用程序彼此通信并访问系统资源,Android提供了一个安全的进程间通信(IPC)协议。

自主访问控制(DAC)是Linux中使用的典型访问控制。在DAC中,数据的拥有者/创建者将数据的访问权限设置为三种类型的用户:所有者,同一组中的用户和所有其他用户。安装应用程序时,Android为应用程序创建主目录(即/ data / data / app-name),并且只允许所有者读取和写入此目录。使用相同证书签署的应用程序可以相互共享数据。

文件系统权限也用于限制系统功能的访问。例如,/ dev / cam权限设置为只允许相机组中的所有者和用户读取和写入相机传感器。当一个应用程序请求CAMERA许可,并且如果该许可被授予,则该应用被分配相机Linux GID,这将允许其访问/ dev / cam。 Linux组和权限标签之间的映射在platform.xml中设置,ueventd.rc负责设置各种系统文件的所有者和组。

一些Android资源不需要任何权限。特别是阅读运动,位置和环境传感器是全球允许的。大多数其他资源需要读写权限,这些权限有四个级别:1)正常:应用程序需要请求访问,但系统自动授予权限而不通知用户(例如振动)。 2)危险(保护级别1):系统只有在用户同意授予此权限(例如访问摄像头,麦克风或GPS)时才允许该应用程序。 3)签名(保护级别2):只有在请求应用程序已签名的情况下,系统才会将权限授予应用程序(例如,允许由同一开发者签署的两个应用程序访问每个其他组件,注入事件)。 4)SignatureOrSystem(保护级别3):系统仅将权限授予Android系统映像中的应用程序或使用与声明权限的应用程序相同的证书(例如,系统重新启动)签名的应用程序。

在任何Linux系统中,可执行程序都以与启动它的进程相同的权限运行。ADB外壳已经分配给几个组(图形,输入,日志,adb,sdcard_rw等)。因此,通过ADB外壳启动的任何可执行文件都被授予与这些组中任何一个资源相同级别的访问权限。由于包含传感器文件的目录“/ dev / input / *”属于“input”组,并且ADB外壳具有对与“输入”组关联的所有资源的读写访问权限,则任何由ADB外壳启动的可执行文件都可以读取和写入“/ dev / input / *”资源。这是我们SMASheD框架所基于的关键思想,使我们能够嗅探和操纵许多Android的传感器。

3.SMASHED设计,实施和威胁模型

A.设计概述:

正如在第二节中提到的那样,当前的Android安全模型认为许多资源是敏感的,因此将这些资源的访问权限限制在系统签名的应用程序上(系统声明的权限的保护级别为3,保护等级4)。这些受保护的资源包括:将用户事件注入任何窗口(INJECT_EVENTS),截屏(READ_FRAME_BUFFER)和读取系统日志文件(READ_LOGS)。但是,Android允许通过ADB外壳访问这些资源用于开发目的,方法是将ADB外壳分配给可以访问这些资源的组。例如,将ADB外壳分配给输入组,它允许具有ADB外壳特权的任何进程读取/写入/ dev / input /目录中的任何文件。该目录包含与用户输入,运动,位置和环境传感器相关的文件。

此外,Android的当前目录结构具有分配给shell用户和shell组的/ data / local / tmp /目录,并为shell用户和shell组中的任何用户提供读取,写入和执行权限。该文件夹允许用户通过ADB shell在其Android设备上运行可执行文件。

许多开发人员已经利用这些赋予ADB外壳的功能来授予他们的应用程序权限,这些权限不允许使用。此ADB解决方法是通过开发本地服务执行的,将其推入/ data / local / tmp /目录并通过ADB外壳运行服务。这样本地服务授予授予shell的所有权限。最后,为了允许其他应用程序与服务进行通信,应用程序和服务都会打开套接字并通过它进行通信。这种方法有已被Google Play商店中已发布的许多应用所使用,例如允许用户以编程方式[18],同步和备份[8],USB绑定[7]以及触摸记录/重放[34]

截取屏幕的应用。上述设计允许任何只有INTERNET权限的应用程序与服务进行通信。因此,只有INTERNET权限的应用程序才可以访问服务提供的资源,而无需用户了解。该漏洞已在[20]中进行了探索,主要侧重于在Google Play商店中发布的屏幕截图应用。作者开发了一款应用程序Screenmilker,它可以与许多截图应用程序的本地服务进行通信。他们表明,Screenmilker能够在用户输入凭据时向屏幕截图的本地服务发送请求以截取屏幕截图,从而收集用户的敏感数据,例如许多银行应用的用户凭据。(我们的SMASheD框架与之前的相关工作的详细比较将在第VI节和表I中提供)。

在本文中,我们正在探索和进一步扩展这个漏洞,并可能带来更广泛的后果。我们专注于INJECT_EVENTS权限。 Google Play商店中已经有一些应用,例如FRep-Finger Replayer [34],它允许用户记录他们与他们的设备的触摸交互并在以后重播。 FRep已经被100,000到50万用户安装。这些应用程序还利用ADB的解决方法,类似于屏幕截图应用程序,以获得对读取和注入触摸屏数据的访问权限。此外,由于触摸中继器应用程序与其本机服务之间的通信是通过套接字完成的,因此只有INTERNET权限才能使用手机上安装的任何应用程序访问本地服务。因此,如果用户使用INTERNET许可安装任何恶意应用程序,则这些应用程序还可以与服务通信并恶意读取/注入触摸事件。

RERAN [15]为应用程序提供了良好的用例之一,通过将事件注入传感器来记录和稍后重放传感器事件。这些应用程序使开发人员能够测试他们的应用程序并重现错误。然而,RERAN并没有采用本地服务来记录和重放传感器事件,而是采用了不同的方法来实现他们的应用程序。首先,用户需要将她的设备连接到PC。

全文共10700字,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[14622],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。