第 9 章 安全
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。覆盖51个正式目录坐标。
直觉起点
、、、、共同构成本页坐标。从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 学习时先预测内核下一状态,再运行样本;最终输出正确不能证明调度、地址、设备、持久化与清理都正确。
六阶段资源链
1. 识别威胁主体
从威胁主体、信任边界和保护域开始,分别验证认证、授权、完整性与审计;单一防线不能代替最小权限和纵深防御。 对“第9章 安全”先在“识别威胁主体”写出输入与预测,再推进到“认证访问者”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
2. 认证访问者
从威胁主体、信任边界和保护域开始,分别验证认证、授权、完整性与审计;单一防线不能代替最小权限和纵深防御。 对“9.1 环境安全”先在“认证访问者”写出输入与预测,再推进到“检查保护域”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
3. 检查保护域
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 对“9.1.1 威胁”先在“检查保护域”写出输入与预测,再推进到“执行密码协议”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
4. 执行密码协议
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 对“9.1.2 入侵者”先在“执行密码协议”写出输入与预测,再推进到“阻断漏洞利用”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
5. 阻断漏洞利用
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 出版社中文目录把本节列为“操作系统完全”,Pearson 英文原目录对应 OPERATING SYSTEMS SECURITY;本页保留目录原文并按操作系统安全解释。 对“9.2 操作系统完全”先在“阻断漏洞利用”写出输入与预测,再推进到“审计并恢复”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
6. 审计并恢复
从威胁主体、信任边界和保护域开始,分别验证认证、授权、完整性与审计;单一防线不能代替最小权限和纵深防御。 对“9.2.1 可信系统”先在“审计并恢复”写出输入与预测,再推进到“识别威胁主体”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
核心机制深挖
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 本页把每个目录概念放回“识别威胁主体 → 认证访问者 → 检查保护域 → 执行密码协议 → 阻断漏洞利用 → 审计并恢复”的资源状态机。输入可能是系统调用、地址、字节流、中断、资源请求或远程消息;状态可能位于进程表、页表、驱动队列、文件元数据、虚拟机或保护域;输出必须同时说明返回值、资源所有权与下一阶段可依赖的承诺。
本页签发的不变量是:每次敏感操作都由已认证主体在明确保护域中获得最小权限;机密性、完整性、可用性和审计证据不能由单层防线假设。。不变量在正常路径与错误路径都应成立。一次成功运行只证明一个样本可用,不能证明边界安全;因此目录中的机制都要进入正常、边界、失败和恢复四条轨迹,并明确谁检测、谁阻塞或重试、谁逆序清理、谁向上报告。
构造访问矩阵、ACL 与权能表,验证多级安全和认证,再对缓冲区、格式串、整数溢出与 TOCTOU 路径做防御实验。 运行前把预期写成状态快照,运行后逐字段比较。并发实验记录同步边,地址实验记录位宽与权限,I/O 实验记录缓冲区和完成事件,持久化实验区分提交与落盘,分布式实验记录丢失、重复和重排。
注入凭据重放、越权、代码注入、恶意软件持久化和隐蔽信道,定位哪一信任假设或防线先失效。 删除故障后用完全相同的输入重放,确认返回值、内核对象、外部结果和清理状态一起恢复。只修正界面结果却留下线程、页、设备请求、文件引用、虚拟机状态或权限污染,仍然不通过。
原书第4版使用 Linux、Android、Windows 8.1、VMware 和当时的多处理机技术作为实例。现代内核和云平台会改变接口版本与性能数值,但进程状态、地址翻译、I/O 分层、资源死锁、虚拟化隔离和保护域仍可验证。现代对照必须写明差异,不能覆盖2017年中文版本的目录身份。
正式目录逐项讲解
第9章 安全
从威胁主体、信任边界和保护域开始,分别验证认证、授权、完整性与审计;单一防线不能代替最小权限和纵深防御。 对“第9章 安全”先在“识别威胁主体”写出输入与预测,再推进到“认证访问者”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.1 环境安全
从威胁主体、信任边界和保护域开始,分别验证认证、授权、完整性与审计;单一防线不能代替最小权限和纵深防御。 对“9.1 环境安全”先在“认证访问者”写出输入与预测,再推进到“检查保护域”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.1.1 威胁
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 对“9.1.1 威胁”先在“检查保护域”写出输入与预测,再推进到“执行密码协议”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.1.2 入侵者
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 对“9.1.2 入侵者”先在“执行密码协议”写出输入与预测,再推进到“阻断漏洞利用”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.2 操作系统完全
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 出版社中文目录把本节列为“操作系统完全”,Pearson 英文原目录对应 OPERATING SYSTEMS SECURITY;本页保留目录原文并按操作系统安全解释。 对“9.2 操作系统完全”先在“阻断漏洞利用”写出输入与预测,再推进到“审计并恢复”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.2.1 可信系统
从威胁主体、信任边界和保护域开始,分别验证认证、授权、完整性与审计;单一防线不能代替最小权限和纵深防御。 对“9.2.1 可信系统”先在“审计并恢复”写出输入与预测,再推进到“识别威胁主体”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.2.2 可信计算基
从威胁主体、信任边界和保护域开始,分别验证认证、授权、完整性与审计;单一防线不能代替最小权限和纵深防御。 对“9.2.2 可信计算基”先在“识别威胁主体”写出输入与预测,再推进到“认证访问者”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.3 保护机制
从威胁主体、信任边界和保护域开始,分别验证认证、授权、完整性与审计;单一防线不能代替最小权限和纵深防御。 对“9.3 保护机制”先在“认证访问者”写出输入与预测,再推进到“检查保护域”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.3.1 保护域
从威胁主体、信任边界和保护域开始,分别验证认证、授权、完整性与审计;单一防线不能代替最小权限和纵深防御。 对“9.3.1 保护域”先在“检查保护域”写出输入与预测,再推进到“执行密码协议”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.3.2 访问控制列表
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 对“9.3.2 访问控制列表”先在“执行密码协议”写出输入与预测,再推进到“阻断漏洞利用”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.3.3 权能字
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 对“9.3.3 权能字”先在“阻断漏洞利用”写出输入与预测,再推进到“审计并恢复”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.4 安全系统的形式化模型
从威胁主体、信任边界和保护域开始,分别验证认证、授权、完整性与审计;单一防线不能代替最小权限和纵深防御。 对“9.4 安全系统的形式化模型”先在“审计并恢复”写出输入与预测,再推进到“识别威胁主体”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.4.1 多级安全
从威胁主体、信任边界和保护域开始,分别验证认证、授权、完整性与审计;单一防线不能代替最小权限和纵深防御。 对“9.4.1 多级安全”先在“识别威胁主体”写出输入与预测,再推进到“认证访问者”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.4.2 隐蔽信道
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 对“9.4.2 隐蔽信道”先在“认证访问者”写出输入与预测,再推进到“检查保护域”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.5 密码学原理
从威胁主体、信任边界和保护域开始,分别验证认证、授权、完整性与审计;单一防线不能代替最小权限和纵深防御。 对“9.5 密码学原理”先在“检查保护域”写出输入与预测,再推进到“执行密码协议”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.5.1 私钥加密技术
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 对“9.5.1 私钥加密技术”先在“执行密码协议”写出输入与预测,再推进到“阻断漏洞利用”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.5.2 公钥加密技术
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 对“9.5.2 公钥加密技术”先在“阻断漏洞利用”写出输入与预测,再推进到“审计并恢复”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.5.3 单向函数
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 对“9.5.3 单向函数”先在“审计并恢复”写出输入与预测,再推进到“识别威胁主体”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.5.4 数字签名
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 对“9.5.4 数字签名”先在“识别威胁主体”写出输入与预测,再推进到“认证访问者”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.5.5 可信平台模块
从威胁主体、信任边界和保护域开始,分别验证认证、授权、完整性与审计;单一防线不能代替最小权限和纵深防御。 对“9.5.5 可信平台模块”先在“认证访问者”写出输入与预测,再推进到“检查保护域”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.6 认证
从威胁主体、信任边界和保护域开始,分别验证认证、授权、完整性与审计;单一防线不能代替最小权限和纵深防御。 对“9.6 认证”先在“检查保护域”写出输入与预测,再推进到“执行密码协议”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.6.1 使用物理识别的认证方式
从威胁主体、信任边界和保护域开始,分别验证认证、授权、完整性与审计;单一防线不能代替最小权限和纵深防御。 对“9.6.1 使用物理识别的认证方式”先在“执行密码协议”写出输入与预测,再推进到“阻断漏洞利用”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.6.2 使用生物识别的认证方式
从威胁主体、信任边界和保护域开始,分别验证认证、授权、完整性与审计;单一防线不能代替最小权限和纵深防御。 对“9.6.2 使用生物识别的认证方式”先在“阻断漏洞利用”写出输入与预测,再推进到“审计并恢复”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.7 软件漏洞
从威胁主体、信任边界和保护域开始,分别验证认证、授权、完整性与审计;单一防线不能代替最小权限和纵深防御。 对“9.7 软件漏洞”先在“审计并恢复”写出输入与预测,再推进到“识别威胁主体”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.7.1 缓冲区溢出攻击
从威胁主体、信任边界和保护域开始,分别验证认证、授权、完整性与审计;单一防线不能代替最小权限和纵深防御。 对“9.7.1 缓冲区溢出攻击”先在“识别威胁主体”写出输入与预测,再推进到“认证访问者”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.7.2 格式化字符串攻击
从威胁主体、信任边界和保护域开始,分别验证认证、授权、完整性与审计;单一防线不能代替最小权限和纵深防御。 对“9.7.2 格式化字符串攻击”先在“认证访问者”写出输入与预测,再推进到“检查保护域”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.7.3 悬垂指针
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 对“9.7.3 悬垂指针”先在“检查保护域”写出输入与预测,再推进到“执行密码协议”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.7.4 空指针间接引用攻击
从威胁主体、信任边界和保护域开始,分别验证认证、授权、完整性与审计;单一防线不能代替最小权限和纵深防御。 对“9.7.4 空指针间接引用攻击”先在“执行密码协议”写出输入与预测,再推进到“阻断漏洞利用”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.7.5 整数溢出攻击
从威胁主体、信任边界和保护域开始,分别验证认证、授权、完整性与审计;单一防线不能代替最小权限和纵深防御。 对“9.7.5 整数溢出攻击”先在“阻断漏洞利用”写出输入与预测,再推进到“审计并恢复”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.7.6 命令注入攻击
从威胁主体、信任边界和保护域开始,分别验证认证、授权、完整性与审计;单一防线不能代替最小权限和纵深防御。 对“9.7.6 命令注入攻击”先在“审计并恢复”写出输入与预测,再推进到“识别威胁主体”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.7.7 检查时间/使用时间攻击
从威胁主体、信任边界和保护域开始,分别验证认证、授权、完整性与审计;单一防线不能代替最小权限和纵深防御。 对“9.7.7 检查时间/使用时间攻击”先在“识别威胁主体”写出输入与预测,再推进到“认证访问者”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.8 内部攻击
从威胁主体、信任边界和保护域开始,分别验证认证、授权、完整性与审计;单一防线不能代替最小权限和纵深防御。 对“9.8 内部攻击”先在“认证访问者”写出输入与预测,再推进到“检查保护域”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.8.1 逻辑炸弹
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 对“9.8.1 逻辑炸弹”先在“检查保护域”写出输入与预测,再推进到“执行密码协议”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.8.2 后门陷阱
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 对“9.8.2 后门陷阱”先在“执行密码协议”写出输入与预测,再推进到“阻断漏洞利用”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.8.3 登录欺骗
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 对“9.8.3 登录欺骗”先在“阻断漏洞利用”写出输入与预测,再推进到“审计并恢复”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.9 恶意软件
从威胁主体、信任边界和保护域开始,分别验证认证、授权、完整性与审计;单一防线不能代替最小权限和纵深防御。 对“9.9 恶意软件”先在“审计并恢复”写出输入与预测,再推进到“识别威胁主体”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.9.1 特洛伊木马
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 对“9.9.1 特洛伊木马”先在“识别威胁主体”写出输入与预测,再推进到“认证访问者”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.9.2 病毒
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 对“9.9.2 病毒”先在“认证访问者”写出输入与预测,再推进到“检查保护域”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.9.3 蠕虫
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 对“9.9.3 蠕虫”先在“检查保护域”写出输入与预测,再推进到“执行密码协议”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.9.4 间谍软件
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 对“9.9.4 间谍软件”先在“执行密码协议”写出输入与预测,再推进到“阻断漏洞利用”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.9.5 rootkit
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 对“9.9.5 rootkit”先在“阻断漏洞利用”写出输入与预测,再推进到“审计并恢复”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.10 防御
从威胁主体、信任边界和保护域开始,分别验证认证、授权、完整性与审计;单一防线不能代替最小权限和纵深防御。 对“9.10 防御”先在“审计并恢复”写出输入与预测,再推进到“识别威胁主体”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.10.1 防火墙
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 对“9.10.1 防火墙”先在“识别威胁主体”写出输入与预测,再推进到“认证访问者”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.10.2 反病毒和抑制反病毒技术
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 对“9.10.2 反病毒和抑制反病毒技术”先在“认证访问者”写出输入与预测,再推进到“检查保护域”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.10.3 代码签名
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 对“9.10.3 代码签名”先在“检查保护域”写出输入与预测,再推进到“执行密码协议”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.10.4 囚禁
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 对“9.10.4 囚禁”先在“执行密码协议”写出输入与预测,再推进到“阻断漏洞利用”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.10.5 基于模型的入侵检测
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 对“9.10.5 基于模型的入侵检测”先在“阻断漏洞利用”写出输入与预测,再推进到“审计并恢复”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.10.6 封装移动代码
从威胁、可信系统、保护机制和形式化模型进入密码学、认证、软件漏洞、内部攻击、恶意软件与多层防御。 对“9.10.6 封装移动代码”先在“审计并恢复”写出输入与预测,再推进到“识别威胁主体”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.10.7 Java安全性
从威胁主体、信任边界和保护域开始,分别验证认证、授权、完整性与审计;单一防线不能代替最小权限和纵深防御。 对“9.10.7 Java安全性”先在“识别威胁主体”写出输入与预测,再推进到“认证访问者”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.11 有关安全的研究
从威胁主体、信任边界和保护域开始,分别验证认证、授权、完整性与审计;单一防线不能代替最小权限和纵深防御。 对“9.11 有关安全的研究”先在“认证访问者”写出输入与预测,再推进到“检查保护域”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
9.12 小结
本节用“每次敏感操作都由已认证主体在明确保护域中获得最小权限;机密性、完整性、可用性和审计证据不能由单层防线假设。”回查正常、边界、失败和恢复四条轨迹,而不是只重复术语。 对“9.12 小结”先在“检查保护域”写出输入与预测,再推进到“执行密码协议”并比较内核可见状态。实验固定版本、输入和环境,只改变一个条件;发生偏离时保存首个分叉、责任层和逆序清理结果。
状态与失败矩阵
| 对象 | 正常状态 | 边界样本 | 失败证据 | 恢复条件 |
|---|---|---|---|---|
| 进程与同步 | 状态转换和同步边明确 | 抢占、竞争、低容量 | 调度与等待图 | 唤醒并回收全部流 |
| 地址与存储 | 映射、权限、元数据有效 | 缺页、空间耗尽、断电 | 页表与日志轨迹 | 重建一致映射或事务 |
| 设备与虚拟化 | 请求和完成一一对应 | 超时、迁移、过量提交 | 控制器与客户机状态 | 清理后相同输入重放 |
| 分布式与安全 | 所有权、身份、协议明确 | 节点失联、越权、重放 | 消息与审计记录 | 恢复隔离和最小权限 |
先预测:若在“检查保护域”注入失败,哪个内核状态应最先变化,后续哪个阶段必须停止提交副作用?写出答案后再操作实验控件。
可重放实验记录
trace = []
for stage in ["识别威胁主体", "认证访问者", "检查保护域", "执行密码协议", "阻断漏洞利用", "审计并恢复"]:
expected = predict(stage, kernel_state)
actual = execute(stage, kernel_state)
trace.append({ stage, expected, actual, owner, cleanup })
stop_at_first_divergence(expected, actual)book: 现代操作系统(原书第4版)
edition: 2017-07-19
page: mos-09-security
formal_scope: 51条
sample: normal | boundary | failure | recovery
predict_before_run: true
capture_first_divergence: true
replay_same_input: truefreeze version, input, workload, and environment
record system calls, kernel state, resources, devices, and synchronization
change exactly one condition
stop at the first divergent boundary
clean up in reverse acquisition order
replay the same input and verify recovery常见误区与故障注入
四类样本与验收
| 样本 | 注入方式 | 必查证据 | 通过条件 |
|---|---|---|---|
| 正常 | 固定版本、负载和输入 | 全阶段状态与输出 | 与预测一致 |
| 边界 | 极值、空输入、低容量 | 终止、权限与资源状态 | 不越界不泄漏 |
| 失败 | 错地址、设备超时、断连或竞争 | 首个错误与责任层 | 失败被隔离 |
| 恢复 | 逆序清理后重放 | 状态、输出、持久化和审计 | 回到受控结果 |
练习
小结
- 可信计算基:连接“识别威胁主体”的请求与内核状态。
- 保护域:连接“认证访问者”的资源所有权。
- 权能:连接“检查保护域”的同步或权限边界。
- 认证:连接“执行密码协议”的失败传播。
- 纵深防御:连接“阻断漏洞利用”的恢复证据。
- 51个正式目录坐标已进入本页或全书资源链,不以泛化主题替代原书章节。
- 返回值只是证据之一,内核状态、资源、持久化和清理共同决定是否通过。