从秘密集成渠道挖掘安全漏洞

2020-09-07 18:34:11

下载PDF摘要:公共开发过程是开放源码项目的一个关键特征。然而,漏洞的修复通常是在一小群受信任的维护人员之间私下讨论的,并且在没有事先公开参与的情况下集成在一起。这被认为是为了防止过早披露,并应对禁运和保密协议(NDA)的规定。虽然常规的开发活动会留下公开可用的痕迹,但对绕过标准流程的漏洞的修复不会留下公开的痕迹。我们提出了一种基于数据挖掘的方法来检测由于这种对标准过程的违反而产生的代码片段。通过系统地将公共开发构件映射到源代码存储库,我们可以排除常规流程活动,并推断源于非公共集成渠道的违规行为。对于许多系统中最关键的组件Linux内核,我们将我们的方法应用到Linux 5.4发布之前的7个月。我们发现29个提交了该地址的12个漏洞。对于这些漏洞,我们的方法在公开披露和推出修复程序之前提供了2到179天的时间优势来设计漏洞。开放开发过程中建立的负责任的披露方法本应限制安全漏洞的过早可见性,但我们的方法表明,相反,它们打开了额外的可能性,以揭示破坏这一前提的这些变化。最后,我们讨论了影响和部分对策。