何文河,李陶深,2,黃汝維,2
(1.廣西大學 計算機與電子信息學院,廣西 南寧 530004;2.廣西高校并行與分布式計算技術重點實驗室,廣西 南寧 530004)
云環境下基于改進BP算法的入侵檢測模型
何文河1,李陶深1,2,黃汝維1,2
(1.廣西大學 計算機與電子信息學院,廣西 南寧 530004;2.廣西高校并行與分布式計算技術重點實驗室,廣西 南寧 530004)
隨著云計算技術的發展,商業云資源的使用成本越來越低,惡意用戶可能利用云平臺資源對同駐的虛擬機或者其他云平臺實施入侵攻擊。針對云服務的入侵攻擊主要包括對虛擬機或監視器的攻擊和后門通道攻擊。針對現有云入侵檢測系統僅能檢測已知的攻擊、對不同虛擬網絡模型的兼容性較低、對攻擊的變種的檢測精度較低等問題,在分析KVM網絡模型的基礎上,提出一種云環境下基于改進BP算法的入侵檢測模型(MBPCIDM)。該模型結合了PSO算法的全局尋優能力和BP算法的梯度下降局部搜索等特點,將PSO算法引入到BP的初始權值與閾值的優化,融入了動量項與自適應學習速率方法,使得BP網絡更快收斂,且有效避免了算法陷入局部最優。實驗結果表明,所提出的模型平均檢出率較高,能為云環境提供入侵檢測服務。
云安全;入侵檢測;內核虛擬機;反向傳播神經網絡;粒子群優化算法
隨著云資源的租金越來越低,惡意用戶可以用較少的費用來租用虛擬硬件資源對同駐的虛擬機或者其他云平臺實施入侵攻擊,這對云平臺的其他合法用戶造成安全威脅。當前,云系統所面臨的入侵攻擊主要包括內部攻擊、洪泛攻擊、U2R攻擊、端口掃描、對虛擬機或監視器的攻擊和后門通道攻擊等[1]。目前,多數已有的云計算環境下的入侵檢測系統僅能檢測已知的攻擊,對已知攻擊的變種的檢測精度較低,難以兼容于KVM(Kernel-based Virtual Machine,基于內核的虛擬機)環境下的不同網絡模型。當前云計算環境中尚缺少一種實時高效的入侵檢測模型。
當前云環境中主流的網絡安全技術主要包括加密、防火墻、入侵檢測系統等[1]。文獻[2]提出了一種新的虛擬化自檢系統,以保護KVM環境下的虛擬機不受惡意攻擊,但是此系統受限于所建立的規則,并且它的誤檢率和漏檢率較高。文獻[3]提出了一種為入侵檢測系統建立一個高效模型從而獲取最優特征數量的方法,該方法能降低檢測攻擊所需的計算機資源(存儲和CPU時間),但是實時性和效率較低。為了在云端處理大量的網絡訪問流并管理控制數據與應用,文獻[4]提出了一種新的多線程分布式云入侵檢測模型,通過將知識與行為分析整合到入侵檢測中,實現對大量數據流進行處理,分析并生成報告,但是模型實現較復雜,檢測效率較低。文獻[5]在開源云—Eucalyptus上部署了基于Snort[6]的誤用檢測器,提出了一種快速且高效的方案,僅能檢測已知攻擊。文獻[7]將入侵檢測功能作為云平臺的一種服務,以服務的形式給每個云用戶配置一個Snort組件,只能檢測網絡層上的已知攻擊。
當前多數研究所提出的入侵檢測系統與虛擬化環境的網絡模式的兼容性較低;多數系統僅能檢測已知攻擊,對未知攻擊的檢測率較低;多數研究僅涉及入侵檢測,對于相應的防御模塊未加討論。
針對上述問題,文中在分析KVM網絡模型的基礎上,結合基于PSO的帶動量因子與自適應速率的BP算法(MLPSO-BP),提出了一種云環境下基于改進BP神經網絡的入侵檢測模型(MBPCIDM),可以為云環境提供入侵檢測服務。
2.1 基于軟計算方法的入侵檢測
軟計算方法是入侵檢測的常用方法,主要包括BP算法、PSO算法。
(1)BP算法的改進。
BP網絡對初始的權值很敏感,若設置不當會引起震蕩影響與慢收斂速度,文獻[8]將PSO用于優化BP的初始權值與閾值,用該算法構造出的入侵檢測系統具有較高檢測率。文中使用PSO來搜尋BP網絡的最優初始權值與閾值。
(2)PSO算法。
PSO算法計算簡單、魯棒性較好,它在多維連續空間、神經網絡訓練、組合優化等優化問題上具有較好的性能[9]。基本的粒子群算法的位置與速度的更新公式如式(1)和式(2)所示:
vi(t+1)=ω(t)vi(t)+c1r1(pBesti(t)-xi(t))+ c2r2(gBest(t)-xi(t))
(1)
xi(t+1)=xi(t)+vi(t+1)
(2)
其中,v為速度項;x為位置項;i為當前粒子編號;t為當前迭代次數;c1、c2為學習因子;r1、r2為分布在[0,1]內的隨機數;pBest為單個粒子本身找到個體極值;gBest為整個粒子群當前找到的全局極值。
(3)動量因子與自適應速率。
由文獻[10]的分析可知,動量因子算法能夠加快收斂速度,自適應速率算法能夠避免陷入局部極小,兩者從不同的方面解決了BP網絡算法的不足。文中將其應用于BP網絡中,以提高系統性能。
2.2 基于改進BP算法的入侵檢測算法
2.2.1 算法設計思想
當前多數研究所提出的入侵檢測系統僅能檢測已知攻擊,對已知攻擊的變種的檢測率較低;多數研究僅涉及入侵檢測模塊,而對于云環境下的相應防御模塊未加討論。
針對上述問題,文中設計了一個云環境下的入侵檢測算法(MLPSO-BP),此算法采用了基于PSO的帶動量因子與自適應速率的BP算法。
2.2.2 MLPSO-BP算法設計
MLPSO-BP算法描述如下:
步驟1:初始化BP神經網絡的初始參數,設置各層的節點數等等。
步驟2:初始化MPSO參數,計算粒子的維度,初始化集群并生成粒子的參數,如初始位置和速度等。
步驟3:依據式(3)計算各個粒子的適應度值,與當前最好的適應度值pBest進行比較,若該值更好,則更新pBest,否則保持pBest;比較pBest與全局最優值gBest,若該值更好,用pBest更新gBest,否則保持gBest。
(3)

步驟4:更新慣性權重,再依據式(1)和式(2)調整粒子的位置與速度。
步驟5:若當前迭代達到最大次數或者誤差已經在給定的范圍中則結束迭代過程,則當前的全局極值gBest視為BP神經網絡的初始權值與閾值,尋優過程結束,轉步驟5;否則,轉步驟3。
步驟6:基于所得的初始權值與閾值和動量因子與自適應速率對BP網絡進行訓練與測試,據此建立入侵檢測模型。
2.3 基于改進BP的入侵檢測模型
為了使所設計算法兼容于KVM的不同網絡模型,文中在結合已有研究的基礎上,提出了一種新的云環境入侵檢測模型。
2.3.1 KVM網絡模型研究
KVM提供了兩種基本的網絡連接模式[11-12]:即Ethernet-Tap模式和用戶模式。文獻[13]基于NAT技術和網橋技術設計了一種新的網絡連接模式:NAT+網橋模式。
(1)用戶模式。
在用戶模式下,用戶發出的數據包由QEMU進程完成。利用所截獲的客戶發送或接收的數據包,無法識別攻擊者的位置,因為這些數據包的源地址就是主機地址。此時,無法直接利用所提出的方法來進行入侵檢測,需要通過動態遷移技術將發包系統調用超過特定次數的可疑虛擬機的用戶模式改為獨立的NAT+網橋模式,依據MLPSO-BP算法,檢測可疑虛擬機以判斷入侵者的虛擬機。用戶模式的網絡結構見圖1。

圖1 用戶模式網絡結構
(2)NAT+網橋模式。
在NAT+網橋網絡模式下,可以根據數據包的路徑來確定數據包的發出者。通過主機端相同的令牌,可以利用Tap設備來截獲相應客戶發送或接收的數據包,然后依據MLPSO-BP算法來進行入侵檢測。NAT+網橋模式如圖2所示。

圖2 NAT+網橋模式網絡結構
2.3.2 MBPCIDM模型研究
為了將MLPSO-BP算法應用于云環境,此檢測算法應當兼容于不同虛擬化網絡模型。文中結合KVM下的NAT+網橋模式網絡結構,將所提出的MLPSO-BP算法應用于云入侵檢測模型MBPCIDM中,見圖3。

圖3 MBPCIDM模型
模型中包含的模塊介紹如下:
(1)數據捕獲模塊:依據虛擬化環境的網絡模式(Ethernet-Tap模式/用戶模式/NAT+網橋模式)設置數據捕獲方式,將所捕獲數據提交給數據包解析模塊。
(2)數據包解析模塊:依據網絡協議對所捕獲的數據包進行解析,將解析結果提交給特征提取模塊。
(3)特征提取模塊:根據入侵檢測系統所需的檢測特征,從數據中提取出特定特征,將編碼后的數據提交給神經網絡檢測引擎。
(4)神經網絡檢測引擎:依據改進的BP神經網絡所構建的檢測引擎,判斷數據是否是入侵數據,將檢測結果提交給入侵響應模塊。
(5)入侵響應模塊:根據檢測結果,對可疑的惡意虛擬機進行相應的管理操作,如遷移、掛起、關閉和撤銷等。
3.1 實驗數據與指標
實驗中所采用的入侵檢測數據集是KDD Cup 99[14],此數據集是較常用的入侵檢測算法訓練與測試數據。文中選取了其中12個特征作為輸入樣本,從數據集中挑出了1 322個記錄,其中的611個樣本用于檢測算法的訓練,其余樣本用于測試。為了檢驗所提算法的性能,將實驗結果與PSO-BP算法、BP算法的實驗結果進行對比。實驗涉及的指標有:檢測率、誤檢率和檢測率。其中:
檢測率=被正確檢測的樣本數/總樣本數
漏檢率=誤檢的入侵樣本數/總樣本數
誤檢率=被誤檢的正常數據數/總樣本數
3.2 實驗分析
為了分析系統性能,文中進行了10次實驗,結果如圖4~6所示。
由圖4的檢測率曲線的分布可知,MLPSO-BP算法的檢測率要略高于單純的PSO-BP算法,傳統的BP算法的檢測率低于前面兩者。其原因在于:
(1)動量因子與自適應速率算法在加速BP算法收斂速度與避免陷入局部最小這兩方面所起的作用;
(2)PSO算法在全局尋優方面的優勢。

圖4 檢測率對比
在圖5中,MLPSO-BP算法的誤檢率略低于PSO-BP算法。在圖6中,MLPSO-BP算法的漏檢率略好于PSO-BP算法。由此可知,MLPSO-BP算法與PSO-BP算法在誤檢和漏檢方面各有優勢。

圖5 誤檢率對比

圖6 漏檢率對比
綜上所述,文中所提出的算法的整體檢測性能較高,可以為云計算虛擬化環境提供入侵檢測服務。
文中首先分析了KVM的網絡結構,在此基礎上結合粒子群優化算法和動量項與自適應學習速率算法,對傳統BP算法進行了改進,提出了MLPSO-BP算法。
實驗結果表明,文中所提算法的檢測率較高。將此算法應用于虛擬化環境下的入侵檢測系統中,構建了一個云環境下基于改進BP算法的入侵檢測模型-MBPCIDM模型。此模型兼容了虛擬化環境的不同網絡模式,能夠為云環境提供入侵檢測服務。
在未來的研究中,需提高系統的實時性檢測能力,并結合其他軟計算方法,構建具有較高實用性系統。
[1] Modi C,Patel D,Borisaniya B,et al.A survey of intrusion detection techniques in cloud[J].Journal of Network and Computer Applications,2013,36(1):42-57.
[2] Lee S W,Yu F.Securing KVM-based cloud systems via virtualization introspection[C]//Proc of 47th Hawaii international conference on system sciences.Hawaii:IEEE,2014:5028-5037.
[3] Mahmood Z,Agrawal C,Hasan S S,et al.Intrusion detection in cloud computing environment using neural network[J].International Journal of Research in Computer Engineering & Electronics,2012,1(1):19-22.
[4] Shelke M P K,Sontakke M S,Gawande A D.Intrusion detection system for cloud computing[J].International Journal of Scientific & Technology Research,2012,1(4):67-71.
[5] Mazzariello C,Bifulco R,Canonico R.Integrating a network ids into an open source cloud computing environment[C]//Proc of sixth international conference on information assurance and security.Atlanta,GA:IEEE,2010:265-270.
[6] Roesch M.Snort homepage[EB/OL].(1998-08-16)[1998-10-04].http://www.snort.org/.
[7] Hamad H,Al-Hoby M.Managing intrusion detection as a service in cloud networks[J].International Journal of Computer Applications,2012,41(1):35-40.
[8] Yi X,Wu P,Dai D,et al.Intrusion detection using BP optimized by PSO[J].International Journal of Advancements in Computing Technology,2012,4(2):268-274.
[9] Pant M,Thangaraj R,Abraham A.Particle swarm optimization using adaptive mutation[C]//Proc of 19th international workshop on database and expert systems application.Turin:IEEE,2008:519-523.
[10] 馬 銳.人工神經網絡原理[M].北京:機械工業出版社,2010:74-76.
[11] Zhuang Wei,Guo Xiaolin,Huang Ruiwei,et al.TCP DDOS attack detection on the host in the KVM virtual machine environment[C]//Proc of IEEE/ACIS 11th international conference on computer and information science.Shanghai:IEEE,2012:62-67.
[12] Zeng S,Hao Q.Network I/O path analysis in the kernel-based virtual machine environment through tracing[C]//Proc of 1st international conference on information science and engineering.[s.l.]:IEEE,2009:2658-2661.
[13] Miao Q G,Ruo H L,Zhang X G,et al.Developing a virtual network environment for analyzing malicious network behavior[C]//Proc of international conference on educational and network technology.[s.l.]:IEEE,2010:271-275.
[14] Lippmann R P,Fried D J,Graf I,et al.Evaluating intrusion detection systems:the 1998 DARPA off-line intrusion detection evaluation[C]//Proc of DISCEX'00.[s.l.]:IEEE,2000:12-26.
Intrusion Detection Model Based on Improved BP Algorithm in Cloud Environment
HE Wen-he1,LI Tao-shen1,2,HUANG Ru-wei1,2
(1.School of Computer,Electronics and Information,Guangxi University,Nanning 530004,China;2.Key Laboratory of Parallel and Distributed Computing Technology of Guangxi Colleges and Universities,Nanning 530004,China)
With the development of cloud computing technology,the cost of commercial cloud resources is lower and lower,a malicious user could use the cloud resources in the same virtual machine or other cloud platform to implement intrusion attack.The intrusion attack for cloud service mainly includes the virtual machine or monitor attack and back channel attack.The existing cloud intrusion detection systems can only detect known attacks,cannot be applied to a virtualized environment that has different network models,and the detection accuracy of variant of attack is lower.Based on the analysis of the KVM network structures,an improved intrusion detection model based on BP algorithm in the cloud environment (MBPCIDM) was proposed.It combines the ability of searching global optimal solution of PSO algorithm and the feature of the gradient descent in local search of BP algorithm.To make the BP network convergence faster and prevent it from falling into local optimum,the momentum and adaptive learning rate method was also used in this paper.The experimental results show that the average detection rate of the proposed model is higher,it can provide intrusion detection services for cloud environments.
cloud security;intrusion detection;KVM;BP neural network;PSO algorithm
2015-03-02
2015-07-06
時間:2016-01-26
國家自然科學基金資助項目(61363067);廣西自然科學基金資助項目(2012GXNSFAA053226)作者簡介:何文河(1989-),男,碩士研究生,研究方向為云安全;李陶深,教授,博導,博士,研究方向為無線Mesh網絡、分布式數據庫、云計算等;黃汝維,副教授,碩導,博士,研究方向為云計算、云安全。
http://www.cnki.net/kcms/detail/61.1450.TP.20160126.1517.004.html
TP391
A
1673-629X(2016)02-0087-04
10.3969/j.issn.1673-629X.2016.02.020