CVE 是软件组件中发现的常见漏洞和披露。由于现代软件的复杂性,包括其多层结构、相互依赖性、数据输入和库,漏洞往往会随着时间的推移而出现。忽略高 CVE 分数可能会导致安全漏洞和不稳定的应用程序。
由于数据科学家处理大量数据,他们需要对他们使用的软件组件负责,以最大限度地降低风险并保护客户数据。安全性的黄金法则是,无论在哪里可以找到有价值的数据,黑客都会去那里。
软件开发人员定期参考 CVE 数据库和分数,以最大限度地降低在其应用程序或网页中使用易受攻击的组件(软件包和二进制文件)的风险。他们还监控当前使用的组件中的漏洞。为了降低开源软件包造成安全漏洞的风险,数据科学团队需要借鉴软件开发人员的做法,并将其应用于他们的数据科学和机器学习管道。
但开源软件不是最安全的软件吗?
一般来说,是的。开源软件有更多人关注,并且比专有软件更透明。然而,像所有软件一样,它仍然存在漏洞。一些最臭名昭著的数据泄露事件是由于开源软件中的漏洞造成的,例如 Apache Struts 和 OpenSSL。入侵开源软件的回报也更高,因为更多人使用它。就像所有软件组件一样,Python 软件包也可能包含漏洞。如果组织没有积极监控漏洞,那么随着时间的推移,漏洞很可能会潜入他们的模型和应用程序中。
我应该注意什么?
企业数据科学家应将公司项目中要使用的所有软件包与 CVE 数据库进行核对,以确保它们是低风险的。当有人发现 CVE 时,他们会将其报告给 CVE 编号机构 (CNA)。CNA 为 CVE 分配识别号,并在公开访问的数据库中列出它们。许多 IT 和软件开发团队参考美国国家标准与技术研究院的 数据库 (NIST) 以获取更新。每年报告数千个新漏洞。CVE 数据库中列出的每个漏洞都有一个从 .1 到 10 的分数,10 是最高风险级别。这些分数基于可利用性、影响、补救级别、报告置信度和其他质量。要更好地理解 CVE 分数是如何得出的,请阅读 FIRST 的这份文档,其中详细描述了评分系统。
您的 DevOps 团队可能已经确定了您的公司可接受的分数范围。与您的 CISO 或 DevOps 经理交谈,看看是否已经设置了阈值。确定您的风险阈值,并避免下载任何 CVE 分数超出阈值的软件包。CVE 分数还将帮助您确定如何管理威胁(补救)以及如何确定发布的优先级。
除了检查 CVE 分数外,您的团队还应评估您有兴趣使用的每件软件的声誉。执行此操作的一些准则包括检查有多少贡献者在从事该项目以及发布历史的节奏。它是否相当一致?代码库的活跃程度如何?这很重要,因为仅仅漏洞分数并不意味着您应该或不应该使用软件包。漏洞可以多快被修补也很重要。您还应确保使用最新版本。
这一切听起来都很耗时……
是的,可能会很耗时。我们从数据科学团队那里了解到,他们对 CVE 数据库进行手动检查,每年花费数百小时,而这些时间本可以更好地用于构建、训练和部署模型。即使它很耗时,金融和医疗保健等高度监管行业的公司也会花费时间,因为对他们来说风险太高了。好消息是,有一些工具可以自动化 CVE 监控过程。
DevOps 团队使用漏洞扫描器和托管仓库来自动化软件包和工件的治理。这些工具让他们知道软件包的风险有多高,并使他们能够在必要时将其列入黑名单。数据科学团队需要类似的工具。这就是我们创建 Anaconda Team Edition 的原因,这是一个用于数据科学团队的镜像仓库,用于扫描最新的 Conda 和其他软件包漏洞,并根据企业安全标准阻止或列入白名单软件包。我们的镜像仓库已帮助最受监管行业的公司以高效的方式自信地利用开源创新。
想了解更多信息?注册参加我们 4 月 23 日的网络研讨会“什么是 CVE?以及它们为什么重要。”