較早前研究人員在Apache Log4j library內發現了一個嚴重的安全漏洞CVE-2021-44228,在CVSS中取得10/10滿分的評級,又被命名為Log4Shell或LogJam,是一款遙距執行編碼(Remote Code Execution, RCE)級別的安全漏洞,最壞的後果是伺服器被攻擊者完全控制,Apache Foundation建議所有開發者把library更新至2.15.0。
CVE-2021-44228危險的原因
CVE-2021-44228又名Log4Shell或LogJam,是遙距執行編碼級別的安全漏洞,如果攻擊者成功在一台伺服器上執行,便能執行任意編碼,有機會取得整個系統的控制權,而令它特別危險的原因,是運用這個漏洞無需很高技術,一個少經驗的黑客也能成功利用這個漏洞進行攻擊。根據研究員的資料,攻擊者只需要強制應用程式寫入一句字符在log內,然後他們就能上載自己的編碼到應用程式,憑藉message lookup substitution功能。
利用CVE-2021-44228發動攻擊的Proofs of Concept (PoC)已經在互聯網上流傳,因此不難想像網絡安全公司已經進行大型的網絡掃瞄漏洞應用程式,以及準備蜜罐(honeypots)「迎接」這個漏洞攻擊。
甚麼是Apache Log4J和為甚麼它很普及?
Apache Log4j是Apache Logging Project的一部份,使用這個library是記錄錯誤的最簡單方法之一,也因此大部份Java開發人員都使用它,而且很多大型軟件公司和網上服務都使用Log4j library,包括Amazon、Apple iCloud、Cisco、Cloudflare、ElasticSearch、Red Hat、Steam、TEsla和Twitter等等,正因為這個library極為普及,資訊安全的研究人員預期不久將來使用這個漏洞攻擊伺服器的數字會有顯著增加。
受影響的Log4J版本和解決方法
差不多所有版本的Log4j都存在安全漏洞,由2.0-beta9至2.14.1無一幸免,解決方法可以參考以下幾種做法:
- 最簡單及有效的保護方法是從官方網頁下載最新的2.15.0版本,如果在library內正使用第三方產品,也需要時刻留意軟件供應商的最新更新。
- 如果因為某些原因不能更新library,官方網站Apache Foundation建議因應版本,依照指示去進行設定。
- 版本2.10至2.14.1的用戶,建議正確地設定log4j2.formatMsgNoLookups系統,設定LOG4J_FORMAT_MSG_NO_LOOKUPS環境變數為true。
- 至於較早期的版本 (2.0-beta9至2.10.0),開發人員建議從zip -q -d log4j-core – *. Jar org / apache / logging / log4j / core / lookup / JndiLookup .class移除JndiLookup級別。
- 使用具備防漏洞和補丁管理元件、範安全漏洞被使用的保安方案,例如Kaspersky Endpoint Security for Business,透過Automatic Exploit Prevention元件監察應用程式的可疑活動,封鎖執行惡意檔案。
- 使用Kaspersky Endpoint Detection and Response和Kaspersky Managed Detection and Response這類應方案,在早期階段辨別和阻止攻擊。
Kaspersky的產品偵測到有關攻擊的名稱可能是:
- UMIDS:Intrusion.Generic.CVE-2021-44228
- PDM:Exploit.Win32.Generic
KATA verdicts:
- Exploit.CVE-2021-44228.TCP.C&C
- Exploit.CVE-2021-44228.HTTP.C&C
- Exploit.CVE-2021-44228.UDP.C&C
Indicators of compromise (IOC)
1cf9b0571decff5303ee9fe3c98bb1f1
194db367fbb403a78d63818c3168a355
18cc66e29a7bc435a316d9c292c45cc6
1780d9aaf4c048ad99fa93b60777e3f9
163e03b99c8cb2c71319a737932e9551
資料來源:Kaspersky Blog、Securelist