嚴(yán)重安全漏洞預(yù)警!建議解決方案
9日夜間,Apache Log4j2引發(fā)嚴(yán)重安全漏洞,疑似很多公司的服務(wù)器被掃描攻擊,一大批安全人員深夜修bug,堪稱“核彈級(jí)”漏洞。
經(jīng)專家研判,該漏洞影響范圍極大,且利用方式十分簡(jiǎn)單,攻擊者僅需向目標(biāo)輸入一段代碼,不需要用戶執(zhí)行任何多余操作即可觸發(fā)該漏洞,使攻擊者可以遠(yuǎn)程控制用戶受害者服務(wù)器,90%以上基于java開(kāi)發(fā)的應(yīng)用平臺(tái)都會(huì)受到影響。
log4j是Apache的一個(gè)開(kāi)源項(xiàng)目,是一個(gè)基于Java的日志記錄框架。Log4j2是log4j的后繼者,被大量用于業(yè)務(wù)系統(tǒng)開(kāi)發(fā),記錄日志信息。很多互聯(lián)網(wǎng)公司以及耳熟能詳?shù)墓镜南到y(tǒng)都在使用該框架。
此次受到攻擊行為的客戶分布非常廣泛,IT通信(互聯(lián)網(wǎng))、高校、工業(yè)制造、金融、政府、醫(yī)療衛(wèi)生、運(yùn)營(yíng)商等幾乎所有行業(yè)都受到波及,全球知名科技公司、電商網(wǎng)站等也未能幸免。其波及面和威脅程度,均堪比2017年的“永恒之藍(lán)”。
山東維平從專業(yè)角度出發(fā),分析該漏洞危害,并給出解決方案來(lái)精準(zhǔn)防護(hù)該漏洞:
漏洞概述
Apache Log4j2 是一款開(kāi)源的 Java 日志記錄工具,大量的業(yè)務(wù)框架都使用了該組件。此次漏洞是用于 Log4j2 提供的 lookup 功能造成的,該功能允許開(kāi)發(fā)者通過(guò)一些協(xié)議去讀取相應(yīng)環(huán)境中的配置。但在實(shí)現(xiàn)的過(guò)程中,并未對(duì)輸入進(jìn)行嚴(yán)格的判斷,從而造成漏洞的發(fā)生。漏洞利用無(wú)需特殊配置,經(jīng)過(guò)分析和確認(rèn),Spring boot、Apache Struts2、ElasticSearch、Apache Solr、Apache Druid、Apache Flink、ElasticSearch等均受影響。
漏洞危害
由于Apache Log4j2某些功能存在遞歸解析功能,攻擊者可直接構(gòu)造惡意請(qǐng)求,觸發(fā)遠(yuǎn)程代碼執(zhí)行漏洞。該漏洞觸發(fā)通過(guò) info、warn、error 都能做到,并且只需要部分日志內(nèi)容可控就能觸發(fā),所以影響非常嚴(yán)重,并且大量在使用的開(kāi)源組件也在使用,根據(jù)友商發(fā)布的一些信息,目前已經(jīng)包括但不僅限于 SpringBoot、Apache Solr、Apache Flink 等。該漏洞只要外部用戶輸入的數(shù)據(jù)如果被日志記錄,即可觸發(fā)導(dǎo)致遠(yuǎn)程代碼執(zhí)行,成功利用該漏洞的攻擊者可以在目標(biāo)設(shè)備上遠(yuǎn)程執(zhí)行惡意代碼。
漏洞評(píng)估
公開(kāi)程度:漏洞細(xì)節(jié)已紕漏
利用條件:無(wú)權(quán)限要求
交互要求:0 click
漏洞危害:高危、遠(yuǎn)程代碼執(zhí)行
影響范圍:Log4j2.x <= 2.14.1
安全建議
(1)緊急緩解措施:
① 修改jvm參數(shù) -Dlog4j2.formatMsgNoLookups=true
② 修改配置log4j2.formatMsgNoLookups=True
③將系統(tǒng)環(huán)境變量FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS 設(shè)置為 true
(2)檢測(cè)方案:
①由于攻擊者在攻擊過(guò)程中可能使用 DNSLog 進(jìn)行漏洞探測(cè),建議企業(yè)可以通過(guò)流量監(jiān)測(cè)設(shè)備監(jiān)控是否有相關(guān) DNSLog 域名的請(qǐng)求。
②排查應(yīng)用是否引入了Apache Log4j2 Jar包,若存在依賴引入,則可能存在漏洞影響。
③建議企業(yè)通過(guò)監(jiān)測(cè)相關(guān)流量或者日志中是否存在“jndi:ldap://”、“jndi:rmi”等字符來(lái)發(fā)現(xiàn)可能存在的攻擊行為。
(3)修復(fù)方案:
檢查所有使用了 Log4j2 組件的系統(tǒng),官方修復(fù)鏈接如下:
https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2