段佳良,蔡國(guó)明,徐開(kāi)勇
(信息工程大學(xué)網(wǎng)絡(luò)空間安全教研室,鄭州 450001)
近年來(lái),由于互聯(lián)網(wǎng)的快速發(fā)展,大部分電子產(chǎn)品的使用方式出現(xiàn)了巨大改變。數(shù)以?xún)|計(jì)的電子設(shè)備管理并監(jiān)測(cè)著交通系統(tǒng)、工業(yè)系統(tǒng)、電力系統(tǒng)等公共資源,同時(shí)也記錄著各種各樣的隱私數(shù)據(jù),例如個(gè)人健康、線上消費(fèi)、社交等線上業(yè)務(wù),因此,電子設(shè)備的安全性至關(guān)重要,其中智能終端的安全問(wèn)題更是該研究領(lǐng)域一直以來(lái)的熱點(diǎn)方向。
智能終端安全主要分為系統(tǒng)安全、通信安全、組件安全、數(shù)據(jù)安全等[1]。系統(tǒng)安全作為設(shè)備的運(yùn)行環(huán)境基礎(chǔ),影響了整個(gè)智能終端的安全狀況,而現(xiàn)代移動(dòng)終端的操作系統(tǒng)功能愈發(fā)強(qiáng)大,可安裝運(yùn)行第三方軟件并提供數(shù)據(jù)存儲(chǔ)與處理等各種服務(wù),導(dǎo)致操作系統(tǒng)存在漏洞,往往成為惡意軟件的攻擊目標(biāo),面臨巨大的安全威脅[2]。操作系統(tǒng)的安全狀況可以通過(guò)完整性度量技術(shù)進(jìn)行測(cè)量、驗(yàn)證,并實(shí)時(shí)監(jiān)控其運(yùn)行狀態(tài)。完整性度量技術(shù)可以度量?jī)?nèi)核的完整性,評(píng)估內(nèi)核在內(nèi)存中的運(yùn)行狀態(tài)、資源的完整性,有效保護(hù)和增強(qiáng)內(nèi)核和操作系統(tǒng)的安全。
目前關(guān)于完整性度量的研究主要使用基于硬件虛擬化與軟件輔助的方式進(jìn)行度量,兩種都使用了計(jì)算哈希值對(duì)比基準(zhǔn)值的度量方法[3-9]。文獻(xiàn)[7]中介紹并分析了現(xiàn)有針對(duì)動(dòng)態(tài)完整性度量結(jié)構(gòu)的攻擊方法,認(rèn)為現(xiàn)存動(dòng)態(tài)完整性度量結(jié)構(gòu)存在較多問(wèn)題,但沒(méi)有給出實(shí)質(zhì)性的解決方法。文獻(xiàn)[8]中使用了基于ARM(Advanced RISC(Reduced Instruction Set Computing)Machine)虛擬化擴(kuò)展的內(nèi)核動(dòng)態(tài)度量方法,主要使用硬件輔助的方法保護(hù)度量程序的安全,然后度量程序獲取初始值并進(jìn)行度量,該方法需要硬件支持因此具有較大局限性。文獻(xiàn)[9]中提出了動(dòng)態(tài)完整性度量架構(gòu)(Dynamic Integrity Measurement Architecture,DIMA),可以解決其他架構(gòu)難以避免的TOC-TOU(Time Of Check-Time Of Use)問(wèn)題,但其主要度量方法為使用基準(zhǔn)值進(jìn)行度量,特征選取方法較為單一,且可移植性較弱。文獻(xiàn)[10]中采用語(yǔ)義約束描述內(nèi)核動(dòng)態(tài)數(shù)據(jù)的動(dòng)態(tài)完整性,可以有效地對(duì)動(dòng)態(tài)數(shù)據(jù)進(jìn)行可信度量,但語(yǔ)義約束集合需要不斷更新,對(duì)處于互聯(lián)網(wǎng)中實(shí)時(shí)更新的設(shè)備保護(hù)十分有限。由現(xiàn)有研究可以看出,傳統(tǒng)度量方法僅適用哈希值進(jìn)行度量,并且特征選取方法較為單一,導(dǎo)致其保護(hù)能力越來(lái)越有限。
神經(jīng)網(wǎng)絡(luò)以及深度學(xué)習(xí)在圖像、語(yǔ)音、機(jī)器翻譯等領(lǐng)域獲得了突破性的進(jìn)展,產(chǎn)生了大量的研究成果[11]。而關(guān)于內(nèi)核完整性度量方面的研究與應(yīng)用較少,同類(lèi)研究主要為關(guān)于惡意代碼檢測(cè)的研究。文獻(xiàn)[11]提出的基于全連接網(wǎng)絡(luò)的惡意代碼檢測(cè)算法使用了TensorFlow 框架進(jìn)行訓(xùn)練以及惡意代碼片段檢測(cè),可以較為準(zhǔn)確地識(shí)別存在惡意代碼的存儲(chǔ)數(shù)據(jù),但其對(duì)使用環(huán)境的要求較高,需要上層框架支持,在系統(tǒng)內(nèi)核層面無(wú)法實(shí)現(xiàn)。文獻(xiàn)[12]中提出的基于二維二進(jìn)制程序特征的惡意軟件檢測(cè)是基于深度神經(jīng)網(wǎng)絡(luò)的檢測(cè)方法,與傳統(tǒng)檢測(cè)方法相比,檢測(cè)率有較大提升,但其僅只能學(xué)習(xí)已有軟件的二進(jìn)制文件特征,且學(xué)習(xí)時(shí)間較長(zhǎng)。文獻(xiàn)[13]中提出的基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)的惡意代碼檢測(cè)技術(shù)的檢測(cè)率較高,但要基于沙箱環(huán)境對(duì)軟件進(jìn)行檢測(cè),對(duì)系統(tǒng)整體性能影響未知,對(duì)系統(tǒng)內(nèi)核及內(nèi)存數(shù)據(jù)的功能性也沒(méi)有說(shuō)明。文獻(xiàn)[14]中提出了基于行為的惡意代碼檢測(cè),通過(guò)檢測(cè)API 函數(shù)調(diào)用并用CNN 進(jìn)行訓(xùn)練學(xué)習(xí),但在只能檢測(cè)調(diào)用API 函數(shù)的程序,無(wú)法對(duì)系統(tǒng)整體安全進(jìn)行監(jiān)控。
由于在不斷發(fā)展的系統(tǒng)里傳統(tǒng)度量方法的保護(hù)能力較弱,且關(guān)于內(nèi)核完整性度量的機(jī)器學(xué)習(xí)類(lèi)型研究較少,因此為了解決完整性度量系統(tǒng)中內(nèi)存特征選取方法過(guò)于單一、靈活性不足等問(wèn)題,本文提出了一種基于多反向傳播(Back Propagation,BP)神經(jīng)網(wǎng)絡(luò)的內(nèi)存組合特征分類(lèi)方法。BP 神經(jīng)網(wǎng)絡(luò)是目前應(yīng)用廣泛的一種多層前饋神經(jīng)網(wǎng)絡(luò)模型,主要應(yīng)用于數(shù)據(jù)壓縮、模式識(shí)別、函數(shù)逼近等方面[15]。本文首先構(gòu)建位于Linux 系統(tǒng)中的完整性度量系統(tǒng),對(duì)不同安全狀態(tài)下系統(tǒng)的關(guān)鍵不變量等內(nèi)容進(jìn)行數(shù)據(jù)預(yù)處理,提取特征后的數(shù)據(jù)75%用于訓(xùn)練BP 神經(jīng)網(wǎng)絡(luò)模型,15%用于模型驗(yàn)證集,10%用于模型測(cè)試集。經(jīng)實(shí)驗(yàn)數(shù)據(jù)驗(yàn)證,與傳統(tǒng)基于固定基準(zhǔn)值的內(nèi)存特征分類(lèi)算法、單BP 神經(jīng)網(wǎng)絡(luò)及其他神經(jīng)網(wǎng)絡(luò)模型相比,本文提出的基于多BP 神經(jīng)網(wǎng)絡(luò)的內(nèi)存組合特征分類(lèi)算法具有更高的準(zhǔn)確率。
機(jī)器學(xué)習(xí)算法需要大量真實(shí)的數(shù)據(jù)作為學(xué)習(xí)樣本,因此本文利用實(shí)驗(yàn)室條件采集了2 000 條不同安全狀況下的系統(tǒng)內(nèi)存數(shù)據(jù)。由于操作系統(tǒng)內(nèi)存中數(shù)據(jù)對(duì)象眾多,為滿(mǎn)足神經(jīng)網(wǎng)絡(luò)輸入的統(tǒng)一,需要對(duì)內(nèi)存數(shù)據(jù)中需要重點(diǎn)關(guān)注的度量對(duì)象進(jìn)行分析。
通過(guò)對(duì)系統(tǒng)內(nèi)核各類(lèi)資源的觀察,發(fā)現(xiàn)內(nèi)核代碼段、中斷描述符表只有在內(nèi)核策略或控制流發(fā)生改變時(shí)才會(huì)發(fā)生改變;熵池資源為系統(tǒng)隨機(jī)數(shù)生成所需資源,一般數(shù)據(jù)內(nèi)容在一定范圍內(nèi)變化。然后分析了多種rootkit 攻擊行為,發(fā)現(xiàn)內(nèi)核攻擊主要有幾種攻擊方式:例如kbeast 主要是通過(guò)修改系統(tǒng)調(diào)用表來(lái)破壞內(nèi)核完整性,adore-ng 通過(guò)系統(tǒng)攔截破壞或隱藏惡意進(jìn)程,wipemod 將自身從模塊鏈表中移除以實(shí)現(xiàn)惡意模塊隱藏[16]。因此所有內(nèi)存數(shù)據(jù)主要分為兩類(lèi)對(duì)象:靜態(tài)度量對(duì)象與動(dòng)態(tài)度量對(duì)象:靜態(tài)度量對(duì)象在系統(tǒng)加載到內(nèi)存中后基本保持不變,主要指內(nèi)核的代碼段、只讀數(shù)據(jù)段、中斷描述符表、系統(tǒng)調(diào)用表、全局描述符表等。這些靜態(tài)對(duì)象在系統(tǒng)加載完成后,其所在內(nèi)存地址及偏移量都已經(jīng)固定,一旦這部分內(nèi)容遭到破壞,系統(tǒng)預(yù)期行為將會(huì)發(fā)生變化,說(shuō)明系統(tǒng)遭到攻擊。而動(dòng)態(tài)度量對(duì)象主要指在系統(tǒng)運(yùn)行過(guò)程中會(huì)根據(jù)系統(tǒng)運(yùn)行狀況進(jìn)行動(dòng)態(tài)變化的資源對(duì)象,如進(jìn)程、模塊、熵池資源等。
本文要判斷系統(tǒng)內(nèi)核完整性就需要重點(diǎn)關(guān)注內(nèi)存數(shù)據(jù)中上述兩類(lèi)對(duì)象,其中內(nèi)核代碼段、中斷描述符表等內(nèi)容僅需要進(jìn)行靜態(tài)度量即可實(shí)現(xiàn)度量操作,因此本文主要選取只讀數(shù)據(jù)段、系統(tǒng)異常表、系統(tǒng)調(diào)用表、進(jìn)程、模塊和熵池資源作為系統(tǒng)度量對(duì)象。目前關(guān)于內(nèi)存數(shù)據(jù)提取主要是通過(guò)對(duì)整體內(nèi)存進(jìn)行映射保存[17-20],而本文算法僅需提取有效特征值,針對(duì)不同度量對(duì)象進(jìn)行處理,因此本文設(shè)計(jì)了度量對(duì)象提取算法(Measuring Object Extraction Algorithm,MOEA),算法主要通過(guò)獲取內(nèi)核符號(hào)表的內(nèi)存地址,根據(jù)內(nèi)存地址內(nèi)容獲取度量對(duì)象信息并進(jìn)行分析,避免了整塊內(nèi)存進(jìn)行映射保存帶來(lái)的系統(tǒng)性能損失。
提取度量對(duì)象后,將其邏輯地址對(duì)應(yīng)的物理地址與結(jié)構(gòu)定義經(jīng)過(guò)格式化處理后,可得到Ni個(gè)特征值,i為度量對(duì)象類(lèi)別。
本文特征分類(lèi)方法為各類(lèi)特征值綜合判斷系統(tǒng)安全狀況,每個(gè)特征值都會(huì)影響系統(tǒng)安全的最終結(jié)果,屬于神經(jīng)網(wǎng)絡(luò)應(yīng)用中模式識(shí)別的研究范疇。在常用的神經(jīng)網(wǎng)絡(luò)模型中,卷積神經(jīng)網(wǎng)絡(luò)(CNN)主要用于語(yǔ)音識(shí)別與圖像識(shí)別,K最鄰近(K-Nearest Neighbor,KNN)算法主要用于數(shù)據(jù)挖掘中的數(shù)據(jù)分類(lèi)問(wèn)題,生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)主要用于圖像識(shí)別中的數(shù)據(jù)偽造生成。全連接網(wǎng)絡(luò)是最符合本文特征分類(lèi)要求的模式識(shí)別神經(jīng)網(wǎng)絡(luò)模型[15],因此本文選擇BP 神經(jīng)網(wǎng)絡(luò)模型。在內(nèi)存特征分類(lèi)過(guò)程中,特征值的數(shù)量較為龐大,且每類(lèi)特征值之間并不存在強(qiáng)聯(lián)系。為了減少神經(jīng)元數(shù)量,提高訓(xùn)練速度,同時(shí)也為了防止發(fā)生過(guò)擬合現(xiàn)象,因此本文中的模型由兩組BP 神經(jīng)網(wǎng)絡(luò)組成;同時(shí)為了體現(xiàn)本文方案選取模型的突出優(yōu)勢(shì),實(shí)驗(yàn)部分也采用了常見(jiàn)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行同數(shù)據(jù)集的實(shí)驗(yàn)比較,從實(shí)驗(yàn)的角度驗(yàn)證了前文選取多BP 神經(jīng)網(wǎng)絡(luò)模型的優(yōu)勢(shì)。
在本文設(shè)計(jì)中,每個(gè)BP 神經(jīng)網(wǎng)絡(luò)模型都為經(jīng)典三層神經(jīng)網(wǎng)絡(luò),由輸入層、隱含層、輸出層組成,層與層之間采用全連接的方式。模型結(jié)構(gòu)如圖1 所示。
圖1 多BP神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)Fig.1 Structure of multiple BP neural network model
圖1 中,第一組BP 神經(jīng)網(wǎng)絡(luò)由k個(gè)神經(jīng)網(wǎng)絡(luò)組成,每個(gè)神經(jīng)網(wǎng)絡(luò)的輸入層均為上文提取特征值,由ik個(gè)神經(jīng)元組成;輸出層為1 個(gè)神經(jīng)元φk;隱含層由mk個(gè)神經(jīng)元組成,由經(jīng)典算法[21]決定,公式為mk=+1+α,其中α為1~10 的常數(shù),一般根據(jù)實(shí)際效果決定分別表示第k個(gè)神經(jīng)網(wǎng)絡(luò)內(nèi)輸入層到隱含層、隱含層到輸出層的神經(jīng)元之間的權(quán)值集合分別表示第k個(gè)神經(jīng)網(wǎng)絡(luò)內(nèi)輸入層到隱含層、隱含層到輸出層的神經(jīng)元之間的偏置集合。
第二組為1 個(gè)神經(jīng)網(wǎng)絡(luò),其輸入層為第一組神經(jīng)網(wǎng)絡(luò)的k個(gè)輸出節(jié)點(diǎn)組成,隱含層由m個(gè)神經(jīng)元組成,由經(jīng)典算法決定,公式為m=+α,輸出為1 個(gè)神經(jīng)元φ;ωx,ωy分別表示輸入層到隱含層、隱含層到輸出層的神經(jīng)元之間的權(quán)值集合;θx,θy表示輸入層到隱含層、隱含層到輸出層的神經(jīng)元之間的偏置集合。
BP 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練主要分為正向傳播的計(jì)算輸出與反向傳播的修正參數(shù)。在訓(xùn)練開(kāi)始前,初始權(quán)值與偏置都為隨機(jī)生成。
首先對(duì)于算法的描述引入一些參數(shù)的定義:
定義1權(quán)值ω。ω表示每個(gè)神經(jīng)元連接間的權(quán)重。
定義2偏置θ。θ表示每個(gè)神經(jīng)元的偏置。
定義3特征數(shù)量N。N表示特征數(shù)量,對(duì)應(yīng)類(lèi)別i的特征數(shù)量為Ni,N≥Ni。
2.2.1 正向傳播過(guò)程
正向傳播過(guò)程中,通過(guò)公式計(jì)算每個(gè)神經(jīng)網(wǎng)絡(luò)的隱含層與輸出層各神經(jīng)元輸出,其計(jì)算公式如下:
其中f(x)為神經(jīng)網(wǎng)絡(luò)模型中的激活函數(shù)。
在本文算法中,經(jīng)過(guò)前期實(shí)驗(yàn)對(duì)比,在第一組隱含層使用Sigmoid 函數(shù)作為激活函數(shù),收斂速度略快,最后訓(xùn)練及測(cè)試結(jié)果較好。其公式如下:
由于目的是判斷系統(tǒng)安全性,僅存在安全與非安全兩種情況,若某一特征值被認(rèn)為可能為非安全特征,則需要通過(guò)模型放大其特性;若某一特征值被認(rèn)為是安全的,將逐漸降低其對(duì)神經(jīng)網(wǎng)絡(luò)結(jié)果的激勵(lì)效果。同時(shí)為了提高神經(jīng)網(wǎng)絡(luò)的收斂速度,在第一組的輸出層與第二組的隱含層使用ReLU(Rectified Liner Unit)作為激活函數(shù)進(jìn)行處理,其公式如下:
在整個(gè)模型的輸出層,由于需要輸出整個(gè)度量結(jié)果是否安全,即安全概率,結(jié)果一定小于1 且大于0,因此使用將多個(gè)神經(jīng)元的輸出能夠映射到(0,1)區(qū)間內(nèi)的Softmax 作為激活函數(shù),公式如下:
2.2.2 反向傳播過(guò)程
在得到輸出后,使用訓(xùn)練算法來(lái)不斷修改神經(jīng)網(wǎng)絡(luò)的權(quán)值與偏置,使其逼近期望值,而訓(xùn)練算法的選取則會(huì)影響最終效果與訓(xùn)練速度。本文采用小批量隨機(jī)梯度下降算法作為改進(jìn)算法,減少了網(wǎng)絡(luò)訓(xùn)練的迭代次數(shù),提高了網(wǎng)絡(luò)的收斂速度,并且最終訓(xùn)練出來(lái)的模型精度更高。
首先定義損失函數(shù)Cost(x),對(duì)于樣本數(shù)量為N的模型,可得公式如下:
其中yi為第i個(gè)樣本的期望輸出。
然后為了更新神經(jīng)網(wǎng)絡(luò)中的權(quán)值與偏置的參數(shù),需要分別對(duì)損失函數(shù)(4)關(guān)于ω和θ進(jìn)行求導(dǎo)??傻闷珜?dǎo)數(shù)分別為如下:
隨機(jī)梯度下降法(Stochastic Gradient Descent,SGD),批量梯度下降法(Batch Gradient Descent,BGD)分別是使用N=1與N=樣本容量進(jìn)行優(yōu)化。由于本文研究?jī)?nèi)存特征樣本容量較為龐大,使用BGD 與SGD 會(huì)出現(xiàn)收斂速度慢的問(wèn)題,導(dǎo)致訓(xùn)練速度過(guò)于緩慢,因此使用小批量梯度下降法(Mini-Batch Gradient Descent,MBGD)作為訓(xùn)練優(yōu)化算法。每次選取m個(gè)樣本進(jìn)行更新,1 <m<N,可以極大減少收斂所需要的迭代次數(shù),同時(shí)可以使收斂到的結(jié)果更加接近梯度下降的效果[22]。
最后根據(jù)正向傳播與反向傳播過(guò)程,對(duì)神經(jīng)網(wǎng)絡(luò)中各神經(jīng)元的權(quán)值與偏置進(jìn)行修改,訓(xùn)練完成后得到神經(jīng)網(wǎng)絡(luò)模型。使用模型測(cè)試集對(duì)模型進(jìn)行驗(yàn)證,除非驗(yàn)證準(zhǔn)確率達(dá)到要求,否則更新批量樣本數(shù)量并進(jìn)行新一輪訓(xùn)練,直到最終完成訓(xùn)練過(guò)程。訓(xùn)練流程如圖2 所示。
圖2 訓(xùn)練流程Fig.2 Training flowchart
本文算法實(shí)驗(yàn)通過(guò)ubuntu 18.04+CUDA10.0 實(shí)現(xiàn)。所使用的實(shí)驗(yàn)環(huán)境的計(jì)算機(jī)配置如表1 所示。
表1 計(jì)算機(jī)配置信息Tab.1 Computer configuration information
數(shù)據(jù)集使用實(shí)驗(yàn)室的完整性度量原型系統(tǒng)采集的2 000條系統(tǒng)內(nèi)存數(shù)據(jù),將內(nèi)存數(shù)據(jù)通過(guò)MOEA 進(jìn)行提取,共分為6個(gè)類(lèi)別的度量對(duì)象,數(shù)據(jù)集相關(guān)數(shù)據(jù)如表2 所示。
表2 數(shù)據(jù)集相關(guān)數(shù)據(jù)Tab.2 Related data of dataset
實(shí)驗(yàn)中數(shù)據(jù)集由1 500 條訓(xùn)練數(shù)據(jù)、300 條驗(yàn)證數(shù)據(jù)和200 條測(cè)試數(shù)據(jù)組成。訓(xùn)練數(shù)據(jù)集主要用于訓(xùn)練模型以及確定模型權(quán)重,驗(yàn)證數(shù)據(jù)集用于確定網(wǎng)絡(luò)過(guò)結(jié)構(gòu)以及調(diào)整模型的超參數(shù),測(cè)試集主要用于檢驗(yàn)?zāi)P偷姆夯芰?。本文神?jīng)網(wǎng)絡(luò)模型通過(guò)訓(xùn)練后,得到結(jié)果如表3 所示。
表3 訓(xùn)練完成的本文神經(jīng)網(wǎng)絡(luò)模型的數(shù)據(jù)結(jié)果Tab.3 Data results of the proposed neural network model after training
為驗(yàn)證本文所提算法的可行性與優(yōu)越性,本文對(duì)性能進(jìn)行了進(jìn)一步分析,并用相同數(shù)據(jù)集使用不同神經(jīng)網(wǎng)絡(luò)進(jìn)行比較,結(jié)果如表4 所示。實(shí)驗(yàn)分別使用了基于基準(zhǔn)值的完整性度量、一維CNN、K近鄰,以BGD 為訓(xùn)練算法的傳統(tǒng)單BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行對(duì)照實(shí)驗(yàn)。
表4 內(nèi)存特征提取模型方法的對(duì)比Tab.4 Comparison of memory feature extraction models and methods
其中,基于基準(zhǔn)值的完整性度量使用每次系統(tǒng)啟動(dòng)時(shí)的內(nèi)存特征作為基準(zhǔn)值,不需要進(jìn)行模型訓(xùn)練,具有較大局限性,因此總準(zhǔn)確率較低;CNN 與KNN 訓(xùn)練迭代次數(shù)均為提前確定,因此訓(xùn)練時(shí)間比較暫無(wú)意義;單BP 除網(wǎng)絡(luò)結(jié)構(gòu)不同,其余均使用本文相同參數(shù)。由表4 可知,除了基于基準(zhǔn)值的方法外,不同的分類(lèi)方法準(zhǔn)確率均能達(dá)到90%以上,而B(niǎo)P 神經(jīng)網(wǎng)絡(luò)能達(dá)到95%以上。但在相同參數(shù)情況下,使用了多BP 結(jié)構(gòu)與小批量梯度下降算法的本文模型方法具有準(zhǔn)確率更高、訓(xùn)練迭代次數(shù)更少的優(yōu)勢(shì);而在分類(lèi)所用時(shí)間上,BP神經(jīng)網(wǎng)絡(luò)分類(lèi)速度均高于CNN 與KNN 算法。而單BP 與本文算法分類(lèi)時(shí)間較為接近,其影響因素主要在多BP 之間的數(shù)據(jù)傳輸上,若除去數(shù)據(jù)傳輸對(duì)分類(lèi)的影響,分類(lèi)所用時(shí)間將會(huì)更短。綜上所述,本文算法基于多BP 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)提高了特征分類(lèi)的準(zhǔn)確率與分類(lèi)速度,優(yōu)于其他幾種算法。
本文提出了一種基于多BP 神經(jīng)網(wǎng)絡(luò)的內(nèi)存特征分類(lèi)方法,通過(guò)完整性度量系統(tǒng)獲得內(nèi)存數(shù)據(jù),并對(duì)采集的數(shù)據(jù)進(jìn)行特征值提取,經(jīng)過(guò)多個(gè)BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,使得該算法可以較為準(zhǔn)確地將系統(tǒng)安全狀況進(jìn)行分類(lèi),給出系統(tǒng)安全狀況評(píng)分。實(shí)驗(yàn)結(jié)果表明,本文所提算法與其他幾種算法相比,準(zhǔn)確性與效率有明顯提高,并且具有普適性,可以移植其他平臺(tái)上使用。但本文算法也有一定局限性:由于訓(xùn)練與測(cè)試數(shù)據(jù)集均為已有攻擊樣例攻擊系統(tǒng)得到的數(shù)據(jù),在應(yīng)對(duì)未知攻擊時(shí)還沒(méi)有數(shù)據(jù)進(jìn)行訓(xùn)練與測(cè)試,所以該系統(tǒng)需要到實(shí)際應(yīng)用場(chǎng)景進(jìn)行進(jìn)一步訓(xùn)練與驗(yàn)證。