自动评估和修复SolarWinds黑客

修复SolarWinds漏洞

随着软件供应链攻击的增加,您是否想知道如何从最近SolarWinds对您公司的攻击中快速恢复?发现几个月后,毁灭性的SolarWinds黑客仍然是企业最关心的问题,政府和IT领导者。这种破坏性的供应链攻击引起了人们的关注软件开发安全这是DevOps社区的一个关键问题。而关于它的新细节范围及影响继续表面,公共和私营部门的研究人员继续探索,作为这次袭击的关键问题悬在空中

在这篇博文中,我们将讨论关于SolarWinds漏洞的三个关键问题,这是首席执行官、董事会成员和IT主管们最关心的问题,并解释DevOps团队如何在今天使用2022世界杯32强赛程表时间

  • 我是否受到入侵的影响?
  • 我在哪里受到影响?
  • 如何修复违反的库/依赖项?

一点背景知识

黑客入侵了IT监控和管理供应商SolarWinds的系统,并将恶意软件注入其Orion平台的软件构建过程中。在2020年的几个月里,SolarWinds无意中发布了带有该漏洞的产品更新,该漏洞旨在帮助黑客利用后门入侵客户的猎户座服务器。

估计有一万八千名客户收到了受污染的更新,几十个客户被入侵,包括知名跨国公司美国大型联邦政府机构。太阳风公司的漏洞就是一个例子供应链攻击——一个越来越受欢迎黑客将恶意软件隐藏在合法软件中,这些软件通过官方可信渠道从供应商分发给客户。

继续阅读,了解JFrog如何帮助您快速准确地评估您是否受到了这种攻击的影响,以及如何消除损害。

问题1:我是否受到SolarWinds漏洞的影响?

一般来说,有两种方法可以确定您是否受到违规行为的影响,这两种方法都非常难以实施:

  • 检查企业内的每个系统,看看您目前或以前是否使用过Orion平台版本2019.4 HF 5、未安装热修复程序的2020.2或2020.2 HF。
  • 监控你的组织当前的DNS查询和挖掘历史的,以确定是否有DNS查询主机名包含域“avsvmcloud[.]com”。

如果满足其中一个或两个条件,您的企业就会受到数据泄露的影响。然而,您可能有很多系统,检查每个系统可能需要数年时间。或者您可以对DNS查询日志设置大小限制,这将提供不完整的历史记录。

与JFrog Artifactory, JFrog平台的通用存储库管理器,你可以在几秒钟内确定你是否受到了太阳风漏洞的影响。

Artifactory作为工件数据库在企业中被广泛使用。在获得商业软件产品或开放源码项目之后,企业通常会将获得的二进制文件存储在Artifactory中的存储库中,在那里可以对其进行版本控制和管理。在SolarWinds的案例中,三个受影响的软件二进制文件可以存储在一个特定的通用存储库中。由于Artifactory为企业内的所有二进制文件提供了唯一的真实来源,因此您是否受到此泄露的影响的问题可以通过一个简单的API调用/查询Artifactory之内。

JFrog平台统一用户界面(GUI)构建在JFrog平台REST API之上。下面是该结果的可视化表示。在这种假设的情况下,GUI为您提供了一个界面,用于搜索带有“orion*”模式的所有工件,并且看起来我们受到了所有三个受感染的SolarWinds库的影响。

此外,您还可以看到每个库的使用范围(下载次数)以及由哪个用户使用。JFrog平台提供了广泛的日志记录功能,并与广泛使用的日志分析工具集成在一起。

问题2:我在哪里受到影响?

有很多博客都在讨论这个话题,也有很多高价聘请的顾问来帮助你回答这个问题。然而,业界还没有给出明确的答案。在最好的情况下,该解决方案与挖掘大量日志、监控网络流量和目标软件行为是一致的。退一步说,这种方法与其说是科学,不如说是艺术。更重要的是,它几乎不实用,尤其是对大型企业。

记住,所有这些努力都只是为了修复一个漏洞。现实情况是,可能同时发生多起违规行为,而原始的暴力破解方法是不可持续的。

JFrog x射线,JFrog平台软件组合分析(SCA)工具,同样通过一个简单的API调用/查询,为您提供了这个问题的精确而快速的答案。

Xray递归地扫描您的所有工件,以创建二进制互连数据库,也称为组件图,它维护正在使用或部署的每个工件的整体视图-无论它是独立部署的还是作为另一个已部署工件的包含依赖项。

下面是JFrog平台UI的可视化表示。在这个假设的情况下,我们展示了一个广泛使用的、易受攻击的Maven Jackson包“com.fasterxml.jackson。核心:jackson-core: 2.11.0”。

JFrog平台引入了一个“祖先”概念,它可以跟踪所有的工件,包括这个特定的Jackson版本。红色矩形提供了详尽的、嵌套的互连信息:这个Jackson包是Maven Spring包的一部分,而Maven Spring包又是“ui_server1.jar”——您自己的Build的一部分。这个构建,反过来,是一个特定的Docker映像层,它本身就是“pet_clinic”Docker映像的一部分。这个Docker镜像包含在3个不同的“pet_clinic”发布包中。一个发布包是一个JFrog分布构造,以确保软件包跨网络的转换,稍后我们将对此进行更详细的解释。在当前上下文中,发布包相当于准备安装或部署的完全包含的包。

问题3:我如何修复SolarWind被破坏的库/依赖?

在这三个问题中,这是最简单、最直接的一个问题:修复包括重建受影响的服务器,并从更新的SolarWinds Orion安装开始。然而,最重要的问题是:您从哪里获得所有受影响服务器的列表?

有了来自Xray二进制互连数据库的全面知识,您现在可以确切地知道企业中哪个工件受到了感染。为了完全跟踪运行时部署,JFrog平台提供了额外的创新技术。JFrog发行版的发布包通过GPG进行签名和不可变,使工件能够及时可用,并且在不安全的网络中最接近您的运行时环境。

从创建二进制文件或将其引入企业环境的那一刻起,JFrog平台就为二进制文件提供端到端的不变性。它还参与了GitOps方法论,该方法论在Git/VCS中以版本控制、不可变的方式提供了运行时环境中每个单个更改的完整可追溯性。将JFrog平台的端到端二进制管理功能与GitOps实践相结合,可以自动修复被破坏的SolarWinds服务器。

该图展示了JFrog平台如何无缝地参与到GitOps生态系统中——在本例中,使用通量CD

JFrog平台可以无缝地参与GitOps生态系统

结论

太阳风事件给了我们一个教训:企业软件从来都不安全。无论是有意还是无意,漏洞总是软件生命周期的一部分。如果我们接受企业软件从来都不安全这一事实,那么修复受影响软件的敏捷性是任何企业都应该追求的最佳安全状态。

检测、跟踪和修复SolarWinds漏洞需要一个集中的企业解决方案二进制生命周期管理它能够在整个组织中跟踪每个工件及其依赖项。如果没有这样的解决方案,您将面临耗时的手动流程,这些流程不可伸缩且不精确,最终无法为您提供清晰、确定的答案。如果对这个问题没有清晰的认识,你被攻破的风险就会增加。

正如我们在这篇博文中所解释的那样,JFrog平台自动化、流线化和简化了这个过程,让您清楚地了解您的状态,以及可操作的见解,以及识别问题和解决问题的有效能力。

JFrog平台是唯一一个建立在一系列久经考验的基础技术之上的企业二进制生命周期管理解决方案,包括:

  • 一个软件物料清单(SBOM)使用来自Artifactory的详尽元数据
  • 由Xray管理的企业软件生态系统的组件图或二进制互连数据库
  • 来自JFrog发行版的不可变发布包审计跟踪
  • 不可变CI/CD工作流

每个二进制工件的上传、下载、包含、运行时部署、退役、存档和删除都被全面记录,更重要的是,可以通过易于使用的查询语言、REST API和用户界面进行查询。

总之,JFrog平台为您提供了全面的功能,可以在企业的完整生命周期上下文中跟踪任何二进制工件。

想知道更多吗?请安排与JFrog一对一的技术会议。