第9章学习笔记:保护、安全与可信执行
课程笔记从主体、客体、权限和信任边界建立可验证的系统安全模型。
关联:章节 第9章 保护、安全与可信执行
第9章笔记:保护、安全与可信执行
本章问题
从主体、客体、权限和信任边界建立可验证的系统安全模型。 本章不是七个术语的并列清单,而是一条从可观察现象到内部状态、从内部状态到工程证据的因果链。学习时始终标出对象身份、队列或表项、触发事件、权限边界和不可破坏的不变量。
七节机制连接
- 保护域与最小权限:保护域定义主体当前可对哪些客体执行哪些操作,最小权限要求只给完成任务所需权能;实验入口为给备份服务拆分读取数据、写备份和删除源数据权限,验证删除权不应默认授予;反查边界是管理员身份也应按任务降权;一次授权成功不能证明长期保持最小权限。
- 访问矩阵、ACL与能力:访问矩阵可按客体存ACL或按主体持能力;二者在委托、撤销和查问方向上不同;实验入口为为文档协作系统分别设计ACL与不可伪造能力令牌,演练分享与紧急撤销;反查边界是能力不是普通可猜字符串;复制、传递和撤销语义必须由系统明确控制。
- 身份、认证与授权:认证建立谁在请求,授权判断该身份在当前上下文能否操作,审计记录实际发生了什么;实验入口为登录后访问他人文件,逐步检查会话身份、资源所有者、角色、策略和审计字段;反查边界是已认证不等于有权限;加密传输也不自动修复越权。
- 隔离、沙箱与系统调用过滤:地址空间、用户ID、命名空间、cgroup和系统调用过滤从不同维度缩小影响面;实验入口为为不可信图片转换器设计只读输入、受限输出、无网络、CPU/内存限额和系统调用白名单;反查边界是容器共享宿主内核,不应默认等同硬件虚拟机隔离强度。
- 常见内核攻击面与防护:越界、竞态、混淆代理和驱动输入会越过信任边界,防护依赖验证、最小接口和纵深隔离;实验入口为分析检查文件权限后再打开的TOCTOU竞态,改用基于已打开描述符的操作;反查边界是单次检查后对象可能变化;路径字符串验证不能替代对最终对象的权限判断。
- 实验:Unix权限位判定:访问判定按所有者、所属组、其他三组位选择其一,再检查读写执行位;实验入口为输入文件uid/gid/mode与进程uid/groups/operation,输出ALLOW或DENY;反查边界是传统权限位之外还可能有ACL、能力和强制访问控制;实验模型需声明范围。
- 实验:能力令牌最小授权:令牌携带不可伪造的客体、操作和有效期,验证器同时检查签名模型、范围与时间;实验入口为输入令牌权限集合、目标与操作,输出ALLOW或最小缺失权限;反查边界是拥有读目录能力不应自动推出读所有后代;委托范围必须显式收窄。
请给七节画依赖箭头:前一节留下的状态或接口怎样成为下一节输入?每条箭头补单位、事件或保护条件。若任何一节可以随意搬走且不影响上下文,说明你还没有建立章内联系。
章内实验
选择本章至少一个代码实验,从空环境运行全部内联测试,再新增一个资源耗尽、非法迁移、同刻事件或崩溃输入。保存输入、输出、参考模型、首个偏差和修复后的回归证据。不可复现的睡眠竞态或人工截图不算实验结果。
错题闭环
把错误编码为对象混淆、状态跳步、单位错误、队列顺序、竞态遗漏、权限越界或恢复假设。不要只写粗心。一周后更换数字和事件顺序重做阶段卷;能在新输入下重建机制而非记住答案,才算迁移成功。