王捷,喻瀟,徐江珮
(國網湖北省電力有限公司電力科學研究院,湖北 武漢 430077)
為了使工業控制系統與傳統計算機信息技術之間實現資源共享以及協調工作的目的,工業控制系統利用了傳統計算機信息技術中的硬件系統、軟件系統以及通信協議,隨著不斷改進,能夠采取一定的方法直接連接到傳統計算機網絡中。這樣雖然改變了工業控制系統之前封閉的工作模式,但隨著也帶來了很多的安全隱患,因為傳統計算機網絡里的信息經常受到病毒、黑客入侵以及木馬等威脅。目前,工業控制系統越來越多的應用在我國各項重要的領域中,如核工業、水利、電力以及石油化工等。所以,工業控制系統的安全非常重要,關系到經濟社會的發展和對社會的影響力。
工業控制系統漏洞從不同角度可以有不同的分類。從產生漏洞的原因來劃分,可以分為提權、暴力破解、DLL 劫持、明文密碼傳輸、代碼注入、結構化查詢語言注入、緩沖區溢出、包回放攻擊、固件后門、安全繞過以及各種Web類安全漏洞等。從設備位置來劃分,可以分為上位機漏洞和下位機漏洞,其中上位機漏洞包括應用軟件漏洞和操作系統漏洞,下位機漏洞包括后門漏洞、協議漏洞和人機界面漏洞。從設備系統的種類來劃分,可以分為路由器、交換機、防火墻等網絡設備漏洞、軟件漏洞,PLC 漏洞,遠程終端單元漏洞以及其他設備系統漏洞。
工業控制系統是由計算機設備以及工業過程控制組件構成的自動化遠程控制系統。隨著工業控制系統的不斷完善,在樓房建筑、交通運輸、水利、電力、石油化工以及制造業等多個領域都有應用。在工業控制系統的安全檢測過程中,主要包括3種技術,即漏洞掃描技術、入侵檢測技術以及防火墻。漏洞掃描技術屬于主動的防御辦法,入侵檢測技術以及防火墻屬于被動的防御辦法。在安全檢測過程中,把這些技術有效的結合起來,可以很好的確保計算機網絡的安全。工業控制系統中的漏洞掃描技術主要是指在檢測網絡或者目標主機的安全級別時,通過采用掃描等方式,及時發現能夠利用的漏洞的一種技術。采用漏洞掃描技術能夠讓網絡管理員準確掌握當前運行網絡中的安全設置情況以及網絡服務的應用情況,這樣一旦網絡系統中出現安全問題,就可以及時被發現,從而改進和完善網絡安全系統里的相關設置項,及時修復并解除安全問題,防止網絡系統受到黑客的攻擊破壞。在對網絡系統進行風險評估時,經常把采用漏洞掃描技術檢測出的安全問題作為主要依據。漏洞掃描技術主要包括2類,分別是基于網絡的漏洞掃描和基于主機的漏洞掃描。
基于網絡的漏洞掃描主要通過非破壞性的,并且主動的方法來檢測系統。基于網絡的漏洞掃描方法經常用在安全審記以及穿透實驗方面,能夠針對性地檢測己知的網絡漏洞,還能夠根據特定的腳本實施模擬攻擊網絡系統,通過對攻擊結果進行全面分析,判斷網絡系統是不是會發生崩潰現象。
基于主機的漏洞掃描主要通過非破壞性的,并且被動的方法來檢測系統。基于主機的漏洞掃描方法涉及到很多方面的問題,包括解密口令,能夠除掉部分簡單的口令,還包括操作系統的補丁、文件的屬性以及系統的內核等。通過采用基于主機的漏洞掃描方法,能夠精確找到出現問題的系統位置,從而及時發現系統存在的漏洞。
工業控制系統和傳統計算機網絡在安全機制以及突出特點方面存在很大的差別,利用傳統的計算機網絡無法探測出連接到網絡中的工業控制設備。基于層次探測的工控系統漏洞掃描模型如圖1所示。

圖1 工控系統漏洞掃描模型
工業控制系統探測的作用主要是在網絡中探測工業控制設備及其具體的數據信息。工業控制系統探測包括網絡探測以及系統探測。
網絡探測作為工業控制系統探測的基礎,是指從網絡信息方面進行探測,主要根據工業控制交換機本身具有普通交換機周期性傳送廣播包的特征,通過捕獲數據包以及解析數據包,來探測工業控制交換機的物理地址、站名稱,以及工業控制系統的廣播地址等有關基本信息。工業控制交換機在工業控制系統與傳統計算機網絡之間起著橋梁的作用。
系統探測是指從系統信息方面進行探測,根據工業控制系統的網絡探測中獲得的廣播地址等一些基本信息,因為部分工業控制設備只能等收到請求的時候才可以做出相應響應,所以,必須通過構造并且廣播發送請求數據包,以及捕獲并且解析響應數據包來探測到工業控制系統里的工業控制設備以及其站名稱、站種類、設備標志、制造商標志、設備角色、物理地址等相關具體信息。通過PROFINET 實時通信里的DCP協議幀結構,建立實時的PROFINET數據包,并且在連接工業控制設備的網絡內,通過廣播的形式進行發送,來要求工業控制設備進行回復,然后經過解析回復的數據包,對要探測的工業控制設備進行提取,從而得到工業控制設備需要的具體信息。
數據比對的作用主要是利用工業控制系統探測方式中探測得到的工業控制設備的站名稱、站種類、設備標志、制造商標志以及設備角色等具體信息和工業控制系統的漏洞庫,進行數據比對,找到設備具有的漏洞。
工業控制系統中的動態測試技術是指在運行情況下,工業控制系統利用模糊測試、雙向測試和風暴測試等挖掘漏洞的辦法。
模糊測試技術主要是指針對工業控制協議的模糊測試技術,通過改變通信協議或者對協議特征進行分析,從而建立特定的數據包,再傳送給上位機或著下位機服務器,從而對被測目標的響應進行監控,根據異常響應來挖掘漏洞。模糊測試在執行的過程中,大致經歷5個基本階段,如圖2所示。

圖2 模糊測試的基本過程
雙向測試技術是在原有的數據樣本中修改或者插入一些變異字節,從而使正常工業控制系統中的目標設備以及上位機之間的交互數據發生變化,在此過程中,監控目標設備以及上位機的情況。
風暴測試技術是指在短期內向目標設備傳送非常多的并且全部一樣的數據包的一種壓力測試,在傳送過程中,速度要從慢到快不斷增加,直到找到目標設備抗壓的最大值。因為隨著速度的變化,目標設備的處理能力也會變化,如果目標設備比較弱,在風暴測試中會出現故障。
工業控制系統中的靜態分析技術,是指在非運行情況下,工業控制系統挖掘漏洞的技術。主要有靜態代碼審計、二進制補丁比對和逆向分析等挖掘漏洞的辦法。
靜態代碼審計是指在對系統源代碼和軟件進行分析時,通過選擇人工代碼審計工具和靜態代碼審計工具相互結合,從而找到系統和軟件存在漏洞的辦法。這種辦法僅適合檢測提供源碼的工業控制系統。
二進制補丁比對是指將原程序和補丁進行比對,發現其中的不同點,從而找到原程序存在的漏洞。這種辦法適合工業控制系統的廠家知道有漏洞,而且給了修復漏洞的補丁,可是沒有說明該漏洞的具體位置,此時就可以用這種辦法進行比對。
逆向分析是指利用固件分析工具來解壓固件,對二進制代碼進行逆向匯編,研究二進制代碼函數和它的邏輯,采用綜合方式來挖掘固件以及二進制可執行程序中存在安全漏洞的辦法。
隨著我國科學技術的不斷進步,工業控制系統和傳統計算機網絡技術的結合,帶來了很大的便利,但是隨之而來的安全隱患也增多。工業控制系統中,網絡經常受到各方面的攻擊,給社會和人民的工作、生活帶來很大的不良影響,因此,必須采用有效措施準確的掃描出工業控制系統存在的安全漏洞,從而及時進行修復、完善。通過對工業控制系統的漏洞掃描與挖掘技術進行研究,可以不斷的改進掃描技術,更好的確保工業控制系統的安全。
[1]蔡金,呂鑫.局域網安防探析[J].信息系統工程,2016,11:72.
[2]張鳳臣.工業控制設備漏洞檢測系統淺析[J].科技與創新,2016,24:106-107.
[3]陶志堅,姚日煌.工業控制系統信息安全風險評估研究[J].電子產品可靠性與環境試驗,2016,3406:15-21.
[4]盧凱,趙云飛,柯皓仁.工業控制系統信息安全等級保護測評方案研究[J].信息網絡安全,2016,S1:107-111.
[5]鄒春明.工業控制系統信息安全產品標準及測評方法[J].自動化博覽,2016,04:62-65.