主要观点:
- 15 年前有人告知 NORAD 展示用的 Busybox 代码能保卫国家,因其代码量少便于审计。
- 系统被入侵时代码再安全也无用,应构建最小安全基础系统并审计,如今启动到 shell 提示符的最小系统是 3 个包。
- 要创建能从自身源代码重建的微型自托管系统,理想是 4 个包(内核、libc、toybox 和编译器工具链),作者的新实现基于 mkroot 等。
- 下一步是应对“信任信任”攻击,通过不同编译器编译编译器源代码再重建来清除二进制攻击,且需审计最小本地开发环境的二进制。
- 开发环境应小、简单、可理解、可维护且可审计,用同一语言编写有助于简化审计,C 语言较合适。
- 能定期重现最小本地开发环境并自动构建到任意复杂度是重要回归测试,作者的本地构建与架构无关。
- 对硬件做同样的事是另一系列工作,需要开放设计和工具等。
关键信息:
- 提及的相关项目及链接:aboriginal linux(https://landley.net/aborigina...)、mkroot(https://landley.net/toybox/fa...)、qcc(https://landley.net/qcc)、Veracode 等。
- 相关人员在 Twitter 上的账号:@0xabad1dea @aloria @hacks4pancakes @malwareunicorn @fox0x01 等。
重要细节:
- 早期 NORAD 展示用 Busybox 代码量少便于审计。
- 最小系统启动到 shell 提示符需 3 个包(内核、libc、应用程序)。
- 作者新实现基于 mkroot 等,目标是实现 4 个包的系统。
- “信任信任”攻击及应对方法。
- 开发环境需满足的条件及 C 语言的优势。
- 本地构建与架构无关及相关回归测试。
- 对硬件工作的介绍及相关要求。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。