操作系统与虚拟化安全重点 3.5.可信路径机制
可信路径机制
- 一、可信路径的涵义
- 1. 定义
- 2. 核心特征
- 3. 安全级别要求(依据TCSEC标准)
- 4. 实现目的
- 二、安全注意键机制
- 1. 定义
- 2. 常见实现
- 3. 工作机制流程(以Linux为例)
- 4. 安全保证措施
- 5. 在Windows中的实现结构
- 6. 相关系统组件说明
- 三、可信路径的两种实现方法对比
- 四、要点总结
一、可信路径的涵义
1. 定义
可信路径是用户与可信计算基(Trusted Computing Base, TCB)之间建立的一种受保护、不可伪造的通信通道,确保用户在登录、修改安全属性等敏感操作时,能够直接与系统的安全核心进行交互,而不会被恶意软件(如特洛伊木马)截获或仿冒。TCB是指系统中负责实施安全策略的硬件、固件和软件的集合,包括操作系统内核、安全子系统等关键组件。
2. 核心特征
- 双向可控:只能由用户或TCB主动激活,不能被第三方软件启动或模仿。例如,用户可以通过特定按键组合主动触发可信路径,而系统也可以在检测到安全威胁时自动激活。
- 逻辑隔离:通信过程在逻辑上独立于其他系统路径,保证数据不被窃听或篡改。这通常通过专用的内存区域、加密通道或硬件隔离实现。
- 防欺骗性:确保用户所见的界面和交互对象是真实的TCB,而非仿冒程序。例如,系统可能显示特定的安全标识或使用硬件级的显示保护。
3. 安全级别要求(依据TCSEC标准)
- B2级:要求提供用户与TCB直接通信的机制,且该机制不能被不可信软件模仿。例如,系统必须确保登录界面无法被用户空间的恶意程序覆盖或拦截。
- B3级:进一步要求该通信路径必须在逻辑上隔离,并确保用户能明确识别。例如,系统可能需要使用硬件安全模块(HSM)来保护可信路径的完整性。
4. 实现目的
- 防止钓鱼攻击与会话劫持。例如,防止恶意程序伪装成登录界面窃取用户凭证。
- 保障身份认证与权限修改等关键操作的安全性。例如,确保只有经过验证的用户才能修改系统安全策略。
- 增强系统在多用户、多进程环境下的可信基础。例如,在云计算环境中,确保不同租户之间的操作互不干扰。
二、安全注意键机制
1. 定义
安全注意键(Secure Attention Key, SAK)是用户在终端上通过按下特定按键或组合键,直接触发可信路径建立的物理机制。它是激活可信路径的"信任开关",确保用户能够安全地与系统的安全核心进行交互。
2. 常见实现
- Linux系统:通常为
Alt + SysRq + k
可通过命令启用:
该命令启用SysRq功能,允许用户通过组合键触发系统级操作。echo"1">/proc/sys/kernel/sysrq - Windows系统:称为安全注意序列(Secure Attention Sequence, SAS),默认为
Ctrl + Alt + Delete。这个组合键在Windows系统中具有特殊意义,通常用于登录、锁定计算机或打开任务管理器。
3. 工作机制流程(以Linux为例)
- 按键检测:用户在键盘输入SAK。系统通过键盘驱动程序捕获这些按键。
- 陷入内核:系统立即进入内核态,中断当前所有用户进程。这确保了用户空间程序无法拦截或干扰SAK的处理。
- 终端识别:系统确认当前激活的终端或X Window会话。这通常通过检查当前活动的虚拟控制台或显示管理器实现。
- 进程清理:杀死该终端上所有用户进程,防止恶意进程窃听。系统会发送SIGKILL信号终止这些进程。
- 启动登录:重新激活可信登录进程(如
getty或login)。这些进程通常由root用户运行,具有较高的权限。 - 建立路径:用户与TCB之间建立纯净通信环境。这通常涉及创建一个新的、受保护的会话。
4. 安全保证措施
- 防拦截:SAK信号在内核层处理,用户层软件无法捕获或伪造。例如,恶意程序无法通过挂钩键盘事件来拦截SAK。
- 进程隔离:激活SAK后会强制终止该终端上所有非可信进程。这确保了新建立的会话不受之前会话的影响。
- 会话重置:建立全新且受保护的会话环境,防止之前会话被污染。例如,系统可能会清除之前的会话cookie或令牌。
5. 在Windows中的实现结构
Ctrl + Alt + Delete ↓ WinLogon进程激活 ↓ 调用LSA(本地安全权威) ↓ SAM验证用户账户 ↓ SRM进行访问控制检查 ↓ 建立安全会话并记录审计日志6. 相关系统组件说明
- WinLogon:Windows登录管理器,响应SAS并启动可信路径。它负责显示登录界面和管理用户会话。
- LSA(Local Security Authority):负责身份验证、安全策略管理与令牌发放。它是Windows安全子系统的核心组件。
- SAM(Security Account Manager):存储用户账户与安全信息的数据库。它包含用户的密码哈希和权限信息。
- SRM(Security Reference Monitor):执行对象访问权限检查的核心监控器。它确保只有授权的进程才能访问受保护的资源。
- MSV(Microsoft Authentication Package):微软验证包,实现具体认证协议(如NTLM)。它负责验证用户的凭据。
三、可信路径的两种实现方法对比
| 方法 | 说明 | 优点 | 缺点 |
|---|---|---|---|
| 物理双终端 | 一台用于日常操作,一台专用于安全通信 | 完全物理隔离,安全性极高 | 成本高,不便于推广 |
| 安全注意键 | 通过按键信号触发内核级可信路径 | 成本低,易于实现,适用性强 | 需防止智能终端或恶意驱动拦截信号 |
四、要点总结
可信路径是什么
→ 用户与系统安全核心之间的"防骗专线"。为什么要可信路径
→ 防止木马冒充登录界面或窃取敏感操作。如何激活可信路径
→ 通过**安全注意键(SAK/SAS)**直接唤醒内核。按下SAK后系统做了什么
→ 杀进程、清环境、启登录、建专线。Windows和Linux的实现区别
→ Windows用Ctrl+Alt+Del调用WinLogon,Linux用Alt+SysRq+k直接清理终端进程。相关核心组件
→ TCB、LSA、SAM、SRM、MSV、WinLogon。
