跳转至

移动操作系统安全

移动操作系统核心对比

鸿蒙(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 审核空隙进入