蘇雪峰 郭燕萍
摘 要: 針對傳統(tǒng)的工控系統(tǒng)安全等級評估方法過多依賴專家經(jīng)驗的不足,文章將安全等級評估問題看作是機器學習中的分類問題,提出了面向工業(yè)控制系統(tǒng)的安全等級評估要素體系、評估要素量化方法,并將評估要素作為分類特征在訓練數(shù)據(jù)集上訓練分類模型,使用分類模型實現(xiàn)安全等級的自動評估。實驗表明,所提出的方法體系可行有效,使用支持向量機算法訓練的模型在山西省工業(yè)企業(yè)工控系統(tǒng)安全等級評估中的分類準確率達到了90%,較好地解決了傳統(tǒng)方法過多依賴專家的問題。
關(guān)鍵詞: 安全等級評估; 評估要素; 支持向量機; 機器學習; 評估模型
中圖分類號:TP393.0 文獻標志碼:A 文章編號:1006-8228(2017)12-46-04
Research on security-level evaluation method of industrial control system based on SVM
Su Xuefeng, Guo Yanping
(Department of Electronic Business, Business college of ShanXi university, Taiyuan, Shanxi 030031, China)
Abstract: Due to the deficiency of traditional security-level evaluation methods of industrial control system relying too much on the experience of experts. This paper puts forward the evaluation factor system and evaluation factor quantitative methods for industrial control system, which regards the security-level evaluation as a classification problem in machine learning field. The classification model is trained on the training data set of taking the evaluation factors as the classification features, and the security level is automatically evaluated by using the classification model. The experiment shows that the precision of the classification model based on support vector machine reaches 90% in security-level evaluation of industrial control system of ShanXi province. The deficiency of traditional methods relying too much on the experience of experts is solved by the method mentioned above.
Key words: security-level evaluation; evaluation factor; support vector machine; machine learning; evaluation model
0 引言
隨著工業(yè)控制網(wǎng)絡(luò)與企業(yè)信息網(wǎng)絡(luò)的不斷融合,工業(yè)控制系統(tǒng)的安全管理受到了重大的挑戰(zhàn)[1-2]。工控系統(tǒng)安全等級評估是安全管理的重要內(nèi)容,傳統(tǒng)的安全等級評估方法主要有故障樹分析法、層次分析法、模糊綜合評判法、基于D-S證據(jù)理論的評估方法。傳統(tǒng)的評估方法過多地依賴專家的經(jīng)驗,根據(jù)專家的經(jīng)驗確定評估模型的相關(guān)參數(shù),模型的性能較差。
近幾年基于大規(guī)模數(shù)據(jù)分析的機器學習評估方法受到眾多學者的關(guān)注,黨德鵬教授提出了一種基于支持向量機的信息安全等級評估方法[3];張利研究員提出了一種基于決策樹的評估方法[4];趙冬梅副教授提出了一種基于BP神經(jīng)網(wǎng)絡(luò)的評估方法[5-6]。這些方法從理論上證明了機器學習方法在工業(yè)控制系統(tǒng)安全等級評估中的可行性,但這些研究的實驗數(shù)據(jù)都是模擬數(shù)據(jù),缺乏有效的實踐檢驗。
本文針對山西省工業(yè)企業(yè)工控系統(tǒng)的安全等級評估問題,按照機器學習的思路,研究評估要素體系構(gòu)建、評估要素量化、評估模型訓練等內(nèi)容,構(gòu)建基于支持向量機(Support Vector Machines,SVM)的面向工控系統(tǒng)的安全等級評估模型。一方面從實踐的角度進一步研究基于機器學習思路的工控系統(tǒng)安全等級評估方法,另一方面切實解決山西省工業(yè)企業(yè)工控系統(tǒng)的安全評估問題,同時為其他省份或其他領(lǐng)域的安全等級評估提供一定的借鑒。
1 工控系統(tǒng)安全等級評估
1.1 問題描述
工控系統(tǒng)信息安全等級評估即根據(jù)影響企業(yè)工控系統(tǒng)信息安全的要素,分析各要素與安全等級之間的關(guān)系,建立統(tǒng)一評估模型,由評估模型預(yù)測企業(yè)的安全等級。其形式化描述為:設(shè)為影響工控系統(tǒng)安全的要素值,評估結(jié)果Y是關(guān)于X的函數(shù),Y的取值可以是連續(xù)值也可以是離散值,即Y,建立評估模型就是要確定函數(shù)的函數(shù)類型及其參數(shù)W的值,模型確定之后就能夠根據(jù)某企業(yè)的各項安全要素值算出企業(yè)信息系統(tǒng)的安全等級。建立評估模型是安全等級評估的核心。
1.2 評估流程
工業(yè)控制系統(tǒng)安全等級評估的一般流程流程如圖1所示。
確定評估要素就是根據(jù)信息系統(tǒng)自身的特點確定影響信息安全的要素,一般從資產(chǎn)及其價值、系統(tǒng)脆弱性、面臨的風險三個方面確定影響因素。評估要素賦值就是利用定量的方法量化每一影響因素。選擇評估方法就是根據(jù)要素值的分布特征選擇與之相適應(yīng)的評估方法,生成相應(yīng)的模型參數(shù),從而確定評估模型,最后使用模型進行評估。評估模型的生成往往需要經(jīng)過多次迭代,對于評估效果較差的模型還需要進行調(diào)整,甚至需要更換評估方法。
1.3 評估方法
傳統(tǒng)的評估方法(如層次分析方法和模糊層次分析法)認為,評估模型是關(guān)于評估要素的線性函數(shù),函數(shù)的參數(shù)一般由專家確定?;跈C器學習的評估方法認為,評估模型是關(guān)于評估要素的線性或非線性函數(shù),函數(shù)的參數(shù)通過學習訓練樣本而得到。傳統(tǒng)的評估方法過渡依賴于專家的經(jīng)驗,線性函數(shù)在某些情況下不能準確地反映評估要素與評估結(jié)果之間的關(guān)系;基于機器學習的方法克服了過渡依賴專家經(jīng)驗的不足,只需要專家確定部分樣本的評估結(jié)果,機器學習算法根據(jù)樣本選擇合適的模型,并能學習到各要素的權(quán)值,模型可能是線性的也可能是非線性的。
2 工控系統(tǒng)安全等級評估要素
2.1 評估要素
信息系統(tǒng)的不安全,既有內(nèi)部因素,也有外部因素,內(nèi)因就是信息資源本身具有一定的價值以及系統(tǒng)自身的脆弱性,外因就是信息系統(tǒng)面臨外部的威脅如自然災(zāi)害、病毒、黑客等。內(nèi)因是最根本的因素,價值越大的資產(chǎn)越容易受到來自外部的威脅,同樣越脆弱的資產(chǎn)越容易受到來自外部的威脅。
根據(jù)《工業(yè)控制系統(tǒng)信息安全 評估規(guī)范 驗收規(guī)范》(GB/T3097)以及IEC62443-1標準可將工業(yè)控制系統(tǒng)安全風險評估要素分為資產(chǎn)、威脅和脆弱性三個方面,每一個因素又細分成若干個子因素[7]。工控系統(tǒng)安全等級評估要素體系如圖2所示。
資產(chǎn)具有不同的安全屬性,一般包括機密性、完整性、可用性三個方面。資產(chǎn)的安全屬性要求越高,表明資產(chǎn)受到安全威脅的可能性越大。
威脅主要是由于系統(tǒng)在權(quán)限控制、防病毒、網(wǎng)絡(luò)攻擊防護等方面措施的不足不能防范和抵御來自系統(tǒng)外部的攻擊,從而導致系統(tǒng)的安全受到威脅。根據(jù)IEC62443-1標準,引起工業(yè)控制系統(tǒng)威脅主要因素有非法設(shè)備的物理接入、訪問權(quán)限非法獲取、控制信息被篡改、未授權(quán)的網(wǎng)絡(luò)接入等九個方面。每一方面的威脅與系統(tǒng)內(nèi)部所采取的安全措施有著密切的聯(lián)系,如非法設(shè)備的物理接入與USB端口是否禁用、交換機有無身份認證、監(jiān)控系統(tǒng)是否到位等因素有密切的關(guān)系,換句話說,有一系列完整的安全措施,來自非法設(shè)備的物理接入的威脅就會減小。
脆弱性本身不會造成損失,它只是一種條件或環(huán)境,可能導致被威脅利用而造成資產(chǎn)損失[8]。脆弱性的出現(xiàn)有各種原因,有管理的原因、有軟件的原因、也有硬件的原因。根據(jù)《工業(yè)控制系統(tǒng)信息安全 評估規(guī)范 驗收規(guī)范》脆弱性共分為安全管理、系統(tǒng)運行維護、網(wǎng)絡(luò)等八個方面。每一方面又與當前系統(tǒng)的運行狀態(tài)和管理措施密切相關(guān),如安全管理脆弱性與組織機構(gòu)是否健全、制度是否完善、是否有應(yīng)急機制等具體的措施有關(guān)。
2.2 評估要素賦值
2.2.1 資產(chǎn)賦值
資產(chǎn)就是在工業(yè)控制系統(tǒng)中需要保護的資源,資產(chǎn)可分為有形資產(chǎn)和無形資產(chǎn),主要有數(shù)據(jù)、主機、網(wǎng)絡(luò)、虛擬資產(chǎn)四種具體形式。資產(chǎn)的價值反映了該資產(chǎn)對整個工業(yè)控制系統(tǒng)的重要性或該資產(chǎn)受到破壞時對系統(tǒng)影響的大小,其值是一個相對值。一般將資產(chǎn)的安全屬性分為五個等級[9],每一等級賦值如表1所示。
2.2.2 威脅因素賦值
威脅的發(fā)生主要取決于系統(tǒng)所采取的措施是否完善,措施越完善,受到威脅的可能性越小,損失越小。某一威脅的賦值公式為:
其中Mi=0或1,1表示系統(tǒng)采取了與該威脅相關(guān)的第i項措施,0表示系統(tǒng)未采取第i項措施。n表示與該威脅相關(guān)的措施數(shù)。
2.2.3 脆弱性因素賦值
脆弱性賦值采取與威脅賦值同樣的思路,某一方面脆弱性的賦值公式為:
其中,Mi=0或1,1表示導致該脆弱性存在的因素是積極狀態(tài)或采取了某種措施,0表示導致該脆弱性存在的第i個處理消極狀態(tài)或未采取相關(guān)措施,n表示與該脆弱相關(guān)的措施和系統(tǒng)狀態(tài)數(shù)。
3 基于SVM的評估模型
基于機器學習的安全等級評估方法把安全等級評估模型看作是一類分類模型,通過訓練大量帶標簽的樣本數(shù)據(jù)使用機器學習算法學習得到模型,與傳統(tǒng)的靠專家經(jīng)驗指定參數(shù)差別較大。支持向量機(Support Vector Machines, SVM)是一種通用的機器學習算法,它的一個顯著特點是用滿足Mercer條件的核函數(shù)代替原模式空間的矢量數(shù)積運算實現(xiàn)非線性變換,它的實質(zhì)是將原模式空間變換至一個高維空間,使模式在高維空間中線性可分。
在安全等級是二類的情況下,工業(yè)控制系統(tǒng)作為訓練樣本集記為:{(xi,yi),i=1,2,…,m},其中Xi為第i個訓練樣本的評估要素向量Xi=(x1,x2,…,xn)T;yi={1,-1},當Xi為正類時,yi=1,當為負類時,yi=-1。使用SVM進行評估的目標就是通過對訓練樣本的學習,求得評估函數(shù)f(x),該函數(shù)能在測試集上盡可能正確分類,從而實現(xiàn)對工業(yè)控制系統(tǒng)安全等級的分類預(yù)測。
4 實驗
4.1 實驗數(shù)據(jù)
本實驗數(shù)據(jù)來源于山西省2016年工業(yè)控制系統(tǒng)安全調(diào)查數(shù)據(jù),從中抽取了100個企業(yè)的調(diào)查數(shù)據(jù)作為訓練數(shù)據(jù)集,50個企業(yè)的調(diào)查數(shù)據(jù)作為測試數(shù)據(jù)集;兩類數(shù)據(jù)集的安全級別由專家進行評定,安全級別為兩級。實驗首先根據(jù)本文的評估要素體系,從統(tǒng)計數(shù)據(jù)中抽取了與威脅因素和脆弱性因素相關(guān)的措施和系統(tǒng)運行狀態(tài)的調(diào)查結(jié)果,然后根據(jù)因素的賦值方法對各類因素進行賦值。要素抽取情況如表1所示。
4.2 實驗結(jié)果
安全等級使用二級評估,評估結(jié)果為1表示相對安全,評估結(jié)果為-1表示不安全。評估指標使用分類模型評價廣泛使用的查準率(Precision)、查全率(Recall)和F值(F-Measure)。
實驗使用LIBSVM工具包進行了模型訓練,通過5折交叉驗證,最終選取線性核函數(shù)作為SVM分類器的核函數(shù),其他參數(shù)使用LIBSVM工具包默認參數(shù)。為了驗證SVM算法與工業(yè)系統(tǒng)安全等級評估中使用比較廣泛的決策樹算法的性能,實驗還使用C5.0算法訓練了決策樹分類模型,兩個模型的分類性能如表2所示。
實驗結(jié)果表明,在現(xiàn)有數(shù)據(jù)環(huán)境下使用SVM算法訓練的分類器比C5.0算法訓練的分類器更具有優(yōu)勢,分類準確率達到了90%。實驗也初步表明使用分類的方法進行安全等級評估是可行的,評估準確率較高,可以實現(xiàn)對企業(yè)工控系統(tǒng)安全狀態(tài)的評估。
5 結(jié)論
本文將機器學習中的SVM分類方法應(yīng)用到了工業(yè)系統(tǒng)安全等級評估中,將安全等級評估模型的確定看作是一個分類模型訓練問題,通過樣本數(shù)據(jù)由機器學習算法自動確定各個評估要素的權(quán)重,克服了依賴專家確定評估要素權(quán)重的不足。實驗表明,本文提出的要素抽取、賦值、建模方法等可行有效,在山西省工業(yè)控制系統(tǒng)調(diào)查數(shù)據(jù)上訓練的模型具有較好的性能,從實踐應(yīng)用的角度證明了將機器學習方法應(yīng)用到工控系統(tǒng)安全等級評估中的可行性。本文使用的實驗數(shù)據(jù)是一組調(diào)查數(shù)據(jù),由企業(yè)相關(guān)負責人填寫上報,部分數(shù)據(jù)不夠客觀,甚至存在虛假的情況,對評估模型的性能和推廣應(yīng)用有一定的影響。在今后的研究或應(yīng)用中,研究和開發(fā)自動化收集工具,在更大范圍內(nèi)使用自動化工具收集相關(guān)數(shù)據(jù),提高訓練數(shù)據(jù)的質(zhì)量,進而進一步提高模型的性能。
參考文獻(References):
[1] Valenzano A,Durante L, Cheminod M. Review of security
issues in industrial networks[J].IEEE Transactions on Industrial Informatics,2013.9(1):277-293
[2] ISA99, IEC 62443 Industrial control network&system
security standardization[S].ISA,2011.
[3] 黨德鵬,孟真.基于支持向量機的信息安全風險評估[J].華中
科技大學學報(自然科學版),2010.38(3):46-39
[4]張利,姚軼嶄,彭建芬等.基于決策樹的智能信息安全風險評
估方法[J].清華大學學報(自然科學版),2011.51(10):1236-1239
[5] 趙冬梅,劉海峰,劉晨光.基于BP神經(jīng)網(wǎng)絡(luò)的信息安全風險評
估[J].計算機工程與應(yīng)用,2007.43(1):139-141
[6]趙冬梅.信息安全風險評估量化方法研究[D].西安電子科技
大學碩士學位論文,2007.
[7] 盧慧康,陳冬青.工業(yè)控制系統(tǒng)信息安全風險評估量化研究[J].
自動化儀表,2014,35(10):21-25
[8] 李航,朱廣宇.建立健全我國工業(yè)控制系統(tǒng)信息安全體系[J].
智能工業(yè)與信息安全,2015.34(1):13-16
[9] 桂若柏.信息安全風險評估模型的研究及其應(yīng)用[D].重慶大
學碩士學位論文,2014.