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