近日,安全圈被Apache Log4j2漏洞刷屏。一款使用范围超大的Java日志框架Apache Log4j2被曝出存在远程代码执行漏洞。该漏洞利用条件非常低,攻击者可以利用该漏洞远程执行恶意代码,从而获取服务器的最高权限。相关的POC、EXP也已经被公开,并且出现了利用该漏洞的攻击行为。目前,CVE漏洞库已收录该漏洞,编号为CVE-2021-44228。
一、Log4j2漏洞危情分析
由于Log4j2是一款使用率极高、范围极广基于Java的日志记录工具,广泛被应用在中间件、各种框架、应用程序中。例如:Apache Strust2、Apache Solr、Apache Druid、Apache Dubbo、ElasticSearch、Apache Kafka等。根据Maven仓库的统计,有近7000个组件使用了Apache Log4j2。这些使用了Apache Log4j2进行日志输出的组件或应用,都可能会受该漏洞影响。
二、开源软件安全危情分析
现有的开发模式和实际的生产场景中,应用软件的开发几乎都需要开发者通过使用各种开源软件进行软件开发,无法自主完成。根据White Source发布的《开源漏洞管理现状》,只有极少数开发人员由于公司的政策要求而没有使用开源软件,96.8%的开发人员依赖于开源软件。另外,据Gartner的调查显示,99%的组织在其信息系统中使用了开源软件。Sonatype公司曾经对3000家企业的开源软件使用情况展开过调查,结果表明每年每家企业平均下载5000多个开源软件。
然而,开源软件中长期存在着大量的软件漏洞风险、开源许可风险等安全隐患,更有甚者存在多年未修复更新的漏洞问题。下图展示了近几年来开源软件漏洞的统计情况。
事实