香山 bitmap 防御原理

本节介绍了bitmap 的基础思想和工作原理

防御原理

针对日益复杂的负载的安全威胁,香山轻量动态隔离模型为经典负载机密虚拟机和容器设计了一种动态隔离机制,用来保护正在使用中的数据的机密性和完整性。依据不同的应用场景,将负载从安全的维度进行划分,分为安全敏感型负载和非安全敏感型负载。

安全敏感型负载需要运行在可信执行环境下,用来保护正在使用中数据和代码的机密性和完整性。非安全敏感型负载对数据没有安全性保护需求,执行在开放的执行环境下,保证执行的效率。

基于bitmap的安全隔离的防御机制,其核心原理是通过可信根在软件层面的标记(Shield-bit)来隔离和保护敏感工作负载(Sensitive Workloads)与普通工作负载(Normal Workloads),从而增强系统的安全性。以下是其防御原理的详细描述:

1. 分类与标记

工作负载分类:系统将工作负载分为两类:

  • 敏感工作负载(Sensitive Workloads):需要高安全级别的任务,如机密虚拟机、安全容器的任务(隐私数据的访问、处理)等。

  • 普通工作负载(Normal Workloads):常规任务,代表系统中普通的应用程序或进程,安全要求较低。

Shield-bit 标记:通过 “Shield-bit”(每比特代表 4KB)对敏感工作负载使用的资源进行标记,依据需此标记动态调整资源访问权限:

  • Shield-bit = 1 表示安全敏感资源

  • Shield-bit = 0 表示非安全敏感资源

2. 资源隔离

资源池划分图中显示资源池中包含混合的敏感和普通工作负载,但通过 Shield-bit 实现逻辑隔离。

资源类型保护:敏感工作负载访问特定资源(如内存、IO设备、中断等)时,Shield-bit 会触发保护机制,防止普通工作负载或恶意程序越权访问。例如:

  1. 内存隔离:敏感数据的内存区域仅对标记为敏感的工作负载可访问。

  2. 设备与中断保护:关键外设或中断仅允许敏感工作负载调用。

3. Bypass 机制

Bypass Shield-bit:在单向隔离的情况下(仅对普通负载的资源访问作限制),安全敏感负载可绕过 Shield-bit 的机制直接访问资源提升性能。

4. 防御目标

防止横向渗透:攻击者通过普通工作负载漏洞无法访问敏感资源。

最小权限原则:每个工作负载仅能访问其必需的资源,降低攻击面。

动态安全调整:根据工作负载的敏感程度动态切换保护状态。

5. 技术实现

硬件支持:依赖内存管理单元(MMU)的扩展功能。

软件协同:由可信计算基负责标记管理和资源调度。

香山Shield-XS 轻量隔离模型

香山Shield-XS 轻量隔离模型

6. 核心工作流程

Shield-XS 隔离模型工作流程

Shield-XS 隔离模型工作流程

A. 启动

系统初始化,加载固件(Firmware TCB)和可信执行环境(TEE TCB)。

开启Bitmap安全检测功能。

B. 配置

设定安全策略,例如定义受保护资源(内存、IO、中断等)访问权限。

TEE-TCB 依据应用需求配置不同资源的安全/非安全属性。

C. 检测

硬件监控访问行为,识别异常或非法访问请求。

通过 Bitmap 或其他机制标记不信任的访问行为。

D. 故障处理

当检测到违规操作(如未授权的内存访问)时,触发安全机制。

7. 关键安全机制

支持对所有地址映射类资源(内存、I/O、中断)的动态隔离。

资源隔离支持按需分配的,而非静态划分(区别于PMP)。

使用位图(Bitmap)标记资源的信任状态,快速过滤不信任的访问请求。

8. 技术特点

灵活性
动态隔离允许根据运行时需求调整安全策略,适应不同场景。

细粒度控制
支持多种资源类型(内存、I/O、中断)的精细化权限管理。

轻量级检测
通过Bitmap等高效数据结构实现低开销的安全监控。

最后修改 August 26, 2025: docs: update image size (#165) (4c1ee51)