安卓操作系统中的设备信息权限背后的风险外文翻译资料
2022-08-10 19:58:27
英语原文共 14 页,剩余内容已隐藏,支付完成后下载完整资料
安卓操作系统中的设备信息权限背后的风险
摘要:
在智能手机时代,由于智能手机技术的重大进步,人们使用智能手机完成大部分日常工作。比较Windows,iOS,Android和Blackberry等不同平台时,安卓占据了最大的市场份额。由于这种巨大的增长,鼓励网络犯罪分子利用恶意应用程序渗透各种移动市场。这些应用大多数都需要设备信息许可,目的是未经用户同意收集敏感数据。本文研究了系统信息权限的每个元素,并说明了网络犯罪分子如何损害用户的隐私。它介绍了一些使用READ_PHONE_STATE权限的攻击情形及其背后的风险。此外,本文还介绍了将其他权限与READ_PHONE_STATE权限结合使用时可能发生的攻击。它还讨论了克服这些类型的攻击的建议解决方案。
关键字
安卓,安全性,隐私,设备标识符,权限
1.简介
近年来,安卓越来越流行,赢得了智能手机市场的绝大多数。使它流行的一些因素包括其可用性,较低的成本和开源平台。此外,谷歌与开发人员的不拘一格做法为应用程序的潜在功能提供了很大的自由度,从而使谷歌的主要应用程序市场谷歌市场中的各类应用程序得以发展。
这种自由的代价是恶意开发人员拥有更多的漏洞可以利用。为了缓解攻击,安卓会屏蔽应用商店中的所有应用,并使用基于权限的保护来限制和允许访问设备功能。虽然这种保护方法对直接破坏安卓系统规则的病毒有效,但它无法阻止利用权限的安卓恶意软件。
权限限制了应用程序对用户信息(例如位置)或敏感系统方法(例如在启动时运行)的访问。希望绕过这些限制的应用程序需要在一个名为安卓Manifest.xml的XML文件中声明希望绕过的内容。 安卓中的权限可分为危险或正常。危险权限被认为是可能对用户造成安全威胁的权限,而普通权限通常本身是良性的。 安卓允许的一长串许可中,有24种被归类为危险。在使用安卓的API 23之前,必须在安装时接受该应用程序的所有必需权限,否则将无法下载该应用程序。在安卓 6.0中,情况不再如此,因为此版本允许用户在运行时阻止权限。
许多应用程序使用权限来利用设备标识符。设备标识符是可以直接标识电话订户或标识其设备的字符串。三个主要设备标识符是国际移动设备标识(IMEI),国际移动用户标识(IMSI)和电话号码。 IMEI会识别设备的硬件,即电话本身,因此,当订户获得新电话时,他们还将获得与该电话相对应的新IMEI号码。 MEID(移动设备标识符)和ESN(电子序列号)号码的作用与IMEI相同。另一方面,IMSI可直接识别订户并在可移动SIM卡中找到。当用户获得新电话时,SIM卡将从旧电话中取出并放入新电话中,从而将其订阅转移到运营商和其IMSI号码。
相关工作表明,设备标识符存在危险,但是很少有工作专门讨论如何恶意使用此信息。因此,在本文中,我们讨论了安卓设备中READ_PHONE-STATE权限的重要性。我们分析了一些已知的会泄漏设备标识符的恶意软件。我们提供一些使用IMEI,IMSI和电话号码的攻击媒介的示例,并对其进行详细描述。然后,我们提出了一种可用于规避此类攻击的解决方案。
2. 安卓概述
为了充分说明设备标识符的使用风险,我们将说明安卓的安全功能。然后,我们将说明安卓处理应用程序,开发人员和广告商的方式中的一些缺陷和漏洞。当我们提出攻击者媒介时,请务必牢记这些漏洞。
2.1 安卓安全功能
2.1.1 沙盒
通过为每个应用程序分配Linux用户标识号(UID)和组号(GID),在沙盒环境中运行安卓应用程序。对于操作系统,这看上去使应用程序实际上是使用设备的独立人员。 UID号专用于应用程序的开发人员,以防止假冒谷歌商店中的其他开发人员。如果他们要求这样做,同一开发人员的应用程序可以选择将权限合并到一个用户中。
2.1.2 IPC
尽管应用已被沙箱化,但如果有正确的权限,应用仍可以与其他应用和安卓系统通信。这两个应用程序都需要征得同意,否则发出请求的应用程序将无法与其他应用程序通信,这称为进程间通信(IPC)。使应用程序与相同的UID通信可能会带来安全风险,从而导致特权升级,这将在后面讨论。
2.1.3广播节目
除了IPC,还可以允许应用程序向设备上的所有应用程序发送和接收消息。这分别称为广播和广播接收。广播可以是一小段时间显示的消息,例如“ 5%电量”。广播接收是接收这些广播以便执行某些操作的过程。例如,一个应用可能想要知道何时接收到“ 5%电量”广播,以优化电池寿命。
2.1.4意向
在安卓中,事件由意图驱动。意图是传达希望执行某项操作(例如打开用户的联系人)的愿望的对象。意图可以与额外的数据打包在一起,例如在用户的联系人中打开特定的联系人。意图可以是显式的也可以是隐式的。显式意图精确地指示什么应用程序将执行该意图,而隐式意图将要求设备上所有有能力的应用程序执行所需的操作。只有可以处理请求的应用程序才会收到通知。例如,当用户有两个网络浏览器并想打开一个链接时,可以使用两个浏览器,因此系统将要求用户选择他/她喜欢的一个。
2.1.5权限
如简介中所述,权限允许和拒绝开发人员访问敏感的用户数据或电话功能。如果应用程序请求使用危险权限,则用户必须接受请求,然后应用程序才能获得访问权限。该安全措施允许用户做出重要的安全决策。
2.2 安卓漏洞
2.2.1未受保护的广播
隐式意图广播可能会导致数据泄漏。隐式意图广播可供所有符合条件的应用程序收听,并且广播中可能包含不受保护的敏感数据。具有监听所需权限的恶意程序将窃听并接收与意图对象捆绑在一起的信息。除窃听外,还已知恶意程序会通过注入意图对象来干预意图会话,这些意图对象会从未得到很好保护的广播接收器中吸取信息。
2.2.2共谋
合谋使开发人员可以一起添加权限。使用相同UID签名的应用程序可以合并权限,从而允许UID下的任何一个应用程序访问使用UID签名的所有权限。例如,一个使用设备标识符的应用程序和另一个在同一UID下使用网络的应用程序可以组合其权限,从而使该应用程序可以同时使用网络和设备标识符。然后,开发人员可以通过互联网发送这些个人标识符,以对用户造成伤害。
2.2.3广告库
广告库与一个应用程序打包在一起,并获得与该应用程序相同的权限。然后,恶意库可能会滥用它们代表应用程序授予的权限,并使用进一步讨论的任意数量的恶意攻击策略。
3.用户隐私和安卓权限
安卓中的权限使开发人员可以访问用户信息,例如设备标识符。在以下各节中,我们将介绍READ_PHONE_STATE权限(该权限允许访问设备标识符)和READ / RECEIVE SMS(将在我们对攻击媒介的解释中使用)。
3.1设备ID信息
READ_PHONE_STATE是被归类为危险的安卓权限之一。这是因为它“允许只读访问电话状态,包括设备的电话号码,当前的蜂窝网络信息,任何正在进行的呼叫的状态以及在设备上注册的任何电话帐户的列表”。这是消息传递,呼叫和其他替代内置电话应用程序的重要权限;但是,它经常被其他没有任何理由需要它的应用程序所请求和滥用,包括恶意软件。实际上,图1显示READ_PHONE_STATE是恶意应用程序请求的最常见权限之一,在1260个恶意应用程序中有1179个请求它,而良性应用程序中只有34%的请求。
恶意软件需要此权限,因为它允许访问可用来伤害用户的设备和用户标识符。
READ_PHONE_STATE(设备ID信息)使开发人员可以访问Telephony Manager类,该类是安卓内置的类,具有用于显示设备信息的几种方法。它可以显示的一些重要信息包括用户的电话号码和设备ID。表1列出了本文讨论的重要方法。
为了进一步证明恶意应用程序收集并泄漏了设备标识符,我们分析了一组恶意应用程序。通过我们的分析,我们发现一个恶意软件应用程序看起来像普通的厨房计时器应用程序,但是,它未经用户同意就将用户的敏感数据(例如设备ID和电话号码)传输到外部URL,如图2所示。我们观察到,此示例显示了最明显的设备标识符误用。该示例清楚地显示了收集的设备标识符,IMEI(设备ID)和电话号码(第1行号码),然后将其传输到恶意站点的URL。此示例清楚地表明,应用程序很容易在没有用户意识的情况下传输用户的敏感数据。用户认为这是一个厨房计时器应用程序,但是,该应用程序实际上是在窃取用户的个人信息。
3.2短信特权
通常,短信特权可以包括READ,RECEIVE,WRITE或SEND SMS。在本文中,我们研究了读取和接收SMS。 READ SMS允许通过“Uri解析(“ content://sms / inbox”)”。接收SMS允许在发送SMS RECEIVED ACTION广播时通知应用程序,并且它还允许该应用程序读取传入的SMS。这是通过使用SMS消息类并从PDU调用create来完成的,该PDU构建消息以便可以使用。构建消息后,可以使用“消息显示主体”来确定消息的内容,并可以使用“发件人地址”来查看发件人。这些方法在表2中列出。
4.设备ID的攻击模型
在本节中,我们将介绍如何通过呈现攻击场景来恶意使用设备标识符。我们将讨论仅使用READ_PHONE_STATE的攻击,以及同时使用READ_PHONE_STATE和READ,RECEIVE SMS的攻击。我们还将关注如何恶意使用单个设备标识符。
4.1设备ID信息(READ_PHONE_STATE)
启用此权限后,谷歌商店中的应用“可以访问您的设备ID、电话号码,无论您在通话中还是通过电话接通的号码。设备ID和通话信息可能包括读取电话状态和身份的功能。”该许可中包含的信息(包括设备的IMEI / MEID和电话号码)极易受到损害,尽管很少被这样对待。即使是良性应用程序,标识符也经常以纯文本请求流式传输,这些信息会将信息泄漏给侦听的恶意应用程序。在以下部分中,我们将解释为什么这些设备标识符会受到威胁以及恶意人员可以使用此信息做什么。
4.1.1 IMEI / MEID / ESN攻击
1)收集信息
如果攻击者获得了用户的IMEI / MEID / ESN号,则攻击者可以找到有关设备的敏感信息。 IMEI编号由三个字段组成:类型分配代码(TAC),序列号(SNR)和可反转查找系统信息的校验位(CD)。例如,TAC向攻击者提供有关手机品牌和型号的信息,从而可以提供有关手机的操作系统,CPU和其他功能的更多信息,从而可以帮助攻击者为特定的蜂窝设备准备针对性的攻击。使用MEID和ESN可以完成类似的构造,发现一个打包为com.avantar.wny的应用程序已将IMEI,设备模型,平台和应用程序名称捆绑到URL参数字符串中。尽管没有找到此方法的明确目的,但它的存在表明开发人员已经针对此信息制定了计划。
针对性攻击一直在上升,从2014年所有网络攻击的9.5%增长到2015年的10.5%,到2016年4月的12%。一个具体的例子是Heartbleed攻击,它通过利用以下漏洞来发挥作用:在许多设备和服务器上使用的OpenSSL加密软件库。攻击者可以使用它来读取运行受影响的OpenSSL的系统的内存,并获取对名称,密码和其他数据的访问。借助IMEI的知识,攻击者可以发现电话是否容易受到Heartbleed漏洞或其他漏洞的攻击,并以此为攻击基础。
2)交易用户
收集和分析数据的货币数据经纪人的信息,已经从应用程序和其他在线活动生成的数据中创造了数十亿美元的产业。这些公司通过充实人口,行为和交易数据来发家致富,以尽可能全面地描绘最有可能从客户那里购买商品的人们。例如,许多人使用与健康相关的应用程序来记录月经周期模式,血糖水平以及有关其个人健康的其他信息。这些应用程序将这些信息出售给Epsilon,Acxiom和Experian等数据代理公司,然后将这些信息编译并出售给感兴趣的公司。保险公司对这些数据特别感兴趣,因为它可以帮助他们识别由于健康状况而可能导致不良投资的客户。
这些数据代理获取此信息的方法之一是通过从应用程序购买信息,并且READ_PHONE_STATE权限允许这些代理将此信息轻松地与人联系。在诸如葡萄糖追踪器之类的应用程序中,用户输入了很多私人信息,但是他们可能不会输入自己的姓名或任何其他可以个人识别它们的数据,从而使这些数据无法被追溯到他们。但是,READ_PHONE_STATE允许访问IMEI,该IMEI可用作任何数据代理的通用标识符。其中一些数据可能包括您的姓名或电子邮件地址,数据经纪人是通过社交媒体应用程序或其他来源获得的。用户可能会认为他们提供的信息是无关紧要的,因为它无法重新连接到他们,但是,只要具有READ_PHONE_STATE权限,它就可以轻松实现。Enck等找到了一些将IMEI链接到个人身份信息(PII)的应用程序示例,其中包括将IMEI链接到用户的高分的游戏。可以使用任何人员标识符将信息连接到用户。但是,IMEI似乎最受欢迎。
4.1.2电话号码
1)获取用户名和个人资料图片
攻击者可以使用用户的电话号码通过Facebook检索用户的名称和个人资料图片。这种方法假设用户拥有一个Facebook,并且用户的Facebook与他们的电话号码绑定在一起。为此,攻击者开始使用密码恢复,输入电话号码,Facebook将显示用户在其帐户上拥有的姓名和个人资料图片。这足以造成更多攻击的多米诺骨牌效应。
2)网络钓鱼
攻击者还可以使用电话号码通过直接呼叫用户或向用户发送短信来进行网络钓鱼等社会工程攻击。结合以上攻击,此攻击可能会更加有效,使攻击者可能冒充用户认识的人。仅网络钓鱼每年就造成数百万美元的损失,并且是从用户那里窃取钱财的一种极其简单的方法。移动设备特别容易通过网站进行网上诱骗,因为Web设计师应简化其网站以使用有限的
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[237908],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。