Android安全攻防权威指南2.1 理解Android系统架构_Android安全攻防权威指南2.1 理解Android系统架构试读-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 算法 > Android安全攻防权威指南 > 2.1 理解Android系统架构

Android安全攻防权威指南——2.1 理解Android系统架构

Android系统由许多承担安全检查与策略执行任务的机制构成。与任何现代操作系统一样,Android中的这些安全机制互相交互,交换关于主体(应用、用户)、客体(其他应用、文件和设备)以及将要执行操作(读、写、删除等)的各种信息。安全策略执行通常不会发生故障,但偶尔也会出现一些裂缝,为滥用提供了机会。本章将讨论Android系统的安全设计与架构,为分析Android平台的整体攻击面打好基础。 2.1 理解Android系统架构 Android的总体架构有时被描述为“运行在Linux上的Java”,然而这种说法不够准确,并不能完全体现出这一平台的复杂性和架构。Android的总体架构由5个主要层次上的组件构成,这5层是:Android应用层、Android框架层、Dalvik虚拟机层、用户空间原生代码层和Linux内核层。图2-1显示了这些层是如何构成Android软件栈的。 图2-1 Android系统的总体架构 Android应用层允许开发者无须修改底层代码就对设备的功能进行扩展和提升,而Android框架层则为开发者提供了大量的用来访问Android设备各种必需设备的API,也就是充当应用层与Dalvik虚拟机(DalvikVM)层之间的“粘合剂”。API中包含各种构件(building block)以允许开发者执行通用任务,比如管理UI元素、访问共享数据存储,以及在应用组件间传递信息等。 Android应用和Android框架都是用Java语言开发的,并在DalvikVM中运行。DalvikVM的作用主要是为底层操作系统提供一个高效的抽象层。DalvikVM是一种基于寄存器的虚拟机,能够解释执行Dalvik可执行格式(DEX)的字节码;另一方面,DalvikVM依赖于一些由支持性原生代码程序库所提供的功能。 Android系统中的用户空间原生代码组件包括系统服务(如vold和DBus)、网络服务(如dhcpd和wpa_supplicant)和程序库(如bionic libc、WebKit和OpenSSL)。其中一些服务和程序库会与内核级的服务与驱动进行交互,而其他的则只是便利底层原生操作管理代码。 Android的底层基础是Linux内核,Android对内核源码树作了大量的增加与修改,其中有些代码存在一些独特的安全后果。我们会在第3章、第10章和第12章中更加详细地讨论这些话题。内核级驱动也提供了额外的功能,比如访问照相机、Wi-Fi以及其他网络设备。需要特别注意Binder驱动,它实现了进程间通信(IPC)机制。 2.3节将详细介绍每一层上的关键组件。

展开全文


推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

《Android安全攻防权威指南》其他试读目录

• 2.1 理解Android系统架构 [当前]
• 2.2 理解安全边界和安全策略执行
• 2.3 深入理解各个层次
• 2.4 复杂的安全性,复杂的漏洞利用
• 2.5 小结
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •