开源具有诸多优势,但对其使用管理不当可能会导致重大的法律、业务和技术风险。大多数研发和设计经理都知道他们必须管理开源许可证,但很少有人监控他们使用的开源库中的安全漏洞和其他错误。
您是否了解在使用开源之前、期间和之后监控其漏洞的重要性?
开源代码与其他代码一样,根据 Coverity 的一项研究,它可能包含与其他软件相似的缺陷率(约每 1000 行代码 1 个缺陷)。根据 Veracode 的《软件安全状况报告》,70% 的应用程序未能遵守基本的企业安全策略,例如 OWASP Top 10 和 CWE/SANS Top 25。然而,虽然软件开发人员定期严格地测试自己的代码,并倾向于立即修复安全漏洞,但大多数人很少关注随产品附带的开源库。
流行的开源项目当然会受到许多用户的审查,他们通常比其他方式更快地发现缺陷。这些缺陷也有很好的文档记录。正如我们所说,通用漏洞披露 (CVE) 数据库显示了数百个与开源库直接相关的安全漏洞。更棒的是,开源社区通常更快地修复和升级他们的代码(有时一年超过五次)。不幸的是,不监控这些发现和更新的开发人员将不知道这些漏洞,并且显然不会升级他们使用的库的版本。
根据 White Source 的研究,85% 的软件项目使用过时的库。
当您选择使用开源解决方案时,通常会选择给定库的最新版本。并且,您知道从那时起,您必须持续监控各个存储库中新发现的漏洞。您可能也知道,有一些开源管理系统可以在您正在使用的特定库中发现安全漏洞时主动提醒您(以及在发布修复这些和其他缺陷的新版本时!)
请记住:您的产品不仅随附您自己的代码,还随附您使用的开源库的代码。您自己产品的质量和客户的安全性直接相关。
3 条评论