劉曉萌,畢紅軍
(北京交通大學通信與信息系統北京市重點實驗室,北京100044)
入侵檢測系統(IDS)是解決拒絕服務攻擊(DoS)的常用方法。如果IDS被部署在每個云服務器中,不進行任何的合作和通信,容易遭受單點故障攻擊,入侵檢測能力和應對能力會減弱。在接收到可疑數據包時與其他所有節點進行通信后處理判斷,又浪費了資源。而入侵檢測系統的誤報,漏報又是不可避免存在的。
為了保護云環境不受到拒絕服務攻擊,本文提出了一種云計算環境中的入侵檢測模型。這個模型中的每個云服務器都有自身的入侵檢測系統配置,負責每個云服務器的入侵檢測和入侵報警,相互協作等功能。還為每一組集群服務器配備一臺專用的入侵檢測管理服務器,以自動和人為相結合的方式對入侵檢測系統進行管理,負責報警信息的相互傳遞,避免單點故障攻擊的發生,減少誤報和漏報的概率。這個模型中的最后一道防線是在每臺云服務器中都使用容忍入侵技術,以減少漏報現象為整個系統的穩定性帶來的影響,盡可能的保證服務的流暢性。
模型主要由每個云服務器的入侵檢測系統和入侵檢測管理服務器組成。云服務器的入侵檢測系統分為3個模塊:檢測與響應模塊,報警模塊和協作模塊。入侵檢測管理服務器分為協作模塊和管理模塊兩部分,它們的相互關系如圖1。在云服務器中,檢測與相應模塊負責對接收到的數據包進行檢測和響應,并通過報警模塊向入侵檢測管理服務器中的協作模塊發送報警信息。而云服務器中的協作模塊與入侵檢測管理服務器的協作模塊進行單向通信,收集其發送的壞包類型表更新包和報警信息,從而協助檢測與相應模塊更好的工作。在入侵檢測服務器中,協作模塊處于自動工作狀態,不需要管理員看管。它負責收集各個模塊的報警信息,進行綜合分析后做出響應。它是聯系分布在每個云服務器中的入侵檢測系統的紐帶,各個云服務器之間的協作依靠它來實現。而管理模塊為管理員提供了整個集群服務器的入侵檢測系統平臺。通過這個模塊,管理員可以與云服務器上的入侵檢測系統進行交互,查看日志等相關數據,根據整個系統運行的狀況對相關參數進行配置,以達到更低的誤報率和漏報率。

圖1 入侵檢測模型模塊關系圖
云服務器中配置的IDS是一種基于網絡的帶有特征比較的IDS。
在入侵檢測系統中,入侵檢測與響應模塊用于收集網絡數據包并對其進行分析。如果數據包的類型與壞包類型表中的一種數據包類型相一致,則系統立刻丟包。這樣可以節省對這個數據包進行特征對比的時間,提高系統性能。
如果包的類型不在壞包類型表中,但是經過特征分析,它屬于特征比較規則定義的一種異常包,就需要判斷這個數據包的可疑度的級別。可疑度共設3種級別,如表1所示。

表1 可疑度級別及響應表
如果這個包的可疑度屬于嚴重級別,系統將這個包定義為壞包并在入侵檢測步驟中立即將它丟棄,并將其類型加入壞包類型表,然后通過報警模塊向入侵檢測管理服務器發出嚴重級別的報警。
如果這個包的可疑度屬于中度級別,系統通過分析為這個數據包的可疑度進行打分,并將分數封裝到報警信息中,向入侵檢測管理服務器發出中度級別的報警。然后在管理員設置的延遲時間t0內,系統等待協作模塊的響應。如果在t0內,協作模塊返回針對該類型數據包的回復報警信息,則將該包的可疑度級別從中度改為嚴重,丟包并更新壞包類型表;若沒有收到回復報警信息,則將其可疑度改為輕微級別。
如果這個包的可疑度屬于輕微級別,系統將忽略它。
該部分的工作流程圖如圖2。

圖2 入侵檢測工作流程圖
入侵檢測管理服務器的協作模塊與各個云服務器中IDS的報警模塊和協作模塊進行通信,實現各個云服務器入侵檢測信息的交互,提高檢測效率。
當入侵檢測管理服務器的協作模塊收到報警信息時,首先判斷報警信息的級別。如果為嚴重級別的報警信息,則生成一個壞包類型表的更新包,向除報警源以外的其他云服務器IDS的協作模塊發送。各IDS通過協作模塊接收到更新包后,立刻更新自己的壞包類型表,避免遭受同樣的攻擊。如果報警信息的級別為中度級別,則開始一個計時周期,在周期t0時間內動態計算收到的來自所有云服務器的相同類型的報警信息中的可疑度分數的平均值,并將平均值與閾值相比較。其中閾值的設定可以基于以下規則:如閾值=μ+λ×σ,μ是指一個時間段內不同的源檢測的中度警報的可疑度分數的平均值,σ是標準差,λ的值由網絡管理員動態的設定。如果平均值大于閾值,則協作模塊向所有發出此類報警的云服務器IDS協作模塊發送回復報警信息,告知它們已遭到攻擊,可以將中度級別改為嚴重級別;同時生成一個壞包類型表的更新包,向其他云服務器發送。通過這種方法,假報警和信息交換造成的通信量降低了,系統的性能被改善。
該部分的工作流程圖如圖3。

圖3 入侵檢測管理服務器協作模塊工作流程圖
這個部分在每個IDS中都有,它可以阻止壞包并防止入侵行為的發生。發送報警信息也是入侵響應的一部分。如果包的可疑度級別是嚴重或中度,阻止或丟棄壞包的行為就會被觸發。
系統不可避免的存在一定的漏報率,而用戶對云計算環境的服務的流暢性要求又很高,因此設置了最后一道防線,即采用容忍入侵技術。在入侵突然發生時,利用容忍入侵技術可以觸發一些防止這些入侵造成系統安全失效的機制,從而仍然能夠對外繼續維護正常運行,提供核心或系統的基本服務,以保證系統的基本功能。
由以上的描述可見,每個IDS的檢測、更新和響應工作以及他們與管理服務器之間的協作基本都是可以自動完成的。為了適應動態變化的網絡環境和不同的服務需求,在入侵檢測管理服務器中設置了管理模塊對整個系統進行管理。
管理員可以通過管理模塊查看所有云服務器中的入侵檢測相關的系統日志和本地的報警接收和發送、更新包發送等日志。通過對這些數據的分析,判斷目前的系統是否符合當前的安全要求。如果與當前的安全要求不符,可以通過修改各個相關參數來控制整個系統的敏感度。通過不斷調整這些參數,管理員可以逐漸使整個系統達到一個平衡,維護系統的穩定運轉。另外,如果惡意的IDS頻繁發送假的報警信息也可以被發現。在系統遭受到無法抵御的嚴重入侵時,管理員還可以通過管理模塊及時發現和處理,避免更大的損失。
本文針對云計算服務器可能遭受到拒絕服務攻擊的問題,提出了一種云計算環境下的入侵檢測和響應模型,并對該模型的工作流程進行了描述。該模型可以利用云計算的優勢,通過各個云服務器之間的相互合作達到檢測和抵御拒絕服務攻擊的目的,最大程度的保證云計算服務的安全性和流暢性,以提升用戶體驗。
[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] . 北京:國防工業出版社,2010.
[4] 虛擬化與云計算小組. 云計算實踐之道:戰略藍圖與技術構架[M] . 北京:電子工業出版社,2011.