构建并保护由准确且经过策展的 CVE 风险和漏洞评分驱动的安全仓库。通过 Anaconda 的 CVE 策展服务,充分利用开源软件以供企业使用。
开源软件包的世界
开源软件 (OSS) 利用其社区的力量来推动创新。 世界上任何人都可以出于任何原因使用、研究、更改或分发源代码,并且成千上万的软件包被上传到开源软件的世界中。 它是源代码的狂野西部。 OSS 虽然是创新的支柱,但通常容易出错、存在安全风险且不稳定。 在企业中利用 OSS 需要保持警惕、投入时间和专业知识,以确保环境的保真度和稳定性。 更复杂的是,OSS 通常也依赖于其他 OSS。 这些被称为软件包依赖项。
成千上万的 OSS 软件包依赖于成千上万的其他 OSS 软件包,从而形成了一个 高度复杂的依赖关系图。 复杂的依赖关系图意味着复杂的软件包供应链,而复杂的软件包供应链则代表着漏洞风险的大幅增加。
在信任依赖树中的软件包时,任何误判都可能导致漏洞蔓延到整个网络。
“2020 年,支付给黑客的加密货币达 3.5 亿美元,比上一年增长了 311%。” – Chainanalysis
Anaconda 之道
Anaconda 针对 OSS 世界的答案是 Anaconda 发行版,其中包括 conda:一个由 Anaconda 维护的跨平台和环境软件包管理系统。 Anaconda 发行版包含数百个最流行的 Python 和 R 数据科学与机器学习软件包,这些软件包都经过了严格的兼容性测试,从而为数据科学从业人员提供更快、更轻松的访问。
然而,管理依赖项并不能解决风险。 由于 Python 和 R 软件包及其依赖项的数量庞大,软件包仍然无法避免安全漏洞和风险暴露。 想象一下维基百科的事实核查工作量!
那么,我们该如何处理 OSS 中的风险和漏洞呢?
用户可以访问公开可用的数据库,这些数据库会标记软件包的常见漏洞和风险暴露 (CVE),例如美国国家标准与技术研究院 (NIST) 和美国国家漏洞数据库 (NVD),以告知他们开源软件包的漏洞状态。 此外,组织可以选择使用 CVE 扫描器 来揭示其环境中存在的 CVE。
扫描 NIST 和 NVD 生成的 CVE 可以帮助在使用 软件包管理系统 的 OSS 中对抗固有的风险和漏洞,组织可以在其中控制环境中正在使用的软件包。 然而,NIST 和 NVD 的 CVE 系统对标记和报告非常敏感,无论其准确性、来源或范围如何。 这导致 CVE 中 误报率过高。
例如,假设软件包 Django 2.1 中标记了一个漏洞。 在这种情况下,即使 Django 2.2 修复了该问题,NVD 也会报告 Django 2.1 之后的所有版本都被标记为存在漏洞。
假设组织完全依赖 NVD 或 NIST 生成的 CVE。 在这种情况下,许多软件包将无法通过企业级安全策略,因为人们会假设没有软件包修复程序并且没有更新选项。 Anaconda 的策展流程采取了不同的方法,以确保用户可以访问必要的开源软件包和依赖项,同时将企业安全标准放在首位。
Anaconda 的人工 CVE 策展
Anaconda 针对 CVE 数据库膨胀的解决方案是手动策展 NIST 和 NVD 生成的 CVE。 Anaconda 的策展团队会审查标记的软件包,验证 CVE 影响的软件,并策展 CVE 状态和评分。
参考之前的示例,Anaconda 的 CVE 策展团队将更新 Django CVE,以明确说明它仅适用于 Django >= 2.1 <2.2,从而告知用户最新版本已修补,没有 CVE,可以安全使用。
所有 CVE 都会收到来自 NIST 和 NVD 的 CVE 安全评分 (CVSS),范围从 1-10,10 表示最容易受到攻击。 Anaconda 的策展允许组织 信任 CVE 评分 并根据状态和 CVSS 轻松筛选 CVE,从而只允许通过内部安全策略的软件包进入工作流程。
Anaconda 的 CVE 策展是什么样的?
经过策展的 CVE 要么是
总而言之,Anaconda 的 CVE 策展提供了 可操作且有意义的 CVE 报告,因此可以在企业级别充分利用 OSS,并且数据科学家可以专注于构建模型。
一劳永逸的安全仓库
现在您有了一个经过 Anaconda 策展的 OSS 仓库,您已将风险和漏洞排除在源代码之外。 但是,我们如何维护这个安全的环境呢?
接下来是 仓库镜像 – 镜像创建仓库的副本,使用户可以从集中式本地部署或云位置访问软件包。 镜像可以是完整的、部分的,也可以仅包括特定的软件包。 通过在您自己的服务器中创建副本,您可以为 防火墙后 的用户提供 OSS 访问权限,从而切断您的 OSS 与更广泛的 OSS 网络之间的在线关系。
镜像仓库可以有“中间人”或完全脱机。 具有中间人(称为代理)的仓库仅通过指定的端口进行入站和出站连接,这 大大减少了您的攻击面。 完全脱机的仓库称为“气隙”仓库,其中没有入站或出站互联网连接。 这是最安全的仓库类型,因为几乎没有攻击面可言。
镜像您的仓库也为您的组织创建了一个 稳定的环境。 镜像仓库是“时间点”副本,这意味着所有访问仓库的用户都将访问相同版本的软件包,从而确保整个组织的一致性和兼容性。
利用 Anaconda 来 保护您的开源管道的安全,以便您的团队可以将更多时间用于构建模型、分析数据和做出数据驱动的决策。