自动化代码审计的首位客户:Mozilla SOS项目与CRS技术突破

本文详细介绍Trail of Bits为DARPA网络大挑战开发的网络推理系统(CRS)如何首次实现付费自动化安全审计,通过结合TrustInSoft验证软件高效检测zlib库内存漏洞,以20%传统成本完成深度代码审计。

自动化代码审计的首位客户 - Trail of Bits博客

Dan Guido
2016年10月4日
网络大挑战, 新闻稿, 静态分析

上月,我们为DARPA网络大挑战开发的网络推理系统(CRS)在更短时间内以更低成本、更详细地审计了远超人类能力的代码量。

我们的CRS为Mozilla安全开源(SOS)基金审计了zlib。据我们所知,这是CRS首次实现付费自动化安全审计实例。

这标志着软件安全审计方式的重大转变,是迈向保护互联网核心基础设施的重要一步。

从无到有的选择

每年,公共、私营和非营利组织在代码审计上花费数万美元。在典型的两周审计中,安全专家收取高额费用,但其效果受代码量、文档质量及人类固有局限(如疲劳、分心等)的限制。

人类每天有效分析复杂C代码的时间有限。评估人员可能对某些漏洞子集或C语言有丰富经验,但全面知识难以获取——这需要15年以上的专业积累。这种知识水平对非营利组织来说既不可负担,在1-2周的评估中也罕见。

由软件执行审计更合理:软件不会疲劳,能平等审计陈旧混淆代码与现代注释良好代码,且可在每次更新后自动重新审计以确保修复正确且不引入新错误。

Mozilla的SOS项目

8月,Mozilla作为其安全开源(SOS)基金的一部分,委托我们对开源压缩库zlib进行安全评估。Zlib几乎被所有需要压缩/解压缩的软件包使用,包括您正在阅读本文的软件。

其代码库虽小但复杂度高:机器运行代码可能因编译器优化与源码不完全匹配;某些漏洞可能因未定义行为偶尔出现;其他可能仅在极端条件下触发。在zlib这样经过充分检查的代码库中,剩余漏洞可能过于微妙,人类在常规审计中难以发现。

若要通过人工审计识别这些微妙漏洞,Mozilla需额外支付数万美元。但作为非营利组织,他们还有大量其他项目需审计和改进。

高性价比的全面覆盖

自动化使审计对Mozilla可负担,对我们可行。他们仅支付了此类工作常规费用的20%。

我们的自动化评估结合Trail of Bits CRS与TrustInSoft验证软件,成功识别内存破坏漏洞、创建压力测试不同程序路径的输入,并标记未来可能导致错误的代码。

阅读我们提交给Mozilla的报告(详细说明CRS如何以人工审计成本的一小部分发现更多漏洞)
阅读Mozilla关于该报告的发布

对于致力于保护互联网核心基础设施的非营利组织,这是以传统成本一小部分获得详细、全面评估的绝佳机会。

联系我们获取更多信息

若喜欢本文,请分享至:
Twitter | LinkedIn | GitHub | Mastodon | Hacker News


页面内容
从无到有的选择 | Mozilla的SOS | 高性价比的全面覆盖 | 近期文章
使用Deptective调查依赖项 | AIxCC评分轮次进行中! | 智能合约超越私钥风险的成熟化
Go解析器中意外的安全陷阱 | 我们审查首批DKLs23库的发现 | Silence Laboratories的23个库
© 2025 Trail of Bits.
使用Hugo和Mainroad主题生成。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计