研讨会回顾|AI驱动的DevOps云端转型:Atlassian Cloud + AI 实战指南

400-666-7732

研讨会回顾

AI驱动的DevOps云端转型:Atlassian Cloud + AI 实战指南

什么是Log4Shell?Log4j漏洞解读

来源:龙智  作者:龙智   发布时间:2021-12-30 09:50

一个影响使用Java的设备和应用程序的新漏洞已经在开源Apache日志库Log4j中被发现。该漏洞被称为Log4Shell,是目前互联网上最重要的安全漏洞,其严重程度为10分。幸运的是,Perforce静态分析和SAST工具——Helix QACKlocwork——可以提供帮助。

本文解释了什么是Log4j漏洞,提供了一个Log4j的例子,并解释了像Klocwork这样的SAST工具是如何帮助预防和检测漏洞的,比如Log4Shell。

什么是Log4j?

Log4j是一个Java库,用于记录企业应用程序中的错误信息,其中包括自定义应用程序、网络和许多云计算服务。

此外,在过去十年中开发的大部分Java程序都使用了它,包括服务器和客户端应用程序。

什么是Log4Shell:Log4j漏洞解读

Log4Shell,也被称为CVE-2021-4428,是一个影响Apache Log4j2核心功能的高危漏洞。

该漏洞使攻击者能够进行远程代码执行。这使他们能够:

  • 通过受影响的设备或应用程序访问整个网络
  • 运行任何代码
  • 访问受影响设备或应用程序上的所有数据
  • 删除或加密文件

受影响的版本,即Log4j第二版(Log4j2),包含在:

  • Apache Struts2
  • Apache Solr
  • Apache Druid
  • Apache Flink
  • ElasticSearch
  • Flume
  • Apache Dubbo
  • Logstash
  • Kafka
  • Spring-Boot-starter-log4j2
  • Swift frameworks
哪些设备和应用程序容易受到Log4Shell的影响?

如果一个连接到互联网的设备运行Apache Log4j,版本2.0-2.14.1,那么他们就容易受到Log4Shell的攻击。

Klocwork如何检测Log4j的漏洞

作为一个静态分析和SAST工具,Klocwork检查你的源代码,以发现可能使你的设备或应用程序受到攻击的设计和编码缺陷,如污损的数据问题。Klocwork可以沿着你的代码中所有可能的执行路径,包括Log4Shell(CVE-2021-4428),追踪被污染的、不受信任的或其他可疑的数据。

Klocwork的SV.LOG_FORGING检查器 “开箱即用”,可以检测到被传递给日志应用程序的污点数据。Perforce提供一个小型知识库文件扩展该检查器,以检测Log4j的漏洞(详情请咨询Perforce中国授权合作伙伴龙智)。

此外,Klocwork还有一个特点,即可与Secure Code Warrior集成,有助于为这些类型的缺陷提供补救指导,以及额外的软件安全培训。Secure Code Warrior突出了安全漏洞,并提供了如何修复这些错误的指导。

如何用Klocwork防止Log4j漏洞的发生

现在你更好地理解了什么是Log4j漏洞以及Klocwork如何识别它,这里有一个Log4j的例子。此外,还有一个分步指南,展示Klocwork如何帮助你检测和补救这个严重的漏洞。

  1. 使用Klocwork SV.LOG_FORGING检查器

要使用Klocwork的SV.LOG_FORGING检查器。进入应用程序的Klocwork Portal项目,添加知识库文件,并确认SV.LOG_FORGING检查器已启用。

该扩展将Log4j方法添加到SV.LOG_FORGING的污损数据的危险目的地列表中。这使得你可以识别Log4j的漏洞,即Log4Shell。

  1. 定位Log4j漏洞

一旦整个应用集成分析完成,任何错误或漏洞都会被突出展示。

下面的序列突出了日志伪造的可能性,使攻击者能够利用日志记录,以便操纵它们。

1 public class Test2 implements HttpHandler {

2 static Logger log = LogManager.getLogger(Test2.class.getName() )。

3 public void handle(HttpExchange he) {

4 String apiVersion = he.getRequestHeaders().getFirst(“X-Api-Version”)。

5 log.info(“Api Version:{}”, apiVersion);

6    }

7 }

一旦分析完成,Klocwork将在第5行报告该漏洞。

  1. 防止Log4j漏洞缺陷的发生

Apache已经发布了Log4j的新版本——2.16版,其中不包含Log4Shell漏洞。

此外,如果你不能更新到最新版本,Apache已经提供了缓解Log4j漏洞的解决方案。

在>=2.10版本中,这种行为可以通过设置系统属性log4j2.formatMsgNoLookups或环境变量LOG4J_FORMAT_MSG_NO_LOOKUPS来缓解。

对于从2.0-beta9到2.10.0的版本,缓解措施是将JndiLookup类从classpath中移除:zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class。

用Klocwork阻止漏洞比如Log4Shell

Log4Shell是一个令人担忧的软件安全漏洞,不幸的是,它不是唯一的漏洞。它只是CWE-117和OWASP A10:2017漏洞类型中比较突出的一个例子。

通过使用Klocwork这样的SAST工具,你可以轻松地执行软件安全标准,如CWE、OWASP和CERT,以更好地检测、预防和消除软件安全漏洞,如Log4Shell。

亲身体验一下Klocwork是如何通过尽早发现漏洞来保护你的软件的。联系Perforce中国授权合作伙伴龙智,立即开始免费试用。

Klocwork——针对C, C++, C#, Java程序的 静态代码分析工具

最新文章

相关产品

分享到:
关于龙智

龙智DevSecOps解决方案

龙智深耕DevSecOps相关领域近十年,集成DevOps、ITSM、Agile管理思路及该领域的优秀工具,提供软件研发生命周期管理解决方案,以及实施、培训、升级、数据迁移、定制开发、运维等服务。

龙智致力于帮助企业实现软件开发运营一体化,并确保安全防护融入软件研发的整个生命周期中。龙智提供从产品规划与需求管理、开发,到测试、部署以及运维全生命周期的解决方案与管理工具,帮助企业科学、高效、安全地管理软件开发,更快、更好地交付软件产品。

近年来,龙智团队潜心开发,先后帮助金融、通信、互联网、汽车、芯片、游戏、医疗等行业的1000多家企业促进开发安全运营的一体化的实践。 秉承着打造开放式DevSecOps的理念,龙智与国外其他多家DevOps工具顶级厂商如Atlassian、Perforce、Mend(原WhiteSource)、CloudBees、SmartBear等合作,将国际市场上先进的工具引入中国市场,帮助企业打造量身定制的DevSecOps解决方案、ITSM解决方案,助力企业高效开发与运维。

我们的自研产品包括Confluence水印插件,Timewise-Jira计划及实际工时管理插件,Jira服务台企业微信应用插件等;我们还与全球DevOps领域领先的企业建立了合作伙伴关系,我们是:

· Atlassian全球白金合作伙伴

· Perforce中国授权合作伙伴

· Mend (原WhiteSource)中国授权合作伙伴

· CloudBees中国授权合作伙伴

· SmartBear中国授权合作伙伴