网络安全攻防:Android系统安全之安全机制

安全
Android 将安全设计贯穿系统架构的各个层面,覆盖系统内核、虚拟机、应用程序框架层以及应用层各个环节,力求在开放的同时,也能保护用户的数据、应用程序和设备安全。

[[387721]]

 Android是一种基于Linux的、自由的、开源的操作系统。它主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟开发。Android系统架构可以分为4层结构,由上至下分别是应用程序层、应用程序框架层、系统运行库层以及内核层,如图1所示。

图1  Android系统结构

Android应用层允许开发者无须修改底层代码就能对设备的功能进行拓展,Android的应用程序框架层为开发者提供了大量的API来访问Android的设备。

Android 应用和Android 框架都是用 Java 语言开发的,并运行在 DalvikVM 中运行。DalvikVM的作用主要就是为操作系统底层提供一个高效的抽象层。DalvikVM是一种基于寄存器的虚拟机,能够解释执行Dalvik可执行格式DEX的字节码,Android 应用和Android 框架都是用 Java 语言开发的,并运行在 DalvikVM 中运行。DalvikVM的作用主要就是为操作系统底层提供一个高效的抽象层。DalvikVM是一种基于寄存器的虚拟机,能够解释执行Dalvik可执行格式DEX的字节码,

Android 将安全设计贯穿系统架构的各个层面,覆盖系统内核、虚拟机、应用程序框架层以及应用层各个环节,力求在开放的同时,也能保护用户的数据、应用程序和设备安全。

1. Android进程沙箱隔离机制

进程沙箱隔离机制,使Android应用程序在安装时被赋予独特的用户标识(UID),并永久保持。应用程序及其运行的Dalvik虚拟机运行在独立的Linux进程空间,与其他应用程序完全隔离,如图2所示。

图2  Android进程沙箱隔离机制

在特殊情况下,进程间还可以存在相互信任关系。如源自同一开发者或同一开发机构的应用程序,通过Android提供的共享UID(Shared UserId)机制,使具备信任关系的应用程序可以运行在同一进程空间。

2. 应用程序签名机制

规定 APK 文件必须被开发者进行数字签名,以便标识应用程序作者和在应用程序之间的信任关系。在安装应用程序APK时,系统安装程序首先检查APK是否被签名,有签名才能安装。当应用程序升级时,需要检查新版应用的数字签名与已安装的应用程序的签名是否相同,否则,会被当作一个新的应用程序。Android 开发者有可能把安装包命名为相同的名字,通过不同的签名可以把它们区分开来,也保证签名不同的安装包不被替换,同时防止恶意软件替换安装的应用。

3. 权限声明机制

要想在对象上进行操作,就需要把权限和此对象的操作进行绑定。不同级别要求应用程序行使权限的认证方式也不一样,Normal级申请就可以使用,Dangerous级需要安装时由用户确认,Signature和SignatureOrSystem级则必须是系统用户才可用。

4. 进程通信机制

基于共享内存的 Binder 实现,提供轻量级的远程进程调用(RPC)。通过接口描述语言(AIDL)定义接口与交换数据的类型,确保进程间通信的数据不会溢出越界,如图3所示。

图3  进程通信机制

5. 内存管理机制

基于Linux的低内存管理机制,设计实现了独特的LMK,将进程重要性分级、分组,当内存不足时,自动清理级别进程所占用的内存空间。同时,引入的 Ashmem 内存机制,使Android具备清理不再使用共享内存区域的能力。

正是因为Android采用多层架构,在保护信息安全的同时,也保证开放平台的灵活性。 

 

责任编辑:庞桂玉 来源: 计算机与网络安全
相关推荐

2021-03-22 10:52:58

网络安全Android数据安全

2021-02-22 08:35:41

网络安全Linux系统安全

2021-02-23 09:12:46

网络安全系统安全OpenSS

2021-03-02 14:02:19

网络安全系统安全iptables

2021-06-16 09:40:44

网络安全物联网代码

2021-04-25 21:45:25

网络安全网络安全攻防ZigBee安全

2021-05-07 14:12:50

网络安全Web安全CSRF

2021-04-23 13:35:41

网络安全蓝牙Wi-Fi

2021-05-13 20:38:30

2021-04-30 19:38:42

网络安全WebHTTP

2021-05-08 15:22:31

网络安全Web安全SQL

2021-04-27 10:00:27

网络安全WebURL

2021-05-21 12:52:47

网络安全Android App虚拟机

2019-01-10 15:44:00

2021-05-24 11:40:50

网络安全数据库安全服务器

2021-04-15 11:55:40

网络安全无线网络WPA

2021-04-13 11:30:09

网络安全无线网络WEP

2021-02-02 14:02:48

网络安全对称密码密钥

2021-04-06 10:30:49

网络安全暗网互联网

2021-04-01 10:40:22

网络安全软件
点赞
收藏

51CTO技术栈公众号