MyException - 我的异常网
当前位置:我的异常网» 计算机图书 » 论文有关笔记4

论文有关笔记4

www.MyException.Cn  网友分享于:2015-01-25  浏览:0次
论文相关笔记4

四、Android安全机制分析及解决策略(2013《科技论坛》)

 

1.Android概况

(1)Android平台框架

Android是一种电子平台,用来给移动设备里的软件程序提供运行环境。由5部分构成Android的环境内容:

基于Linux2.6内核,主要提供进程管理、驱动、网络协议栈、内存管理、安全等核心系统服务;

Android本地库,存在于Linux内核之上,是一套C/C++库,能够被上层各式的软件系统调用,通过Android应用程序内的Java本地调用(JNI),来合并这些库;

Dalvik虚拟机核心库组成Android运行平台的环境;dex(Delvik-executable)文件就是由Dalvik运行,通常人们认为它和Java类文件相比,具有更加简洁和节省内存的优点;

Java语言编写Android运行平台的核心库,大量的JavaSE包的子类和一些Android特有的库由此提供;

依然由Java语言编写Android运行系统的应用程序,因为软件开发者就是基于它进行开发Android平台的,该层系统主要由活动管理器、通知管理器、View等组成,它们都是开发工程师直接调用的组件。

还有运行在虚拟机上的由Java语言编写的应用程序

(2)Android应用构成

Android应用程序通常由一个.apk文件包格式发布,该文件经过数字签名,与Java jar类似,所有程序代码和非代码文件都包含其中。其中一个叫Android Manifest的xml文件包含如包名、组件描述、权限声明等应用程序基本信息。

Activity、Service、Content provider和Boradcast receiver这四种类型的组件构成Android系统的一个应用程序包。其中Activity由于和用户进行通信,手机屏幕前台是它的工作平台;Service没有用户界面,因为其工作在手机后台;Content provider提供数据存储于应用程序;Broadcast receiver在程序组件之间起相互通信的作用。

在实例化和执行单独的一个组件的同时,其他组件也被相互作用,在必要情况下,还能被其他程序启动。

 

2.Android安全机制分析

(1)Android特有的安全机制

Android具有特有的安全机制:权限机制、组件包装和数字签名

(a)权限机制:通过实施权限限制应用程序的安装。只有授予权限许可后系统才能执行其他部分的操作,这是Android的主要安全准则。

首先是权限策略,通过将每个权限定义成一个字符串来传达每个操作的权限。所有权限被分为2类:应用程序执行某项任务时请求的权限和其他组件对应用程序的组件请求的权限。这种权限策略可以通过三个步骤实现:权限声明、权限请求和ICC(inter-component communication)权限保护。

然后是防护等级:防护等级是权限授权方式的一个属性。目前,Android系统的权限机制支持四种防护等级:normal、dangerous、signature和signatureOrSystem。

最后是隐藏缺陷:Android隐藏着一些微小但可能致命的缺陷:应用程序无须遵循一定的命名规则和限制即可命名一个新的权限;当删除某个程序时,此程序所被授权的权限不会被取消;当系统内有2个不同的权限命名相同时,其中一个权限即使没有得到生命也可以正常启动。

(b)组件包装:Android拥有不同的用户ID的应用程序为了防止其他应用程序访问自己的组件,将组件包装在程序内容内。Android通过定义组件的“exported”属性来实现着这种功能。由于属性的默认值可能与期望值不一致,开发者必须手动设置“exported”属性值。

(c)数字证书:Android应用程序安装时必须带有数字证书,否则无法进行安装。应用程序的数字证书不需要相关权威机构的签名认证,即可以自签名。

(2)其他保护机制

Android系统外的技术环境为Android系统提供了一些其他的安全保护加强机制。

 

3.安全解决对策

通过在Android系统上实施和评估一系列安全解决方法,选取Context-aware访问控制、SELinux访问控制机制和入侵检测为优先方案;选取垃圾邮件过滤、远程管理、虚拟专用网络(VPN)、可选择性的Android权限机制、身份验证、数据加密等为次要方案。可以通过HIDS(Host-basedintrusion-detectionsystem)和Saline(Security-EnhancedLinux)两个方面寻求Android系统的安全解决方案。

对策一、研发一种有效机制、以控制源于Linux内核层的潜在损害。

对策二、加固Android的权限机制。

文章评论

程序员应该关注的一些事儿
程序员应该关注的一些事儿
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
那些争议最大的编程观点
那些争议最大的编程观点
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
总结2014中国互联网十大段子
总结2014中国互联网十大段子
代码女神横空出世
代码女神横空出世
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
Java程序员必看电影
Java程序员必看电影
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
一个程序员的时间管理
一个程序员的时间管理
程序员都该阅读的书
程序员都该阅读的书
程序员和编码员之间的区别
程序员和编码员之间的区别
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
我的丈夫是个程序员
我的丈夫是个程序员
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
旅行,写作,编程
旅行,写作,编程
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
每天工作4小时的程序员
每天工作4小时的程序员
10个调试和排错的小建议
10个调试和排错的小建议
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
鲜为人知的编程真相
鲜为人知的编程真相
中美印日四国程序员比较
中美印日四国程序员比较
如何成为一名黑客
如何成为一名黑客
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
为什么程序员都是夜猫子
为什么程序员都是夜猫子
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
程序员必看的十大电影
程序员必看的十大电影
程序员的鄙视链
程序员的鄙视链
老程序员的下场
老程序员的下场
编程语言是女人
编程语言是女人
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
 程序员的样子
程序员的样子
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有