彭杰劉力
(南昌大學信息工程學院,江西 南昌 330031)
隨著IT技術快速而廣泛地應用于工業自動化系統,工業控制系統遭受網絡侵襲已屢見不鮮。工業網絡的信息安全問題日益突出,這主要有以下三方面的原因:一是工業控制系統和企業IT系統聯合得越來越緊密;二是企業IT安全措施往往不能直接應用于工業控制系統;三是黑客技術的發展也使蠕蟲病毒的破壞力更大。隨著以工業以太網為代表的控制網絡在監控層占據主流位置,以及實時以太網技術在現場設備層逐步得到應用,對工業控制系統的信息安全風險進行分析研究已經顯得十分迫切[1-2]。
如今的工廠已不再由一系列自動化孤島組成,為了有效利用自動化資源,通信系統已將其中的各部分連接起來。綜合考慮企業范圍內的各種需求,工廠網絡通信框架一般具有3層結構,從低到高分別為現場控制層、監控層和企業管理層。對于監控層,工業以太網技術占據了主流地位,但是對于響應時間要求小于5 ms的現場控制層應用,工業以太網也不能勝任。為了滿足高實時性能應用的需要,各大公司和標準組織紛紛提出各種提升工業以太網實時性的技術解決方案。這些方案建立在IEEE 802.3標準的基礎上,通過對其及相關標準的實時擴展提高實時性,并且做到與標準以太網的無縫連接,這就是實時以太網[3-4]。隨著實時以太網技術的發展和應用,工控系統逐漸實現“一網到底”。典型的工業網絡結構如圖1所示。

圖1 典型工業網絡Fig.1 Typical industrial network
在自動化監控層,不但有用于控制的PLC和中央控制器,也有以Windows為主流操作系統的操作站、優化系統工作站、先進控制工作站以及Web服務器和數據庫服務器等設備。系統使用OPC技術從不同的數據源得到數據并進行數據交換;數據經常通過工業以太網交換機進行傳輸等。自動化系統集成和擴展的需要、系統開放互連性的加強,特別是標準IT技術在自動化系統組件中的廣泛應用,如FTP應用、B/S方式監控、Internet遠程診斷、來自工業現場的視頻音頻監控數據傳輸,以及以后有可能實現的IPv6在工業控制設備中的應用等,這些都明顯體現了工業控制系統作為一個全方位采用主流信息技術的系統特征。
工業控制系統所具有的網絡化和信息化的特點,使得工控系統除了面對傳統的針對商用計算機領域的信息安全威脅,例如病毒、網絡安全等以外,還要面對那些會威脅到系統控制性能甚至破壞系統控制功能的信息安全威脅[5-7]。
典型的對控制性能的威脅就是控制系統的通信實時性。以在監控層占據主流地位的工業以太網為例。網絡響應時間反映了整個工業以太網系統的實時性能。影響網絡響應時間的因素主要來自3個方面:①本地系統,即源節點的處理;②工業以太網網絡,即傳輸部分;③目的節點系統,即目的節點的處理。
工業以太網響應時間示意圖如圖2所示。此圖表明了從源節點向目的節點發送信息所花費的時間,也就是網絡響應時間Tdelay。總的時間延遲可分為:源節點的時間延遲、網絡通道上的時間延遲和目標節點的時間延遲3個部分。

圖2 工業以太網響應時間示意圖Fig.2 Schematic diagram of response time of industrial Ethernet
源節點的時間延遲包括:①預處理時間Tpre,它是計算時間Tscomp和編碼時間Tscode的總和;②節點內部排隊的時間Tn-queue,是等待時間Twait的一部分,取決于源節點需傳送數據的總和與網絡的傳送狀況。網絡時間延遲包括:①傳送時間Ttx,它是幀發送時間Tframe和網絡的物理傳播遲延 Tprop的總和,取決于信息的大小、數據傳送率和網絡纜線的長度;②網絡阻塞時間Tblock,它是等待時間Twait的另外一部分;③目的節點的時間延遲Tpost是數據的后期處理時間,它是目的節點解碼時間Tdcode和目的節點計算時間Tdcomp的總和。所以總的時間延遲可表示為:

式中:Tpre=Tscomp+Tscode;Twait=Tn-quene+Tblock;Ttx=Tframe+Tprop;Tpost=Tdcode+Tdcomp。
從圖2可知,計算機病毒即使不造成操作系統崩潰,也可以通過占用資源,使得源節點的時間延遲和目的節點的時間延遲具有不確定性;局域網病毒或者網絡攻擊即使不造成以太網癱瘓,也可以通過堵塞造成網絡傳輸的時間延遲具有不確定性。這些不確定性將造成那些具有優先權的工業實時數據的實時性得不到滿足,從而破壞系統控制性能。
典型的對控制功能的破壞就是破壞和操縱工業控制軟件,例如對OPC軟件或者實時數據庫的破壞,但破壞力更強的是對工控軟件的操縱。
國家計算機病毒應急處理中心于2010年10月3日發布信息:通過互聯網絡監測發現,一種利用微軟公司漏洞的新型病毒“震網”(也稱超級病毒Stuxnet)出現,提醒用戶尤其是大型工業部門小心謹防。該病毒可以通過移動存儲介質和局域網進行傳播,并且利用西門子公司控制系統(SIMATIC WinCC/Step7)存在的漏洞感染數據采集與監視控制系統(SCADA)。Stuxnet的目的是通過修改PLC來改變工業生產控制系統的行為,包括:攔截發送給PLC的讀/寫請求,以此判斷系統是否為潛在的攻擊目標;修改現有的PLC代碼塊,并往PLC中寫入新的代碼塊;利用Rootkit功能隱藏PLC感染,躲避PLC管理員或程序員的檢測。
Step7軟件使用庫文件s7otbxdx.dll來和PLC通信。當Step7程序準備進入PLC時,它會調用該DLL文件中不同的例程。例如,如果一個代碼塊需要用Step7從PLC中讀出,那么,例程s7blk_read就會被調用。s7otbxdx.dll中的代碼會進入PLC,讀出其中的代碼,并將它傳回Step7程序。Stuxnet運行后,Stuxnet會將原始的 s7otbxdx.dll文件重命名為 s7otbxsx.dll。然后,它將用自身取代原始的DLL文件,這樣Stuxnet就可以攔截任何來自其他程序的訪問PLC的命令。被Stuxnet修改后的s7otbxdx.dll文件保留了原來的導出表,導出函數為109個,這就使得Stuxnet可以應付所有相同的請求。大部分導出命令會轉發給真正的DLL,即重命名后的 s7otbxsx.dll,剩下的16種導出命令不會被簡單地轉發,而是被改動后的DLL攔截。被攔截的導出命令為在PLC中讀、寫、定位代碼塊的例程。通過攔截這些請求,Stuxnet可以在PLC管理員沒有察覺的情況下,修改發送至PLC或從PLC返回的數據。同時,通過利用這些例程,Stuxnet可以將惡意代碼隱藏在PLC中。
通過初步分析,確認Stuxnet病毒主要存在以下安全威脅:①該病毒針對的目標是用于數據采集與監視控制的專用計算機系統;②此類數據采集與監視控制系統由于其自身功能的特殊性和重要性,往往與互聯網隔離,造成無法及時進行安全更新,為病毒傳播提供可乘之機;③雖然目前該病毒只是針對西門子公司的數據采集與監視控制系統,但不排除可能出現針對其他專用計算機系統的變種。
工業控制系統還存在潛在的脆弱點,這些脆弱點雖然可能還沒有立即對控制功能或者控制軟件造成損害,但顯然增加了系統的安全性威脅。這些潛在的脆弱點包括:①工業控制系統中采用的主流操作系統,如Microsoft Windows操作系統存在的安全脆弱點,最近的Microsoft遠程桌面協議拒絕訪問和遠程代碼執行漏洞;②緩沖區溢出漏洞,例如ABB公司就確認在其機器人通信運行軟件中存在這類漏洞,通過這個漏洞,攻擊者可能具有管理員權限執行遠程代碼;③控制裝置認證機制中存在的脆弱點,例如,西門子公司已經確認在編程和配置客戶端軟件認證機制中存在潛在的安全弱點。這些機制使用在西門子公司的SIMATIC S7 PLC上,其中包括 S7-200、S7-300、S7-400和 S7-1200。通過這些脆弱點,攻擊者有機會接入控制系統的通信鏈路,截獲并破譯產品的密碼,導致未經授權的更改操作。
商用系統的信息安全威脅和安全防護一直是矛盾的關系,是動態發展的問題,而基于主流信息技術的發展應用和改造應用的工控系統對此問題的解決顯然也是動態的,所以不可能有一成不變的解決方案。因此,應該制定合理的信息安全策略,然后選擇可行的防護技術。限于篇幅,本文對此進行初步探討。
Stuxnet蠕蟲病毒是利用Windows系統和西門子SIMATIC WinCC系統的多個漏洞進行攻擊。它一共利用了5個微軟漏洞,其中4個在此前均已得到微軟官方修復。2010年12月15日,微軟發布修復的“Windows計劃任務本地權限提升漏洞”(公告編號:MS10-092),是被“超級工廠”病毒利用的最后一個Windows0day漏洞。隨著第5個漏洞的修復,Stuxnet“超級工廠”病毒的危害已經得到解決。但由于操作系統自身存在許多安全漏洞,運行在該系統上的工業軟件難免會受到威脅,所以最好能根據應用情況,裁減操縱系統。
在主流的分布式防火墻技術基礎上,開發和應用適合工控的分布式防火墻技術如圖3所示。

圖3 工控用分布式防火墻Fig.3 The distributed firewall for industrial control
與傳統邊界防火墻相比,分布式防火墻克服了許多傳統邊界防火墻的缺點,增加了一種用于對內部子網之間的安全防護層;可以針對各個服務對象的不同需要,進行不同配置,配置時能夠充分考慮到運行的應用;網絡處理負荷分布,克服了傳統防火墻因網絡規模增大而不堪重負的弊端。
信息網絡分布式防火墻的主機防火墻駐留在主機中,負責策略的實施,以及對網絡中的服務器和桌面機進行防護。主機防火墻駐留在被保護的主機上,可以針對該主機上運行的具體應用和對外提供的服務來設定針對性很強的安全策略。正如在主流信息網絡技術基礎上進行適應工業控制特點的改造,這使得現場總線和實時以太網技術一樣,可以對應地開發用于工控的類似主機防火墻。兩者的不同僅在于這些類似主機防火墻的保護對象是控制器、PLC和RTU等執行控制策略的“主機”。
對系統的信息安全風險評估有利于采取有針對性的安全策略,制定事故處理方案。這對類似Stuxnet這樣破壞控制功能的安全威脅尤其有意義。
目前,國內外關于IT系統風險評估的方法有許多種,例如基于概率論方法、層次分析法和模糊邏輯方法。雖然工控系統是一個信息系統,但它更是一個控制系統,這使其在采用風險評估方法中要著重注意保證控制系統正常運行特有的要求。這就使得對工業控制系統的風險評估,要在商用信息系統已經較為成熟的系統風險評估方法和工具應用的基礎上,結合控制系統風險特征,例如工業以太網的實時性要求。由于控制系統引發的后果比較嚴重,所以對風險事件發生后果的影響評價需要更為“保守”。同時,根據技術發展探討其他可行的策略,例如VPN、SSL技術等,許多文獻對此已經有諸多研究。
當前工業控制系統與基于TCP/IP協議的信息系統已結合得越來越緊密,這使得工控系統容易受到信息安全問題的威脅,例如計算機病毒、網絡病毒、數據操縱,從而使整個工業控制系統遭受破壞。
本文針對工業控制系統網絡化和信息化的特點,對工業控制系統信息安全問題進行了分析;對威脅到系統控制性能甚至破壞控制功能的信息安全威脅進行了研究;同時指出了工業控制系統還存在的潛在脆弱點,并提出了相應的對策。這些對策包括根據工業控制系統要求來裁減操作系統、研究工控用分布式防火墻技術應用以及進行工控系統安全風險評估。
[1]施曉秋.計算機網絡技術[M].北京:高等教育出版社,2006:10-189.
[2]韓東海.入侵檢測系統及實例剖析[M].北京:清華大學出版社,2002:18-266.
[3]彭杰,應啟戛.工業以太網的安全性研究[J].儀器儀表學報,2004(1):222-223.
[4]康軍,戴冠中.工業以太網控制系統安全性問題研究[J].信息與控制,2007,36(2):245 -249.
[5]Ioannidis S,Keromytis A D,Bellovin S M.Implementing a distributed firewall[C]//ProceedingsofConference on Computerand Communication Security,Athens,Greece,2000:190 -199.
[6]Miltchev S,Smith J M,Prevelakis V.Decentralized access control in distributed file systems[J].ACM Computing Surveys,2008,40(3):1-30.
[7]Burnside M,Keromytis A.Asynchronous policy evaluation and enforcement[C]//Proceedings of the 2nd Computer Security Architecture Workshop(CSAW),Fairfax,VA,2008:5-50.