安全模型
这一页是内核自身的防护基线,不是 FUAI。FUAI 管的是“让模型在边界内活动”,这里管的是“边界本身不塌”。两者是不同层次的东西,混为一谈会让两边都说不清。
- 不信任任何线程指针 —— 所有用户地址都要经过 copy_from_user / strnlen_user 的边界校验,没有例外通道。
- 能力句柄 + 权限掩码 —— 文件、端口、GPU 资源全部建模为句柄加权限掩码,默认最小权限。形式上像 NT handle,但默认值相反。
- fork/exec 中间态不泄漏挂起句柄 —— 针对 PIE 场景的一条具体要求。
- 签名与“仅运行已签名” —— .run 走 Ed25519,可配置为只接受已签名的包。
- 垫片全 clean-room —— 三平台垫片不包含任何微软或苹果代码。这既是法律边界,也是“兼容 = 接口契约而非容器模拟”这句话的前提。
一条设计的对称性
内核安全模型与 FUAI 用的是同一个手法:把“必须绝对可靠”的面积压小,其余部分放到可以失败、可以重启的地方。Ring0 只留 CPU 与空间管理,是空间上的压缩;能力域把模型能碰到的对象枚举出来,是权限上的压缩。两者都不是“加一层检查”,而是“减少需要检查的东西”。
不要把这一页当成安全审计报告。
它描述的是设计意图与已实现的具体机制。这是一个学生个人项目,没有做过第三方渗透测试;把它当作“已被验证安全”来读会超出它实际主张的范围。