论文标题
重大安全事件对开源项目的影响:OpenSSL的情况
The Impact of a Major Security Event on an Open Source Project: The Case of OpenSSL
论文作者
论文摘要
背景:令人振奋的脆弱性在2014年引起了国际关注。几乎垂死的项目是公共网络服务器和十亿个移动设备的关键安全组件。这种脆弱性导致了对OpenSSL的新投资。 目的:这项研究的目的是确定漏洞的漏洞如何改变OpenSSL的软件演变。我们研究漏洞,代码质量,项目活动和软件工程实践的变化。 方法:我们使用混合方法方法,从网站收集多种类型的定量数据和定性数据,以及与从事后脑后变化的开发人员进行的访谈。我们使用回归不连续性分析来确定由Heartbleed产生的代码和项目活动指标的水平和斜率的变化。 结果:OpenSSL项目在Heartbleed后对代码质量和安全性做出了巨大改进。到2016年底,每月的提交数量增加了两倍,发现了91个漏洞并固定了,代码复杂性大大降低,OpenSSL获得了CII最佳实践徽章,证明其对良好的开源开发实践的使用。 结论:OpenSSL项目提供了一个模型,讲述了开源项目在安全事件后如何适应和改进的模型。 OpenSSL的演变表明,已知漏洞的数量不是项目安全性的有用指标。少数漏洞可能只是表明一个项目并没有花费太多的努力来寻找漏洞。这项研究表明,项目活动和CII徽章最佳实践可能是代码质量和安全性的指标,而不是漏洞计数。
Context: The Heartbleed vulnerability brought OpenSSL to international attention in 2014. The almost moribund project was a key security component in public web servers and over a billion mobile devices. This vulnerability led to new investments in OpenSSL. Objective: The goal of this study is to determine how the Heartbleed vulnerability changed the software evolution of OpenSSL. We study changes in vulnerabilities, code quality, project activity, and software engineering practices. Method: We use a mixed methods approach, collecting multiple types of quantitative data and qualitative data from web sites and an interview with a developer who worked on post-Heartbleed changes. We use regression discontinuity analysis to determine changes in levels and slopes of code and project activity metrics resulting from Heartbleed. Results: The OpenSSL project made tremendous improvements to code quality and security after Heartbleed. By the end of 2016, the number of commits per month had tripled, 91 vulnerabilities were found and fixed, code complexity decreased significantly, and OpenSSL obtained a CII best practices badge, certifying its use of good open source development practices. Conclusions: The OpenSSL project provides a model of how an open source project can adapt and improve after a security event. The evolution of OpenSSL shows that the number of known vulnerabilities is not a useful indicator of project security. A small number of vulnerabilities may simply indicate that a project does not expend much effort to finding vulnerabilities. This study suggests that project activity and CII badge best practices may be better indicators of code quality and security than vulnerability counts.