安卓应用中的信息泄露问题探究.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
安卓应用中的信息泄露问题探究

安卓应用中的信息泄露问题探究 吴中超 许国祥 王瑜 信息工程大学 X 关注成功! 加关注后您将方便地在 我的关注中得到本文献的被引频次变化的通知! 新浪微博 腾讯微博 人人网 开心网 豆瓣网 网易微博 摘????要: 作为当今世界最流行的新兴移动操作系统, 安卓系统的应用安全重要性日益提高。安卓应用通信架构由服务器、客户端两部分构成, 均存在敏感信息泄露的安全隐患。本文从这两方面入手, 分析安卓应用生态目前出现较多的信息泄露问题及导致危害, 并分别探讨了针对主要漏洞类型的应对手段。 关键词: 安卓系统; 移动互联网; 应用安全; 信息泄露; 0 引言 移动操作系统的生态链正从智能手机拓展到诸如平板电脑、智能家居、可穿戴智能设备、车联网、嵌入式系统等多种衍生产品中, 日益驱动着互联网技术的改变和发展。作为移动互联网时代的突出标志之一, 移动应用APP聚集了大量的高附加值信息和资源。这些信息和资源不仅包含个人手机信息、身份信息、经纬度地理位置等, 还包含了多个应用或网站的账号密码信息、个人电子邮件、隐私文件等诸多信息。 在过去的2016年中, 国内个人信息泄露事件频发。中国互联网协会2016年发布的《中国网民权益保护调查报告》中指出, 在整个2016年, 中国网民因个人信息泄露、垃圾信息、诈骗信息等现象导致总体损失约915亿元。其中, 78.2%的网民个人身份信息被泄露过, 包括网民的姓名、学历、家庭住址、身份证号及工作单位等;63.4%的网民个人网上活动信息被泄露过, 包括通话记录、网购记录、网站浏览痕迹、IP地址、软件使用痕迹及地理位置等。在个人信息泄露带来的不良影响上, 82.3%的网民亲身感受到了个人信息泄露对日常生活造成的影响。近年爆发的多个安卓系统漏洞, 其影响力动辄覆盖过亿安卓手机用户, 造成大量用户隐私泄露风险。 面对移动互联网用户隐私保护的严峻形势, 隐私泄露的检测和保护近年来颇受关注。本文结合本人在清华大学网络与信息安全实验室参与的安卓APP渗透测试项目、全国高校校园网APP测试项目及正在进行的研究工作, 揭示了移动应用隐私泄露检测和防护的总体进展, 并针对影响范围较广的典型问题给出针对性修复方案。 1 安卓应用app客户端的信息泄露问题 1.1 应用敏感数据明文存储在本地文件中 Android应用程序运行中必然涉及数据的输入、输出。例如应用程序各个参数设置、程序运行中的状态等数据都需要保存到外部存储器上, 否则系统关机之后数据将会丢失。 若应用程序中需要保存的数据较少, 且数据格式简单 (字符串、整型值等) , 可使用Shared Preferences进行保存。若应用程序有大量数据需要存储、访问, 就需要用到数据库。如果Shared Preferences创建时模式设为可读可写, 则文件中内容极易被其他应用获取。如果文件中内容为明文或明文编码 (base64等) , 则会造成敏感信息泄露。 例如, 在某app中, 应用会将使用过的用户信息 (包括用户资料、id等) 以明文的形式存储在Shared Preferences文件中 (如图1所示) , 内容可直接被获取。 改进方式:避免使用MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE模式创建Shared Preferences文件;避免把密码等敏感数据信息明文存放在Shared Preferences文件中。 图1 Shared Preferences文件内容 ??下载原图 1.2 content provider访问控制缺失 在安卓系统中, content Provider用来提供数据的统一访问方式。如果某个应用中有数据需要提供给其他应用访问, 无论数据存储在数据库中, 还是在文件甚至在网络中, 都可以通过content provider提供的接口来访问。 如果在Android Manifest文件中将某个Content Provider的exported属性设置为true, 则可在外界任意位置直接访问其数据。如果此Content Provider的实现有问题, 则可能产生任意数据访问、SQL注入、目录遍历等风险。 例如, 在某校园网图书馆app中, 利用drozer查询应用中的provider信息, 可发现该应用中有两个content provider组件, 继续查询其中设计的provider uri;逐个进行查询尝试, 发现其中存储密码值的uri可不需权限, 直接查询得到结果, 如图2所示。 图2 用户名、登录密码、邮箱等敏感信息 ??下载原图 改进措施:对于需要开放的组件应设置合理的权限, 如果只需要对同一个签名的其它开放content provider, 则可以设置signature级别的权限

您可能关注的文档

文档评论(0)

zijingling + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档