自动化代码审计的首个客户 - The Trail of Bits博客
Dan Guido
2016年10月4日
cyber-grand-challenge, press-release, static-analysis
上个月,我们为DARPA网络大挑战开发的网络推理系统(CRS)在更短的时间内,以更低的成本,对更大量的代码进行了比人工审计更详细的审计。
我们的CRS为Mozilla安全开源(SOS)基金审计了zlib。据我们所知,这是CRS进行的首次付费自动化安全审计实例。
这代表了软件安全审计方式的转变。这是保护互联网核心基础设施的重大进步。
从无到有的选择
每年,公共、私人和非营利组织在代码审计上花费数万美元。
在典型的为期两周的审计中,安全专业人员收取高额费用进行审计。他们的效率会受到代码量、代码文档和组织方式以及人类固有局限性(如疲劳、休假等)的限制。
一个人每天只能有效分析复杂C代码有限的小时数。
此外,人类评估员可能在某些可能的缺陷或C语言子集方面有丰富经验,但完整或近乎完整的知识很难获得。我们谈论的是需要15年或更长时间才能获得的专业知识。这种水平的知识对非营利组织来说负担不起,在1-2周的评估中也不常见。
让软件来进行审计更有意义。软件不会疲劳。它可以像审计现代、注释良好的代码一样轻松地审计旧的、混淆的代码。软件可以在每次更新后自动重新审计代码,确保修复正确且不会引入新错误。
Mozilla的SOS
8月,作为其安全开源(SOS)基金的一部分,Mozilla委托我们对zlib(一个开源压缩库)进行安全评估。Zlib几乎用于所有需要压缩或解压缩的软件包中。您正在阅读本文的多个软件都捆绑了zlib。
它的代码库相对较小,但在这小规模中隐藏着很多复杂性。首先,由于编译器优化,在机器上运行的代码可能与源代码不完全匹配。一些错误可能由于未定义行为的使用而偶尔发生。其他错误可能只在极其特殊条件下触发。在像zlib这样经过充分检查的代码库中,剩下的错误可能太微妙,人类在典型审计期间无法发现。
要通过人工审计识别任何特别微妙的错误,Mozilla将不得不花费数万美元。但他们是一个非营利组织,还有一系列其他项目需要审计和改进。
高性价比的全面覆盖
自动化使这次合作对Mozilla来说负担得起,对我们来说也可行。他们支付了我们通常对此类工作收费的20%。
我们的自动化评估将Trail of Bits CRS与TrustInSoft的验证软件配对,以识别内存损坏漏洞,创建压力测试不同程序路径的输入,并识别未来可能导致错误的代码。
阅读我们提交给Mozilla的报告。(它详细介绍了我们的CRS与TrustinSoft的验证程序如何以人工审计成本的一小部分发现更多漏洞。)
阅读Mozilla关于该报告的发布。
对于致力于保护互联网核心基础设施的非营利组织来说,这是一个以传统成本的一小部分获得详细评估和全面覆盖的绝佳机会。
联系我们获取更多信息。
如果您喜欢这篇文章,请分享: Twitter LinkedIn GitHub Mastodon Hacker News
页面内容
从无到有的选择
Mozilla的SOS
高性价比的全面覆盖
近期文章
非传统创新者奖学金
在您的PajaMAS中劫持多代理系统
我们构建了MCP一直需要的安全层
利用废弃硬件中的零日漏洞
Inside EthCC[8]:成为智能合约审计师
© 2025 Trail of Bits.
使用Hugo和Mainroad主题生成。