Log4j Log4Shell漏洞问答

Log4j Log4shell脆弱性问答-所有你需要知道的关于最近的漏洞

在我们最近的网络研讨会上,Log4j Log4Shell漏洞解释:所有你需要知道的,我们的高级主管安全研究专家Shachar Menashe分享了有关安全问题以及如何检测和修复它的信息。

我们很高兴在以下的问答中分享更多的信息,基于在网络研讨会上提出的问题。

Log4j安全问题

log4j漏洞是如何执行的?

JFrog综合发表了一篇文章博客这就详细解释了漏洞所在。请参阅“是什么原因导致Log4j Log4Shell漏洞?”

我听说log4j API调用也很脆弱。为什么你们只关注核心?

log4j-api不存在漏洞,只有log4j-core存在漏洞。

log4j log4shell漏洞在全球影响方面与Shellshock相比如何?

log4shell和Shellshock都是影响大量系统的远程代码执行漏洞。Shellshock是bash(一种非常常见的Linux shell)中的漏洞,bash是一个应用程序,而log4shell是log4j库中的漏洞。出于多种原因,Log4j安全问题在减轻威胁方面提出了更大的挑战。

要检测Shellshock,检查本地系统是否安装了易受攻击的bash版本就足够了;Bash本身通常不附带第三方依赖项。

log4shell安全问题更难检测,因为log4j是一个库,因此检测需要检查所有直接和间接(传递/递归)依赖项。此外,log4shell的攻击向量(记录未经处理的输入)比Shellshock的攻击向量(将未经处理的输入传递给bash环境)更常见。

Log4shell也更难修复——因为它是一个库,在新版本中更改了几个api,这意味着软件供应商可能必须修改直接与log4j交互的第一方代码,而不仅仅是升级log4j本身。

最后,更新版本的log4j需要更新版本的Java (Java 8 vs.遗留的Java 6/7),这意味着软件供应商可能也必须升级Java组件,这反过来可能导致与系统上其他基于Java的软件不兼容。

那么不容易受到攻击的log4j版本1呢?它会受到对log4j版本2的关注浪潮的影响吗?

当前的漏洞不会将版本1置于危险之中。但是,攻击者现在可能会投入更多精力来研究log4j组件,试图找到其他漏洞。

查找和修复Log4j的解决方案

您是否有任何特定的工具可以帮助我确定我的存储库中是否有log4j包?

是的!首先,我们的客户使用JFrogDevOps的平台作为其关键任务软件开发生命周期(SDLC)过程的中心部分,已经具备了快速补救所需的一切Log4j脆弱性

在Artifactory的目录下使用您积累的包、二进制文件、图像和元数据二进制存储库管理,你可以搜索工件和构建在整个软件供应链中发现log4j包的每个用法,包括作为传递依赖项的用法。你可以创建x射线策略和手表从生产中阻止使用易受攻击的log4j包版本的任何进一步构建。

对于广大的开发者社区,JFrog还发布了一组有用的开源工具识别log4j的使用在本地目录的源代码和二进制文件中。

假设我们正在使用一个第三方组件,它在编译时依赖于log4j。在使用该组件时,是否有办法摆脱log4j ?

只有当包使用易受攻击的log4j版本时,才会出现这个问题。如果是这种情况,您将需要获得第三方组件的固定版本。如果您有源代码,您可以自己用固定的log4j版本编译它。

是否有引用log4j的依赖项容易受到这种攻击,即使它使用Spring Framework之类的API库将log4j库引用为依赖项?

这取决于具体情况,以及正在使用log4j库的哪些部分。虽然log4j-core是脆弱的,但log4j-api是不脆弱的。

为了获得最全面的结果,我们建议使用软件组合分析(SCA)扫描工具,如JFrog Xray,以识别所有软件依赖项中的漏洞——包括那些与log4j相关的漏洞,但还有很多很多。

如果您无法使用这个工具,您可以使用JFrog为社区创建的OSS工具来明确标识源代码和二进制文件中的log4j使用情况(参见上面)。

一旦Xray检测到一个工件易受log4shell攻击,是否有一种方法来确定这个工件的消费者——例如,使用Artifactory跟踪哪些服务/用户访问/下载了易受攻击的工件,以便分析那些特定的服务?

绝对的!这就是创建JFrog平台的目的。您可以使用Xray和Artifactory识别易受攻击工件的消费者,并使用以下方法控制其使用:

  • 在存储库中搜索log4j包的使用
  • 正在搜索CVE-2021-44228
  • 在Artifactory中运行一个build-info查询,列出所有使用log4j-core库作为依赖项的构建
  • 定义x射线策略以警告违反或阻止易受攻击包的下载

欲了解更多细节,请参阅我们的博客文章,您的Log4shell补救食谱使用JFrog平台,讨论了发现、阻止和修复log4shell漏洞的多种方法。

我能看到用于静态和传递依赖项标识的Xray演示吗?

我们会很高兴的!请联系我们的演示x射线我们将设置一个调用,向您展示如何透视工件依赖关系的所有层。