自动化代码审计的首位客户 - 代码审计技术的重大突破

自动化代码审计的首位客户

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

上个月,我们为DARPA网络大挑战开发的网络推理系统(CRS)完成了一项创举——它以比人工审计更短的时间、更低的成本,审计了规模更大、细节更复杂的代码。

我们的CRS为Mozilla安全开源基金(SOS)审计了zlib压缩库。据我们所知,这是首个由CRS完成的付费自动化安全审计案例。这标志着软件安全审计方式的重大变革,也是保障互联网核心基础设施安全的重要一步。

从无到有的选择

每年,各类组织都要花费数万美元进行代码审计。在典型的为期两周的审计中,安全专家收取高额费用,但其效果受限于代码量、文档质量以及人类自身的局限——会疲劳、会分心等。人类每天有效分析复杂C代码的时间非常有限。

而且,人类审计员可能只精通某些特定类型的漏洞或部分C语言特性,要掌握全面知识需要15年以上的经验积累。这种级别的专家对非营利组织来说成本过高,在短期审计中也很难遇到。

相比之下,使用软件进行审计更加合理。软件不会疲劳,可以同样高效地审计陈旧的混淆代码和现代的注释完善代码。更重要的是,软件能在每次更新后自动重新审计,确保修复正确且没有引入新错误。

Mozilla的SOS计划

今年8月,Mozilla通过其安全开源基金(SOS)委托我们对zlib开源压缩库进行安全评估。zlib几乎被所有需要压缩/解压缩功能的软件包使用,包括您正在阅读本文时使用的某些软件。

虽然zlib代码量不大,但隐藏着惊人的复杂性:编译器优化可能导致机器代码与源码不完全对应;某些漏洞可能因未定义行为而间歇性出现;还有些漏洞只在极端条件下触发。对于像zlib这样经过严格审查的代码库,剩下的漏洞可能过于微妙,人类在常规审计中难以发现。

要发现这些微妙漏洞,Mozilla需要支付数倍的费用。但作为非营利组织,他们还有许多其他项目需要审计和改进。

高性价比的全面覆盖

自动化审计使这个项目对Mozilla来说负担得起,对我们而言也切实可行。他们只需支付我们常规收费的20%。

我们的自动化评估系统将Trail of Bits CRS与TrustInSoft验证软件结合,能够:

  • 识别内存损坏漏洞
  • 生成测试不同程序路径的输入
  • 标记未来可能导致问题的代码

阅读我们提交给Mozilla的完整报告,详细了解我们的CRS如何以极低成本发现了比人工审计更多的漏洞。

阅读Mozilla关于此报告的声明

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

[联系我们获取更多信息]

如果您喜欢这篇文章,请分享至:
[Twitter] [LinkedIn] [GitHub] [Mastodon] [Hacker News]
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
公众号二维码

posted @ 2025-08-19 08:01  qife  阅读(6)  评论(0)    收藏  举报