張鳳臣
摘 要:近年來,工業(yè)控制設備互聯互通性逐步加強,而工控系統安全風險意識和防護建設顯得不足。針對這一情況,建立了一種基于國產硬件平臺的工業(yè)控制設備漏洞檢測系統。該系統采用自主定制的高安全操作系統,并對系統硬盤采用了全盤加密。同時,擁有的完整漏洞庫和自學習模糊仿真測試技術,保障了系統的安全性和高效性,是國內第一個面向工控系統的完全國產化的漏洞檢測和安全測試工具。
關鍵詞:工業(yè)控制系統;漏洞檢測;安全測試;模糊測試
中圖分類號:TP393.08 文獻標識碼:A DOI:10.15913/j.cnki.kjycx.2016.24.106
工業(yè)控制系統被廣泛運用于電力、石化、制造等行業(yè),它是一個國家工業(yè)的命脈所在,隨著計算機網絡等技術在工業(yè)控制系統中的廣泛運用,工控系統的安全事件時有發(fā)生。工業(yè)控制系統的安全問題受到全社會的廣泛關注。
工業(yè)控制系統的攻擊事件層出不窮的主要原因有2個:①工業(yè)控制系統的互聯互通性逐漸增強,遭受攻擊的可能性也隨之大大提高;②工業(yè)控制系統還停留在只考慮可用性的階段,風險意識不足,沒有進行專門的信息安全防護建設。
因此,工業(yè)控制系統漏洞掃描的相關研究引起了關注。在漏洞檢測方面,根據有限狀態(tài)自動機和模型檢測思想,提出了基于模糊度量的軟件漏洞檢測技術,并使此技術具有自學習機制。在面向工控這段的漏洞挖掘方面,有研究者提出了基于模糊測試的漏洞挖掘方法。這些系統要么是主要用于互聯網領域,對于工控系統沒有針對性,要么是在工控系統中套用傳統安全方法。
現有漏洞掃描設備主要針對傳統信息網絡系統,對于工業(yè)控制系統缺乏針對性。本文面向工業(yè)控制設備提出了一種新的工控系統漏洞挖掘及網絡安全健壯性測試系統。該系統能夠檢
測各類工控系統漏洞,并能通過自學習仿真測試技術和智能檢測技術精準地對多種工況協議進行雙向測試。
1 系統結構
漏洞檢測系統運行在裝備國產龍芯處理器的筆記本上,以定制的安全加固和性能優(yōu)化的LINUX為操作系統,它的部署方便,將系統接入被檢測工控網絡,使得系統能夠向被檢測工控上位機、可編程邏輯控制器(PLC)發(fā)送數據。圖1為該系統部署示意圖。
漏洞檢測系統包括控制模塊、日志模塊、配置模塊、結果處理模塊和漏洞掃描模塊。整個系統采用Web/Server/Scanner(控制端/服務器/掃描器)架構。整個系統主要由漏洞安全掃描部分、安全管理系統、管理控制圖形用戶界面、掃描系統硬件平臺這些組件構成。
系統結構如圖2所示。安全功能主要靠安全管理和安全掃描實現,硬件平臺為定制的龍芯3A專用硬件平臺。下面分別介紹前3個組件。
1.1 漏洞安全掃描
漏洞安全掃描是系統的核心組件。此組件下屬有規(guī)則檢測系統、規(guī)則加載系統、規(guī)則驗證系統、規(guī)則排序過濾系統和規(guī)則解析探測漏洞系統。此部分的功能是安全加載漏洞規(guī)則庫,實現漏洞規(guī)則庫的檢索、校驗、檢查、執(zhí)行。
漏洞庫包括基本描述信息、環(huán)境描述信息、測試信息和修補信息4部分信息。掃描過程首先校驗漏洞規(guī)則是否正確,然后將其整理成一個標準的樹型結果;之后掃描程序逐級執(zhí)行該樹的節(jié)點,實現程序腳本的執(zhí)行,完成掃描動作。
1.2 安全管理系統
安全管理系統主要實現掃描計劃的定制,對掃描的目標、范圍、方法等掃描參數進行設置,向掃描引擎發(fā)出掃描命令等功能,包括策略的下發(fā)、計劃定制、掃描狀態(tài)檢測和掃描報告的生成。圖3所示為掃描報告結果。
1.3 管理控制圖形用戶界面
管理控制圖形用戶界面為系統提供了基于Web的管理控制界面,能夠與安全管理系統進行圖形交互,為用戶提供友好的圖形界面,并提供完整的日志審計。圖4所示為創(chuàng)建掃描任務的用戶界面。
2 系統關鍵技術
該漏洞檢測系統是國內第一個專業(yè)面向工控系統的完全國產化的漏洞檢測和安全測試工具。與普通漏洞掃描系統相比,該工控系統漏洞掃描平臺擁有如下關鍵技術。
2.1 漏洞數據庫
安全漏洞是在硬件、軟件、協議的具體實現或者系統安全策略上存在的缺陷,它的存在可以使攻擊者在未授權的情況下訪問或者破壞系統。
該系統的漏洞數據庫除了擁有完整的工業(yè)系統漏洞數據庫,支持主流工控系統漏洞檢測外,還保障了漏洞信息的高準確性與更新頻率。漏洞庫使用工控漏洞插件技術,每個插件都封裝一個或者多個漏洞的測試技術,主掃描程序通過調用插件的方法來執(zhí)行掃描。添加新的插件就可以使軟件增加新功能,掃描更多漏洞,從而能夠更精準地對包括多種工控協議在內的通信協議進行雙向測試。
2.2 自學習模糊測試技術
模糊測試的測試過程一般分為識別目標、識別輸入變量、構造測試用例、執(zhí)行測試用例、監(jiān)視異常、確定可利用性6個階段。對于系統和應用程序源代碼無法獲得的情況,模糊測試是最常用的方法,且該方法隨機生成數據,易于重現,適用于大規(guī)模的自動化測試。
該測試技術根據對被測設備狀態(tài)的判斷,決定局部仿真算法的有效性,在此基礎上對仿真算法進行增量調整,通過不斷增量調整,將初始算法進化成能有效生成精準檢測用例的高校智能仿真算法,從而實現對工控系統漏洞的模糊測試。
2.3 高安全性保障
在硬件方面,該系統基于國產龍芯3A CPU硬件平臺。軟件采用定制的LINUX操作系統,保障了該設備在軟硬件方面的安全可控,杜絕因為漏洞掃描平臺的接入對工控系統引入不安全因素。為了對該系統硬盤實現硬件加密,采用了1 024位AES高強的數據加密算法對系統硬盤進行了全盤加密。AES是一種迭代型分組密碼,它的分組長度和密鑰長度均可變,能有效保障平臺數據的安全性。
3 結論
本文介紹的工業(yè)控制漏洞檢測系統是基于國產化技術,針對工業(yè)控制系統進行安全評估的首款工具。其具有高可靠性、高安全性,既能用于監(jiān)督和主管機構對工業(yè)控制系統進行全方位的風險評估,也能很好地幫助企業(yè)改進工控系統,去除安全隱患,具有很好的實用價值和社會效益。
參考文獻
[1]張晛譞,范明鈺.基于模糊度量的軟件漏洞檢測技術研究[J].網絡安全技術與應用,2010(4).
[2]于長奇.工控設備漏洞挖掘技術研究[D].北京:北京郵電大學,2015.
[3]匡細從.漏洞相關技術研究與漏洞數據庫的設計[D].成都:電子科技大學,2010.
[4]Sutton M,Greene A,Amini P.Fuzzing:brute force vulnerability discovery.New York:Pearson Education, 2007.
[5]王志強.基于模糊測試的漏洞挖掘及相關攻防技術研究[D].西安:西安電子科技大學,2015.
[6]申慧軍.基于AES算法的SATA硬盤數據加解密設計與實現[J].信息技術,2009(9).
〔編輯:劉曉芳〕