Apache Log4j 突發(fā)核彈級(jí)別安全漏洞,如何確保系統(tǒng)安全?

核彈級(jí)漏洞Log4j事件想必大家都知道了吧?該漏洞利用方式十分簡(jiǎn)單,攻擊者僅需一段代碼就可以遠(yuǎn)程控制目標(biāo)服務(wù)器,90%以上基于java開(kāi)發(fā)的應(yīng)用平臺(tái)都會(huì)受到影響,影響范圍極大。

能引發(fā)技術(shù)圈大地震,Apache Log4j不簡(jiǎn)單,它是一款開(kāi)源的Java日志框架,被廣泛地應(yīng)用在中間件、開(kāi)發(fā)框架、Web應(yīng)用中,用來(lái)記錄日志信息。而這些中間件和開(kāi)發(fā)框架作為軟件基礎(chǔ)又被其他軟件系統(tǒng)使用,所以Log4j被極其廣泛的應(yīng)用在各大軟件系統(tǒng)里面。比如大家耳熟能詳?shù)挠螒?Minecraft(我的世界),甚至NASA 在火星上的直升機(jī)都使用了Log4j!

Apache Log4j 突發(fā)核彈級(jí)別安全漏洞,如何確保系統(tǒng)安全?

Java是業(yè)界使用最廣泛的編程語(yǔ)言,也是騫云的主流開(kāi)發(fā)語(yǔ)言之一(我們還用了大量的Python、Angular、Javascript、Go等,喜歡多語(yǔ)言開(kāi)發(fā)的攻城獅們趕緊看過(guò)來(lái))。我們平臺(tái)不但直接使用Log4j2,采用的很多Java類(lèi)庫(kù)也用了Log4j2,這里面包括Tomcat、ElasticSearch、Skywalking,甚至還有古老的VMware vSphere Java SDK也依賴這個(gè)日志框架。所以從漏洞爆出的第一天,騫云的技術(shù)團(tuán)隊(duì)就開(kāi)始投入到這個(gè)緊急事件的處理中。

經(jīng)分析發(fā)現(xiàn),我們還是比較幸運(yùn)的,這次的安全漏洞對(duì)騫云平臺(tái)基本沒(méi)有影響。這得益于騫云的產(chǎn)品平臺(tái)每年都有3-4次版本迭代更新,每次更新都會(huì)將各種運(yùn)行環(huán)境升級(jí)到最新的版本,且絕大部分客戶也會(huì)采購(gòu)升級(jí)服務(wù),所以大部分用戶都在用騫云平臺(tái)的6.1.x以上版本。從去年中發(fā)布的6.1版本開(kāi)始,平臺(tái)就升級(jí)到了最新JDK 8u261。幸運(yùn)的是,Oracle JDK 8u191或者更高版本的JDK,缺省不允許執(zhí)行遠(yuǎn)程代碼。所以使用騫云6.1及以上版本的客戶,就不存在遠(yuǎn)程代碼執(zhí)行的問(wèn)題。當(dāng)然,如果本地操作系統(tǒng)已經(jīng)被攻破,預(yù)先被植入惡意本地代碼,那惡意代碼就可以本地漏洞調(diào)用。邏輯上,所在操作系統(tǒng)環(huán)境已經(jīng)被攻破了,就沒(méi)必要利用這漏洞來(lái)控制肉雞機(jī)器了。

即使此次的安全漏洞對(duì)騫云絕大部分客戶沒(méi)有什么安全影響,我們的研發(fā)團(tuán)隊(duì)還是第一時(shí)間發(fā)布了安全補(bǔ)丁包,將我們平臺(tái)直接依賴的Log4j2升級(jí)到了當(dāng)天最新的2.15最新版本,并關(guān)閉JNDI Lookup。12月10日晚,我們已經(jīng)完成需要線上對(duì)外服務(wù)的所有部署系統(tǒng)的補(bǔ)丁升級(jí)。周一13號(hào)開(kāi)始,經(jīng)過(guò)驗(yàn)證的補(bǔ)丁包就開(kāi)始給到我們的交付同事,幫助客戶環(huán)境進(jìn)行升級(jí),到今天16號(hào)為止,我們的絕大部分客戶版本,均已完成漏洞修補(bǔ)。

昨天12月15日,Apache Log4j2 官方又發(fā)布了2.16版本,主要修復(fù)了以下兩個(gè)潛在問(wèn)題:

1.利用 JMSAppender 造成遠(yuǎn)程代碼執(zhí)行;

2.用戶配置log4j,使用非默認(rèn)模式布局和上下文查找(例如$${ctx:loginId})或線程上下文映射模式(%X、%mdc或%MDC),這種情況下可能被攻擊導(dǎo)致拒絕服務(wù)(DoS)。

這兩種情況在騫云的產(chǎn)品里都不存在。我們沒(méi)有使用JMSAppender; 使用的是默認(rèn)模式布局(PatternLayout), 沒(méi)有使用上下文查找,也沒(méi)有使用線程上下文映射模式。因此對(duì)于騫云平臺(tái),Log4j 2.16 補(bǔ)丁不是必須的。

軟件的漏洞有時(shí)不可避免,這次的Apache Log4j安全漏洞,前一段時(shí)間的OpenSSL Heartbleed漏洞、 Fastjson高危漏洞、Struts2遠(yuǎn)程代碼執(zhí)行漏洞等等。根據(jù)Gartner的相關(guān)統(tǒng)計(jì),到 2025 年,30% 的關(guān)鍵信息基礎(chǔ)設(shè)施組織將遇到安全漏洞?;A(chǔ)設(shè)施組織中,一個(gè)組件遭遇安全問(wèn)題就會(huì)引發(fā)整個(gè)架構(gòu)的“地震”,以Log4j為例,一張圖看懂它在現(xiàn)代軟件基礎(chǔ)設(shè)施中的地位↓

Apache Log4j 突發(fā)核彈級(jí)別安全漏洞,如何確保系統(tǒng)安全?

(*作為基礎(chǔ)設(shè)施架構(gòu)的一個(gè)“支點(diǎn)”,Log4j舉足輕重,牽一發(fā)而動(dòng)全身)

軟件的安全問(wèn)題牽一發(fā)而動(dòng)全身,如果被利用,產(chǎn)生的損失很多時(shí)候是難以估量的。由這次安全事件的分析評(píng)估可見(jiàn),一個(gè)軟件系統(tǒng),持續(xù)的更新迭代、專(zhuān)業(yè)及時(shí)的維保服務(wù)都十分關(guān)鍵,能夠最大程度保障軟件平臺(tái)的穩(wěn)定、安全,為企業(yè)的業(yè)務(wù)發(fā)展保駕護(hù)航。

騫云科技也會(huì)繼續(xù)努力,保障我們客戶的系統(tǒng)安全和穩(wěn)定。

(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。 )