【网络与系统安全】域类实施模型DTE
类型实施模型(Type Enforcement,TE)是强制访问控制(MAC)的基础模型之一,由美国国家安全局(NSA)提出,是域类实施模型(DTE)的前身,广泛应用于SELinux等安全系统中。
一、模型核心概念
-
类型(Type)与域(Domain)
- 类型:标识被动实体(客体,如文件、设备)的安全属性,是访问控制的基本单元。
- 域:本质上是主体(如进程)的类型,决定进程可执行的操作范围。
- 核心逻辑:通过比较主体的域和客体的类型,决定是否允许访问(如进程域能否操作文件类型)。
-
安全策略
- 策略由管理员预先定义,通过“域-类型”的权限映射实现强制访问控制,用户无法修改。
- 例:Web服务器进程(域)仅能访问网页文件(类型),无法读取系统配置文件。
二、关键组件
-
域定义表(Domain Definition Table,DDT)
- 描述各域对不同类型客体的访问权限,是二维表结构。
- 示例结构:
-
域交互表(Domain Interaction Table,DIT)
- 定义主体之间的访问规则(如进程创建、信号传递)。
域类实施模型(Domain and Type Enforcement,DTE)是强制访问控制(MAC)的一种实现模型,是类型实施模型(TE)的改进版本,广泛应用于SELinux、SEAndroid等系统中。以下是对该模型的详细介绍:
三、DTE模型核心概念
- 策略描述
- 通过高级语言(如DTEL)描述访问控制策略,替代TE模型的二维表,更易维护和理解。
- 策略包含类型定义、域定义、权限分配等,例如:
四、与TE模型的对比与改进
维度 | TE模型 | DTE模型 |
---|---|---|
策略描述 | 二维表(DDT/DIT),配置复杂 | 高级语言(DTEL),支持语义化策略定义 |
灵活性 | 需从零定义策略,难以适应复杂场景 | 支持策略继承和模块化,可复用已有规则 |
层次关系 | 不支持客体的层次结构(如目录父子关系) | 隐含支持文件系统层次,可按路径递归赋值 |
五、策略配置示例
# 定义类型
type user_data_t, system_file_t;# 定义域(进程)及其权限
domain user_app_d {# 允许读取用户数据文件read user_data_t;# 禁止写入系统文件deny write system_file_t;
};# 类型赋值(递归设置用户数据目录)
assign -r user_data_t /data/user/;
assign system_file_t /etc/hosts;# 初始域设定(用户应用进程默认运行在user_app_d)
initial_domain = user_app_d;
六、总结
DTE模型通过“域-类型”映射实现了强制访问控制,相比传统TE模型更易配置和扩展,是SELinux等安全系统的核心基础。其核心价值在于将系统资源划分为独立安全域,通过策略严格限制跨域访问,从而有效保障系统完整性和保密性,尤其适用于对安全性要求极高的服务器和移动设备场景。