Android是一种基于Linux的、自由的、开源的操作系统。它主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟开发。Android系统架构可以分为4层结构,由上至下分别是应用程序层、应用程序框架层、系统运行库层以及内核层。
Android 将安全设计贯穿系统架构的各个层面,覆盖系统内核、虚拟机、应用程序框架层以及应用层各个环节,力求在开放的同时,也能保护用户的数据、应用程序和设备安全。
一、信息安全概念
** 信息安全涉及信息论、计算机科学和密码学等多方面的知识,它研究计算机系统和通信网络内信息的保护方法,是指在信息的产生、传输、使用、存储过程中,对信息载体(处理载体、存储载体、传输载体)和信息的处理、传输、存储、访问提供安全保护,以防止数据信息内容或能力被非法使用、篡改。**
** 信息安全的基本属性包括机密性、完整性、可用性、可认证性和不可否认性,主要的信息安全威胁包括被动攻击、主动攻击、内部人员攻击和分发攻击,主要的信息安全技术包括密码技术、身份管理技术、权限管理技术、本地计算环境安全技术、防火墙技术等,信息安全的发展已经经历了通信保密、计算机安全、信息安全和信息保障等阶段。信息安全本身包括的范围很大,包括如何防范商业企业机密泄露、防范青少年对不良信息的浏览、个人信息的泄露等。信息安全达到的其核心目标包括保密性、完整性、可用性、可控性和不可否认性五个安全目标**
二、Android系统安全体系
Android 将安全设计贯穿系统架构的各个层面,覆盖系统内核、虚拟机、应用程序框架层以及应用层各个环节,力求在开放的同时,也能保护用户的数据、应用程序和设备安全。
Android安全模型主要提供以下几种安全机制:
进程沙箱隔离机制
应用程序签名机制
权限声明机制
访问控制机制
进程通信机制
内存管理机制
2.1、Android****进程沙箱隔离机制
进程沙箱隔离机制,使Android应用程序在安装时被赋予独特的用户标识(UID),并永久保持。应用程序及其运行的Dalvik虚拟机运行在独立的Linux进程空间,与其他应用程序完全隔离;在特殊情况下,进程间还可以存在相互信任关系。如源自同一开发者或同一开发机构的应用程序,通过Android提供的共享UID(Shared UserId)机制,使具备信任关系的应用程序可以运行在同一进程空间。
Android从Linux继承了已经深入人心的类Unix进程隔离机制与最小权限原则,同时结合移动终端的具体应用特点,进行了许多有益的改进与提升。具体而言,进程以隔离的用户环境运行,不能相互干扰,比如发送信号或者访问其他进程的内存空间。因此,Android沙箱的核心机制基于以下几个概念:
标准的Linux进程隔离
2. 大多数进程拥有唯一的用户ID(UID)
3. 以及严格限制文件系统权限
2.2内存管理机制
基于Linux的低内存管理机制,设计实现了独特的LMK,将进程重要性分级、分组,当内存不足时,自动清理级别进程所占用的内存空间。同时,引入的 Ashmem 内存机制,使Android具备清理不再使用共享内存区域的能力。
正是因为Android采用多层架构,在保护信息安全的同时,也保证开放平台的灵活性。
2.3应用程序签名机制
规定 APK 文件必须被开发者进行数字签名,以便标识应用程序作者和在应用程序之间的信任关系。在安装应用程序APK时,系统安装程序首先检查APK是否被签名,有签名才能安装。当应用程序升级时,需要检查新版应用的数字签名与已安装的应用程序的签名是否相同,否则,会被当作一个新的应用程序。Android 开发者有可能把安装包命名为相同的名字,通过不同的签名可以把它们区分开来,也保证签名不同的安装包不被替换,同时防止恶意软件替换安装的应用。
本文转载自: https://blog.csdn.net/m0_64862833/article/details/136713415
版权归原作者 听风” 所有, 如有侵权,请联系我们删除。
版权归原作者 听风” 所有, 如有侵权,请联系我们删除。