Android安全攻防权威指南[试读]
2.1 理解Android系统架构
Android系统由许多承担安全检查与策略执行任务的机制构成。与任何现代操作系统一样,Android中的这些安全机制互相交互,交换关于主体(应用、用户)、客体(其他应用、文件和设备)以及将要执行操作(读、写、删除等)的各种信息。安全策略执行通常不会发生故障,但偶尔也会出现一些裂缝,为滥用提供了机会。本章将讨论Android系统的安全设计与架构,为分析Android平台的整体攻击面打好基础。 2.1 理解Android系统架构 Android的总体架构有时被描述为“运行在Linux上的Java”,然而这种说法不够准确,并不能完全体现出这一平台的复杂性和架构。Android的总体架构由5个主要... 查看全部[ 2.1 理解Android系统架构 ]
2.2 理解安全边界和安全策略执行
安全边界,有时也会称为信任边界,是系统中分隔不同信任级别的特殊区域。一个最直接的例子就是内核空间与用户空间之间的边界。内核空间中的代码可以对硬件执行一些底层操作并访问所有的虚拟和物理内存,而用户空间中的代码则由于CPU的安全边界控制,无法访问所有内存。 Android操作系统应用了两套独立但又相互配合的权限模型。在底层,Linux内核使用用户和用户组来实施权限控制,这套权限模型是从Linux继承过来的,用于对文件系统实体进行访问控制,也可以对其他Android特定资源进行控制。这一模型通常被称为Android沙箱。以DalvikVM和Android框架形式存在的Android运行时实施了第二... 查看全部[ 2.2 理解安全边界和安全策略执行 ]
2.3 深入理解各个层次
本节将详细介绍Android软件栈中与安全最相关的组件,包括应用层、Android框架层、DalvikVM、用户空间的支持性原生代码与相关服务,以及Linux内核层。这将为我们理解后续章节对这些组件的详细介绍打下基础,并为我们攻击这些组件提供必要的知识。 2.3.1 Android应用层 为了了解如何评估和攻击Android应用层的安全性,你首先需要了解它们是如何工作的。本节讨论了Android应用、应用运行时和支持性IPC机制的安全相关部分。这也会为理解第4章奠定基础。 应用通常被分为两类:预装应用与用户安装的应用。预装应用包括谷歌、原始设备制造商(OEM)或移动运营商提供的应用,如... 查看全部[ 2.3 深入理解各个层次 ]
2.4 复杂的安全性,复杂的漏洞利用
在仔细观察了Android的设计与架构之后,我们已经清楚地了解到,Android操作系统是一种非常复杂的系统。设计者坚持了最低权限原则,也就是说任何特定组件都应该只能访问它真正所需要访问的东西。在本书中,你将看到他们使用这一原则的大量证据。不过,这虽然有助于提高安全性,却也增加了复杂性。 进程隔离和减少特权往往是安全系统设计中的基石。无论对于开发者还是攻击者,这些技术的复杂性也让系统都变得更加复杂,从而增加两方的开发成本。当攻击者在打磨他的攻击工具时,他必须花时间去充分了解问题的复杂性。对于像Android这样一个系统,单单攻击一个安全漏洞,可能不足以获取到系统的完全控制权。攻击者可能需要利... 查看全部[ 2.4 复杂的安全性,复杂的漏洞利用 ]
2.5 小结
本章概述了Android安全设计和架构。我们引入了Android沙箱及Android使用的权限模型,包括Android对Unix系统UID/GID映射关系的特殊实现AID,以及在整个系统中实施的限制和权能。 我们也深入介绍了Android的逻辑层次,包括应用层、Android框架层、DalvikVM、用户空间原生代码和Linux内核。对于每个层次,我们都讨论了主要组件,特别是那些与安全相关的组件。我们强调了Android开发者对Linux内核所作出的重要添加与修改。 本章对Android总体设计较高层次上的介绍将有助于理解后续章节,这些章节将进一步深入到本章介绍的层次和组件中。 下一章将... 查看全部[ 2.5 小结 ]
书名: Android安全攻防权威指南
作者:
出版社: 人民邮电出版社
原作名: Android Hacker's Handbook
译者: 诸葛建伟 | 杨 坤 | 肖梓航 | [美] Collin Mulliner | [美] Stephen A·Ridley | [德] Georg Wincherski
出版年: 2015-3
页数: 394
定价: 89.00元
装帧: 平装
ISBN: 9787115385703