上星期報道 Java 日誌框架 Apache Log4j 被發現可以遙控執行任意程式碼漏洞「 Log4Shell 」,技術人員議論紛紛,因為 Log4j 太普及,影響範圍廣泛,想修補工程也太浩大。最近就有網絡保安公司在 GitHub 上推出「疫苗」,用以毒攻毒的方法協助 IT 人員快速堵塞漏洞。
「 Log4Shell 」漏洞出於 Log4j 裡有一個「 JNDI Lookup 」功能,它是用來在執行階段對日誌中的文字紀錄進行加工後輸出,這本來在分析系統問題時很有用,不過同時也可以讓黑客有機可乘,例如刻意輸入下載軟件來執行的文字讓日誌記錄下來,就可以遠端執行任意程式碼。受影響的 Log4j 版本由 2.0 – 2.14 ,雖然版本 1.0 也受影響,不過由於版本 1.0 沒有「 JNDI Lookup 」功能,所以就無法執行惡意程式碼。
由於大部分系統都備有 Log4j ,網絡保安公司 Cybereason 就指全球近 1/3 伺服器存在這漏洞。本來最徹底解決問題的方法是升級至版本 2.15.0 ,不過由於升級除了安裝之外還要重新啟動伺服器,對企業來說是嚴重的問題。
其實只要能關掉「 JNDI Lookup 」功能,就可以大大緩解漏洞的影響。 Cybereason 團隊就想出了一招「以毒攻毒」,推出名為「 Logout4Shell 」的疫苗程式。它的原理就是利用「 Log4Shell 」漏洞注入程式去修改 Log4j 的設定,關閉「 JNDI Lookup 」功能。這對 IT 人員來說可以大大減少工作負擔,因為只要寫個簡單腳本以「 Logout4Shell 」來順序「攻擊」自己的伺服器,就能自動堵塞漏洞。
不過 Cybereason 也「戴定頭盔」,指疫苗仍可能會有缺陷,「注射」前最好先保護好資料。如果你也有需要這個「疫苗」,可以到 GitHub 專案網頁下載。
下載 Logout4Shell : 按此