劉曉萌,畢紅軍
(北京交通大學通信與信息系統(tǒng)北京市重點實驗室,北京100044)
入侵檢測系統(tǒng)(IDS)是解決拒絕服務攻擊(DoS)的常用方法。如果IDS被部署在每個云服務器中,不進行任何的合作和通信,容易遭受單點故障攻擊,入侵檢測能力和應對能力會減弱。在接收到可疑數(shù)據(jù)包時與其他所有節(jié)點進行通信后處理判斷,又浪費了資源。而入侵檢測系統(tǒng)的誤報,漏報又是不可避免存在的。
為了保護云環(huán)境不受到拒絕服務攻擊,本文提出了一種云計算環(huán)境中的入侵檢測模型。這個模型中的每個云服務器都有自身的入侵檢測系統(tǒng)配置,負責每個云服務器的入侵檢測和入侵報警,相互協(xié)作等功能。還為每一組集群服務器配備一臺專用的入侵檢測管理服務器,以自動和人為相結(jié)合的方式對入侵檢測系統(tǒng)進行管理,負責報警信息的相互傳遞,避免單點故障攻擊的發(fā)生,減少誤報和漏報的概率。這個模型中的最后一道防線是在每臺云服務器中都使用容忍入侵技術(shù),以減少漏報現(xiàn)象為整個系統(tǒng)的穩(wěn)定性帶來的影響,盡可能的保證服務的流暢性。
模型主要由每個云服務器的入侵檢測系統(tǒng)和入侵檢測管理服務器組成。云服務器的入侵檢測系統(tǒng)分為3個模塊:檢測與響應模塊,報警模塊和協(xié)作模塊。入侵檢測管理服務器分為協(xié)作模塊和管理模塊兩部分,它們的相互關系如圖1。在云服務器中,檢測與相應模塊負責對接收到的數(shù)據(jù)包進行檢測和響應,并通過報警模塊向入侵檢測管理服務器中的協(xié)作模塊發(fā)送報警信息。而云服務器中的協(xié)作模塊與入侵檢測管理服務器的協(xié)作模塊進行單向通信,收集其發(fā)送的壞包類型表更新包和報警信息,從而協(xié)助檢測與相應模塊更好的工作。在入侵檢測服務器中,協(xié)作模塊處于自動工作狀態(tài),不需要管理員看管。它負責收集各個模塊的報警信息,進行綜合分析后做出響應。它是聯(lián)系分布在每個云服務器中的入侵檢測系統(tǒng)的紐帶,各個云服務器之間的協(xié)作依靠它來實現(xiàn)。而管理模塊為管理員提供了整個集群服務器的入侵檢測系統(tǒng)平臺。通過這個模塊,管理員可以與云服務器上的入侵檢測系統(tǒng)進行交互,查看日志等相關數(shù)據(jù),根據(jù)整個系統(tǒng)運行的狀況對相關參數(shù)進行配置,以達到更低的誤報率和漏報率。
圖1 入侵檢測模型模塊關系圖
云服務器中配置的IDS是一種基于網(wǎng)絡的帶有特征比較的IDS。
在入侵檢測系統(tǒng)中,入侵檢測與響應模塊用于收集網(wǎng)絡數(shù)據(jù)包并對其進行分析。如果數(shù)據(jù)包的類型與壞包類型表中的一種數(shù)據(jù)包類型相一致,則系統(tǒng)立刻丟包。這樣可以節(jié)省對這個數(shù)據(jù)包進行特征對比的時間,提高系統(tǒng)性能。
如果包的類型不在壞包類型表中,但是經(jīng)過特征分析,它屬于特征比較規(guī)則定義的一種異常包,就需要判斷這個數(shù)據(jù)包的可疑度的級別。可疑度共設3種級別,如表1所示。
表1 可疑度級別及響應表
如果這個包的可疑度屬于嚴重級別,系統(tǒng)將這個包定義為壞包并在入侵檢測步驟中立即將它丟棄,并將其類型加入壞包類型表,然后通過報警模塊向入侵檢測管理服務器發(fā)出嚴重級別的報警。
如果這個包的可疑度屬于中度級別,系統(tǒng)通過分析為這個數(shù)據(jù)包的可疑度進行打分,并將分數(shù)封裝到報警信息中,向入侵檢測管理服務器發(fā)出中度級別的報警。然后在管理員設置的延遲時間t0內(nèi),系統(tǒng)等待協(xié)作模塊的響應。如果在t0內(nèi),協(xié)作模塊返回針對該類型數(shù)據(jù)包的回復報警信息,則將該包的可疑度級別從中度改為嚴重,丟包并更新壞包類型表;若沒有收到回復報警信息,則將其可疑度改為輕微級別。
如果這個包的可疑度屬于輕微級別,系統(tǒng)將忽略它。
該部分的工作流程圖如圖2。
圖2 入侵檢測工作流程圖
入侵檢測管理服務器的協(xié)作模塊與各個云服務器中IDS的報警模塊和協(xié)作模塊進行通信,實現(xiàn)各個云服務器入侵檢測信息的交互,提高檢測效率。
當入侵檢測管理服務器的協(xié)作模塊收到報警信息時,首先判斷報警信息的級別。如果為嚴重級別的報警信息,則生成一個壞包類型表的更新包,向除報警源以外的其他云服務器IDS的協(xié)作模塊發(fā)送。各IDS通過協(xié)作模塊接收到更新包后,立刻更新自己的壞包類型表,避免遭受同樣的攻擊。如果報警信息的級別為中度級別,則開始一個計時周期,在周期t0時間內(nèi)動態(tài)計算收到的來自所有云服務器的相同類型的報警信息中的可疑度分數(shù)的平均值,并將平均值與閾值相比較。其中閾值的設定可以基于以下規(guī)則:如閾值=μ+λ×σ,μ是指一個時間段內(nèi)不同的源檢測的中度警報的可疑度分數(shù)的平均值,σ是標準差,λ的值由網(wǎng)絡管理員動態(tài)的設定。如果平均值大于閾值,則協(xié)作模塊向所有發(fā)出此類報警的云服務器IDS協(xié)作模塊發(fā)送回復報警信息,告知它們已遭到攻擊,可以將中度級別改為嚴重級別;同時生成一個壞包類型表的更新包,向其他云服務器發(fā)送。通過這種方法,假報警和信息交換造成的通信量降低了,系統(tǒng)的性能被改善。
該部分的工作流程圖如圖3。
圖3 入侵檢測管理服務器協(xié)作模塊工作流程圖
這個部分在每個IDS中都有,它可以阻止壞包并防止入侵行為的發(fā)生。發(fā)送報警信息也是入侵響應的一部分。如果包的可疑度級別是嚴重或中度,阻止或丟棄壞包的行為就會被觸發(fā)。
系統(tǒng)不可避免的存在一定的漏報率,而用戶對云計算環(huán)境的服務的流暢性要求又很高,因此設置了最后一道防線,即采用容忍入侵技術(shù)。在入侵突然發(fā)生時,利用容忍入侵技術(shù)可以觸發(fā)一些防止這些入侵造成系統(tǒng)安全失效的機制,從而仍然能夠?qū)ν饫^續(xù)維護正常運行,提供核心或系統(tǒng)的基本服務,以保證系統(tǒng)的基本功能。
由以上的描述可見,每個IDS的檢測、更新和響應工作以及他們與管理服務器之間的協(xié)作基本都是可以自動完成的。為了適應動態(tài)變化的網(wǎng)絡環(huán)境和不同的服務需求,在入侵檢測管理服務器中設置了管理模塊對整個系統(tǒng)進行管理。
管理員可以通過管理模塊查看所有云服務器中的入侵檢測相關的系統(tǒng)日志和本地的報警接收和發(fā)送、更新包發(fā)送等日志。通過對這些數(shù)據(jù)的分析,判斷目前的系統(tǒng)是否符合當前的安全要求。如果與當前的安全要求不符,可以通過修改各個相關參數(shù)來控制整個系統(tǒng)的敏感度。通過不斷調(diào)整這些參數(shù),管理員可以逐漸使整個系統(tǒng)達到一個平衡,維護系統(tǒng)的穩(wěn)定運轉(zhuǎn)。另外,如果惡意的IDS頻繁發(fā)送假的報警信息也可以被發(fā)現(xiàn)。在系統(tǒng)遭受到無法抵御的嚴重入侵時,管理員還可以通過管理模塊及時發(fā)現(xiàn)和處理,避免更大的損失。
本文針對云計算服務器可能遭受到拒絕服務攻擊的問題,提出了一種云計算環(huán)境下的入侵檢測和響應模型,并對該模型的工作流程進行了描述。該模型可以利用云計算的優(yōu)勢,通過各個云服務器之間的相互合作達到檢測和抵御拒絕服務攻擊的目的,最大程度的保證云計算服務的安全性和流暢性,以提升用戶體驗。
[1] Sebastian Roschke, Feng Cheng, Christoph Meinel. Intrusion Detection in the Cloud[C] . Eighth IEEE International Conference on Dependable, 2009, pp. 729-734.
[2] Lo Chichun, Huang Chunchieh, Joy Ku. A Cooperative Intrusion Detection System Framework for Cloud Computing Networ-ks[C] . 39th International conference on parallel processing workshops, 2010, pp. 280-284.
[3] 郭淵博,王超. 容忍入侵方法與應用[M] . 北京:國防工業(yè)出版社,2010.
[4] 虛擬化與云計算小組. 云計算實踐之道:戰(zhàn)略藍圖與技術(shù)構(gòu)架[M] . 北京:電子工業(yè)出版社,2011.