◆李 東
?
震網(wǎng)病毒事件淺析及工控安全防護(hù)能力提升啟示
◆李 東
(核工業(yè)計(jì)算機(jī)應(yīng)用研究所 北京 100048)
工業(yè)控制系統(tǒng)發(fā)展迅速,其面臨的安全風(fēng)險(xiǎn)也越來(lái)越嚴(yán)峻。震網(wǎng)病毒作為工業(yè)控制網(wǎng)絡(luò)惡意軟件典型樣本,具有破壞性強(qiáng)、隱蔽性強(qiáng)、針對(duì)性強(qiáng)等特點(diǎn),通過(guò)遠(yuǎn)程控制、漏洞利用等方式,在世界范圍內(nèi)造成不同程度影響。受到攻擊的企業(yè)可能面臨設(shè)施運(yùn)行異常、商業(yè)資料失竊、甚至停工停產(chǎn)等情況。本文通過(guò)淺析震網(wǎng)病毒事件,思考工業(yè)企業(yè)在工業(yè)控制系統(tǒng)防護(hù)建設(shè)時(shí),涉及到的安全管理、安全技術(shù)等方面的防護(hù)啟示,并給出相關(guān)建議。
震網(wǎng)病毒;工控安全;防護(hù)啟示
當(dāng)前,工業(yè)控制系統(tǒng)發(fā)展迅速,工業(yè)控制網(wǎng)絡(luò)日趨復(fù)雜,工控系統(tǒng)的復(fù)雜程度也大大提高,存在的安全風(fēng)險(xiǎn)也大大增加。工業(yè)控制系統(tǒng)作為國(guó)家關(guān)鍵基礎(chǔ)設(shè)施的重要組成部分,已逐漸成為大國(guó)之間博弈較量的主戰(zhàn)場(chǎng)。不論個(gè)人,企業(yè)還是政府,都越來(lái)越重視工業(yè)控制系統(tǒng)安全防護(hù)。震網(wǎng)病毒事件爆發(fā)以來(lái),我國(guó)政府相關(guān)部門相繼出臺(tái)工業(yè)控制系統(tǒng)安全防護(hù)方面的政策法規(guī)標(biāo)準(zhǔn),如2011年工業(yè)和信息化部下發(fā)的《關(guān)于加強(qiáng)工業(yè)控制系統(tǒng)信息安全管理的通知》、2016年工業(yè)和信息化部下發(fā)的《工業(yè)控制系統(tǒng)信息安全防護(hù)指南》等。
目前關(guān)于震網(wǎng)病毒事件的研究報(bào)告和資料比較完整,經(jīng)過(guò)將近十年的時(shí)間,其整個(gè)事件的全貌也比較清晰。震網(wǎng)病毒作為工業(yè)控制網(wǎng)絡(luò)惡意軟件的典型樣本,其傳播感染破壞機(jī)理具有典型性。本文回顧震網(wǎng)病毒事件始末,淺析震網(wǎng)病毒的樣本行為,結(jié)合這些年出臺(tái)的標(biāo)準(zhǔn)規(guī)范,有針對(duì)性的提出工業(yè)企業(yè)提升工控安全防護(hù)能力的幾點(diǎn)建議。
震網(wǎng)病毒在2010年大規(guī)模爆發(fā),是世界上首個(gè)針對(duì)工業(yè)控制系統(tǒng)編寫(xiě)的破壞性蠕蟲(chóng)病毒[1]。震網(wǎng)病毒通過(guò)社會(huì)工程學(xué)方法從互聯(lián)網(wǎng)側(cè)被“投放”到伊朗核設(shè)施設(shè)備供應(yīng)商網(wǎng)絡(luò),后通過(guò)設(shè)備供應(yīng)商電腦或者U盤,在設(shè)備安裝維修或者工廠員工交叉使用U盤時(shí),感染工業(yè)控制系統(tǒng)主機(jī),進(jìn)而感染整個(gè)工控網(wǎng)絡(luò),造成工業(yè)生產(chǎn)設(shè)備運(yùn)行異常。
(1)政治意圖明顯
震網(wǎng)病毒在伊朗感染的計(jì)算機(jī)占全球范圍的一半以上,其感染網(wǎng)絡(luò)多為伊朗的核設(shè)施相關(guān),且技術(shù)實(shí)現(xiàn)復(fù)雜,目標(biāo)單一。能做到這些需要廣泛資源,絕非黑客所為,結(jié)合當(dāng)時(shí)的國(guó)際政治環(huán)境,基本可以判斷此次事件屬于國(guó)家行為[2]。
(2)隱蔽性強(qiáng)
震網(wǎng)病毒采用“躲避”技術(shù)高超,很難被殺毒軟件和工業(yè)生產(chǎn)監(jiān)控系統(tǒng)發(fā)現(xiàn),造成其被發(fā)現(xiàn)和分析經(jīng)歷了漫長(zhǎng)的過(guò)程。在全球頂級(jí)病毒分析師的努力下,震網(wǎng)病毒的徹底分析破解經(jīng)約10個(gè)月,其病毒版本至少更新兩次[3]。造成伊朗工廠方面應(yīng)急響應(yīng)工作開(kāi)展困難,不能做出有效的針對(duì)性措施。
(3)針對(duì)性強(qiáng)
震網(wǎng)病毒行為表明,震網(wǎng)病毒只針對(duì)特定PLC控制器軟件版本進(jìn)行攻擊,對(duì)特定繼電器進(jìn)行控制。而從其惡意代碼攻擊部判斷,病毒開(kāi)發(fā)者已經(jīng)掌握目標(biāo)工廠建造的較詳細(xì)信息,這一點(diǎn)可以從惡意代碼攻擊部數(shù)組結(jié)構(gòu)和有關(guān)科學(xué)文獻(xiàn)內(nèi)容吻合加以印證[4]。
震網(wǎng)病毒的爆發(fā)震網(wǎng)病毒造成眾多的離心機(jī)損壞。使伊朗的核計(jì)劃延遲1年多。核設(shè)施工作人員只能將工業(yè)控制系統(tǒng)中的感染電腦每臺(tái)重新格式化來(lái)清除病毒,重新安裝系統(tǒng)和工業(yè)控制軟件來(lái)盡快恢復(fù)生產(chǎn)。
震網(wǎng)病毒傳播能力極強(qiáng),從震網(wǎng)病毒爆發(fā)至2010年底,共有100000臺(tái)主機(jī)感染了該病毒。至少六個(gè)國(guó)家受到了不同程度的影響。下表列出按照國(guó)家劃分的被感染計(jì)算機(jī)所占比例前六名的國(guó)家[5]。

表1 被感染計(jì)算機(jī)占比前六名的國(guó)家
互聯(lián)網(wǎng)側(cè),震網(wǎng)病毒通過(guò)HTTP協(xié)議鏈接到指定域名,即C&C服務(wù)器,更新自身版本,使用加密技術(shù)保護(hù)通信數(shù)據(jù);內(nèi)網(wǎng)側(cè),通過(guò)在感染主機(jī)上創(chuàng)建RPC服務(wù)的方式,完成局域網(wǎng)內(nèi)病毒之間通信,實(shí)現(xiàn)感染主機(jī)之間的版本更新[6]。
(1)LNK或PIF文件任意代碼執(zhí)行漏洞(CVE-2010-2568)
該漏洞利用windows系統(tǒng)在解析快捷方式文件(例如.lnk文件)時(shí)的系統(tǒng)機(jī)制缺陷,使操作系統(tǒng)加載攻擊者指定的動(dòng)態(tài)鏈接庫(kù)文件。震網(wǎng)病毒利用此漏洞實(shí)現(xiàn)“擺渡”攻擊,實(shí)現(xiàn)對(duì)物理隔離網(wǎng)絡(luò)的滲透[7]。
(2)Windows server 服務(wù)RPC請(qǐng)求遠(yuǎn)程代碼執(zhí)行漏洞(CVE- 2008-4250)
當(dāng)有此漏洞的Windows2000、Windows XP和Windows Server 2003系統(tǒng),收到惡意構(gòu)造的RPC請(qǐng)求時(shí),會(huì)繞過(guò)認(rèn)證執(zhí)行任意代碼,并獲得完整控制權(quán)限。震網(wǎng)病毒利用此漏洞進(jìn)行大規(guī)模傳播。
(3)打印機(jī)后臺(tái)程序服務(wù)漏洞(CVE-2010-2729)
該漏洞是Windows打印后臺(tái)程序用戶權(quán)限設(shè)置不合理造成的。震網(wǎng)病毒利用此漏洞實(shí)現(xiàn)內(nèi)網(wǎng)傳播。
(4)Siemens Simatic Wincc與PCS硬編碼口令權(quán)限許可和訪問(wèn)控制漏洞(CVE-2010-2772)
WinCC系統(tǒng)開(kāi)發(fā)者將數(shù)據(jù)庫(kù)的默認(rèn)賬戶名和密碼硬編碼到了WinCC系統(tǒng)中。震網(wǎng)病毒利用此漏洞訪問(wèn)數(shù)據(jù)庫(kù)。震網(wǎng)病毒還利用Step7工程打開(kāi)文件時(shí)的動(dòng)態(tài)鏈接庫(kù)加載策略缺陷,實(shí)現(xiàn)查詢讀取函數(shù)的劫持,從而竊取正常生產(chǎn)數(shù)據(jù)。
震網(wǎng)病毒在感染工業(yè)控制主機(jī)后,首先會(huì)耐心地“潛伏”14天或者更長(zhǎng)時(shí)間,在“潛伏”的這段時(shí)間里,震網(wǎng)病毒會(huì)記錄PLC向外發(fā)送的數(shù)據(jù),等到震網(wǎng)病毒開(kāi)始運(yùn)行,會(huì)把之前保存的數(shù)據(jù)發(fā)送往監(jiān)控端,造成運(yùn)行正常的“假象”。如果程序員發(fā)現(xiàn)PLC出現(xiàn)問(wèn)題,要進(jìn)行調(diào)試,震網(wǎng)病毒會(huì)攔截讀取PLC代碼段的請(qǐng)求,并且把惡意代碼刪除。如果殺毒軟件檢測(cè)感染系統(tǒng),病毒會(huì)Hook操作系統(tǒng),隱藏自身,劫持掃描指令,“躲避”殺毒軟件,使其找不到病毒。
震網(wǎng)病毒攻擊載荷運(yùn)行時(shí),會(huì)把變頻頻率提升到1410HZ,持續(xù)15分鐘,然后再回到正常的1064HZ,持續(xù)26天,然后再2HZ的頻率上持續(xù)50分鐘,然后再恢復(fù)到正常的1064HZ,持續(xù)26天。通過(guò)改變離心機(jī)頻率的方式對(duì)離心機(jī)構(gòu)成破壞[8]。
(1)加強(qiáng)供應(yīng)鏈管理
伊朗的核設(shè)施地處偏遠(yuǎn),守衛(wèi)森嚴(yán),直接從互聯(lián)網(wǎng)實(shí)施攻擊不滿足條件,故震網(wǎng)病毒選擇其重要設(shè)備供應(yīng)商網(wǎng)絡(luò)進(jìn)行互聯(lián)網(wǎng)“投毒”攻擊。工業(yè)企業(yè)在選擇設(shè)備供應(yīng)商時(shí)往往對(duì)其信息安全建設(shè)運(yùn)營(yíng)水平考慮甚少,或者不予考慮,這就使震網(wǎng)病毒有機(jī)可乘。
建議工業(yè)企業(yè)在選擇重要設(shè)備供應(yīng)商時(shí)考慮其企業(yè)信息安全建設(shè)水平,取得相關(guān)安全認(rèn)證的企業(yè)優(yōu)先考慮。在合同協(xié)議中最好明確規(guī)定設(shè)備維修升級(jí)或改造過(guò)程中不能給工業(yè)控制網(wǎng)絡(luò)引入額外風(fēng)險(xiǎn)。加強(qiáng)供應(yīng)鏈信息安全約束,保障供應(yīng)鏈安全,是企業(yè)保障工控安全的重要前提。
(2)加強(qiáng)敏感信息保護(hù)
震網(wǎng)病毒之所以成功的延遲了伊朗的和進(jìn)程,不僅僅依靠其設(shè)計(jì)復(fù)雜,技術(shù)難度高的惡意代碼編寫(xiě)技術(shù),我們還應(yīng)該看到其技術(shù)團(tuán)隊(duì)背后有強(qiáng)大的情報(bào)資源支持。除了隱秘的情報(bào)來(lái)源,令人驚訝的是,伊朗核設(shè)施建造結(jié)構(gòu)資料,是能夠在互聯(lián)網(wǎng)查詢到的。這是典型的敏感信息泄露。
建議工業(yè)企業(yè)建立完整的信息分類制度,對(duì)敏感的工藝數(shù)據(jù)、關(guān)鍵設(shè)備信息、關(guān)鍵人員信息等敏感信息建立信息審查制度。定期對(duì)互聯(lián)網(wǎng)涉及自身企業(yè)的信息包括招投標(biāo)信息,資產(chǎn)信息、學(xué)術(shù)論文信息等做定期的梳理,防止敏感信息泄露。如果發(fā)現(xiàn)敏感信息泄露,應(yīng)采取相關(guān)措施補(bǔ)救。
(3)組建專業(yè)信息安全團(tuán)隊(duì)
震網(wǎng)病毒爆發(fā)的2010年,大多數(shù)工業(yè)企業(yè)還沒(méi)有意識(shí)到工業(yè)控制系統(tǒng)會(huì)面臨信息安全問(wèn)題。而將近10年過(guò)去了,也很少有工業(yè)企業(yè)擁有自己專門的工控安全團(tuán)隊(duì)。
建議有條件的工業(yè)企業(yè)成立自己的工控安全團(tuán)隊(duì),有針對(duì)性地跟蹤工業(yè)控制系統(tǒng)漏洞并驗(yàn)證、挖掘企業(yè)使用工業(yè)控制系統(tǒng)設(shè)備漏洞,消除已知和潛在風(fēng)險(xiǎn);當(dāng)遇到工控安全事件時(shí),安全團(tuán)隊(duì)主要分析惡意軟件,判斷惡意軟件危害,做出有效應(yīng)急響應(yīng)。當(dāng)遇到技術(shù)復(fù)雜的惡意軟件時(shí),能夠配合技術(shù)實(shí)力和情報(bào)能力更強(qiáng)的網(wǎng)絡(luò)安全公司進(jìn)行合作,迅速研判惡意軟件行為,盡快提出并實(shí)施解決方案,減少企業(yè)損失。沒(méi)有條件的企業(yè)根據(jù)自身狀況,建議購(gòu)買專業(yè)的工業(yè)控制系統(tǒng)安全服務(wù)。
(4)政治敏感時(shí)期加強(qiáng)監(jiān)控預(yù)警
近些年,類似震網(wǎng)病毒事件也有幾起。它們無(wú)不具有一定的政治意圖,實(shí)施破壞關(guān)鍵基礎(chǔ)設(shè)施的攻擊。這就要求工業(yè)企業(yè)做好自身資產(chǎn)的政治民生方面的評(píng)估,結(jié)合特定時(shí)期的國(guó)際政治熱點(diǎn),判斷工控安全事件發(fā)生的可能性。有條件的企業(yè)可以借助一些“外力”,比如威脅情報(bào),做好工業(yè)控制系統(tǒng)信息安全事件的預(yù)測(cè)預(yù)警,有針對(duì)性的提高安全防護(hù)。
(5)加強(qiáng)移動(dòng)存儲(chǔ)介質(zhì)管控
由于工控系統(tǒng)直接連接互聯(lián)網(wǎng)的情況不多,尤其涉及國(guó)計(jì)民生的關(guān)鍵基礎(chǔ)設(shè)施很少連接互聯(lián)網(wǎng),所以大多數(shù)工控系統(tǒng)惡意軟件都具有移動(dòng)存儲(chǔ)介質(zhì)傳播功能。做好移動(dòng)存儲(chǔ)介質(zhì)管控,能夠有效控制惡意代碼和病毒的傳播。
建議企業(yè)建立移動(dòng)存儲(chǔ)介質(zhì)臺(tái)賬,做好標(biāo)識(shí)管理。禁止工業(yè)控制系統(tǒng)與互聯(lián)網(wǎng)系統(tǒng)交叉使用U盤,從而減少感染病毒幾率。明確設(shè)備提供商在設(shè)備升級(jí)維修或者改造過(guò)程中的介質(zhì)要求,避免使用U盤等移動(dòng)存儲(chǔ)介質(zhì)。
(1)加強(qiáng)第三方流量審計(jì)
工控網(wǎng)的流量審計(jì)目前是比較通用的防護(hù)方式。工控網(wǎng)的流量監(jiān)控和審計(jì)和工控系統(tǒng)本身的數(shù)據(jù)檢測(cè)是不同的,一個(gè)解決的是信息安全問(wèn)題,一個(gè)解決的是生產(chǎn)安全問(wèn)題。兩者兼顧,才能真正掌握工控網(wǎng)絡(luò)的運(yùn)行情況。
建議扎實(shí)做好工業(yè)控制網(wǎng)絡(luò)流量監(jiān)測(cè)審計(jì),在使用工業(yè)控制設(shè)備監(jiān)測(cè)系統(tǒng)的同時(shí)建議配套一組第三方網(wǎng)絡(luò)流量審計(jì)系統(tǒng),對(duì)比兩監(jiān)控?cái)?shù)據(jù),及時(shí)查找出安全隱患,防止類似震網(wǎng)病毒通過(guò)發(fā)送正常數(shù)據(jù)躲避檢測(cè)的伎倆得逞。
(2)做好安全域劃分
在工控網(wǎng)建設(shè)規(guī)劃中,應(yīng)做好安全域的劃分;如果建設(shè)規(guī)劃初期未考慮安全域劃分,那么在改造升級(jí)過(guò)程中,建議根據(jù)實(shí)際情況,通過(guò)安全設(shè)備實(shí)現(xiàn)安全域劃分。工業(yè)控制網(wǎng)絡(luò)要根據(jù)信息性質(zhì)、使用主體、安全策略等元素來(lái)劃分不同邏輯子網(wǎng)或網(wǎng)絡(luò)[9],按照各個(gè)區(qū)域的安全需求進(jìn)行防護(hù),這樣做可以控制計(jì)算機(jī)病毒的感染傳播,為做好惡意病毒事件應(yīng)急響應(yīng)和追溯工作奠定良好基礎(chǔ)。
(3)加強(qiáng)邊界防護(hù)
邊界防護(hù)是保護(hù)工控系統(tǒng)安全區(qū)域內(nèi)外部網(wǎng)絡(luò)流量的有效手段。建議在進(jìn)出安全域的網(wǎng)絡(luò)流量通過(guò)至少一個(gè)網(wǎng)絡(luò)連接環(huán)節(jié),以便于監(jiān)視和控制。在網(wǎng)絡(luò)連接過(guò)程中設(shè)置至少一個(gè)安全設(shè)備進(jìn)行防護(hù)[10]。 一般建議在網(wǎng)絡(luò)邊界處部署防火墻和入侵檢測(cè)系統(tǒng),分別進(jìn)行網(wǎng)絡(luò)流量過(guò)濾和深度數(shù)據(jù)包分析。再根據(jù)安全區(qū)域的安全需求,增加應(yīng)用層監(jiān)視設(shè)備等安全防護(hù)產(chǎn)品。
(4)加強(qiáng)工業(yè)控制系統(tǒng)主機(jī)防護(hù)
工業(yè)控制系統(tǒng)中的主機(jī)操作系統(tǒng)版本大多比較低,一些比較老舊的工業(yè)控制系統(tǒng)已經(jīng)使用了10至20年,期間沒(méi)有條件對(duì)系統(tǒng)中的主機(jī)進(jìn)行升級(jí),殺毒,打補(bǔ)丁等操作,這是工業(yè)控制系統(tǒng)的一個(gè)現(xiàn)狀,也是震網(wǎng)病毒等惡意軟件能在短期內(nèi)迅速傳播擴(kuò)散的原因。
建議在不影響工業(yè)控制軟件工作的條件下,安裝工控主機(jī)專用的殺毒軟件,或者使用一些安全廠商針對(duì)工控主機(jī)進(jìn)程防護(hù)的,基于白名單機(jī)制的主機(jī)防護(hù)產(chǎn)品。工控主機(jī)的殺毒、系統(tǒng)升級(jí)、打補(bǔ)丁等操作一定要經(jīng)過(guò)測(cè)試,最好在備用的工控系統(tǒng)上做測(cè)試后再到生產(chǎn)系統(tǒng)中去實(shí)施。
(5)加強(qiáng)控制指令流量監(jiān)控
震網(wǎng)病毒這類破壞型病毒其最終目的是通過(guò)網(wǎng)絡(luò)向PLC端發(fā)送破壞性控制指令,如果控制系統(tǒng)的控制指令能夠確定在某個(gè)區(qū)間,或者監(jiān)控?cái)?shù)據(jù)有一個(gè)正常范圍內(nèi)的范圍,類似這樣的情況,企業(yè)可以考慮在控制端,使用控制指令流量監(jiān)控設(shè)備,對(duì)上位機(jī)或者工程師站發(fā)送出的每一條控制指令進(jìn)行監(jiān)控審計(jì),如果超出一定的范圍或某一閾值,可以進(jìn)行阻斷或者報(bào)警,最大限度的保持工控系統(tǒng)安全運(yùn)行。
震網(wǎng)病毒事件是網(wǎng)絡(luò)攻擊延申到現(xiàn)實(shí)世界的典型案例,也是工業(yè)控制系統(tǒng)安全的“元年”。網(wǎng)絡(luò)攻擊不再只發(fā)生在虛擬世界中,而是影響到了人們的衣食住行。近些年,工業(yè)控制系統(tǒng)面對(duì)的威脅更趨復(fù)雜,震網(wǎng)病毒事件后陸續(xù)有火焰病毒、毒區(qū)病毒、蜻蜓和黑暗力量病毒爆發(fā),除了以上有信息采集、精確打擊功能的病毒威脅工業(yè)控制系統(tǒng)外,WannaCry勒索病毒的爆發(fā)也給工業(yè)企業(yè)帶來(lái)很大損失,比較典型的是臺(tái)積電病毒門事件。
工業(yè)企業(yè)做好工控系統(tǒng)信息安全防護(hù)迫在眉睫,但是不能盲目照搬,照貓畫(huà)虎。由于工業(yè)控制系統(tǒng)的實(shí)時(shí)性要求比互聯(lián)網(wǎng)信息系統(tǒng)要求高很多,工業(yè)控制網(wǎng)絡(luò)安全防護(hù)要注重工業(yè)控制系統(tǒng)的可用性,這就要求企業(yè)在做工業(yè)控制系統(tǒng)安全防護(hù)的過(guò)程中要充分考慮實(shí)際情況,提出切合實(shí)際的工業(yè)控制系統(tǒng)防護(hù)解決方案。如果方案中技術(shù)防護(hù)方面措施尚有不足,建議用嚴(yán)格細(xì)致的管理措施作為補(bǔ)充,確保解決方案切實(shí)提升工控系統(tǒng)防護(hù)能力。我相信,只要工業(yè)企業(yè)做好基礎(chǔ)合規(guī)的信息安全防護(hù),合理配置安全設(shè)備,加大監(jiān)測(cè)力度,便能夠?qū)︻愃普鹁W(wǎng)病毒事件做到防范于未然。
[1]饒躍東、熊瑜.基于“震網(wǎng)”病毒的物理隔離網(wǎng)絡(luò)風(fēng)險(xiǎn)控制分析[J].廣西科學(xué)院學(xué)報(bào),2012.
[2]工業(yè)控制系統(tǒng)信息安全指南,2016.
[3]https://www.ted.com/talks/ralph_langner_cracking_stuxnet_a_21st_century_cyberweapon#t-352700.
[4]Ralph Langner| TED2011.Cracking Stuxnet, a 21st-century cyber weapon.
[5]黑客大曝光工業(yè)控制系統(tǒng)安全,2017.
[6]Amr Thabe.Stuxnet Malware Analysis Paperw32_ stuxnet_dossier.
[7]安天實(shí)驗(yàn)室.對(duì)Stuxnet蠕蟲(chóng)攻擊工業(yè)控制系統(tǒng)事件的綜合報(bào)告,2015.
[8]Kim Zetter.零日漏洞:震網(wǎng)病毒全揭秘.https:// www.aqniu.com/hack-geek/11234.html.
[9]《電力行業(yè)信息系統(tǒng)安全等級(jí)保護(hù)基本要求》釋義,2015.
[10]工業(yè)SCADA系統(tǒng)信息安全技術(shù),2018.