不是所有黑客都以最新的物聯網設備或網聯汽車為目標。2020年的SolarWinds黑客事件赤裸裸地告訴人們,支撐現代文明的技術不但“乏善可陳”,而且還存在著漏洞。也許正是這起事件啟發了那些在圣誕假期前創建Log4Shell的攻擊者。
Log4Shell 是針對 Log4j 的漏洞利用,Log4j 是 Java 社區開發人員常用的開源日志庫,為錯誤消息、診斷信息等的日志記錄提供框架。 Log4j 存在于世界各地公司使用的產品中,也包括許多中國的組織。
該漏洞最終能夠導致個人信息泄露和遠程代碼執行(RCE),給企業機構和他們的客戶造成各種不同的問題。由于Log4j庫的功能非常全面(包括查找、嵌套和JNDI等),因此開發者很喜歡使用它。目前已有大量利用該漏洞的嘗試,而且這一數量的增速非常驚人。
全世界的個人、大型企業機構和政府機構都將繼續討論該漏洞,而我們已經深入了解該漏洞的運作方式和發展方向以及在未來減輕該漏洞影響時所需要考慮的獨特因素。
數據竊取和遠程代碼執行漏洞
為找到存在漏洞的服務器而執行全網掃描的服務器數量與日俱增,這使得發起者能夠竊取信息并執行惡意代碼。
數據竊取是攻擊者用來鎖定、復制和傳輸敏感數據的技術,攻擊者可以通過Log4j查詢表達式訪問這些數據并且輕易地將這些數據劫持到他們所控制的系統。同樣,攻擊者還可以通過精心編寫的日志行來執行遠程代碼,以便在服務器內運行任意命令。
在我們所發現的攻擊載體中,網絡應用成為了攻擊者的第一目標,這些應用記錄了訪問網站的終端用戶與網站的互動。另一個攻擊載體是DNS。為了搜索是否有任何存在漏洞的DNS解析器,攻擊者正在DNS查詢中嵌入可利用的攻擊載荷并發布這些查詢結果。
但企業機構所受到的威脅遠不止這些情況。鑒于全世界有幾十億臺設備運行Java,因此許多設備中的漏洞無法得到修補。再加上其龐大的足跡和設備的暴露時間,我們認為該漏洞將在未來幾年繼續對我們造成威脅。
發展方向——攻擊載荷和攻擊方式的多樣化
隨著對該漏洞的持續監測,我們發現該威脅正在向兩個不同的方向發展。首先在攻擊載荷方面,企業越來越依賴網絡應用防火墻(WAF)等緩解措施為他們提供保護。這類系統能夠掃描網絡請求中是否有可利用的字符串。一旦發現有此類字符串,它們就會放棄該請求。
第二個發展方向是攻擊目標和協議的多樣化。網絡應用目前已成為主要的攻擊載體,所以企業機構會不斷為其提供更多的保護和漏洞修補,因此攻擊者正在將矛頭指向DNS和其他不太受到關注的協議,此類攻擊的數量已有所增加。
鑒于針對該漏洞的攻擊載體類型十分廣泛,唯一的解決方案是修補全部有漏洞的系統。但在很多情況下,企業機構無法在第一時間全方位地了解哪些系統存在漏洞,因此必須采取額外的緩解措施來盡可能減少威脅面。
為了提供最大程度的保護,凡是可以修補漏洞的系統,都應在最新版本上運行Log4j。在其他情況下,企業機構必須優先運行WAF和DNS防火墻以及零信任網絡分段等系統,以便發現可能的漏洞。
從Log4j事件中吸取的教訓
隨著該漏洞的擴大和發展,我們正在研究未來如何消除它的影響。為了滿足終端用戶需求,開發者必須將快速增加的庫、語言生態系統以及第三方基礎架構和服務視為一種新常態。
領先的企業機構不但已經開始評估特定庫的風險,而且還通過評估該開發社區的實踐來檢查自身的依賴性。即便進行了此類風險評估,漏洞還是會出現。因此在這種情況下,可見性最為重要。許多企業機構無法發現存在漏洞的系統,所以他們必須部署能夠及時做出響應并防止被完全利用的系統。
最后,企業機構應采取最小權限原則,包括限制服務器、機器和軟件的訪問權限,這樣用戶就只能訪問執行自身任務所需的系統。這可以大大減少漏洞出現時的威脅面。
Log4j漏洞對全球企業造成了復雜、高風險的威脅。由于該漏洞的威脅面巨大并且全球存在大量未修補漏洞的系統,攻擊者將會繼續利用該漏洞嘗試發起攻擊并在此過程中影響許多企業機構。但只要企業能夠努力構建成熟的安全基礎,就能夠具備比以往更快的恢復速度。