Internet的安全性和许多其他应用程序都取决于少数开源加密库:其中任何一个中的一种易用性都可能损害很大一部分的网络流量。尽管有可能产生安全影响,但尚不清楚加密软件中漏洞的特征和原因。在这项工作中,我们对加密文库及其产生的脆弱性进行了第一个系统的纵向分析。我们从国家漏洞数据库,单个项目存储库和邮件列表以及所有广泛使用的加密库中的其他相关资源中收集数据。在调查这些漏洞的原因时,我们发现了这些图书馆的复杂性及其安全性之间存在相关性的证据,从经验上证明了肿胀的加密代码库的潜在风险。我们最有趣的发现是,在C和C ++中编写的库中有48.4%的漏洞主要是由内存安全问题引起或加剧的,这表明系统级的错误是这些系统安全问题的主要协助者。加密设计和实施问题占所有图书馆漏洞的27.5%,侧通道攻击另外提供了19.4%。我们发现核心库组件之间的复杂性水平和脆弱性的实质性差异:例如,超过三分之一的漏洞位于SSL/TLS协议的实施中,为这些库中的Codebase质量和安全性改进提供了可行的证据。
主要关键词