李彤彤,王詩蕊,張耀方,王佰玲,王子博,劉紅日
(1.哈爾濱工業(yè)大學(xué)(威海)計算機(jī)科學(xué)與技術(shù)學(xué)院,山東 威海 264209;2.國家工業(yè)信息安全發(fā)展研究中心,北京 100040; 3.哈爾濱工業(yè)大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,黑龍江 哈爾濱 150001; 4.威海天之衛(wèi)網(wǎng)絡(luò)空間安全科技有限公司,山東 威海 264209)
工業(yè)控制系統(tǒng)ICS(Industrial Control System)是確保工業(yè)基礎(chǔ)設(shè)施自動化運(yùn)行,并進(jìn)行過程控制與監(jiān)控的業(yè)務(wù)流程管控系統(tǒng)(下文簡稱工控系統(tǒng))[1]。近年來,工控系統(tǒng)的攻擊事件日益增多,暴露出其在安全防護(hù)方面的嚴(yán)重不足,研究高效、規(guī)?;墓た叵到y(tǒng)漏洞的屬性分析預(yù)測以及漏洞危害性評估等方法,已成為維護(hù)國家工業(yè)、制造業(yè)安全的重要保障和迫切需求。對工控漏洞的分類為工控系統(tǒng)管理者提供指導(dǎo),對了解系統(tǒng)中存在的漏洞以及檢測這些漏洞的最佳方法有所幫助[2]。
現(xiàn)有的工控系統(tǒng)的安全風(fēng)險評估方法存在要素提取機(jī)制尚不全面,要素覆蓋程度還不夠完善等問題,導(dǎo)致對工控系統(tǒng)的安全風(fēng)險評估達(dá)不到理想效果。因此,本文從ICS漏洞的有效性、類別屬性和風(fēng)險程度等多維角度展開分析與研究,實現(xiàn)對已知的、未知的工業(yè)漏洞的高效檢測、分析與處理,全面獲取工業(yè)控制系統(tǒng)的設(shè)備關(guān)鍵脆弱點信息。通過對工控系統(tǒng)漏洞的多維評估要素提取分析,解決現(xiàn)有評估方法存在的問題。
針對上述問題,本文提出了面向工控系統(tǒng)漏洞的多維屬性評估方法。考慮到不是所有漏洞都具備有效性,因此在對漏洞進(jìn)行多維屬性評估前,首先利用機(jī)器學(xué)習(xí)模型對該漏洞進(jìn)行有效性判定,并在此基礎(chǔ)上,采用機(jī)器學(xué)習(xí)算法對漏洞風(fēng)險類型進(jìn)行智能化分類處理。從工業(yè)控制系統(tǒng)漏洞信息本質(zhì)屬性出發(fā),提出將工控漏洞重要性、危害性和可利用性作為漏洞風(fēng)險程度的3個要素,提出一種基于ERNIE(Enhanced Representation through kNowledge IntEgration)[3]與CatBoostClassifier[4]結(jié)合的ernieCat模型,利用該模型對漏洞的風(fēng)險程度屬性進(jìn)行預(yù)測。最后融合資產(chǎn)層級信息要素與漏洞風(fēng)險指標(biāo),提出了一種基于層級分析法的工業(yè)設(shè)備安全漏洞危害等級評估模型,對漏洞進(jìn)行全面多維評估,解決了漏洞與具體工控環(huán)境聯(lián)系不緊密的問題。
伴隨著工業(yè)安全漏洞的數(shù)量、種類逐年增加,提高對漏洞進(jìn)行有效分類和管理的能力,對于工控系統(tǒng)的安全風(fēng)險評估至關(guān)重要。在漏洞分類方面,廖曉鋒等[5]提出了一種結(jié)合LDA(Latent Direichlet Allocation)和SVM(Support Vector Machine)的自動漏洞分類器,但該方法不能很好地適用于大規(guī)模漏洞分類場景。曲瀧玉等[6]針對大規(guī)模漏洞分類問題,提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的漏洞自動分類方法,該方法在漏洞自動分類效率上有顯著提升。郭正斌等[7]提出了一種面向文本分類的特征向量優(yōu)化方法,將漏洞特征信息與特征向量化相結(jié)合實現(xiàn)漏洞的量化分析。雷柯楠等[8]通過對漏洞進(jìn)行特征評價完成漏洞的可利用性評分,并分析了影響漏洞利用性的重要因素。
在利用漏洞信息對漏洞的嚴(yán)重性進(jìn)行預(yù)測方面,Kudjo等[9]提出了Bellvul算法,選出樣本數(shù)據(jù)中的最優(yōu)特征子集對模型進(jìn)行訓(xùn)練,可提高漏洞嚴(yán)重性預(yù)測模型的準(zhǔn)確度。Fang等[10]提出了一種結(jié)合FastText[11]和LightGBM(Light Gradient Boosting Machine)算法的預(yù)測模型,可預(yù)測漏洞的可利用性,即使在極端不平衡數(shù)據(jù)集上,該模型仍然有效。Sharma等[12]使用詞嵌入GloVe(Global Vectors)算法和卷積神經(jīng)網(wǎng)絡(luò),根據(jù)漏洞描述對漏洞嚴(yán)重性進(jìn)行預(yù)測。相對于現(xiàn)有的漏洞評分方法,該方法不需要人工干預(yù),可保證漏洞預(yù)測的客觀性。上述研究在漏洞分析層面的準(zhǔn)確性和綜合性能上已能初步滿足業(yè)務(wù)需求,但是對于數(shù)據(jù)的特性認(rèn)識不夠清晰,大多忽略了未知漏洞或僅存在漏洞概念證明可利用的情況,對于漏洞數(shù)據(jù)庫的延時情況也缺乏應(yīng)急處理對策。
工控安全漏洞的風(fēng)險評估技術(shù)主要是針對工控設(shè)備確定漏洞情況[13],從危害性與威脅嚴(yán)重性等方面進(jìn)行評估。席榮榮等[14]提出了基于隱馬爾可夫模型的脆弱性評估方法,定義了警報質(zhì)量的概念,在分析警報統(tǒng)計特征時獲取觀測的序列,接著通過狀態(tài)轉(zhuǎn)移矩陣輸出最終結(jié)果。Liu等[15]使用預(yù)期的負(fù)載削減指數(shù)來量化由于網(wǎng)絡(luò)攻擊而造成的潛在系統(tǒng)損失。該方法針對電力系統(tǒng)進(jìn)行安全風(fēng)險評估,不具有通用性。陶耀東等[16]基于CVSS(Common Vulnerability Scoring System),將可見性、可控性和漏洞利用目標(biāo)等指標(biāo)納入量化評估范圍,設(shè)計了針對通用工控系統(tǒng)的工控漏洞評分系統(tǒng)。
在工控系統(tǒng)的脆弱性安全風(fēng)險評估方面,主流方法的要素提取機(jī)制還尚不全面,多數(shù)情況下僅單獨獲取漏洞信息所包含的內(nèi)在屬性與外部影響,準(zhǔn)確性和利用性達(dá)不到理想效果。本文綜合考慮漏洞的有效性、風(fēng)險類別、重要性、危害性及可利用性,并聯(lián)合漏洞的資產(chǎn)層級屬性,對工控系統(tǒng)進(jìn)行全面多維的安全風(fēng)險評估。
本節(jié)從工控漏洞的多維角度入手,實現(xiàn)對已知的和未知的工控漏洞高效檢測、分析與處理,全面獲取工業(yè)控制系統(tǒng)的設(shè)備關(guān)鍵脆弱信息。對未知漏洞情況進(jìn)行重要性、影響性、可利用性的預(yù)測,以及對漏洞優(yōu)先進(jìn)行有效性判別的風(fēng)險類別判定。
Chen等[17]將不能被復(fù)現(xiàn)或不能被證明會對設(shè)備的安全性造成威脅的漏洞稱為無效漏洞,無效漏洞的存在會對工控系統(tǒng)安全風(fēng)險評估造成干擾,以及造成不必要的資源浪費。因此,本文首先對漏洞的有效性進(jìn)行判定,確認(rèn)漏洞具備被利用的條件時,再進(jìn)行風(fēng)險類別的判定,便于掌握漏洞整體信息,初步進(jìn)行威脅程度度量。
本文收集公開漏洞描述文本作為研究樣本,為減少漏洞描述文本的處理運(yùn)算規(guī)模和時間復(fù)雜度,避免對分詞處理的影響,本文對獲取的文本進(jìn)行數(shù)據(jù)清洗和整理,去除網(wǎng)頁獲取的多余附加結(jié)構(gòu)。針對中英文的漏洞描述采用基于統(tǒng)計學(xué)規(guī)律的方法建立分詞模板,去除文本中的標(biāo)點并在保證文本語義完整的情況下去除停用詞,接著對文本分割處理后的詞語進(jìn)行詞性標(biāo)注和詞形還原處理。
經(jīng)過預(yù)處理后的文本信息為非結(jié)構(gòu)化形式,因此需要將文本內(nèi)容映射為數(shù)值權(quán)重向量,以簡化文本表示模型。針對此高維稀疏的特征向量表示數(shù)據(jù),本文使用TF-IDF(Term Frequency-Inverse Document Frequency)進(jìn)行數(shù)據(jù)降維和特征擇優(yōu),提取能保留文本信息的關(guān)鍵特征詞,對不同特征詞進(jìn)行動態(tài)加權(quán)。將向量化數(shù)據(jù)輸入分類器中進(jìn)行訓(xùn)練。基于文本處理的風(fēng)險類別分類流程如圖1所示。具體流程包含如下步驟:
Figure 1 Risk category classification process based on text processing圖1 基于文本處理的風(fēng)險類別分類流程
Step1訓(xùn)練樣本獲取。使用腳本從公開漏洞數(shù)據(jù)庫獲取漏洞信息,覆蓋樣本類別;漏洞有效性判定提取標(biāo)注為REJECTED駁回或DISPUTED爭議的無效漏洞;風(fēng)險類別判斷為保證后續(xù)研究數(shù)據(jù)充實采用通用漏洞枚舉CWE(Common Weakness Enumeration)中10種類型作為基礎(chǔ)進(jìn)行模型訓(xùn)練。10種風(fēng)險類型為:跨站腳本、緩沖區(qū)溢出、輸入驗證有誤、信息泄露、SQL注入、權(quán)限訪問控制、路徑名限制、資源管理、跨站請求偽造和過界讀取。
Step2漏洞文本預(yù)處理。在獲取描述性漏洞信息后,為進(jìn)一步進(jìn)行數(shù)據(jù)挖掘與分析,對文本進(jìn)行預(yù)處理,首先進(jìn)行噪聲數(shù)據(jù)清理,便于形成文本特征項,對包含語義的完整性中英文漏洞描述分別使用Python組件jieba與NLTK(Natural Language ToolKit)進(jìn)行分詞處理,將其轉(zhuǎn)化為最小統(tǒng)計單位;并在處理過程中完成停用詞過濾和詞根還原,除去冗余信息,以提高后續(xù)分析判定的效率與準(zhǔn)確性。
Step3文本特征提取。將之前獲取的文本特征項進(jìn)行向量化轉(zhuǎn)換,以便機(jī)器學(xué)習(xí)模型能夠針對特征項進(jìn)行識別計算,主要采用TF-IDF逆頻率思想的預(yù)處理方法,將描述語料中頻次較少的特征項權(quán)值加大,以反映出特征矩陣的重要程度。
Step4模型判定及評價。利用機(jī)器學(xué)習(xí)與深度學(xué)習(xí)分類算法對漏洞文本有效性和風(fēng)險類別進(jìn)行判定,并通過相關(guān)性能指標(biāo)對分類性能進(jìn)行有效評價,選取最佳算法模型。
對漏洞風(fēng)險程度進(jìn)行預(yù)測應(yīng)首先對相關(guān)屬性進(jìn)行分析,具體包括漏洞重要性、漏洞危害性及漏洞可利用性3個方面,其屬性標(biāo)簽參考通用漏洞評分方法CVSS3.0中提供的取值:基本得分(Base Score)、影響性得分(Impact Score)及可利用性得分(Exploitability Score),從而對漏洞屬性進(jìn)行風(fēng)險危害評估。其指標(biāo)屬性映射關(guān)系如圖2所示。
Figure 2 Mapping of vulnerability evaluation metrics圖2 漏洞評價指標(biāo)映射關(guān)系
(1)工控設(shè)備漏洞嚴(yán)重性:反映漏洞本身安全風(fēng)險的危害系數(shù),不隨外界環(huán)境的變化而改變。其值與Base Score的數(shù)值對應(yīng),定為5級。
(2)工控設(shè)備漏洞危害性:利用漏洞成功實施攻擊行為后,用于評價對系統(tǒng)造成的影響程度及損失范圍。其值與Impact Score的數(shù)值對應(yīng),定為5級。
(3)工控設(shè)備漏洞可利用性:利用漏洞所需技術(shù)支持復(fù)雜度,衡量系統(tǒng)遭受攻擊的可能性。其值與Exploitability Score的數(shù)值對應(yīng),定為5級。
在解決面向工業(yè)聯(lián)網(wǎng)設(shè)備的漏洞風(fēng)險情況時,重新定義工業(yè)行業(yè)漏洞下的風(fēng)險衡量指標(biāo),以漏洞重要性、危害性和可利用性作為切入點進(jìn)行度量評估,以漏洞文本特征與漏洞內(nèi)在危害指標(biāo)的結(jié)合作為預(yù)測模型的輸入,通過漏洞風(fēng)險預(yù)測模型訓(xùn)練得到相關(guān)嵌入表示,輸出工控風(fēng)險衡量指標(biāo)的等級情況。
在3.1節(jié)中的漏洞屬性判定中,通過對機(jī)器學(xué)習(xí)的效果進(jìn)行對比發(fā)現(xiàn),在處理漏洞相關(guān)數(shù)據(jù)時,相較于基礎(chǔ)算法,集成學(xué)習(xí)模型的效果更為出色。因此,在本節(jié)選用ERNIE模型[3]與CatBoostClassifier[4]的融合完成風(fēng)險程度預(yù)測,將漏洞描述文本以及其他漏洞內(nèi)在屬性特征進(jìn)行融合作為模型輸入。其他屬性特征如表 1所示。
Table 1 Features for the intrinsic properties of the vulnerability表1 漏洞內(nèi)在屬性特征
ERNIE模型在BERT(Bidirectional Encoder Representation from Transformers)[18]的基礎(chǔ)上進(jìn)行了改進(jìn),將知識和語言語義信息進(jìn)行融合,達(dá)到了增強(qiáng)語義表示的目的,它將BERT中的隨機(jī)掩碼優(yōu)化為實體級別或短語級別,從而使得模型可以在學(xué)習(xí)過程中充分捕捉到更多語法相關(guān)的語義知識,極大地增強(qiáng)了通用語義表示能力。
CatBoostClassifier將完全對稱樹作為基學(xué)習(xí)器,參數(shù)較少并且準(zhǔn)確度高,解決了工控漏洞風(fēng)險程度預(yù)測延時性苛刻的問題,依然部署快速、運(yùn)算效率高。同時,通過排序提升對抗噪點,有效改進(jìn)了梯度偏差和預(yù)測偏移的情況,減小了過擬合程度,泛化能力強(qiáng)。并且該模型在處理非數(shù)值型特征時具有相對優(yōu)勢,可以自動將其處理為數(shù)值型特征,同時考慮組合類別之間的特征聯(lián)系情況,在機(jī)器學(xué)習(xí)等一類模型中減少了對前期數(shù)據(jù)的處理工作量。
為解決漏洞風(fēng)險多角度預(yù)測,本文提出了基于ERNIE與CatBoostClassifier算法相結(jié)合的預(yù)測模型,稱為ernieCat。此模型可有效描述漏洞本身的風(fēng)險程度,包括嚴(yán)重性、危害性及可利用性。模型使用增強(qiáng)語義理解的ERNIE將漏洞相關(guān)描述文本進(jìn)行語義特征提取,而后與其他漏洞的內(nèi)在屬性特征相融合,應(yīng)用CatBoostClassifier分類算法完成風(fēng)險程度多角度預(yù)測。
層次分析法是一種較為常見的評估方法,近幾年來,一些研究人員將其應(yīng)用在工控安全風(fēng)險評估領(lǐng)域。賈馳千等[19]提出一種基于模糊層次分析法的工業(yè)控制系統(tǒng)安全評估方法,將工業(yè)控制系統(tǒng)的9種典型設(shè)備作為工控安全評估的要素。
本文考慮到風(fēng)險評估受到資產(chǎn)、威脅和脆弱性3要素影響,參考該原理,定義資產(chǎn)設(shè)備層、漏洞風(fēng)險類別及風(fēng)險描述指標(biāo)3個方面的影響因素,應(yīng)用在工業(yè)控制環(huán)境下對漏洞的風(fēng)險等級分析中,通過基于層次分析的方法建立工控漏洞風(fēng)險等級分析模型,如圖3所示。
Figure 3 Evaluation model of the hazard of ICS vulnerabilities圖3 工控漏洞危害性評估模型
該模型將工控漏洞危害性描述等級作為量化層評估結(jié)果,評估的過程中劃分為要素層和具體的指標(biāo)層,涵蓋影響漏洞風(fēng)險等級的具體指標(biāo),包括資產(chǎn)設(shè)備層次下詳細(xì)劃分的現(xiàn)場控制層、過程監(jiān)控層和生產(chǎn)調(diào)度層;選取工業(yè)環(huán)境下數(shù)量較多、危害性大的漏洞風(fēng)險類別,包括緩沖區(qū)錯誤、資源管理、輸入驗證錯誤、SQL注入和權(quán)限訪問限制;以及風(fēng)險程度描述下的嚴(yán)重性、危害性和可利用性情況。
在建立工控漏洞危害性評估模型后,引用模糊數(shù)學(xué)的概念,通過構(gòu)造模糊矩陣對模型中所有指標(biāo)因素的重要性相對程度進(jìn)行綜合考慮。
依據(jù)模糊矩陣優(yōu)先關(guān)系數(shù)量標(biāo)度對各指標(biāo)因素的相對重要性予以打分,當(dāng)指標(biāo)i與指標(biāo)j重要性相同時,則標(biāo)度fij=0.5,當(dāng)指標(biāo)i重要性大于指標(biāo)j的重要性時,則標(biāo)度0.5 Table 2 Device-level assignment表2 設(shè)備層級賦值表 Table 3 Assignments for vulnerability risk threat levels表3 漏洞風(fēng)險威脅程度賦值表 Table 4 Assignment for vulnerability risk types表4 漏洞風(fēng)險類型賦值表 表3為漏洞風(fēng)險威脅程度賦值表。對于工業(yè)控制系統(tǒng)而言,攻擊漏洞導(dǎo)致的工控系統(tǒng)可用性降低會造成嚴(yán)重的損失,因此在工業(yè)控制系統(tǒng)中可利用性指標(biāo)的重要性大于嚴(yán)重性和威脅性。其次危害性指標(biāo)的重要性大于嚴(yán)重性指標(biāo)的。 根據(jù)賦值情況,可構(gòu)造模糊判斷矩陣R=(rij)n*n,以設(shè)備層級賦值為例構(gòu)造如(1)所示的模糊矩陣R1,并依據(jù)式(2)轉(zhuǎn)換為模糊一致矩陣RF1,如式(3)所示: (1) (2) (3) 其中ri為對矩陣R按行求和。 為獲取設(shè)備層級要素的相對權(quán)重情況,根據(jù)式(4)對RF1排序: (4) 其中,i=1,2,…,n,參數(shù)α滿足α≥(n-1)/2,且α大小與權(quán)重差異成反比,當(dāng)α最小時評估要素的權(quán)重差異最大。由此可得到設(shè)備層級的權(quán)重分別為W1=(0.417,0.250,0.333),同理風(fēng)險類型、風(fēng)險威脅程度的權(quán)重分別為W2=(0.160,0.175,0.225,0.245,0.195),W3=(0.384,0.316,0.300)。以漏洞CVE-2019-5160為例,該漏洞存在于萬可公司生產(chǎn)的一款PLC(Programmable Logic Controller)中,在其云連接功能中攻擊者借助特制的HTTPS POST請求,利用該漏洞未授權(quán)訪問固件更新功能。該漏洞的風(fēng)險分析要素情況如表 5所示。 Table 5 Vulnerability assessment element details表5 漏洞評估要素詳情 設(shè)備層次要素、風(fēng)險類型要素、風(fēng)險程度描述包含的3項指標(biāo)均以5級程度作為相同基數(shù),其中風(fēng)險程度描述在預(yù)測結(jié)果中已在原基礎(chǔ)上自行分級。最終以3類評估要素與其權(quán)重的乘積和作為該漏洞的最終風(fēng)險評分結(jié)果,取值在[3.05,8.31]。 (1)漏洞風(fēng)險類型判定模型。 對于3.1節(jié)中漏洞有效性判定模型的選取,按照文本操作流程對漏洞描述樣本訓(xùn)練集進(jìn)行規(guī)范化處理,對10種傳統(tǒng)機(jī)器學(xué)習(xí)算法進(jìn)行有效性判別效果對比,在模型學(xué)習(xí)階段利用占比70%的文本訓(xùn)練集對判定模型進(jìn)行過程訓(xùn)練,以此得到適合的分類器參數(shù)。10類機(jī)器學(xué)習(xí)的判別效果如表6所示,表中列出了精度Pr、召回率Re、F1值3個指標(biāo)。從實驗對比結(jié)果可以看出,隨機(jī)森林算法的綜合效果最佳,因此本文選取該算法作為漏洞有效性的判別模型。 Table 6 Discrimination of the validity of different machine learning algorithms表6 不同機(jī)器學(xué)習(xí)算法有效性判別情況 % 通過爬取公開漏洞數(shù)據(jù)庫64 459條英文和13 353條中文漏洞信息,對傳統(tǒng)機(jī)器學(xué)習(xí)算法與深度神經(jīng)網(wǎng)絡(luò)算法進(jìn)行判別效果對比。表7和表8分別展示了不同算法下中英文漏洞類別判別情況。中文漏洞數(shù)據(jù)的屬性分類情況最終可以穩(wěn)定在精度92.1%的程度,效果要優(yōu)于英文漏洞數(shù)據(jù),且從對比實驗可看出,整體效果最優(yōu)的算法為AdaBoostClassifier算法;深度神經(jīng)網(wǎng)絡(luò)雖然也能夠保證較高精度,但從整體運(yùn)算效率和占用運(yùn)算資源的角度考慮,其并不適用于本文針對已知公開漏洞風(fēng)險類型的分析。英文漏洞數(shù)據(jù)的屬性分類情況精度可以達(dá)到86.4%,LeNet5卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)分類效果較其它算法出色,雖然其卷積結(jié)構(gòu)并不復(fù)雜,但應(yīng)對漏洞數(shù)據(jù)的擬合效果與運(yùn)算效率相較于其他深度神經(jīng)網(wǎng)絡(luò)表現(xiàn)最好。 Table 7 Discrimination of vulnerability categories in Chinese表7 中文漏洞類別判別情況 % Table 8 Discrimination of vulnerability categories in English表8 英文漏洞類別判別情況 % (2)漏洞風(fēng)險預(yù)測實驗與分析。 通過爬蟲獲取2020年的公開漏洞數(shù)據(jù),共包含3 200條信息。輸入特征包括漏洞文本描述和描述內(nèi)在特征2部分,分別進(jìn)行工控漏洞嚴(yán)重性、工控漏洞危害性和工控漏洞可利用性3個方面的風(fēng)險程度預(yù)測實驗。在實驗過程中,將在該領(lǐng)域中應(yīng)用廣泛的FastText[11]、TextCNN[20]及基本ERNIE方法作為基線模型,分別與改進(jìn)后的ernieCat模型進(jìn)行對比實驗,從而驗證該模型在應(yīng)用漏洞風(fēng)險預(yù)測方面的優(yōu)越性。 FastText作為一個快速的文本分類模型,在其整體性能與部分基于深度神經(jīng)網(wǎng)絡(luò)的模型性能可以抗衡的同時,訓(xùn)練速度效率突出,采用嵌入向量的形式,得到文本的隱向量表達(dá)。在詞袋模型基礎(chǔ)上加入了N-gram特征,考慮到了上下文之間的內(nèi)在邏輯關(guān)系。 TextCNN在文本分類中應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)CNN來處理相關(guān)任務(wù),其結(jié)構(gòu)簡單,通過一維卷積來獲取文本中的特征表示,對淺層特征的抽取能力很強(qiáng),能更好地捕捉局部相關(guān)性。 通過對比實驗來驗證ernieCat模型在漏洞風(fēng)險程度預(yù)測中的優(yōu)越性,圖4展示了在漏洞嚴(yán)重性預(yù)測中,分別基于原始ernie、FastText、TextCNN和改進(jìn)后的融合ernieCat模型得到的混淆矩陣結(jié)果。在對角線上的數(shù)值為正確預(yù)測的情況,顏色越深表示正確預(yù)測效果越好。從圖4中可以看出,盡管屬性等級分布存在不平衡的情況,ernieCat模型在漏洞風(fēng)險重要性預(yù)測中,發(fā)生誤判的樣本數(shù)量和概率明顯較小,預(yù)測效果要優(yōu)于其他的基線模型。 Figure 4 Confusion matrices of four risk prediction models圖4 4種風(fēng)險預(yù)測模型的混淆矩陣 為了更加直觀地表述實驗對比結(jié)果,表 9分別展示了實驗對比的4組預(yù)測模型在漏洞風(fēng)險程度多角度預(yù)測中的識別精度Pr、召回率Re和F1值。通過表9可以看出,基于ernieCat的風(fēng)險預(yù)測模型的表現(xiàn)均要優(yōu)于其他原始的基線模型??梢钥闯?,在進(jìn)行工控漏洞風(fēng)險程度多角度預(yù)測研究中,本文所提出的ernieCat融合模型預(yù)測效果較好,效果提升明顯。 Table 9 Comparison of evaluation results of risk prediction models表9 風(fēng)險預(yù)測模型評價結(jié)果對比 % 為了推進(jìn)工控系統(tǒng)的安全防護(hù)建設(shè)工作,進(jìn)行漏洞信息全方位分析研究尤為重要。本文首先對漏洞信息風(fēng)險類別進(jìn)行判定,分別選取性能最佳的算法模型對漏洞利用有效性和漏洞風(fēng)險類別進(jìn)行判定,為后續(xù)的漏洞風(fēng)險危害性評估提供了部分要素信息。同時,提出了ernieCat風(fēng)險預(yù)測模型,結(jié)合文本特征與屬性特征,從漏洞的危害性屬性、影響性屬性及可利用性屬性3個方面對漏洞進(jìn)行多角度風(fēng)險預(yù)測。對工控設(shè)備漏洞信息進(jìn)行高效及時的分析,全面準(zhǔn)確地把握工控系統(tǒng)的設(shè)備關(guān)鍵脆弱點信息。最后將獲取到的資產(chǎn)級信息要素與漏洞級風(fēng)險要素相結(jié)合,對設(shè)備漏洞的風(fēng)險危害程度進(jìn)行量化評估,輸出總體危害評分,對漏洞威脅程度進(jìn)行合理描述。通過實驗選取有效性最佳的隨機(jī)森林算法作為漏洞有效性判定模型,AdaBoostClassifier模型作為中文漏洞風(fēng)險類別判定模型,LeNet5卷積神經(jīng)網(wǎng)絡(luò)作為英文漏洞風(fēng)險類別判定模型。分別進(jìn)行工控漏洞嚴(yán)重性、危害性和可利用性3個方面的風(fēng)險程度預(yù)測實驗,本文提出的ernieCat模型在漏洞風(fēng)險程度預(yù)測中,發(fā)生誤判的樣本數(shù)量和概率明顯較小,預(yù)測效果要優(yōu)于其他的基線模型。本文提出的工控系統(tǒng)漏洞多屬性評估方法更能反映工控系統(tǒng)的安全風(fēng)險,對網(wǎng)絡(luò)安全人員進(jìn)行工控系統(tǒng)安全防護(hù)具有指導(dǎo)意義。5 實驗
6 結(jié)束語