移动操作系统安全¶
移动操作系统核心对比¶
| 鸿蒙(Harmony OS) | 安卓(Android) | 苹果(iOS) | |
|---|---|---|---|
| 开发商 | 中国华为公司主导开发 | 安迪·鲁宾开发,2005 年被谷歌收购 | 美国苹果公司自主开发 |
| 系统内核 | 分布式微内核 作为底层架构,使用开源模块进行组合 | 基于 Linux 内核(不含 GNU 组件),宏内核 架构 | 类 Unix 系统,XNU 内核(Darwin 层),同时包含微内核和宏内核 |
| 架构 | 三层架构:系统底层、基础服务和程序框架 | 系统结构、应用组件 | 内核态(Darwin 层)和用户态:核心操作系统层、核心服务层、媒体层、可轻触层 |
| 面向对象 | 物联网设备全场景:智能手机、平板、手表、电视、智能家电等 | 最初面向智能手机和平板,现扩展至物联网设备(电视、游戏机等) | iPhone、iPod touch、iPad 等苹果设备 |
| 优势 | 跨设备能力、性能流畅、安全性高、未来潜力高 | 开放性与自由度高、应用生态广泛、硬件多样性、与谷歌服务集成 | 流畅稳定、隐私与安全性高、生态系统内无缝连接、优质应用与更新 |
| 劣势 | 生态成熟度较低、海外市场受限、不确定性较高 | 碎片化严重、隐私和安全问题、流畅度和卡顿问题 | 封闭和不自由、价格昂贵、创新相对保守 |
| 宏内核(Monolithic Kernel) | 微内核(Micro Kernel) | |
|---|---|---|
| 定义 | 大而全,所有主要功能模块(进程调度、内存管理等)作为整体运行在内核空间 | 小而精,内核空间仅保留核心功能(IPC、基础进程调度、内存管理),其他功能为用户态独立服务 |
| 代表系统 | Linux、Unix、Android | HarmonyOS、MacOS(XNU)、QNX |
| 设计哲学 | 所有系统服务集成于一个大内核 | 最小化内核,仅保留核心服务,其他为用户态进程 |
| 性能 | 模块间函数调用通信,速度快、效率高 | 模块间通过 IPC 通信,消息传递开销较大,有潜在性能损耗 |
| 稳定性与可靠性 | 相对较低,单个模块崩溃可能导致整个系统崩溃(内核恐慌) | 高,单个服务崩溃可重启,不影响整个系统 |
| 安全性 | 相对较低,代码庞大,高权限代码多,攻击面大 | 高,仅核心功能运行在高权限模式,攻击面小 |
| 可扩展性与维护性 | 难,添加新功能需重新编译/重启内核,维护难度大 | 易,新增服务只需在用户空间编写新程序,无需修改内核,易于扩展和维护 |
鸿蒙移动操作系统安全¶
- 华为主导开发的一款全新的面向全场景的 分布式操作系统
- 全球排名第三的智能手机操作系统,开创性的 物联网领域第一款操作系统
- 提供强大的 分布式体系,带来的稳定、快速的用户体验以及多设备协同体系
- 具备安全的架构设计和内置的安全功能,包括 受保护的内核、安全存储和用户身份验证等
- 安全设计理念
- 原生安全(Inherent Security):安全能力在设计之初植入,遵循“最小权限”原则
- 隐私保护为核心(Privacy-Centric):数据所有权归用户,系统提供透明可控的数据管理策略,践行“数据不离开设备”、“匿名化处理”
- 核心安全架构
- 内核层安全:微内核架构,从根源提升安全性
- 极简内核:百万行级代码,攻击面小
- 权限分离:核心功能内核态,其他服务用户态,即使单个服务被攻破也不影响系统整体
- 形式化验证:对微内核关键代码使用数学方法进行形式化验证,杜绝特定漏洞
- 框架层安全:分布式可信
- 分布式安全框架:跨设备协同安全互信,建立安全连接通道
- 可信执行环境(TEE):与主系统隔离的硬件级安全区域,保护生物特征、支付密钥等敏感信息
- 设备身份认证:设备唯一的、基于硬件的可信身份 ID,防仿冒
- 应用生态安全:全流程治理
- 上架前严格审核:恶意行为检测、隐私合规检查、安全漏洞扫描
- 安装时透明可控:精细权限管理、隐私标签
- 运行时实时防护:拦截异常行为
- 纯净模式:仅允许安装安全检测应用
- 隐私保护:贯穿于数据的全生命周期
- 数据最小化:应用只获取必要数据,数据处理必须用户知情同意
- 透明与可控:隐私标签、权限使用记录查看
- 端侧处理:本地数据处理,减少云端上传
- 内核层安全:微内核架构,从根源提升安全性
安卓移动操作系统安全¶
- 基于 Linux 内核的操作系统和软件平台,它采用了软件堆层的架构,底层以 Linux 内核为基础,只提供基本功能,其他的应用软件则由各公司自行开发,以 Java 作为主要的编程语言。
- 安全特性包括 应用权限管理、应用隔离 和硬件级别的安全保护等
- 系统体系结构(自底向上)
- Linux 内核层:Android 系统的基础核心,提供硬件抽象、内存管理、安全管理等核心服务
- 系统运行库:包含 C/C++ 库和 Android 运行时环境,提供核心 API 支持
- 应用程序框架层:提供开发应用所需 API 和管理服务,是应用与系统交互的桥梁
- 应用程序层:用户直接交互的应用(系统预装 + 第三方应用)
- 核心安全机制
- 访问控制:
- 权限模型:应用以唯一 UID 运行,使用 API 时需进行权限声明
- 权限管理:对不同程序分配不同权限
- 敏感权限管理:对敏感操作审核监管
- 沙箱模拟:
- 进程保护:应用隔离在独立进程空间,进程间互不干扰
- 限制资源访问,假定应用不可信
- 外部认证:金融级、政府机构认证
- 签名与证书:应用需数字签名,安装时验证合法性,限制程序修改
- 秘钥管理:随机生成、安全存储
- 加密机制:存储加密、网络传输加密
- 访问控制:
- 安全威胁
- 开源模式风险:应用审核不严导致恶意代码传播
- 权限许可问题:安装时权限不可选,过度授权风险
- 系统与应用漏洞:复杂系统易存在漏洞,易被攻击利用
苹果移动操作系统安全¶
- 由苹果公司开发的移动操作系统,与苹果的 macOS 操作系统一样,iOS 系统是以 Darwin(苹果计算机的一个开源操作系统)为基础开发的,属于 类 Unix 的商业操作系统。
- 提供内置安全性:硬件功能 + OS 功能
- 密码锁:防止未经授权的设备访问
- 查找:远程定位和擦除设备
- 系统体系结构(自底向上)
- 核心操作系统层(Core OS Layer):提供系统基础功能(硬件驱动、内存管理、文件系统等),通过 API 提供服务
- 核心服务层(Core Services Layer):提供更为丰富的功能,如字串处理、日历、Security、Core Location 等功能
- 媒体层(Media Layer):提供图片、音乐、影片等多媒体功能
- 可轻触层(Cocoa Touch Layer):Objective-C API,提供应用界面组件、多点触屏处理等
-
XNU 内核架构

- Mach:微内核,提高系统的模块化程度,提供内存保护的消息传递机制,负责处理器调度、虚拟内存管理、IPC 等基础系统服务
- BSD:对 Mach 再次封装的 宏内核,提供现代易用的内核接口,高负荷下仍可高效运作
- IOKit:硬件抽象层,驱动程序 运行环境,包含电源、内存、CPU 等信息
- 核心安全机制
- 更小的受攻击面:降低攻击者可以访问(尤其是可以远程访问)的代码量
- 不支持 Java/Flash,限制文件格式支持
- 精简系统(无 shell)
- 权限分离:通过用户、组权限分离进程
- mobile 用户:普通应用
- root 用户:多数重要系统进程
- _wireless/_mdnsresponders 等其他身份:其他系统进程
- 代码签名机制:二进制文件和类库在被内核允许 执行之前都必须经过受信任机构(比如苹果公司)的签名
- 内存中只有那些来自己签名来源的页才会被执行,应用无法动态地改变行为或完成自身升级
- 数据执行保护(DEP):
- 处理器能区分内存中的代码与数据,仅允许代码执行,防止构造恶意载荷
- 地址空间布局随机化(ASLR)
- 二进制文件、库文件、动态链接文件、栈和堆内存地址随机化
- 与 DEP 协同防御攻击
- 沙盒机制:面向进程可执行的行动提供更细粒度的控制
- 限制恶意软件破坏范围
- 安全性分析与威胁
- 优势:闭源系统 + 硬件掌控,漏洞修补及时,启动链签名验证(TrustBoot)构建安全链
- 风险:“越狱”会破坏安全机制,恶意软件可能通过 App Store 审核空隙进入