岳妍瑛 中國石油長慶油田分公司第一采油廠
王 彬 北京安控科技股份有限公司
在油田自動化實施初期,工業控制系統都是采用孤立的系統,運行專有的控制協議,使用專門的硬件和軟件。隨著低成本互聯網協議(IP)設備的廣泛運用和油田管控一體化的應用需求,IT技術方案越來越多的應用到工業控制系統中,用于提高企業業務系統之間的連接和遠程訪問能力,控制系統網絡也逐漸向更開放的工業以太網結構發展。開放性越來越強在給工業控制系統帶來更好、更快發展的同時,IT技術的負面困擾也引入了工業控制系統,危及信息安全。
與傳統的IT信息安全不同,工業控制系統的安全事件會導致輕則系統性能下降、關鍵數據喪失,重則系統失控、環境災難、人員傷亡、嚴重經濟損失,甚至危害公眾生活和國家安全。而油田作為國家能源的重點生產企業,其工業系統控制的信息安全關系著國家能源的安全,因此,本文將針對目前油田工業控制系統中的各個環節進行安全分析,找到薄弱環節,切實加強油田工業控制系統信息安全管理。
隨著近幾年油田數字化系統建設,油田內部從以前粗放式管理向信息化管理過渡,逐步加強了對采油到輸油過程的集中管理,建立了包括油井遠程監控、集輸站庫自動化監控、輸油管線泄露監測等多系統的監控平臺,其目的是利用現場監控系統,實現數據源頭自動采集,借助油田現有網絡資源自動加載到廠級實時數據庫,為各級管理部門應用提供開放的數據平臺,使生產和管理人員及時控制和掌握生產動態,從而實現整個生產過程的自動化;并可以對取得的實時數據進行統計、分析、優化,從而為保證生產設備正常運轉、降低生產成本提供重要依據。
目前油田數字化系統的典型架構圖如圖1所示。

圖1 目前油田數字化系統的典型架構圖
油田工業控制系統主要是指對油氣水井、站庫的數據采集和實時監控。油、氣、水井口和一些無人值守閥室、站,其特點是溫度要求范圍大,環境比較惡劣,常使用RTU系統;在增壓站、轉油站、聯合站等場合實時性要求高,邏輯聯鎖控制較多,常使用PLC系統;在集氣站、氣處理站及輕烴回收等場合控制點數多,回路控制多,常使用DCS系統;到了管理層局、廠級監控和指揮調度中心往往要求多系統集成,常建設一個SCADA中心,用于轄區內各工業控制系統實時數據的接入。
油田通信系統的實現方式也是多種多樣,一般會根據地理條件、施工難度、費用造價等選擇適用的通信方式。儀表、智能設備到控制器之間目前大都采用模擬量、開關量等硬線連接方式接入控制器,少部分通過現場總線(HART、DeviceNet等)的方式接入。隨著近幾年無線技術發展,井口較多的使用無線儀表,如無線載荷位移傳感器、無線壓力、溫度傳感器等。控制器與上位機之間以及上位機與上位機之間目前大多數采用基于以太網的工業協議,在地理條件比較好的地方一般采用光纖通訊,在山區可視情況比較好的地方采用無線網橋,在偏遠地區不適合大規模組網時利用移動網絡GPRS/CDMA/3G/4G等方式,在大慶油田和新疆油田部分地區存在大靈通、McWill網絡進行數據通信,還有部分場合對網絡要求很高的地方會采用衛星網絡作為備用網絡。
目前油田工業控制系統中安全防護一般由兩部分組成:一是進行網絡防護,在自動化網絡與辦公網絡之間使用防火墻進行隔離,或者利用一些三層交換機的安全策略進行網絡隔離和保護;二是在監控計算機上安裝必要的殺毒軟件防止一些惡意軟件和病毒木馬的入侵。隨著油田企業信息化平臺的建設,辦公網有很多應用需要使用自動化網數據的需求,典型的就是實時歷史數據需要訪問OPC或者實時數據庫接口,關系數據需要訪問SQLServer或者Oracle接口,這就需要在防火墻暴露OPC服務的隨機端口和1433或者1521端口,甚至有時為了調試方便,防火墻形同虛設,讓整個控制網絡暴露在辦公網中。另外監控計算機操作系統和殺毒軟件常因為局域網限制得不到及時更新,對病毒木馬的防護也相當脆弱。
隨著計算機和網絡技術的發展,特別是信息化與工業化深度融合以及物聯網的快速發展,工業控制系統越來越多地采用通用協議、通用硬件和通用軟件,以各種方式與辦公網絡、互聯網等公共網絡連接,病毒、木馬等威脅正在向工業控制系統擴散,下面將對系統中的軟件、硬件及通信網絡做一個粗淺的分析。
目前Windows平臺的技術架構已成為工業控制系統操作站的主流,任何一個版本的Windows自發布以來都在不停的發布漏洞補丁,為保證過程控制系統相對的獨立性,現場工程師通常在系統投入運行后不會對Windows平臺打任何補丁,更為重要的是打過補丁的操作系統沒有經過制造商測試,存在安全運行風險。與之相矛盾的是,系統不打補丁就會存在被攻擊的漏洞,即使是普通常見病毒也會遭受感染,可能造成Windows平臺乃至控制網絡的癱瘓。著名的“震網”病毒就是利用借助了4個0-day windows漏洞進行針對西門子系統進行傳播和感染。
在油田工業控制系統中,自動化廠商眾多,上位機應用軟件也是多種多樣,很難形成統一的防護規范以應對安全問題。美國工業控制系統網絡緊急響應小組就曾經發出警告,中國開發的工業控制系統軟件(SCADA)發現兩個安全漏洞,可能會被攻擊者遠程使用。
另外當應用軟件面向網絡應用時,常需要開放其應用端口。常規的IT防火墻等安全設備很難保障其安全性。互聯網攻擊者很有可能會利用一些工程自動化軟件的安全漏洞獲取現場生產設備的控制權。
Web信息平臺也常常由于程序編寫不規范帶來安全缺陷,典型的如信息泄露、目錄遍歷、命令執行漏洞、文件包含漏洞、SQL注入攻擊、跨站腳本漏洞等,此類入侵是防火墻產品無法抵御的。
在油田企業中,在控制網絡與辦公網絡、互聯網之間一般采用IT防火墻進行隔離,但IT防火墻并不是專為工業網絡應用設計的產品,在防護工業網絡時存在較多缺陷:
由于防火墻本身是基于TCP/IP 協議體系實現的,所以它無法解決TCP/IP 協議體系中存在的漏洞。
防火墻只是一個策略執行機構,它并不區分所執行政策的對錯,更無法判別出一條合法政策是否真是管理員的本意。從這點上看,防火墻一旦被攻擊者控制,由它保護的整個網絡就無安全可言了。
防火墻無法從流量上判別哪些是正常的,哪些是異常的,因此容易受到流量攻擊。
防火墻的安全性與其速度和多功能成反比。防火墻的安全性要求越高,需要對數據包檢查的項目(即防火墻的功能)就越多越細,對CPU 和內存的消耗也就越大,從而導致防火墻的性能下降,處理速度減慢。
防火墻準許某項服務,卻不能保證該服務的安全性,它需要由應用安全來解決。
所以,從防火墻的實際使用情況來看,通過IT防火墻很難在根本上保證生產控制區的網絡安全。
拒絕服務攻擊是一種危害極大的安全隱患,它可以認為操縱也可以由病毒自動執行,常見的流量型攻擊如Ping Flooding、UDP Flooding等,以及常見的連接型攻擊如SYN Flooding、ACK Flooding等,通過消耗系統的資源,如網絡帶寬、連接數、CPU處理能力、緩沖內存等使得正常的服務功能無法進行。拒絕服務攻擊非常難以防范,原因是它的攻擊對象非常普遍,從服務器到各種網絡設備如路由器、交換機、IT防火墻等都可以被拒絕服務攻擊。控制網絡一旦遭受嚴重的拒絕服務攻擊就會導致嚴重后果,輕則控制系統的通信完全中斷,重則可導致控制器死機等。目前這種現象已經在多家工業控制系統中已經出現,并且造成嚴重后果。可以想象,一套失控的控制系統可能導致的后果是非常嚴重的。而傳統的安全技術對拒絕服務攻擊幾乎不可避免,缺乏有效的手段來解決。
由于無線網絡具有傳統有線網絡無法比擬的特點,如組網靈活、成本低、移動性好、易安裝維護等優勢,在油田井口通信設備越來越多的使用無線通信設備。但也由于無線網絡傳輸媒介方面的特殊性,使得一些攻擊更容易實施,其安全威脅的具體表現主要有:
攻擊者偽裝成合法用戶,通過無線接入非法訪問網絡資源;
無線鏈路上傳輸的未被加密的數據被攻擊者截獲;
針對無線連接或設備實施拒絕服務攻擊;
不適當的數據同步可能破壞數據的完整性;
惡意實體可能得到合法用戶的隱私;
某些節點設備容易丟失,從而泄露敏感信息;
設備的不適當配置可能造成數據的泄露;
惡意用戶可能通過無線網絡連接到他想攻擊的網絡上去實施攻擊;
惡意用戶可能通過無線網絡,獲得對網絡的管理控制權限。
TCP/IP在先天上就存在著致命的安全漏洞:TCP/IP協議簇最初設計的應用環境是美國國防系統的內部網絡,這一網絡是互相信任的,因此它原本只考慮互通互聯和資源共享的問題,并未考慮也無法兼容解決來自網絡中和網際間的大量安全問題,存在缺乏對用戶身份的鑒別、缺乏對路由協議的鑒別等先天性缺陷。
油田工業控制系統中由于歷史的原因,還大量使用各種非安全工業協議,如控制層Modbus Tcp協議,該協議設計初期一般以優化實時I/O為主,而并不提供加強的網絡連接安全防護功能,任意通過網絡連接到Modbus控制器的設備可以改變控制器的I/O點或寄存器數值。許多控制器甚至可以被復位、禁止運行、或被下裝新的邏輯。
OPC協議由于其通用性在工業現場大量使用,但其使用的端口號是由OPC服務器以一個虛擬隨機序列動態分配的,因此沒有辦法提前知道服務器返回給客戶端的端口號。而服務器可以分配的端口號范圍很廣——Windows Server 2008下超過16000個端口號,早期的端Windows版本則超過了48000個端口號。所以,傳統的防火墻在保護OPC服務器時,不得不允許OPC客戶端和OPC服務器之間如此大范圍內的任何端口號的TCP連接。在這種情況下,防火墻提供的安全保障被降至最低。因此,目前絕大多數的OPC服務器都在沒有任何防火墻保護的情況下運行,從而很容易受到惡意軟件和其他安全威脅的攻擊。
基于Windows平臺的PC在工業控制系統中廣泛應用,病毒也隨之而泛濫。全球范圍內,每年都會發生數次大規模的病毒爆發。目前全球已發現數萬種病毒,并且還在以每天數十余種的速度增長。這些惡意代碼具有更強的傳播能力和破壞性。例如蠕蟲,從廣義定義來說也是一種病毒,但和傳統病毒相比最大不同在于自我復制過程。它能夠通過端口掃描等操作過程自動和被攻擊對象建立連接,如Telnet連接等,自動將自身通過已經建立的連接復制到被攻擊的遠程系統,并運行它。其中著名的“震網”病毒就具有異常精巧的傳播與感染機制,借助4個0-day windows漏洞,竊取2個有效的軟件證書,共60000 余行代碼,而且制作該病毒需要非常豐富的SIMATIC 編程及工業現場的專家知識。
基于目前油田工業控制系統現狀,由于當前投用的控制系統通常需要每周7天,每天24小時的長期運行,所以宜采用循序漸進的方法,對現有工業控制系統有步驟的進行安全升級改造。安全對策可以分三步走,首先要建立安全的策略和流程,使后續的安全措施有章可循;其次建立初步防御戰略,根據當前有明顯漏洞易解決、急需解決的關鍵點加以實施;最后建立工業控制系統的縱深防御體系,切實保證油田信息安全,保障平穩安全生產。
工業控制系統的脆弱性通常是由于缺少完整而合理的策略文檔或有效的實施過程而引起的,安全策略文檔和管理支持是系統安全的基礎,有效的安全策略在系統中的強制實施是減少系統而臨的安全風險的前提。無論哪種先進的安全設備和健壯無漏洞的安全體系,一旦脫離了健全的安全策略和流程,依舊是一套脆弱不堪的信息安全系統。建議油田企業從以下幾方面建立安全策略和流程:
建設安全管理機構;
制定工業控制系統的安全策略;
進行工業控制系統的安全培訓與培養安全意識;
采用安全的系統架構與設計;
根據安全策略制定正規、可備案的安全流程;
制定工業控制系統設備安全部署的實施指南;
加強工業控制系統的安全審計;
制定針對工業控制系統的業務連續性與災難恢復計劃;
加強針對工業控制系統配置變更管理。
4.2.1 操作系統及殺毒軟件升級
操作系統補丁升級:在局域網內部署一臺微軟的SUS(Software Update Service軟件升級服務器),通過SUS可以在局域網中建立一個Windows升級服務器,以后局域網中的電腦就可以通過這個服務器來自動升級預,所有的更新活動都是通過Windows后臺自動更新進行的,不需要任何人的干預,非常方便。注意:目前SUS還不能為Office或者其它微軟軟件提供更新服務。
殺毒軟件升級:在局域網內部署一臺企業版殺毒軟件服務器,允許其連接互聯網完成自動升級,局域網中的其它計算機或服務器上安裝同品牌的支持局域網自動升級殺毒軟件客戶端。
4.2.2 加強網絡授權訪問
為了追求可用性而犧牲安全,是很多工業控制系統存在的普遍現象,缺乏完整有效的安全策略與管理流程也給工業控制系統信息安全帶來了一定的威脅。例如工業控制系統中移動存儲介質包括筆記本電腦、U盤等設備的使用和不嚴格的訪問控制策略,給整個工業控制系統信息安全帶來很大的破壞作用,如伊朗的“震網”安全事件最初就是通過U盤傳播至控制網絡的。
控制未經授權用戶進行訪問可以通過多種手段,比如通過有效的密碼和完善的身份認證制度。有效的密碼:用戶不能使用生日、電話號碼等別人容易猜出的密碼。密碼應該輸入至少6位字符,建議混合使用數字、大寫、小寫和特殊的字符。另外一種硬件加密鎖的方式更為有效,硬件加密鎖:使用一個USB硬件設備,象U盤一樣的東西,里面存放了登陸者的認證信息,當登陸時,必須插上鑰匙才能進行密碼的驗證。在企業內部實施UKey認證制度,可從物理上阻止未經授權人員進行訪問。
4.2.3 審核Web服務器安全性
由于Web漏洞攻擊有時可以繞過防火墻實現入侵,所以對已有信息發布平臺進行網頁漏洞掃描相當必要。網頁漏洞掃描是利用專用的Web應用漏洞掃描程序構建的自動化掃描平臺,模擬Web前端可以與實際的Web應用程序通信,從而可以發現Web應用程序中的安全缺陷。其工作原理非常類似一個黑匣子測試器,也就是說它并不需要訪問源代碼,真正實現遠程的安全檢測。
Web應用漏洞掃描程序分析來自網站程序結構中的每一個網站功能腳本程序的應用狀況,借助于專用的漏洞檢測數據庫,能夠自動構造各種類型的“異常”提交參數,能夠對響應消息進行內容分析,結合狀態碼,判斷測試結果。同時,還會模擬大多數普遍存在的WEB攻擊手段,探測各種已知漏洞和未知漏洞,針對所有可能為黑客所利用的項目進行多樣化多層次的探測和分析。
測試結果最終形成安全隱患報告,和大多數檢測工具一樣,自動化的Web應用漏洞掃描程序的掃描結果也存在相應的誤報,因此對于網頁漏洞掃描的結果還需要通過安全專家的精心審核,最終保證網頁漏洞檢測的準確性。
4.2.4 傳輸協議的安全性
SSL方式:普通的網絡傳輸采用的是HTTP協議,如上面所述,HTTP協議是明文協議,只要截取網絡數據就可以反轉過來,而SSL協議是通過私鑰認證的,即使獲得了網絡數據流,如果沒有相應的密鑰,也無法反編譯出數據。
VPN 方式:如果要跨區域使用,數據可能需要在公網上傳輸,為了保證轉輸的安全性,SSL方式提供了非明文協議方式。VPN提供也另外一種形式的非明文傳輸協議。
4.2.5 侵入后的安全性
數據加密存儲:數據庫中存放的數據及用戶信息大多數是明文存放,如果黑客一旦有機會侵入系統,如果是明文存放的,該數據很容易暴露出來。所以對一些核心數據,需要在數據庫存儲時,必須進行數據加密。
數據庫的默認密碼:請務必設定和修改數據庫的默認密碼,現在很多系統的默認密碼為空或簡單密碼,這會造成很大的安全隱患。
4.2.6 網絡拒絕攻擊防護
DoS(拒絕服務器攻擊)和分布式的DDoS(分散式拒絕服務攻擊)通過大量合法的請求占用大量的網絡資源,以達到癱瘓網絡的目的。以下是針對應對DDoS的一些建議:
在計算機主機上關閉不必要的服務,限制同時打開的Syn半連接數目,縮短Syn半連接的time out 時間,及時更新系統補丁。
利用防火墻禁止對主機的非開放服務的訪問,限制同時打開的SYN最大連接數 限制特定IP地址的訪問,啟用防火墻的防DDoS的屬性,嚴格限制對外開放的服務器的向外訪問。
使用 unicast reverse-path 訪問控制列表(ACL)過濾設置SYN數據包流量速率,升級版本過低的ISO,為路由器建立log server。
工業網絡中同時存在保障工業系統的工業控制網絡和保障生產經營的辦公網絡,考慮到不同業務終端的安全性與故障容忍程度的不同,對其防御的策略和保障措施應該按照等級進行劃分,實施分層次的縱深防御體系。按照業務職能和安全需求的不同,工業網絡可劃分為以下幾個區域:
滿足辦公終端業務需要的辦公區域;
滿足在線業務需要DMZ(隔離區)區域;
滿足工業控制系統管理與監控需要的管理區域;
滿足自動化作業需要的控制區域。
針對不同區域間數據通信安全和整體信息化建設要求,實施工業控制網絡安全建設,首先需要針對工業控制系統網絡管理的關鍵區域實施可靠的邊界安全策略,實現分層級的縱深安全防御策略,抵御各種已知的攻擊威脅。
4.3.1 企業管理層和SCADA中心之間的安全防護
在企業管理層和SCADA中心之間加入防火墻,一方面提升了網絡的區域劃分,另一方面更重要的是只允許兩個網絡之間合法的數據交換,阻擋企業管理層對數采監控層的未經授權的非法訪問,同時也防止管理層網絡的病毒感染擴散到數采網絡。考慮到企業管理層一般采用通用以太網,要求較高的通訊速率和帶寬等因素,對此部位的安全防護建議使用常規的IT防火墻。
另外企業管理層在進行數據應用時不建議將SCADA中心的實時數據庫、關系數據庫的服務端口暴露在辦公網中進行使用,而應該提供一種一致性數據訪問能力的接口服務,該服務除了提供實時歷史數據訪問外,還能進行用戶身份及權限認證,這樣既避免了已知常用端口入侵攻擊,又能夠有比較好的安全權限升級擴展能力。
4.3.2 SCADA中心和控制層之間的安全防護
在企業管理層和SCADA中心之間通常使用OPC通訊協議,由于OPC通訊采用不固定的端口號,使用傳統的IT防火墻進行防護時,不得不開放大規模范圍內的端口號。在這種情況下,防火墻提供的安全保障被降至最低。因此,在數采監控層和控制層之間應安裝專業的工業防火墻,解決OPC通訊采用動態端口帶來的安全防護瓶頸問題,阻止病毒和任何其它的非法訪問,這樣來自防護區域內的病毒感染就不會擴散到其他網絡,提升網絡區域劃分能力的同時從本質上保證了網絡通訊安全。
4.3.3 保護關鍵控制器
考慮到和控制器之間的通訊一般都采用制造商專有工業通訊協議,或者其它工業通信標準如Modbus等。由于常規的IT防火墻和網閘等安全防護產品都不支持工業通訊協議,因此,對關鍵的控制器的保護應使用專業的工業防火墻。一方面對防火墻進行規則組態時只允許制造商專有協議通過,阻擋來自操作站的任何非法訪問;另一方面可以對網絡通訊流量進行管控,可以指定只有某個專有操作站才能訪問指定的控制器;第三方面也可以管控局部網絡的通訊速率,防止控制器遭受網絡風暴及其它攻擊的影響,從而避免控制器死機。
工業控制系統信息安全問題已迫在眉睫,本文針對油田企業流程工業的特點,同時結合工業控制系統網絡結構和安全需求,提出工業控制系統信息安全分三步走的策略。將工業系統網絡劃分為不同的安全區域,在區域之間執行管道通信,從而通過管控區域間管道中的通信內容,實現保證工廠控制網絡安全穩定運行的三個目標:通訊可控、區域隔離和報警追蹤,進而全方位地保障工業控制系統信息安全,最終實現信息安全的縱深防御策略。值得強調的是建立安全策略與流程是很重要的一個環節,切實做好工業控制系統的安全培訓工作與培養安全意識,用“三分技術,七分管理”來形容工業控制系統信息安全不無道理。