施耐德電氣的Modicon可編程邏輯控制器(PLC)存在一個(gè)高危漏洞,可以繞過(guò)認(rèn)證機(jī)制,讓攻擊者完全控制目標(biāo)設(shè)備。
該漏洞被追蹤為CVE-2021-22779,并被命名為ModiPwn,是由企業(yè)物聯(lián)網(wǎng)安全公司Armis的研究人員發(fā)現(xiàn)的。它可能被具有對(duì)目標(biāo)PLC的網(wǎng)絡(luò)訪問(wèn)權(quán)的未經(jīng)身份驗(yàn)證的攻擊者利用。
MODICON系列 PLC高危漏洞可被攻擊者用來(lái)發(fā)動(dòng)多種攻擊
Armis演示的攻擊鏈還涉及過(guò)去幾年發(fā)現(xiàn)的其他幾個(gè)漏洞。這些舊問(wèn)題——它們被追蹤為CVE-2018-7852、CVE-2019-6829和CVE-2020-7537——與施耐德的UMAS(統(tǒng)一消息應(yīng)用服務(wù))協(xié)議有關(guān),該協(xié)議用于配置和監(jiān)控這家工業(yè)巨頭的PLC。
根據(jù)Armis的說(shuō)法,UMAS通過(guò)Modbus工業(yè)通信協(xié)議運(yùn)行,該協(xié)議“缺乏加密和適當(dāng)?shù)恼J(rèn)證機(jī)制”。施耐德表示,過(guò)去一直計(jì)劃采用Modbus安全協(xié)議,但在更安全的協(xié)議版本被廣泛采用之前,舊版本將繼續(xù)構(gòu)成與安全相關(guān)的風(fēng)險(xiǎn)。
Armis的研究人員發(fā)現(xiàn),與未文檔化的UMAS命令有關(guān)的老漏洞實(shí)際上可以被用于遠(yuǎn)程代碼執(zhí)行和信息泄露,而不僅僅是施耐德最初聲稱的DoS攻擊。
供應(yīng)商通過(guò)添加認(rèn)證機(jī)制修補(bǔ)了這些舊的缺陷,該機(jī)制應(yīng)該可以防止它們被濫用。然而,Armis發(fā)現(xiàn)的新的ModiPwn漏洞可以被利用來(lái)繞過(guò)這種身份驗(yàn)證機(jī)制。
攻擊者可以利用ModiPwn漏洞繞過(guò)身份驗(yàn)證,然后利用未記錄的命令——基本上是較老的漏洞——執(zhí)行各種操作。
黑客可以使用這種方法“接管PLC,并在設(shè)備上獲得本機(jī)代碼執(zhí)行,可以用來(lái)改變PLC的操作,同時(shí)對(duì)管理PLC的工程工作站隱藏這些改變?!?/p>
“針對(duì)工業(yè)控制器的惡意軟件已經(jīng)在野外被發(fā)現(xiàn),例如Triton惡意軟件,它針對(duì)的是來(lái)自SE的Triconex安全控制器。這個(gè)惡意軟件是一個(gè)運(yùn)行在工業(yè)控制器上的惡意軟件,可以通過(guò)獲得本機(jī)代碼執(zhí)行來(lái)實(shí)現(xiàn)的潛在破壞性的例子。這個(gè)最新的漏洞顯示了攻擊者在類似的控制器上獲得本機(jī)代碼執(zhí)行的潛力。
ModiPwn漏洞最初于2020年11月中旬報(bào)告給施耐德電氣。該供應(yīng)商當(dāng)?shù)貢r(shí)間7月13日發(fā)布了一份安全建議,為這個(gè)漏洞提供緩解措施,但一個(gè)補(bǔ)丁尚未發(fā)布。Modicon M580和M340 PLC將會(huì)受到影響。
攻擊步驟如下:
使用CVE-2021-22779繞過(guò)認(rèn)證,預(yù)留PLC
上傳一個(gè)沒(méi)有配置應(yīng)用程序口令的新項(xiàng)目文件
釋放PLC預(yù)留,斷開(kāi)與設(shè)備的連接
用基本預(yù)約方式重新連接PLC,不需要口令認(rèn)證
Armis公司和施耐德分別給出了的緩解措施和安全建議
Armis強(qiáng)烈建議使用施耐德電氣的Modicon PLC安全配置指南,例如在項(xiàng)目文件中使用口令驗(yàn)證,正確使用網(wǎng)絡(luò)隔離,實(shí)現(xiàn)訪問(wèn)控制列表,以保護(hù)工業(yè)控制器免受不必要的通信和攻擊。
該研究強(qiáng)調(diào)了第三方解決方案的重要性,能夠監(jiān)控設(shè)備,識(shí)別風(fēng)險(xiǎn),并防止攻擊脆弱的工業(yè)控制器。
Armis操作技術(shù)(OT)平臺(tái)支持識(shí)別和監(jiān)控OT設(shè)備風(fēng)險(xiǎn)的高級(jí)功能。這包括檢測(cè)脆弱的PLC、ICS協(xié)議中的異常、檢測(cè)可能破壞未加密ICS協(xié)議安全性的中間人攻擊,以及識(shí)別主動(dòng)的利用嘗試。
Armis平臺(tái)還支持廣泛的集成,這些集成可以幫助組織執(zhí)行安全策略——例如,根據(jù)嚴(yán)格的普渡級(jí)OT設(shè)備識(shí)別應(yīng)該使用的正確邊界,并通過(guò)與網(wǎng)絡(luò)基礎(chǔ)設(shè)施解決方案的集成配置這些邊界。
“施耐德電氣致力于公開(kāi)和透明的合作,”施耐德電氣發(fā)言人托馬斯·艾克(Thomas Eck)在一份聲明中寫道。公司鼓勵(lì)客戶遵循公司發(fā)布的緩解指導(dǎo)意見(jiàn)。
認(rèn)證和加密是ICS環(huán)境下的老大難問(wèn)題
工業(yè)控制系統(tǒng)(ICS),即工業(yè)過(guò)程的操作生態(tài)系統(tǒng),已經(jīng)成為勒索軟件團(tuán)伙和其他網(wǎng)絡(luò)罪犯以及國(guó)家黑客日益流行的目標(biāo)。2017年,一種名為Trisis或Triton的惡意軟件破壞了沙特阿拉伯的一家石化工廠。惡意軟件被設(shè)計(jì)用來(lái)滲透施耐德電氣的安全儀器系統(tǒng)。
專家們說(shuō),施耐德控制器的脆弱性表明了一個(gè)更廣泛的行業(yè)問(wèn)題。工業(yè)環(huán)境中的許多遺留系統(tǒng)在設(shè)計(jì)時(shí)并沒(méi)有使用加密協(xié)議,而加密協(xié)議是保護(hù)數(shù)據(jù)的最強(qiáng)形式之一。
該漏洞可用于部署各種攻擊,從啟動(dòng)勒索軟件到修改命令到機(jī)械?!斑@是一個(gè)非常廣泛的范圍”,Armis公司研究副總裁本。斯里(Ben.Seri)表示?!八_實(shí)觸及了民族國(guó)家和這種規(guī)模的復(fù)雜攻擊的一端,但它也可能只是勒索軟件攻擊者的下一個(gè)合乎邏輯的步驟。
”施耐德和其他制造商很難為這些可編程邏輯控制器創(chuàng)建安全保護(hù),因?yàn)樗麄兪褂玫牡讓訁f(xié)議沒(méi)有加密或認(rèn)證,斯里說(shuō)“
他補(bǔ)充說(shuō):”無(wú)論他們?cè)诖嘶A(chǔ)上添加什么,試圖模擬安全通信結(jié)果在各種方面都達(dá)不到要求,因?yàn)榈讓訁f(xié)議并不安全。“
IT安全公司Scythe的首席執(zhí)行官布萊森·伯特(Bryson Bort)表示,盡管漏洞很嚴(yán)重,但施耐德電氣遠(yuǎn)非唯一一家面臨未加密系統(tǒng)風(fēng)險(xiǎn)的制造商。
”整個(gè)行業(yè)面臨的挑戰(zhàn)是,加密和認(rèn)證不是操作技術(shù)設(shè)備的標(biāo)準(zhǔn),“他說(shuō)。
但斯里說(shuō),施耐德電氣的PLC是說(shuō)明加密為何重要的最好例子。
”他們?cè)噲D使用其他身份驗(yàn)證,但如果沒(méi)有適當(dāng)?shù)募用?,幾乎不可能做到,“斯里說(shuō)?!蔽掖_實(shí)認(rèn)為這是一個(gè)長(zhǎng)期的問(wèn)題。這個(gè)領(lǐng)域必須有需求,這是一個(gè)要求,這是我們應(yīng)該努力去做的事情?!?/p>
認(rèn)證和加密技術(shù)是拜登政府對(duì)聯(lián)邦政府使用的軟件進(jìn)行改革的行政命令的核心。美國(guó)能源部(Energy Department)也敦促電力行業(yè)采取類似行動(dòng),以加強(qiáng)其網(wǎng)絡(luò)安全防御,但這一努力在很大程度上是電力行業(yè)自愿的。
徹底解決老大難問(wèn)題遙遙無(wú)期
Bort和Seri都表示,由于時(shí)間和過(guò)程的復(fù)雜性,行業(yè)在加密環(huán)境方面一直進(jìn)展緩慢。
正如上面的深入技術(shù)探討,很明顯,UMAS和Modbus的底層設(shè)計(jì)缺陷目前仍未得到修復(fù)。雖然正在嘗試加強(qiáng)對(duì)某些命令的訪問(wèn),但這些設(shè)計(jì)缺陷給開(kāi)發(fā)人員帶來(lái)了重大挑戰(zhàn)——這可能會(huì)在未來(lái)導(dǎo)致更多的漏洞。
除了上面詳細(xì)介紹的兩個(gè)CVE(它們?cè)试S完全繞過(guò)增強(qiáng)的保留機(jī)制)之外,ARMIS還能夠識(shí)別出另外兩個(gè)暫時(shí)尚未修復(fù)的攻擊場(chǎng)景。
1、Man-on-the-Side認(rèn)證繞過(guò)
如上所述,當(dāng)成功預(yù)訂發(fā)生時(shí),PLC將返回一個(gè)1字節(jié)的令牌。這個(gè)令牌稍后會(huì)在所有需要預(yù)留的命令中使用。如果攻擊者已經(jīng)駐留在一個(gè)網(wǎng)絡(luò)內(nèi),以這樣一種方式,某些工程工作站和PLC之間的數(shù)據(jù)包被他(他可以用那個(gè)位置)注入一個(gè)TCP RST包到PLC,它將斷開(kāi)工作站和PLC之間的Modbus TCP連接。PLC將保留保留令牌的狀態(tài),以便在幾秒鐘內(nèi)重用。如果在這個(gè)時(shí)間范圍內(nèi)攻擊者連接到PLC,他可以重用令牌,而不需要重新驗(yàn)證。這可以通過(guò)使用觀察到的令牌(在人站的場(chǎng)景中)或簡(jiǎn)單地強(qiáng)制255個(gè)可能的值(PLC將拒絕錯(cuò)誤的令牌,并且在多次嘗試時(shí)不會(huì)重置令牌)來(lái)實(shí)現(xiàn)。
盡管這種攻擊場(chǎng)景可以一定程度上減輕使用更長(zhǎng)的道理,或企圖拒絕暴力事件,潛在的威脅再次預(yù)約機(jī)制缺乏加密允許man-on-the-side攻擊者獲取信息,可用于繞過(guò)身份驗(yàn)證機(jī)制。
2、中間人身份驗(yàn)證繞過(guò)
不幸的是,更直接的攻擊,也很容易實(shí)施——是中間人攻擊。例如,使用ARP欺騙,攻擊者可以在工程工作站和Modicon PLC之間設(shè)置一個(gè)中間人。
利用這個(gè)位置,攻擊者可以從工作站伏擊預(yù)訂嘗試,并獲取合法用戶使用的憑證和\或令牌。雖然在預(yù)訂機(jī)制的當(dāng)前設(shè)計(jì)中,口令哈希是通過(guò)MemoryBlockRead命令不加密傳遞的,但預(yù)計(jì)該命令在未來(lái)將不會(huì)使用,口令哈希將不會(huì)通過(guò)UMAS\Modbus連接以明文方式傳遞。然而,由于目前還沒(méi)有為協(xié)議來(lái)檢測(cè)一個(gè)中間人攻擊,只是身份驗(yàn)證數(shù)據(jù)包轉(zhuǎn)發(fā)到PLC將讓他獲得預(yù)訂比濫用令牌,他可以運(yùn)行任何非法命令可以用來(lái)改變PLC配置,或觸發(fā)命令,可能會(huì)導(dǎo)致遠(yuǎn)端控制設(shè)備。
再次,修復(fù)這個(gè)MiTM認(rèn)證旁路需要在工程工作站和PLC之間建立一個(gè)安全連接——既能加密通信,又能驗(yàn)證雙方,驗(yàn)證連接沒(méi)有通過(guò)MiTM。
雖然目前端點(diǎn)中的安全通信被認(rèn)為是一個(gè)已解決的問(wèn)題,但以類似的方式解決它給工業(yè)控制器提出了一個(gè)挑戰(zhàn)。在傳統(tǒng)端點(diǎn)中,使用證書對(duì)服務(wù)進(jìn)行身份驗(yàn)證,并以安全的方式定義信任的根。在工業(yè)控制器中,不存在允許驗(yàn)證證書的用戶界面,而且缺乏Internet連接(設(shè)計(jì)上的)防止使用CA(證書頒發(fā)機(jī)構(gòu))。在沒(méi)有這些手段的情況下創(chuàng)建安全通信需要對(duì)控制器的物理訪問(wèn),通過(guò)這些控制器,密鑰可以與外部網(wǎng)絡(luò)交換。這將給部署帶來(lái)挑戰(zhàn),而且制造商和供應(yīng)商似乎還沒(méi)有準(zhǔn)備好采取這一步。
不幸的是,如果沒(méi)有這種對(duì)Modicon PLC通信方式的基本修復(fù),上述詳述的安全風(fēng)險(xiǎn)暫時(shí)仍與這些控制器有關(guān)。