Hi,欢迎来到华清远见移动互联网学院官网!国内王牌JAVAEE培训、Android培训、Python培训、HTML5培训、UI培训、JAVA培训、VR培训机构!

  • 400-611-6270
  • 新浪微博
  • 微信
当前位置: 移动互联网学院 > 常见问题 > Android安全机制简介 Android安全培训课程学什么?
Android安全机制简介 Android安全培训课程学什么? 时间:2017-03-24     来源:Android开发培训

未来的Android会发展成什么样子?Android发展安全是重点。Android安全机制是什么?Android安全培训课程学什么?这里华清远见Android培训技术专家为朋友们做了总结,Android系统是基于Linux内核开发的,因此,Android系统不仅保留和继承了Linux操作系统的安全机制,而且其系统架构的各个层次都有独特的安全特性,我们来具体看一下。

Android安全机制简介,Android安全培训课程学什么?
Android安全机制简介,Android安全培训课程学什么?

1. Linux内核层安全机制

Android的Linux内核包含了强制访问控制机制和自主访问控制机制。强制访问控制机制由Linux安全模块来实现,但Google出于某种原因,并没有将LSM编译进Android内核。自主访问控制机制通常由文件访问控制来实现,Linux文件系统的权限控制是由user、 group、other与读(r) 、写(w) 、执行(x)的不同组合来实现的。这样,每个文件都有三个基本权限集,它们的组合可以容许、限制、拒绝用户、用户组和其他用户的访问。通常,只有uid是 “system”或“root”用户才拥有Android系统文件的访问权限,而应用程序只有通过申请Android权限才能实现对相应文件的访问,也正因为此,Android使用内核层Linux的自主访问控制机制和运行时的Dalvik虚拟机来实现Android的“沙箱”机制。
 

2. Android的“沙箱”机制

Android“沙箱”的本质是为了实现不同应用程序和进程之间的互相隔离,即在默认情况下,应用程序没有权限访问系统资源或其它应用程序的资源。每个 APP和系统进程都被分配唯一并且固定的User Id,这个uid与内核层进程的uid对应。每个APP在各自独立的Dalvik虚拟机中运行,拥有独立的地址空间和资源。运行于Dalvik虚拟机中的进程必须依托内核层Linux进程而存在,因此Android使用Dalvik虚拟机和Linux的文件访问控制来实现沙箱机制,任何应用程序如果想要访问系统资源或者其它应用程序的资源必须在自己的manifest[23]文件中进行声明权限或者共享uid。
 

3. Android的权限检查机制

Android是一个“权限分离”的系统,任何一个应用程序在使用Android受限资源(网络、电话、短信、蓝牙、通讯录、SdCard等)之前都必须以XML文件的形式事先向Android系统提出申请,等待Android系统批准后应用程序方可使用相应的资源,权限与Java的API是多对多的映射关系。

当Android应用程序获得相应权限后,它就能通过调用API来完成相应的功能。一个API调用可被分为三个步骤[3]:第一,应用程序获取相应权限后会调用公共库中的API;第二,公共API会调用一个叫API代理的接口(RPC stub);第三,RPCstub把请求以IPC绑定的形式传递给系统服务,由系统服务进程完成具体的功能,权限检查恰恰发生在对系统服务和系统进程中。权限检查不仅包括安装时的静态检查,还包括APP运行时的动态检查。动态检查是指APP在运行期间调用的系统服务或系统组件需要经过授权检查。动态检查并不发生在APP本身,而是发生在系统服务或系统组件的进程中。在Android4.0版本之前,Android的权限检查机制是可以被绕过的,这是因为权限检查机制存在漏洞,即调用者不需要具有被调用者的相关权限,Android4.0 版本不仅使用函数“checkUidPermission”来决定权限是否应授予相应的进程而且使用了函数 “checkCallingPermission”来检查调用者是否有相应的权限。因此,Android权限机制一般不能被绕过,但Android权限机制有些不容忽视的缺陷,具体表现在如下几个方面:

第一,权限一经授予应用程序,那么此权限在该应用程序生命期间都将有效,用户无法剥夺权限;

第二,权限机制缺乏灵活性,要么全都批准应用程序所要求的所有权限,要么拒绝应用程序的安装;

第三,权限机制安全性不够,不能阻止恶意软件通过JNI技术直接调用C库,从而获取系统服务。
 

4. Android的数字签名机制

所有安装到Android系统中的应用程序都必须拥有一个数字证书[4],此数字证书用于标识应用程序的作者和应用程序之间的信任关系。 Android系统不会安装一个没有数字证书的应用程序,如果一个权限的保护级别为signature,只有当应用程序所用数字签名与声明此权限的应用程序所用数字签名相同时,Android系统才会授权。如果一个权限的保护级别为signatureOrSystem,Android系统会将该权限授予具有相同数字签名的应用程序或Android包类。

关于Android安全机制和Android安全培训课程学什么的内容先给大家介绍到这里。

  • 北京

    010-82600385/6

    北京市海淀区西三旗悦秀路北京明园大学校内

  • 上海

    021-54485127

    上海市徐汇区漕溪路250号银海大楼11层

  • 深圳

    0755-25590506

    深圳市龙华新区人民北路美丽AAA大厦15层

  • 成都

    028-85405115

    成都武侯区科华北路99号科华大厦2层

  • 南京

    025-86551900

    南京市白下区汉中路185号鸿运大厦11层

  • 武汉

    027-87804688

    武汉工程大学卓刀泉校区科技孵化器大楼11层

  • 西安

    029-88756251

    西安市高新区高新1路12号天公大厦3层

  • 广州

    020-38342087

    广州市天河软件园柯木塱园5栋三层

  • 沈阳

    024-24349000

    沈阳市沈河区北顺城路137号锦峰大厦7层

  • 济南

    0531-88898293

    济南市高新区舜华路三庆世纪财富中心B3座6层

  • 重庆

    023-68064704

    重庆市九龙坡区渝州路87号双薪时代九楼

  • 长沙

    0731-88713136

    长沙市开福区芙蓉中路海东青大厦B座11楼

Copyright © 2004-2017 华清远见教育集团 版权所有,京ICP备16055225号,京公海网安备11010802025197号