(1.西北大學 信息科學與技術學院, 西安 710127; 2.西安郵電學院 通信工程系, 西安 710121)
摘要:
在網絡安全知識庫系統的基礎上,提出一個基于網絡安全基礎知識庫系統的入侵檢測模型,包括數據過濾、攻擊企圖分析和態勢評估引擎。該模型采用進化型自組織映射發現同源的多目標攻擊;采用時間序列分析法獲取的關聯規則來進行在線的報警事件的關聯,以識別時間上分散的復雜攻擊;最后對主機級和局域網系統級威脅分別給出相應的評估指標以及對應的量化評估方法。相比現有的IDS,該模型的結構更加完整,可利用的知識更為豐富,能夠更容易地發現協同攻擊并有效降低誤報率。
關鍵詞:網絡安全; 知識庫; 入侵檢測模型; 關聯; 威脅評估
中圖分類號:TP393.08文獻標志碼:A
文章編號:10013695(2009)03107903
Intrusion detection framework based on network security knowledge databases
XIAO Yun1, WANG Xuanhong2
(1.School of Information Science Technology, Northwest University, Xi’an 710127, China;2. Dept. of Communicate Engineering, Xi’an Institutes of Post Telecommunications, Xi’an 710121, China )
Abstract:
This paper proposed anew intrusion detection framework based on the existing network security knowledge databases. It included data filtering, attack attempt analyzing and threat evaluation engines. The evolving selforganizing map was used to find attacks with same source and multi targets. Time series analysis method was utilized to obtain correlation rules to correlate intrusion events online, so the complicated attacks with disperse attack times could be checked. Then the threat evaluation indexes and quantitative threat evaluation formulas for evaluating serves, hosts and local area network were given. The framework is more integrated and has more useful knowledge than existing intrusion detection system (IDS) and easier to find coordinated attacks with lower 1 positive rate.
Key words:network security; knowledge datasets; intrusion detection framework; correlation; threat evaluation
0引言
目前,國內外著名安全廠商和研究機構已經建立了一些知名的安全信息數據庫系統,比如CERT組織維護最新的安全公告、CVE建立了一個統一名稱的漏洞數據庫,Snort和ISS均建立了相當豐富的攻擊特征庫,Norton等反病毒廠商也建立了龐大的病毒特征庫。這些安全數據庫基本上都是針對某個方面建立的數據庫,沒有考慮不同安全知識庫之間的信息關聯分析,更沒有考慮基于統一網絡安全知識庫系統的整體安全預防、入侵檢測、系統評估的綜合應用。實際上系統漏洞、入侵攻擊、策略管理之間存在互為因果、相互影響的關系,單純考慮其中一方面因素是很難解決復雜的網絡安全問題。只有將各種網絡安全知識統一、關聯起來,充分利用各個知識庫的信息,才能有效地進行整體安全預防、入侵檢測和系統評估。目前,國內外關于統一網絡安全知識庫系統研究領域基本上還是一片空白。本文在分析現有的入侵檢測系統(intrusion detection system,IDS)的固有問題的基礎上,充分利用筆者所在研究中心構建的統一完整的網絡安全知識庫系統的信息,提出一個基于網絡安全基礎知識庫系統入侵檢測模型,并著重討論了模型中推理決策框架和關鍵技術。
1網絡安全知識庫系統
目前已構建的網絡安全知識庫系統包括以下幾個知識庫:
a)攻擊特征庫(policy)。該庫收集了現有的各種攻擊特征,主要包括攻擊名稱、攻擊類型、協議、攻擊特征、攻擊描述、嚴重程度、對應的漏洞等信息。
b)漏洞庫(bug_list)。該庫收集了現有的各種漏洞,主要包括漏洞名稱、漏洞描述、漏洞優先級、漏洞的破壞方法、漏洞的修補方法以及所影響的操作系統、對應特征等信息。
c)案例庫(instance)。該庫中的數據是描述對應于攻擊特征庫中某個攻擊的具體實例,包括該攻擊實例所屬模式、源IP、目的IP、源端口、目的端口、攻擊特征、發生的時間、所屬的攻擊模式的階段等信息。
d)模式庫(pattern)。該庫包括兩個部分:(a)行為習慣表(schemaDB),表中的數據用于描述黑客的攻擊一般行為模式,包括模式名稱、階段1的類型、階段2的類型、……、階段n的類型以及模式描述等信息。(b)階段攻擊特征表(attackSignature),用于描述對應于模式的某個階段的攻擊特征,主要包括攻擊特征名稱、所屬階段名稱、特征描述、所用的攻擊工具、所影響的操作系統、攻擊發生的條件、攻擊的目的、攻擊的危害程度、所屬的模式的名稱等信息。
e)攻擊代碼及工具庫(attack_code_tool)。該庫收集了目前典型的攻擊代碼和攻擊工具。
f)安全管理策略庫(manage_policy)。該庫包括安全防御和聯動響應策略。安全防御策略包括漏洞名稱、漏洞嚴重性等級、最佳補丁安裝時間、主機和漏洞對應信息、漏洞和已有補丁對應信息等。聯動響應策略包括攻擊(攻擊主機和受害主機的IP地址、端口、協議等)、響應名稱以及防火墻規則等信息。
g)關聯規則庫(corr_rule)。該庫包含的關聯規則是指在報警數據、漏洞等信息載體中,存在于項目集合或對象集合之間的頻繁模式、關聯、相關性或因果結構。各個安全知識庫之間互為因果,互相影響,其關系如圖1所示。圖1中各個安全知識庫之間的關系解釋如下:
(a)抽象。對攻擊案例庫中的案例進行抽象就是模式庫中的模式。
(b)實例化。模式庫中模式的具體形式就是案例庫中的案例。
(c)利用。案例庫中的案例是利用漏洞庫中的某個漏洞發起的。
(d)原因。漏洞庫中的漏洞是產生案例庫中攻擊案例的根本原因。
(e)實現。執行攻擊代碼或攻擊工具可為案例庫添加攻擊案例。
(f)對象。主機中的漏洞是安全管理所要處理的對象。
(g)對應1。攻擊特征庫中的攻擊特征與漏洞庫中的漏洞相對應。漏洞會導致一些攻擊的發生,一個漏洞對應多個攻擊特征;而某一種攻擊的產生是由于系統中存在的某些漏洞而引起的,一個攻擊特征也對應多個漏洞。
(h)對應2。攻擊代碼及工具庫中的攻擊代碼或攻擊工具和攻擊特征庫中的攻擊特征相對應。攻擊代碼或攻擊工具會導致一些攻擊的發生,從而對應一些攻擊特征。
(i)對應3。攻擊特征庫中的某個攻擊與案例庫的某個案例相對應。
(j)依據1。安全管理策略庫中的信息可以作為獲取關聯規則的一個依據。
(k)依據2。關聯規則庫中的規則可由案例庫中的幾個瑣碎案例獲得。
2基于網絡安全知識庫系統的入侵檢測模型
2.1入侵檢測系統研究現狀及固有問題的分析
一個理論上完整的IDS在體系結構上至少要包含以下四個部分[1]:
a)傳感器(sensors)。它負責攻擊信息的采集、檢測和生成可疑事件報告。
b)分析引擎(analysis engine)。它負責對傳感器上報的可疑事件報告作分析和處理,給出合適的響應決策。
c)數據庫(database)。該庫作為IDS可疑事件報告的歷史緩沖池,為IDS系統決策服務。
d)響應中心(response center)。該中心根據分析引擎的結果作出合適的響應。
現有的IDS研究集中在高精度的sensor的研究上,也取得了很大的進展[2]。但是目前IDS仍存在以下一些難題:
a)高誤報率和大量冗余信息。高誤報率是IDS最大的難題,是IDS實用化的瓶頸。據統計最高時可達99%以上的誤報警或無關報警[2]。
b)難以發現多個目標的空間上分散的同源攻擊。現有的IDS中的各個sensor各自負責某個局部,無法從全局的角度發現分散的同源攻擊。
c)難以檢測時間上分散的分步驟復雜攻擊。現有的sensor僅僅分析一次會話或一次入侵,歷史狀態信息和攻擊的上下文信息沒有保存,無法發現協作的攻擊企圖。
縱觀以上問題,本文認為現有的IDS的研究對其體系結構的完整性重視不夠,沒有充分利用網絡安全知識信息,而是試圖通過高精度的sensor來發現攻擊,必然不能徹底解決IDS的固有問題。因此應該考慮充分利用網絡安全知識信息,并利用合理的推理決策框架來解決現有的IDS問題。
2.2基于網絡安全知識庫系統的入侵檢測模型
根據筆者已構建的網絡信息安全知識庫,本文提出一個基于網絡信息安全知識庫的IDS預警框架。其框架如圖2所示。
在圖2中,被保護的網絡中的主機可預先使用安全管理策略庫中的安全管理策略進行配置,在保證其正常工作的前提下盡可能地增加其安全性。攻擊代碼及工具庫中的攻擊代碼和攻擊工具可向網絡中的測試主機發動攻擊,以測試IDS的性能。以下對各層的功能和結構作詳細的說明。
1)智能傳感層
該層主要由三部分組成,即入侵檢測傳感器、安全管理策略庫和攻擊特征庫,其功能是監測網絡中的異常情況,上報可疑的網絡異常事件。安全管理策略庫可提供系統的預設安全策略以及用戶信息,為系統提供有價值的輔助決策信息。攻擊特征庫是sensor檢測的依據。Sensor的輸入有六種,即網絡數據包、用戶輸入特性、用戶命令序列、系統日志信息、系統調用序列和敏感文件訪問信息。網絡數據包是流入網絡的數據包;用戶輸入特性是用戶的擊鍵模式和鍵盤輸入特性,通過建立與賬戶對應的鍵盤輸入模式可以區別合法的用戶和冒用賬戶的行為;用戶命令序列是用戶輸入的指令序列;系統日志信息是操作系統的日志記錄;系統調用序列是應用程序運行時產生的調用序列;文件訪問信息是指系統的password等敏感文件的訪問信息。Sensor采用的技術有兩種,即模式匹配和統計建模分析。網絡數據包分析模塊采用基于攻擊簽名的模式匹配技術,其余均采用統計建模分析的方法來發現系統中的異常。Sensor的輸出可分為準確的攻擊報告和模糊的異常報告。
2)數據過濾層
該層的功能是對各傳感器上報的可疑事件利用安全管理策略庫以及漏洞庫中的信息進行過濾、關聯,即首先是將sensor上報的原始數據統一到同一個框架下的同一格式;然后對數據進行濾波、標定和變換,剔除明顯錯誤的野值,如一個無效的時間戳;隨后按照事件種類、源IP、時間等對各條報警進行關聯,這樣就可以發現同源的多目標攻擊;最后將濾波后的信息上報給攻擊企圖分析與報警層。上報數據的格式為
E=〈事件種類,所用的協議,源IP,源端口,目標IP,目標端口,時間,主機,用戶〉
關聯的方法采用進化型自組織映射(evolving selforganizing maps, ESOM)方法[3]對報警數據進行聚類,以發現同源的多目標攻擊。ESOM方法的步驟如下:
a)選擇學習速率ε(t)的初始值εi,確定迭代的最大次數tmax,生長閾值r。
b)輸入一個新的數據x,如果網絡沒有神經元,轉到d),否則轉到c)。
c)在現有的神經元中,如果與x的距離中最小的都比r小,轉到e),否則轉到c)。
d)在網絡中產生一個新的神經元,其權值WN+1=x。
e)使用式(1)和(2)更新鄰域Ng(t)內神經元的權值W1和連接強度Li:
ΔWi=ε(t)[αi(x)/∑kαk(x)](x-Wi)i∈Ng(t)0iNg(t)(1)
Li(t+1)=βLi(t)+(1-β)αi(x)αg(x)(2)
αi(x)=exp(-‖x-Wi‖2/r2)i∈[1,N](3)
f)學習時間到達最大次數tmax后,指定x所屬的類別為獲勝神經元的標號。
3)攻擊企圖分析層
該層針對的對象是時間上分散的分步驟復雜攻擊。由于本層設置了三個重要的安全知識庫,即案例庫、模式庫和關聯規則庫,可以在此基礎上分析時間上分散的攻擊企圖。本文對案例庫中的經典案例提取出報警時間、報警名稱、源IP、源端口、目的IP、目的端口、協議等信息,從中獲取關聯規則。參考Qin等人[4]提出的時間序列分析的思想,先定義時間間隔T,接著將該時間間隔劃分成N份,利用ESOM將發生在時間段i內的報警事件聚合成事件Ai, 從而產生報警事件集合{A1,…,Ai,…,An},然后引入AR(autoregressive)模型
y(k)=∑Pi=1θiy(k-i)+e0(k)(4)
和ARMA(autoregressive moving average)模型
y(k)=∑Pi=1αiy(k-i)+∑Pi=1βix(k-i)+e1(k)(5)
其中:p表示延遲的長度;αi、βi和θi(1≤i≤p)是參數。最后使用GCT(granger causality test)計算和驗證報警事件的因果關系,即利用公式
g=[(R0-R1)/p]/[R1/(T-2p-1)]~F(p,T-2p-1)(6)
其中:R0=∑Ti=1e20(k);R1=∑Tk=1e21(k);T=N-p;F指Fisher分布)計算新發生的報警事件所對應的時間序列變量y(k)和最近發生的報警事件所對應的時間序列變量x(k)之間的g值。如果g大于F測試中給定的閾值,則認為x和y有GC(granger causality)關系,并且g值越大,兩者的關聯性越大。這些報警事件間的因果關系被作為關聯規則存入關聯規則庫。在線因果關聯時,可將新發生的報警事件與關聯規則庫中的關聯規則進行有效的模式匹配,以識別時間上分散的分步驟攻擊。對于在線關聯的入侵事件,可在典型攻擊案例庫中搜索最佳案例,利用最佳案例預測下一步的入侵活動,給出預警或采取相應的響應措施。
4)態勢評估層
網絡安全態勢評估的含義是當前系統安全狀況的評估和發展趨勢的預報,包括主機級和網絡系統級的安全態勢評估。該層的功能是根據下層上報的攻擊報告,結合安全策略庫和漏洞庫的信息得出當前系統受入侵的嚴重程度分析。本文將受保護網絡內的主機簡單地分為服務器和普通主機。把漏洞的嚴重性分成高、中、低三個級別,即遠程和本地管理員權限對應為高;普通用戶權限、權限提升、讀取受限文件、遠程和本地拒絕服務對應中級;遠程非授權文件存取、口令恢復、欺騙、服務器信息泄露對應低級別。本文對系統所遭受的攻擊分為五類[5]:a)Discovery類,如IP sweep、DNS zone transfer;b)Scan類,主要指端口掃描類;c)Escalation類,主要是指權限提升類攻擊,如口令猜測、buffer overflow等;d)Denialofservice類,如Synflood攻擊、Smurf攻擊等;e)Stealth類,如IP spoofing等。分別定義受保護網絡內主機的重要性因子hi(對應于第i個主機在整個受保護的主機內的重要性的比重),主機漏洞的嚴重性因子vj和每類攻擊所造成的危害因子ak,可分別計算局域網系統威脅TN和主機威脅TH:
TH=∑lakAl+∑mvjVm(7)
其中:k∈(1,2,3,4,5);j∈(1,2);Aj是從當前時刻tnow以前t時間段內的所有攻擊;Vm是從當前時刻tnow以前t時間段內的攻擊所利用的漏洞。
TN=∑ihiTHi(8)
通過式(7)和(8)可以量化計算出歷史t時間段內主機級和局域網系統級的威脅總和,從而對系統的安全態勢作出量化評估。
3結束語
本文分析了IDS的研究現狀,指出了困擾IDS發展的高誤報率和大量冗余信息、難以發現多個目標的空間上分散的同源攻擊以及時間上分散的分步驟復雜攻擊的三個問題,充分利用已構建的統一完整的網絡安全知識庫系統的信息,提出一個基于網絡安全基礎知識庫系統的入侵檢測模型。該模型在現有IDS sensor的基礎上加入了數據過濾、攻擊企圖分析和態勢評估引擎,采用快速有效的ESOM發現同源的多目標攻擊,采用基于ESOM的時間序列分析法獲取的關聯規則來進行在線的報警事件的關聯,以識別時間上分散的復雜攻擊,最后對主機級和局域網系統級分別給出相應的評估指標以及對應的綜合評估方法。
本文所提出的基于網絡安全知識庫的入侵檢測模型各部分的功能已基本實現,并且已經集成到國家“863”高技術研究發展計劃項目集成化網絡安全防衛系統中。下一步的工作為研究更為有效的數據庫信息自動獲取方法,以便進一步豐富各個知識庫,為各部分功能的進一步加強提供強有力的知識支持。
參考文獻:
[1]
STEPHEN N. Network intrusion detection: an analysts handbook [K]. [S.l.]: New Riders Publishing, 1999.
[2]JULISCH K, DACIER M. Mining intrusion detection alarms for actionable knowledge[C]//Proc of the 8th ACM International Conference on Knowledge Discovery and Data Mining. New York: ACM Press, 2002:366375.
[3]DENG Da, KASABOV N. Online pattern analysis by evolving selforganizing maps [J]. Neurocomputing, 2003, 51: 87103.
[4]QIN Xinzhou, LEE W. Statistical causality analysis of INFOSEC alert data[C]//Proc of the 6th International Symposium on Recent Advances in Intrusion Detection. Berlin: Springer, 2003:7393.
[5]李輝,蔡忠閩,韓崇昭,等. 基于信息融合的入侵檢測模型與方法[J].小型微型計算機系統, 2003, 24(9): 16021606.