题目:Securing Android: A Survey, Taxonomy, and Challenges
作者:SUFATRIO,DARELL J.J.TAN,TONG-WEI CHUA and VRIZLYNN L.L. THING
单位:Institute for Infocomm Research,Singapore
出版:ACM Computing Surveys,Vol.47,No.4
问题:Android 智能手机的日益流行也吸引了黑客,导致 Android 恶意软件应用的大量增加.本文选取了09-14年特别是在高端安全会议或期刊出现的论文,依据安卓app的配置阶段,提出了一种分类学,用来分析拥有相同目标和方法的方案,找出这些方案的主要区别,同时还描述了列举方案的缺陷和目前面临的挑战。
方案:依据Android app的五个阶段将选取的论文进行分类,分别是:开发阶段,应用商店上架阶段,安装阶段,运行阶段和对用户设备进行修改的阶段。在每个分类的叶节点指出相关现存工作,仍旧存在的挑战和有发展希望的调查方向。同一个分类树节点下的所有方案处理同一种问题,遇到的挑战也是相同的。
实现:
首先,提出了安卓现在存在的10个问题:
W1:①存在很多的安卓市场,但是很少有app审查机制
②对于app发行者几乎没有背景审查
③用户可以不通过app市场来安装app,利用从相连的电脑上的adb工具。增加了恶意软件的入口
W2:
①用户必须给予app要求的所有授权,否则安装程序不继续进行
②用户可能不知道app要求的一系列的权限可能带来的后果,只是简单的同意权限请求。
③app开发者意图夸大他们所需权限的作用。
④安卓权限没有进行细粒度管理。
⑤缺少运行时权限撤回和审查工具。
W3:安卓app很容易进行逆向编码,安卓app能够被重新打包,包括用于加入恶意软件。
W4:缺少对类似广告和分析库等包含在app内的第三方库的隔离机制。不能阻止第三方库滥用app获得授权。另一方面,被感染的app可能会篡改第三方库,来实行类似弹出ad播放或点击的恶意行为。
W5:缺少可信的运行时的用于一下目的的ICC的控制:
①防止appA从appB中获取公开接口,A已经在安装阶段获得了所需的权限。可能导致数据泄露和困惑代理问题。
②阻止app拦截intent广播和传输。app可能会暗地里拦截包含敏感信息的系统事件,如来电或短信。
③隔离app,防止塔门通过ICC和其他途径进行通信。
W6:app开发者可能对安卓ICC的某些方面不太熟悉,导致app隐私接口和数据的无意泄露。
W7:app可能通过JNI来激活本地代码。可能会导致低层次语言上的内存崩溃问题。和W4相似,本地代码可能会被恶意软件利用来躲避安卓层面的分析和检测手段。
W8:一个安卓设备有可以被用来作为独立设备号的标示物,如IMEI,硬件序列号或者安卓系统ID。由于安卓系统易于发生个人信息泄露,如果设备ID也泄露了,那么外部人士很容易追踪到该用户。
W9:Linux层的安全漏洞,如Linux内核和本地库
W10:设备制造商的预安装软件。
针对对不同问题的组合,提出了下图的分类:

从《Android 安全研究进展》摘出的笔记:
1、component:组件
①activity:用户界面。 应用程序与用户进行人机交互的可视化用户界面
②service:后台进程。
③content provider:内容提供器。 SQL-数据库,用于为应用程序提供数据,同时为应用程序中的数
据共享提供支持
④broadcast receivers:广播接收器。 接收广播消息的邮箱

2、Intent 包含目标组件地址和数据的消息对象
Android API 定义了接收 Intent 和通过其中的信息启动 Activity(startActivity(Intent))、启动 Service(startService(Intent))和广播消息(sendBroadcast(Intent))的方法。
在 Android 术语中,这种组件间通信的过程称为“动作(action)”.亦即,一个Intent 对象定义执行一个“动作”的意图(intent),这就是“Intent”名称的缘由.

3、ICC 组件间通信 inter-component communication
Android 在内核层实现了基于 Binder(OpenBinder[66]的精简版本 )的轻量级进程间通信 (inter-process communication,简称 IPC),这是应用组件之间进行通信的主要 IPC 机制,在 Android 的术语中称为组件间通信

4、Android的安全机制
(1)Linux安全机制:
①POSIX(portable operating system interface of unix)用户
每个包(.apk)文件安装时,安卓会赋予该文件唯一的linux用户ID,不同的包代码不能运行于同一进程,相当于系统为每个应用建立了一个沙盒。
若两个应用程序共享权限,则必须共享共同的ID,通过sharedUserID功能实现。
②文件访问控制
每个文件绑定UID、GID(用户组ID)和rwx权限,用于进行自主访问控制(discretionary access control,DAC),安卓系统文件的拥有者是“系统”用户或者“根”用户。所有的用户和程序数据存储在数据分区,与系统分区隔离。当安卓系统处于“安全模式”时,数据分区的数据不会加载,便与系统进行有效的恢复管理。此外,系统镜像设置为只读。
(2)Android本地库及运行环境安全
①内存管理单元(memory management unit,MMU)
硬件设备,为进程分配不同的地址空间(虚拟内存),隔离进程。
②强制类型安全(type safety)
类型安全,强制变量在赋值时必须符合其声明的类型,防止变量被错误或不恰当地使用。类型转化错误或缺少类型安全边界检查,是产生缓冲区溢出攻击的主要原因.
③移动设备安全
AAA(认证authentication,授权authorization,记账accounting),认证和授权通过SIM卡及其协议完成。
(3)Android特定安全机制
①权限机制
Android的权限管理遵循“最小特权原则“, 所有的 Android 应用程序都被赋予了最小权限.一个 Android应用程序如果没有声明任何权限,就没有任何特权。若想要访问其他文件、数据和资源就必须在AndroidManifest.xml文件中进行声明。
Android系统中的权限分为:
a.Android手机所有者权限
b.Android ROOT权限。最高权限,可以对系统中的任何文件、数据、资源进行任意操作。
c.Android 应用程序权限。在AndroidManifest文件中由程序开发者声明,在程序安装时由用户授权。
有四种不同的权限保护级别(protection level)
1.normal。申请即可用,不需用户授权
2.dangerous。安装时需要用户确认才能使用
3.signature。仅当申请该权限的应用程序与声明该权限的程序使用相同的签名时,才赋予该权限。
4.signatureOrSystem。 仅当申请该权限的应用程序位于相同的 Android 系统镜像中,或申请该权限的应用程序与声明该权限的程序使用相同的签名时,才赋予该权限.

Securing Android: A Survey, Taxonomy, and Challenges --论文笔记相关推荐

  1. Multimodal Machine Learning: A Survey and Taxonomy多模态综述论文笔记

    文章目录 第一遍:快速预览,把握概要 1. 仔细阅读标题.摘要和简介. 1 INTRODUCTION 2. 先忽略内容,读一读文章中的每个小标题. 3. 如果有数学内容,先大致浏览,确定其理论基础. ...

  2. 「ArXiv2020」【Efficient Transformers: A Survey】论文笔记(更新中)

    「ArXiv2020」[Efficient Transformers: A Survey]论文笔记 Abstract 1. Introduction 2. Background on Transfor ...

  3. 基于Android的校园二手商品交易平台,基于Android校园二手交易网站毕业设计论文.doc...

    基于Android校园二手交易网站毕业设计论文 本科生毕业设计(论文) 题 目: 基于Android的校园二手交易网站 姓 名: 学 号: 学 院: 专 业: 年 级: 校内指导教师: (签名) 校外 ...

  4. android计算器开发论文,基于Android计算器功能的实现毕业设计论文

    <基于Android计算器功能的实现毕业设计论文.doc>由会员分享,可免费在线阅读全文,更多与<基于Android计算器功能的实现毕业设计论文>相关文档资源请在帮帮文库(ww ...

  5. 推荐系统论文笔记(1):Hybrid Recommender Systems:Survey and Experiments

    一.基本信息 论文题目: <Hybrid Recommender Systems:Survey and Experiments> 论文发表时间: 2002, 论文作者及单位:Robin  ...

  6. [论文笔记] A Survey of Software Refactoring(TOSE, 2004)第一部分

    Time:8 hours Timespan:Dec 8 – Dec 14 (杂事多,断断续续看了一周,终于把这篇综述看完了) Tom Mens, Tom Tourwé (2004). A Survey ...

  7. 【论文笔记】A Survey of Visual Transformers(完结)

    声明: 本人是来自 γ 星球的外星人 为了学习地球的深度学习知识的,好回去建设自己的家乡 每周不定期更新自己的论文精读笔记,中心思想是两个字 --- 易懂 没啥事的兄弟姐妹们,可以和我探讨外星知识哦~ ...

  8. [论文笔记]User-Centric Ultra-Dense Networks for 5G: Challenges , Methodologies, and Directions

    前言 本文是我所作的第四篇论文笔记,前三篇都是按照"翻译--笔记"的模式进行,本篇将跳过翻译环节直接进行论文的笔记摘录.原因有以下几点:1.翻译步骤对内容理解很有限,理解主要在笔记 ...

  9. 【time series】时间序列领域的Transformer综述论文笔记

    论文名称:Transformers in Time Series: A Survey 论文年份:2022/5/7 论文作者:阿里巴巴达摩院 论文下载:https://arxiv.org/abs/220 ...

  10. 论文笔记【A Comprehensive Study of Deep Video Action Recognition】

    论文链接:A Comprehensive Study of Deep Video Action Recognition 目录 A Comprehensive Study of Deep Video A ...

最新文章

  1. Pytorch和CNN图像分类
  2. 8款帅酷的HTML5/CSS3 3D动画、图片、菜单应用
  3. Java高并发编程:总线锁定和缓存一致性的问题
  4. 二、八、十、十六进制及小数间的转换
  5. dede count.php,dede中怎么统计栏目文章数
  6. 加油四班!加油佟穆!我们的征途是星辰大海!!!
  7. C#LeetCode刷题之#62-不同路径(Unique Paths)
  8. LINQ中的Lambda表达式
  9. 字节小组长无意中得知整个部门的薪资,自己28K,手下却有35K,怎么办
  10. 学习图(最短路径)算法
  11. LeetCode ZigZag Conversion(将字符串排成z字型)
  12. 关闭绿联硬盘盒子自动休眠的方法!
  13. 《软件测试价值提升之路》学习之—测试工程师能力模型
  14. 聚类分析上证50成分股
  15. Luogu 1894 [USACO4.2]完美的牛栏The Perfect Stall
  16. 资源屋分享两款导航网站源码 支持自动收录、自动审核、自动检测友链功能
  17. 数学建模笔记——评价类模型(二)
  18. 编程计算1!+2!+3!+…+N!
  19. 中国IT领袖峰会 以5G与人工智能为主题
  20. java locale 印尼_java国际化Locale详解

热门文章

  1. java jmail_jmail和javamail的区别
  2. linux系统富士通打印机驱动,PRIMERGY:驱动下载 - 富士通中国
  3. 超级记忆/图像数字记忆 110位数字图像转换表 61-70
  4. 电子发票专用的邮箱—理票侠
  5. 你敢信?用数学公式编辑器也能打出化学公式
  6. stata 自相关专题【计量经济系列(五)】
  7. C++ 隐藏窗口在任务栏的显示
  8. python余弦定理_基于Python计算气弹簧选型
  9. 你必备的39个大数据可视化工具
  10. 理解SSD核心技术FTL