附录 B 隔离技术与工具速查


附录 B 隔离技术与工具速查

三张分类表:三级隔离技术、加固工具、审查与观测工具。只分类、不排名——选型永远按攻击面(第 1.2 节决策树),工具属性标注随行;命令与参数一律为写法示意,以各官方文档为准。

一、三级隔离技术分类

级别 代表技术 隔离边界 内核漏洞攻击面 接入成本 适用(第 1.2 节)
进程级 systemd-run 沙箱属性、seccomp、能力裁剪 系统调用与进程属性约束 暴露 低 辅助手段、轻量场景
容器级 Docker 加固容器(四道边界) 命名空间 + 共享内核 暴露(结构性天花板) 低 读代码型、单租户读写型
容器级(增强) gVisor(runsc) 用户态内核 Sentry 拦截系统调用 收敛 极低(换 runtime) 单租户任意执行型
微 VM 级 Firecracker(+ jailer、快照池) 硬件虚拟化、独立内核 基本消除 高(内核、rootfs、网络自管) 多租户、对外、平台化
微 VM 级(产品化) E2B(Firecracker + 快照池 + SDK) 同上,加托管与预热 基本消除 中(用其服务) 不想自建 VM 池的团队

关键数字备查(属性随行):runsc 典型启动延迟约 50~100 毫秒(社区资料);Firecracker 启动不超过 125 毫秒、每 VM 内存开销小于 5 MiB、每秒约 150 个 microVM(官方数据);E2B 冷启动约 150 毫秒(官方宣称)。runc 历史逃逸漏洞 CVE-2019-5736、CVE-2024-21626(官方记录)是「共享内核天花板」的注脚。

二、加固工具分类

类别 工具 / 手段 用途 本书出处
文件系统 --read-only、--tmpfs /tmp:rw,noexec,nosuid 只读根 + 受控临时区 第 2.1 节
挂载 -v 工作区:/workspace:rw(按需 :ro) 唯一业务读写点 第 2.1 节
网络 --network none;出站白名单代理 断网或收窄外联 第 2.1、5.2 节
能力 --cap-drop ALL、--security-opt no-new-privileges、非 root 用户 特权最小化 第 2.1 节
资源 --memory、--cpus、--pids-limit 资源耗尽硬顶 第 2.1 节
运行时 --runtime=runsc 用户态内核换装 第 2.2 节
VM 侧 Firecracker、jailer、快照池 独立内核与宿主收紧 第 2.2 节
进程级 systemd-run 沙箱属性(写法示意) 无 Docker 环境的替代 第 1.1 节
执行包装 sandbox_run.py(自建) 统一超时、审计、退出码 第 2.1 节
执行收拢 gateway.py(自建) 校验、审批分流、截断回传 第 2.3 节

⚠️ 高危反例速记(出现任一即沙箱失效,第 2.1 节):挂载 Docker Socket;挂载宿主根目录;以 root 跑沙箱进程并放开能力。速查时先扫这三条,再看参数齐不齐。

三、权限与审计工具分类

类别 工具 / 手段 用途 本书出处
命令策略 policy.py(allow / deny / 审批提示三层) 事前判定 第 3.1 节
路径作用域 path_scope_ok(封 ~ 、封 ..、收敛绝对路径) 参数级路径检查 第 3.1 节
审批门 三出口 + 回执完整展示 + 合并提示 灰区人类确认 第 3.1 节
审计落盘 auditor.py(JSONL + fsync + 哈希链) 防篡改事件链 第 3.2 节
回放查询 replay_query.py(按 run_id 重建时间线) 取证与复盘 第 3.2 节
指标统计 deny 率、审批通过率、超时率 门失效与摩擦监测 第 3.2 节

四、供应链与运行时工具分类

类别 工具 / 手段 用途 本书出处
安装面检查 find 清单 + 可执行位 + 钩子检索(写法示意) 装前第一步 第 4.1 节
读取面检查 敏感路径与环境变量 grep(写法示意) 装前第二步 第 4.1 节
预览检查 断网沙箱干跑 + replay 回看 装前第三步 第 4.1 节
差异比对 diff -ruN 新旧版本(写法示意) 更新审查 第 4.1 节
版本锁定 skills.lock.json + lock_verify.py 钉死进料身份与内容 第 4.2 节
行为信号 四类信号表(观测点 + 指纹 + 阈值) 运行时识别 第 5.1 节
熔断 breaker.py(滑动窗口 + 动作分级) 自动止损 第 5.1 节
红队回归 redteam_regression.py(四类用例 + CI 卡点) 变更验证 第 6.1 节

五、自建构件清单(全书代码索引)

构件 语言 职责一句话 出处
Dockerfile Dockerfile 沙箱基础镜像:最小 Python 环境、非 root、空入口 第 2.1 节
sandbox_run.py Python 加固容器执行包装器:超时、审计、退出码 第 2.1 节
gateway.py Python 执行网关:deny 优先、白名单、路径作用域、截断 第 2.3 节
policy.py Python 第一版策略:精确优先、deny 兜底、灰区进审批 第 3.1 节
auditor.py Python 审计器:JSONL 追加、fsync、哈希链、verify 第 3.2 节
replay_query.py Python 按 run_id 重建命令时间线 第 3.2 节
lock_verify.py Python 校验安装树与锁定文件一致 第 4.2 节
breaker.py Python 滑动窗口熔断器 第 5.1 节
redteam_regression.py Python 红队回归批量判分 第 6.1 节

💡 使用建议:以上构件全部是「最小可跑」的教学实现,生产化差距集中在边角(realpath 归一、认证与 TLS、远程审计转发、并发与配额)——各章「边界诚实说明」处已逐一点名,搬运前先读那几段。

六、生态现状与选型提醒

  • 隔离层:三级谱系与工具面相对成熟,Docker、gVisor、Firecracker 均有官方文档与生产案例(第 2 章调研锚点),选型可放心对照官方资料。
  • Agent 侧监控:行为信号与熔断目前多靠自建(本书 breaker.py 路线),通用可观测组件只提供数据面(指标、日志),信号归类与动作分级要自己写。
  • Skill / MCP 审查:生态还年轻——静态扫描对恶意 Skill 漏检明显(社区资料,量级参考),锁定与流水线多从传统供应链工程平移(本书第 4 章路线);选工具时优先看它能否导出可锁定的清单与哈希,而不是看扫描器宣称的检出率。
  • 提醒:本表不排名。任何「最佳工具」清单都会过时,判断框架(按攻击面选级别、按构件缺口选工具)不会。

作者与出处
原作者: 灏天文库
整理: 灏天文库整理
本站整理收录,版权归原作者/开源协议所有;欢迎通过原文链接访问源仓库。
发布者: 作者: 灏天文库 转发
评论区 (0)
U