Securing Android: A Survey, Taxonomy, and Challenges --论文笔记
题目: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 --论文笔记相关推荐
- Multimodal Machine Learning: A Survey and Taxonomy多模态综述论文笔记
文章目录 第一遍:快速预览,把握概要 1. 仔细阅读标题.摘要和简介. 1 INTRODUCTION 2. 先忽略内容,读一读文章中的每个小标题. 3. 如果有数学内容,先大致浏览,确定其理论基础. ...
- 「ArXiv2020」【Efficient Transformers: A Survey】论文笔记(更新中)
「ArXiv2020」[Efficient Transformers: A Survey]论文笔记 Abstract 1. Introduction 2. Background on Transfor ...
- 基于Android的校园二手商品交易平台,基于Android校园二手交易网站毕业设计论文.doc...
基于Android校园二手交易网站毕业设计论文 本科生毕业设计(论文) 题 目: 基于Android的校园二手交易网站 姓 名: 学 号: 学 院: 专 业: 年 级: 校内指导教师: (签名) 校外 ...
- android计算器开发论文,基于Android计算器功能的实现毕业设计论文
<基于Android计算器功能的实现毕业设计论文.doc>由会员分享,可免费在线阅读全文,更多与<基于Android计算器功能的实现毕业设计论文>相关文档资源请在帮帮文库(ww ...
- 推荐系统论文笔记(1):Hybrid Recommender Systems:Survey and Experiments
一.基本信息 论文题目: <Hybrid Recommender Systems:Survey and Experiments> 论文发表时间: 2002, 论文作者及单位:Robin ...
- [论文笔记] A Survey of Software Refactoring(TOSE, 2004)第一部分
Time:8 hours Timespan:Dec 8 – Dec 14 (杂事多,断断续续看了一周,终于把这篇综述看完了) Tom Mens, Tom Tourwé (2004). A Survey ...
- 【论文笔记】A Survey of Visual Transformers(完结)
声明: 本人是来自 γ 星球的外星人 为了学习地球的深度学习知识的,好回去建设自己的家乡 每周不定期更新自己的论文精读笔记,中心思想是两个字 --- 易懂 没啥事的兄弟姐妹们,可以和我探讨外星知识哦~ ...
- [论文笔记]User-Centric Ultra-Dense Networks for 5G: Challenges , Methodologies, and Directions
前言 本文是我所作的第四篇论文笔记,前三篇都是按照"翻译--笔记"的模式进行,本篇将跳过翻译环节直接进行论文的笔记摘录.原因有以下几点:1.翻译步骤对内容理解很有限,理解主要在笔记 ...
- 【time series】时间序列领域的Transformer综述论文笔记
论文名称:Transformers in Time Series: A Survey 论文年份:2022/5/7 论文作者:阿里巴巴达摩院 论文下载:https://arxiv.org/abs/220 ...
- 论文笔记【A Comprehensive Study of Deep Video Action Recognition】
论文链接:A Comprehensive Study of Deep Video Action Recognition 目录 A Comprehensive Study of Deep Video A ...
最新文章
- Pytorch和CNN图像分类
- 8款帅酷的HTML5/CSS3 3D动画、图片、菜单应用
- Java高并发编程:总线锁定和缓存一致性的问题
- 二、八、十、十六进制及小数间的转换
- dede count.php,dede中怎么统计栏目文章数
- 加油四班!加油佟穆!我们的征途是星辰大海!!!
- C#LeetCode刷题之#62-不同路径(Unique Paths)
- LINQ中的Lambda表达式
- 字节小组长无意中得知整个部门的薪资,自己28K,手下却有35K,怎么办
- 学习图(最短路径)算法
- LeetCode ZigZag Conversion(将字符串排成z字型)
- 关闭绿联硬盘盒子自动休眠的方法!
- 《软件测试价值提升之路》学习之—测试工程师能力模型
- 聚类分析上证50成分股
- Luogu 1894 [USACO4.2]完美的牛栏The Perfect Stall
- 资源屋分享两款导航网站源码 支持自动收录、自动审核、自动检测友链功能
- 数学建模笔记——评价类模型(二)
- 编程计算1!+2!+3!+…+N!
- 中国IT领袖峰会 以5G与人工智能为主题
- java locale 印尼_java国际化Locale详解