張 娜
(中國石化長城能源化工(寧夏)有限公司,寧夏銀川 750411)
伴隨我國工業(yè)化和信息化的深度融合,以及物聯(lián)網(wǎng)、互聯(lián)網(wǎng)+時(shí)代的到來,基于計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的SCADA、DCS、PLC等工業(yè)控制系統(tǒng)已在我國關(guān)鍵性基礎(chǔ)設(shè)施和能源化工等工業(yè)領(lǐng)域普遍應(yīng)用。Windows、TCP/IP、現(xiàn)場(chǎng)總線等計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)為工業(yè)生產(chǎn)自動(dòng)化帶來極大推動(dòng)的同時(shí),也使工業(yè)控制系統(tǒng)越來越開放,工業(yè)控制系統(tǒng)不再是信息孤島,因此帶來的工業(yè)控制系統(tǒng)網(wǎng)絡(luò)安全問題也日益突出。
2010年10月,利用內(nèi)核后門和零日漏洞等高端網(wǎng)絡(luò)技術(shù),且專門針對(duì)伊朗納坦茲鈾濃縮工廠西門子工業(yè)控制系統(tǒng)的Stuxnet病毒爆發(fā)。這一席卷全球工業(yè)界的蠕蟲病毒經(jīng)媒體披露后迅速引發(fā)了各國政府與安全機(jī)構(gòu)的廣泛關(guān)注,被稱為世界上首個(gè)“超級(jí)工廠病毒”。
Stuxnet病毒通過U盤擺渡,翻越內(nèi)外網(wǎng)隔離,感染企業(yè)Windows計(jì)算機(jī),并在局域網(wǎng)中擴(kuò)散,搜索目標(biāo)——西門子軟件,感染安裝WinCC、Step7的計(jì)算機(jī),修改Step7項(xiàng)目文件,并將特定的代碼下裝注入PLC控制器,通過一段時(shí)間的潛伏后,突然將用于鈾濃縮的離心機(jī)的轉(zhuǎn)速迅速提升,而后又突然降速,從而摧毀離心機(jī)。該病毒爆發(fā)后,直接造成伊朗納坦茲鈾濃縮工廠的離心機(jī)大面積損毀,伊朗納坦茲鈾濃縮活動(dòng)暫停,核計(jì)劃延遲,對(duì)伊朗國內(nèi)核工業(yè)造成大面積影響。
Stuxnet病毒是計(jì)算機(jī)病毒界革命性創(chuàng)新,是首次發(fā)現(xiàn)的專門針對(duì)工業(yè)控制系統(tǒng)的計(jì)算機(jī)病毒。此外,2014年烏克蘭電網(wǎng)因感染了名為BlackEnergy的惡意軟件造成大規(guī)模停電事故,2017年發(fā)現(xiàn)的專門針對(duì)施耐德電氣的Triconex安全儀表系統(tǒng)的名為Triton惡意軟件等,均給工業(yè)網(wǎng)絡(luò)安全帶來新警示——“工業(yè)病毒”時(shí)代已經(jīng)來臨。
典型的工業(yè)控制網(wǎng)絡(luò)是縱向分層的邊界清晰、功能層次分明的拓?fù)浣Y(jié)構(gòu),自上到下依次為過程監(jiān)控層、現(xiàn)場(chǎng)控制層和現(xiàn)場(chǎng)設(shè)備層。過程監(jiān)控層是面向操作員以及控制系統(tǒng)工程師的,以操作監(jiān)視為主要任務(wù),兼有部分管理功能?,F(xiàn)場(chǎng)控制層主要包括DCS控制器和控制器通信模塊等,用于數(shù)據(jù)采集及轉(zhuǎn)換處理層,對(duì)生產(chǎn)過程進(jìn)行監(jiān)測(cè)和控制,與過程監(jiān)控層進(jìn)行通信?,F(xiàn)場(chǎng)設(shè)備層是采集控制信號(hào)、執(zhí)行控制命令,包括現(xiàn)場(chǎng)智能儀表、執(zhí)行機(jī)構(gòu)、傳感器等現(xiàn)場(chǎng)設(shè)備和儀表。各層之間由通信網(wǎng)絡(luò)連接,層內(nèi)各裝置之間由本級(jí)的通信網(wǎng)絡(luò)進(jìn)行通信聯(lián)系。
近年來,隨著信息技術(shù)的迅猛發(fā)展及兩化深度融合,企業(yè)管理對(duì)信息化需求越來越高,部分生產(chǎn)過程數(shù)據(jù)需要在企業(yè)管理網(wǎng)絡(luò)中有所體現(xiàn),類似MES、ERP等生產(chǎn)管理系統(tǒng)在工業(yè)企業(yè)中應(yīng)用越來越廣泛,企業(yè)管理網(wǎng)絡(luò)與工業(yè)控制網(wǎng)的互聯(lián)面逐步擴(kuò)大。企業(yè)管理網(wǎng)絡(luò)需要通過OPC等協(xié)議從工業(yè)控制網(wǎng)絡(luò)中讀取越來越多的生產(chǎn)過程數(shù)據(jù),工業(yè)制網(wǎng)絡(luò)已打破了原有的獨(dú)立,不再是與外界互聯(lián)網(wǎng)直接物理隔離的獨(dú)立網(wǎng)絡(luò),其觸角已向上延伸至企業(yè)管理層。工業(yè)控制系統(tǒng)典型網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 工業(yè)控制系統(tǒng)典型網(wǎng)絡(luò)結(jié)構(gòu)
工業(yè)控制網(wǎng)絡(luò)由于其專業(yè)特殊性,信息安全不是工業(yè)控制系統(tǒng)的主要設(shè)計(jì)目標(biāo),因此,工業(yè)控制網(wǎng)絡(luò)所面臨的安全風(fēng)險(xiǎn)是巨大的。
工業(yè)控制系統(tǒng)通常采用的工業(yè)控制設(shè)備基本上都是來自國外廠商,如艾默生、霍尼韋爾、AB、西門子、施耐德等,這些控制設(shè)備設(shè)計(jì)的時(shí)候更多是為了實(shí)現(xiàn)功能,安全性考慮不足,存在很多高危安全漏洞,有的甚至存在后門,一旦被攻擊利用會(huì)導(dǎo)致嚴(yán)重后果[1]。
公開的統(tǒng)計(jì)數(shù)據(jù)表明,2010年以前每年發(fā)現(xiàn)的工控安全漏洞數(shù)量均為個(gè)位數(shù),2010年后新發(fā)現(xiàn)的工控安全漏洞數(shù)量呈快速增長的趨勢(shì),如圖2所示。2017年,國家信息安全漏洞共享平臺(tái)(CNVD)上收錄的工業(yè)控制漏洞達(dá)381個(gè),比2016年的189個(gè)翻了一番。石化行業(yè)常用的國外工業(yè)控制系統(tǒng),西門子(Siemens)、研華(Advantech)、施耐德(Schneider)、羅克韋爾自動(dòng)化(Rockwell Automation)產(chǎn)品漏洞數(shù)量占前4名[2]。
圖2 2010年以來工控安全漏洞數(shù)量變化趨勢(shì)(數(shù)據(jù)來源于CNVD)
工控安全漏洞數(shù)量持續(xù)增長,但供應(yīng)商及工業(yè)企業(yè)修復(fù)漏洞進(jìn)度遲緩,卡巴斯基發(fā)布的《2016下半年工業(yè)控制系統(tǒng)威脅情況》報(bào)告指出,2016年下半年曝出的工控安全漏洞有75個(gè),數(shù)量有所增加。截至2017年3月,卡巴斯基發(fā)現(xiàn)的75個(gè)漏洞中僅有30個(gè)已被工業(yè)軟件供應(yīng)商修復(fù),修復(fù)率只有40%,其中高危漏洞占比近50%,中危漏洞占40%,這些數(shù)據(jù)都表明,工控安全漏洞情況不容樂觀,需引起足夠重視[3]。
工業(yè)控制系統(tǒng)常用的工業(yè)協(xié)議有Modbus、S7、OPC、IEC104、DNP3、Profibus、TCP/IP等,這些協(xié)議主要是為了保證工業(yè)生產(chǎn)數(shù)據(jù)采集和通訊的功能實(shí)現(xiàn),其安全性不及互聯(lián)網(wǎng)領(lǐng)域的其他協(xié)議。
例如,西門子S7Comm協(xié)議的權(quán)限缺失漏洞,可被用于遠(yuǎn)程操作PLC,對(duì)PLC進(jìn)行啟停控制、內(nèi)存的讀寫;西門子1200 V3版本協(xié)議認(rèn)證的缺陷,可被利用傳播PLC蠕蟲病毒。
工業(yè)控制系統(tǒng)的工程師站、服務(wù)器、操作員站幾乎都采用的微軟Windows系列操作系統(tǒng)本身存在大量安全漏洞,且工業(yè)控制系統(tǒng)不會(huì)直接與外部網(wǎng)絡(luò)互聯(lián),考慮到工業(yè)控制系統(tǒng)的相對(duì)獨(dú)立及穩(wěn)定運(yùn)行,工程師對(duì)于投入運(yùn)行后的工業(yè)控制系統(tǒng)不會(huì)輕易安裝補(bǔ)丁。
另外,工業(yè)控制系統(tǒng)的更新?lián)Q代周期較長,企業(yè)內(nèi)使用的老舊版本的Windows系統(tǒng)如Windows 7、Windows XP、Windows 2000、Windows 2003十分普遍,系統(tǒng)不能及時(shí)升級(jí)更新,且微軟已經(jīng)停止對(duì)上述操作系統(tǒng)的技術(shù)支持,應(yīng)用這些操作系統(tǒng)的工程師站及操作員站面臨無補(bǔ)丁可打的困境,更容易遭受攻擊,存在較大的安全風(fēng)險(xiǎn)。
工業(yè)控制系統(tǒng)的應(yīng)用軟件類型多樣,各控制系統(tǒng)廠家均開發(fā)了自己的組態(tài)軟件,沒有統(tǒng)一的安全要求和規(guī)范,這些組態(tài)軟件本身存在著大量的安全漏洞,如iFIX、SIMATIC、HollSys等。這些組態(tài)軟件都已經(jīng)被爆出存在大量高危、中危等安全漏洞,如Sixnet Universal Protocol Undocumented函數(shù)代碼遠(yuǎn)程安全繞過漏洞,GE Proficy HMI/SCADA-iFIX ‘TCPTASK.exe’遠(yuǎn)程緩沖區(qū)溢出漏洞等,嚴(yán)重影響網(wǎng)絡(luò)安全。
另外當(dāng)應(yīng)用軟件面向網(wǎng)絡(luò)應(yīng)用時(shí),就必須開放其應(yīng)用端口。因此常規(guī)的IT防火墻等安全設(shè)備很難保障其安全性[4]。網(wǎng)絡(luò)黑客或者別有用心人員都可以通過這些漏洞發(fā)起對(duì)工業(yè)控制系統(tǒng)有針對(duì)性的攻擊行為。
由于工業(yè)控制系統(tǒng)應(yīng)用軟件的特殊性,為保證系統(tǒng)的安全穩(wěn)定運(yùn)行,避免工業(yè)控制系統(tǒng)中部分應(yīng)用軟件及系統(tǒng)文件被誤殺,工控系統(tǒng)通常不能直接使用市場(chǎng)上常規(guī)的通用殺毒軟件。即使是安裝了經(jīng)過各控制系統(tǒng)廠商測(cè)試的可被用于工業(yè)控制現(xiàn)場(chǎng)的殺毒軟件,其在使用過程中也存在病毒庫不能及時(shí)更新、或者軟件不能及時(shí)升級(jí)等問題。在實(shí)際應(yīng)用中,殺毒軟件起到的防護(hù)作用非常有限,面對(duì)目前病毒大規(guī)模爆發(fā)和不斷更新的網(wǎng)絡(luò)環(huán)境,其防護(hù)能力極弱,遠(yuǎn)遠(yuǎn)達(dá)不到工業(yè)控制系統(tǒng)所需要的防護(hù)效果。
由于工業(yè)控制系統(tǒng)在工業(yè)生產(chǎn)中的特殊作用,多數(shù)企業(yè)對(duì)于工業(yè)控制系統(tǒng)的可用性的關(guān)注度要遠(yuǎn)高于其安全性,對(duì)工業(yè)控制系統(tǒng)網(wǎng)絡(luò)安全的防護(hù)意識(shí)薄弱,還沒有建立控制系統(tǒng)網(wǎng)絡(luò)安全的理念,特別是在項(xiàng)目建設(shè)以及運(yùn)行維護(hù)過程中缺乏網(wǎng)絡(luò)安全管理意識(shí),沒有制定有針對(duì)性的、合理的工業(yè)控制系統(tǒng)安全防護(hù)策略和管理制度。缺乏對(duì)從事工業(yè)控制系統(tǒng)設(shè)計(jì)、運(yùn)行維護(hù)和操作人員在網(wǎng)絡(luò)安全方面的意識(shí)和理念培訓(xùn)。
管理制度的不健全和網(wǎng)絡(luò)安全意識(shí)的缺失導(dǎo)致移動(dòng)存儲(chǔ)介質(zhì)及移動(dòng)工程師站等設(shè)備濫用,隨意增加系統(tǒng)的通信接口或互聯(lián),遠(yuǎn)程訪問缺乏限制和防護(hù)手段,使用簡單、默認(rèn)的用戶名和密碼,帶來了極大的病毒入侵風(fēng)險(xiǎn)。
針對(duì)目前工業(yè)控制網(wǎng)絡(luò)面對(duì)的眾多安全風(fēng)險(xiǎn),需要建立一套完整的,能夠抵御工業(yè)控制系統(tǒng)的APT(advanced persistent threat高級(jí)持續(xù)性威脅)攻擊的多層次縱深防御體系,分層設(shè)置防火墻,建立安全分區(qū),入侵檢測(cè),網(wǎng)絡(luò)監(jiān)測(cè)、應(yīng)急響應(yīng)機(jī)制,通過物理手段、技術(shù)手段、管理手段等共同作用,多措并舉建立起系統(tǒng)安全架構(gòu),提升工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)安全防護(hù)水平。工業(yè)控制系統(tǒng)網(wǎng)絡(luò)安全縱深防御體系結(jié)構(gòu)如圖3所示。
優(yōu)化工控系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu),將全廠按照操作需要以及數(shù)據(jù)交換最小的原則設(shè)置操作分區(qū)劃分操作區(qū)域,相互獨(dú)立為網(wǎng)絡(luò)隔離基礎(chǔ)、只要沒有數(shù)據(jù)交換的,或少量數(shù)據(jù)交換的均分隔成操作分區(qū);操作分區(qū)獨(dú)立成網(wǎng),網(wǎng)間沒有直接聯(lián)系;包設(shè)備控制系統(tǒng)獨(dú)立設(shè)置,單獨(dú)分區(qū);分區(qū)之間禁止互相操作和控制變量傳輸,限制過程變量傳輸,分區(qū)間確需傳輸少量過程變量的,可通過硬接線或通信卡(Modbus-RTU)傳輸,建立安全的單元間通信。
各分區(qū)之間以及企業(yè)管理層與過程監(jiān)控管理層之間的數(shù)據(jù)交換通過工業(yè)防火墻隔離、網(wǎng)關(guān)、網(wǎng)閘等設(shè)備實(shí)現(xiàn)隔離,只允許正確設(shè)備操作所必需的通信,按照特定的通信協(xié)議流及規(guī)定方向通過,其它數(shù)據(jù)全部被過濾掉,實(shí)現(xiàn)工業(yè)控制系統(tǒng)內(nèi)部的區(qū)域隔離,阻斷跨區(qū)域的網(wǎng)絡(luò)攻擊。同時(shí),對(duì)上位機(jī)發(fā)出的工業(yè)指令進(jìn)行深度解析,檢測(cè)工業(yè)指令的合規(guī)性,阻斷針對(duì)工業(yè)控制系統(tǒng)或利用工業(yè)控制系統(tǒng)漏洞發(fā)起的攻擊行為。過程監(jiān)控層不同應(yīng)用的OPC服務(wù)器應(yīng)獨(dú)立設(shè)置,且設(shè)置獨(dú)立的網(wǎng)卡與數(shù)據(jù)采集層相連,確保工控系統(tǒng)受到攻擊時(shí)能及時(shí)溯源,切斷攻擊鏈路。
圖3 工業(yè)控制系統(tǒng)網(wǎng)絡(luò)安全縱深防御體系結(jié)構(gòu)
在過程控制網(wǎng)的主機(jī)設(shè)備部署殺毒軟件及主機(jī)衛(wèi)士、建立白名單機(jī)制,有效保護(hù)工控主機(jī)不會(huì)感染已知及未知的惡意代碼,對(duì)主機(jī)系統(tǒng)的完整性進(jìn)行監(jiān)測(cè),保護(hù)工控主機(jī)正常運(yùn)行,如圖3所示。
由于工控網(wǎng)絡(luò)的特殊性,防病毒軟件應(yīng)是控制系統(tǒng)廠家經(jīng)過嚴(yán)格的兼容性測(cè)試并具有合法授權(quán)的正式版本,且應(yīng)該根據(jù)裝置的檢修周期等制定系統(tǒng)補(bǔ)丁、病毒庫的離線更新和升級(jí)策略。
在防火墻外、核心交換機(jī)或其他關(guān)鍵位置部署異常檢測(cè)和入侵檢測(cè)設(shè)備,對(duì)非正常信息流的網(wǎng)絡(luò)流量、網(wǎng)絡(luò)攻擊、工控指令、組態(tài)變更等入侵行為進(jìn)行監(jiān)測(cè)分析和記錄,及時(shí)發(fā)現(xiàn)網(wǎng)絡(luò)異常,在發(fā)生安全事件前對(duì)安全風(fēng)險(xiǎn)進(jìn)行預(yù)警。
對(duì)工控系統(tǒng)中帶有網(wǎng)管功能的交換機(jī),設(shè)置相應(yīng)的網(wǎng)管監(jiān)控站,安裝相應(yīng)的管理軟件,對(duì)交換機(jī)的端口、網(wǎng)絡(luò)拓?fù)?、工作狀態(tài)、運(yùn)行負(fù)荷進(jìn)行檢測(cè)管理。例如FOXBORO I'A系統(tǒng)的MESH網(wǎng)絡(luò)可利用Netsight軟件進(jìn)行網(wǎng)絡(luò)拓?fù)洹⒍丝诹髁?、交換機(jī)負(fù)荷等檢測(cè)分析。
在工控系統(tǒng)中安裝工控監(jiān)測(cè)審計(jì)系統(tǒng),通過工控協(xié)議深度解析,根據(jù)特征值進(jìn)行采集、分析與識(shí)別,如發(fā)現(xiàn)異常數(shù)據(jù)包,如控制器啟停、程序上下載,則記錄日志或報(bào)警。
采用檢測(cè)審計(jì)類產(chǎn)品,如網(wǎng)絡(luò)安全審計(jì)、IDS/IPS、堡壘機(jī)、日志/數(shù)據(jù)庫審計(jì)等,通過鏡像口分析網(wǎng)絡(luò)流量,及時(shí)發(fā)現(xiàn)網(wǎng)絡(luò)流量或設(shè)備的異常情況并告警,此類產(chǎn)品旁路的部署方式,不會(huì)因?yàn)樽陨淼墓收隙绊懝た叵到y(tǒng)的正常運(yùn)行,更適合于工業(yè)控制系統(tǒng)網(wǎng)絡(luò)安全防護(hù)的應(yīng)用[5],更容易讓工業(yè)控制系統(tǒng)的用戶接受。
嚴(yán)格禁止工業(yè)控制系統(tǒng)面向互聯(lián)網(wǎng)開通HTTP、FTP、Telnet等高風(fēng)險(xiǎn)通用網(wǎng)絡(luò)服務(wù)[6];防控遠(yuǎn)程訪問安全,原則上嚴(yán)格禁止控制系統(tǒng)的遠(yuǎn)程維護(hù),確需遠(yuǎn)程訪問或遠(yuǎn)程維護(hù)的,首先驗(yàn)明訪問者的身份,制定訪問計(jì)劃和內(nèi)容,控制訪問時(shí)間;采用數(shù)據(jù)訪問控制策略進(jìn)行安全加固,并采用本機(jī)優(yōu)先的中斷機(jī)制策略;采用虛擬專用網(wǎng)絡(luò)(VPN)等遠(yuǎn)程接入方式;保留系統(tǒng)的相關(guān)訪問日志,并對(duì)遠(yuǎn)程操作過程進(jìn)行安全監(jiān)視。
嚴(yán)格工業(yè)控制系統(tǒng)中工程師站、操作站及機(jī)柜間的管理,加強(qiáng)密碼分級(jí)管理,避免設(shè)置使用默認(rèn)用戶名密碼以及弱口令密碼,定期更新系統(tǒng)的口令密碼。嚴(yán)格控制系統(tǒng)訪問的賬戶及權(quán)限,按照最小權(quán)限原則分配賬戶,杜絕操作人員在工程師權(quán)限下進(jìn)行日常操作。
過程監(jiān)控層設(shè)備不應(yīng)直接與控制層設(shè)備互聯(lián),以保持工業(yè)控制系統(tǒng)的相對(duì)物理隔離和安全。
企業(yè)應(yīng)加強(qiáng)數(shù)據(jù)采集層及過程監(jiān)控層的服務(wù)器、工程師站及操作員站的物理隔離,通過門禁、視頻監(jiān)控等手段強(qiáng)化機(jī)柜間的管理,加強(qiáng)移動(dòng)存儲(chǔ)介質(zhì)及移動(dòng)工程師站的管理,非經(jīng)嚴(yán)格檢查和測(cè)試的設(shè)備禁止接入;嚴(yán)禁非操作監(jiān)控原供應(yīng)商的軟件安裝;采用封閉、加鎖或接口管理工具限制外部設(shè)備接口的使用;對(duì)外來移動(dòng)介質(zhì)必須經(jīng)過專用的防病毒查殺工具查殺,確認(rèn)安全后才能使用??刂葡到y(tǒng)供應(yīng)商技術(shù)人員在現(xiàn)場(chǎng)服務(wù)需要訪問工控系統(tǒng)時(shí),應(yīng)嚴(yán)格控制移動(dòng)工程師站的接入,并做好工作內(nèi)容、計(jì)劃、安全措施的管理。
逐步建立健全工業(yè)控制網(wǎng)絡(luò)安全的專門管理機(jī)構(gòu),制定安全方針和管理制度,完善企業(yè)內(nèi)部的網(wǎng)絡(luò)安全防護(hù)策略和流程,明確工控系統(tǒng)安全防護(hù)管理職責(zé),加強(qiáng)人員培訓(xùn)及專業(yè)人員隊(duì)伍建設(shè),強(qiáng)化相關(guān)專業(yè)人員的安全防護(hù)意識(shí),落實(shí)工控系統(tǒng)安全防護(hù)策略,制定工控系統(tǒng)網(wǎng)絡(luò)安全的應(yīng)急預(yù)案并定期組織演練,規(guī)范工業(yè)控制系統(tǒng)的數(shù)據(jù)備份及快速恢復(fù)機(jī)制,提升安全應(yīng)急處置水平。
工業(yè)控制網(wǎng)絡(luò)打破了原有的相對(duì)的獨(dú)立和隔離,與外界網(wǎng)絡(luò)互聯(lián)越來越多,且近年來專門針對(duì)工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)攻擊愈發(fā)頻繁。針對(duì)工業(yè)控制網(wǎng)絡(luò)的安全防護(hù)風(fēng)險(xiǎn),各企業(yè)應(yīng)根據(jù)工控系統(tǒng)的實(shí)際配置情況進(jìn)行深入分析,制定安全防護(hù)策略,通過系統(tǒng)的分區(qū)隔離、邊界防護(hù)、網(wǎng)絡(luò)異常檢測(cè)審計(jì)、控制訪問、加強(qiáng)賬號(hào)管理、限制移動(dòng)介質(zhì)的接入、建立健全管理制度、配備網(wǎng)絡(luò)防護(hù)的專業(yè)人員等技術(shù)和管理手段,從工控系統(tǒng)設(shè)計(jì)階段開始,完善和建立起企業(yè)工控網(wǎng)絡(luò)全壽命周期的安全縱深防御體系,抵御日漸增加的工業(yè)控制系統(tǒng)網(wǎng)絡(luò)安全風(fēng)險(xiǎn)。