Android移动终端操作系统的安全分析

来源:e-works   
2014/4/30 14:34:47
Android是一个基于Linux内核并使用Java语言编写应用的开源的移动终端操作系统,主要用于便携设备,如手机、平板电脑等。

本文关键字: Android 操作系统 安全分析
Android的权限许可机制强制限制应用执行某些操作。目前,Android拥有大约100个内置的权限要求来限制应用的相关操作,包括拨打电话(CALLPHONE)、照相(CAMERA )、使用网络(INTERNET)、发送短信(SEND_SMS)等等。任何Android的应用能够申请默认权限以外的额外权限,当然在安装过程中需要用户确认应用所申请的额外权限。
 
一个基本的Android应用程序如果没有与其相关联的权限,意味着它不能做任何影响用户体验或设备中数据的有害操作,用户的“敏感”数据也就不会被某些未经授权的程序所损害。更进一步,不同的应用程序运行在不同的沙箱中,这样就算运行了恶意代码,也仅仅只能破坏其所在的沙箱,对系统及用户并不能造成很大的影响。
 
2.3 Android系统的签名机制
 
Android系统的另一个安全措施是其签名机制。Android中系统和应用都是需要签名的,签名的主要作用是限制对于程序的修改,使其仅来自于同一来源。Android系统的签名机制分两个阶段:包(package)扫描阶段和权限创建阶段。
 
包扫描阶段需要进行完整性和证书的验证。普通包的签名和证书必须先经过验证,即需要对manifest下的文件进行完整性检查,完整性检查包括压缩包(jar包)中的所有文件。如果是系统包的话,则需要使用AndroidMenifest. xml文件提取签名和验证信息。
 
权限创建阶段主要对包进行权限创建。如果该包来自系统应用,则信任它,而且使用新的签名信息去替换旧的信息。如果该包与其它包共享一个UID,并且共享UID在对应的共享用户(sharedUser)中保存的签名与之不一致,那么签名验证失败。
 
Android系统在安装应用程序时,对一个包的签名验证的主要逻辑是在JarVerifier.Java文件的verifyCertificate函数中实现的。其主要的思路是通过提取证书和签名信息,获取签名算法等信息,然后按照之前对apk签名的方法进行计算,最后比较得到的签名和摘要信息与apk中保存的内容是否匹配。
 
如果是已安装的程序进行升级,Android系统则需要检查新旧程序的签名证书是否一致,如果不一致则会安装失败。而对于申请权限的保护级别为signature或者signature or system的,Android系统则会检查权限申请者和权限声明者的证书是否是一致的。
共3页: [1] [2]3 下一页
责编:李玉琴
vsharing微信扫一扫实时了解行业动态
portalart微信扫一扫分享本文给好友

著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
最新专题
网络安全热点透析

随着移动互联、大数据、云计算、物联网等技术的日益发展,在这些热点技术为个人生活带来便利的同时,也为企业发展..

数据安全医药行业解决方案

采用身份鉴别、访问控制、数据加密以及权限控制等多种安全防护技术手段,保障数据库中医药数据只能被合法用户合规..

    畅享
    首页
    返回
    顶部
    ×
      信息化规划
      IT总包
      供应商选型
      IT监理
      开发维护外包
      评估维权
    客服电话
    400-698-9918