android应用本地拒绝服务漏洞浅析.pdf

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
android应用本地拒绝服务漏洞浅析

Android 应用本地拒绝服务漏洞浅析 1.漏洞述 Android系统供了Activity、Service和 Broadcast Receiver 等组件,并供了 Intent机制来协助应用间的交互与通讯,Intent 负责 对应用中一次操作的动作、动作涉及数据、附加数据进行述,Android 系 统则根据此 Intent 的述,负责找到对应的组件,将 Intent传递给调用 的组件,并完成组件的调用[1]。Android 应用本地拒绝服务漏洞源于程 序没有对 intent 获取之后的异常或者畸形数据处理时没有进行异常捕获, 从而导致攻击者可通过向受害者应用发送此类空数据、异常或者畸形数据来 达到使该应用 crash 的目的,简单的说就是攻击者通过 intent 发送空数 据、异常或畸形数据给受害者应用,导致其崩溃。 近期,两位 0xr0ot 和 Xbalien 安全研究人员发现了一处通用的本 地拒绝服务漏洞。该通用型本地拒绝服务可以造成大面积的 app拒绝服务[2]。 针 对 序 列 化 对 象 而 出 现 的 拒 绝 服 务 主 要 是 由 于 应 用 中 使 用 了 getSerializableExtra() 的 API,由于应用开发者没有对传入的数据 做异常判断,恶意应用可以通过传入畸形数据,导致应用本地拒绝服务。通 用型本地拒绝服务漏洞,主要源于攻击者向 Intent 中传入其自定义的序列 化类对象,当调用组件收到此 Extra序列化类对象时,无法找到此序列化类 对象的类定义,因此发生类未定义的异常而导致应用崩溃。 本地拒绝服务漏洞不仅可以导致安全防护等应用的防护功能被绕过或失 效(如杀毒应用、安全卫士、防盗锁屏等),而且也可被竞争方应用利用来攻 击,使得 自己的应用崩溃,造成不同程度的经济利益损失。 2. 影响范 围 Android 系统所有版本 3.漏洞详情 1) 漏洞位置 : 处理 getIntent()的 intent 附带的数据 2) 漏洞触发前条件: getIntent()的 intent 附带空数据、异常或畸形数据; 处理数据时没有进行异常捕获; 3) 漏洞原理: Android 系统中供了 Intent机制来协助应用间的交互与通讯,其负 责对应用中一次操作的动作、动作涉及数据、附加数据进行述,系统则 根据此 Intent 的述,负责找到对应的组件,将 Intent传递给调用 的组件,并完成组件的调用。调用的组件在处理 Intent 附加数据的时 候,没有进行异常捕获,因此当处理空数据、异常或者畸形数据时,导致 应用崩溃。 4. 漏洞 POC 1) NullPointerException 异常导致的拒绝服务,源于程序没有对 getAction ()等获取到的数据进行空指针判断,从而导致空指针异常而导 致应用崩溃; 漏洞应用代码片段: Intent i = new Intent(); if (i.getAction().equals(TestForNullPointerException)) { Log .d(TAG , Test for Android Refuse Service Bug) ; } 攻击应用代码片段: KevindeMacBook-Air-2:~ kevin$ adb shell am start -n com.alibaba.jaq.pocforrefuseservice/.MainActivity 攻击应用代码运行后结果截图 :

您可能关注的文档

文档评论(0)

牛X文档 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档