我是 Windows 11 的最终用户。我没有安装 JDK 或 JRE。我的机器是否容易受到 log4j 漏洞的攻击?如果是,那么如何进行攻击?
答案1
如果您不运行任何使用 Java 的软件,那就没问题(至少对于这个漏洞而言)。
但请记住,有很多东西在后台使用 Java,同时使用本机编译的应用程序来启动事物并具有嵌入式 JVM。这些都可能受到影响。例如 Jetbrains CLion 和 PyCharm,它们都是 Java 应用程序。
当然,唯一容易受到实际攻击的应用程序是那些可以通过互联网访问的应用程序(或者通过网络上的主动入侵者访问的应用程序,在这种情况下,您的问题会更大)。
顺便说一句,上述 Jetbrains 产品不属于这些产品,它们只是在最终用户可能甚至没有意识到的情况下在水下运行 Java 的示例。它们也不依赖 Log4J2,它们在内部使用另一种日志解决方案。
如果您正在运行 Jira 或 Confluence 或其他类似产品,那么您可能会受到攻击,应咨询您的供应商。
答案2
事实证明,这并不那么容易确定。许多系统和应用程序都包含 Log4j2 服务。目前已知受影响、未受影响或正在调查的系统列表如下:https://github.com/cisagov/log4j-affected-db#software-list
答案3
更新:2021-12-18...
请记住始终从下面列出的资源中查看最新信息
CVE-2021-45105... 2.16.0 和 2.12.2 不再是有效的补救措施!当前修复版本是 2.17.0 (Java 8) 和 2.12.3 (Java 7)。所有其他 Java 版本都必须采取权宜之计(从 log4j-core JAR 中移除/删除 JndiLookup.class 文件)。
我已相应地更新了下面的消息。
直接回答问题:
去Reddit 帖子:log4j_0day_being_exploited
并cntl搜索这些列表f以Vendor Advisories
查看您是否使用了其中任何软件。如果您使用了并且有可用更新,请更新它。
然后转到同一网站,并按cntl+f以.class and .jar recursive hunters
从那里列出的存储库运行该程序。如果发现任何问题,请进行修复。
- 更多资源
补救措施:
CVE-2021-45046...CVE-2021-44228...CVE-2021-45105
虽然大多数需要知道的人可能已经知道足够多的信息来做他们需要做的事情,但我认为我还是会把它放在一边以防万一......
- 遵循这些资源中的指导...它可能会改变,但
截至 2021-12-18
这基本上
- 如果可能的话删除 log4j-core JAR 文件
- 从两台跑步机上立即修复并且
- 在您的源代码/源代码管理文件中,以防止将来的构建/发布/部署覆盖更改
- 如果无法实现(由于依赖性),请升级它们
- 如果您正在运行 Java8,那么您可以升级到 log4j 2.17.0+
- 如果您正在运行早期版本的 Java,则可以升级到 log4j 2.12.3
- 如果您正在运行旧版本的 Java,则需要升级到最新版本的 Java,然后使用最新版本的 Log4J
- 再次强调,这些变化必须同时在运行的机器和代码中发生
- 如果由于某种原因这两种情况都不可能实现......那么就只能采取非补救措施,即从 log4j-core JAR 中删除 JndiLookup.class 文件。
zip
在 Linux 上,使用大多数 Linux 发行版默认附带的命令, 有一个用于临时解决方案的单行命令。zip -q -d "$LOG4J_JAR_PATH" org/apache/logging/log4j/core/lookup/JndiLookup.class
- 在撰写本文时,大多数关于 Windows 权宜之计选项的在线指南都建议执行以下操作(再次...假设您无法执行上述删除 JAR 或升级选项之一):
- 安装类似 7-zip 的程序
- 找到所有 log4j-core JAR 文件并对每个文件执行以下操作...
- 重命名 JAR 以将扩展名更改为
.zip
- 使用 7-zip 解压 JAR(现在有
.zip
扩展名) - 从解压的文件夹中找到并删除 JndiLookup.class 文件
- 路径是
\\path\\to\\unzippedFolder\\org\\apache\\logging\\log4j\\core\\lookup\\JndiLookup.class
- 路径是
- 删除旧的 JAR 文件(现在扩展名为 .zip)
- 使用 7-zip 重新压缩该文件夹
- 重命名新的 .zip 文件夹,将扩展名更改为
.jar
- 还有一些使用 Power Shell 的选项
- Reddit 帖子:log4j_0day_being_exploited
- ctrl+f表示“PowerShell”
如果您只需要处理 1 或 2 个 JAR 文件,并且您不介意安装 7-zip,或者可以使用 PowerShell 来执行此操作,那么这种方法就没问题。但是,如果您有大量 JAR 文件,或者您不想安装 7-zip 并且无法访问 Power Shell,我创建了一个开源 VBS 脚本,它可以为您完成此操作,而无需安装任何其他软件。https://github.com/CrazyKidJack/Windowslog4jClassRemover
阅读 README 和发行说明https://github.com/CrazyKidJack/Windowslog4jClassRemover/releases/latest
答案4
Computerphile 对这一漏洞进行了很好的解释。 https://www.youtube.com/watch?v=Opqgwn8TdlM