王 珂
網絡安全事件關聯分析系統(tǒng)設計
——基于布隆過濾器的
王 珂
(鄭州旅游職業(yè)學院, 鄭州450000)
隨著Internet技術的飛速發(fā)展,網絡結構越來越復雜,網絡入侵技術也日趨多樣化、隱蔽化,使得識別入侵者的意圖日趨困難。因此,入侵檢測系統(tǒng)(IDS)等安全產品得到了廣泛的應用,但是,現有的IDS并沒有達到人們期望的效果,為了解決IDS告警數據誤報和漏報的問題,并了解決在關聯過程中的大量數據查詢的問題;引入了布隆過濾器(Bloom Filter),對其進行了深入分析并提出了布隆過濾器的改進算法,通過布隆過濾器將IDS與深度包檢測技術關聯的方法有效的降低了告警數據的誤報率,為后續(xù)的關聯分析提供了可靠的數據。
關聯分析; 入侵檢測系統(tǒng); 網絡安全; 布隆過濾器
近年來,網絡結構越來越復雜化,網絡規(guī)模也日益增大,因此,網絡安全事件對計算機系統(tǒng)和網絡的安全造成的危害也隨之增加[1]?,F有的關聯分析技術雖然不完全去除誤報、漏報和告警重復等問題,但它仍然可以有效的對付網絡安全事件,是解決網絡入侵問題最有效的辦法之一[2]。因此,對關聯分析技術進行分析研究,使用提高報警的準確性是非常有意義的。
1.1 告警聚合方法
聚合算法是現有網絡安全事件關聯分析算法的主要算法之一,在網絡安全事件關聯分析方面有的很重要的位置[3]。告警相似度閾值的確定是告警聚合方法的關鍵,當兩條告警的相似度大于這個閾值時,就可以將這兩條告警聚合為一個超告警,因此,為了能夠得到一個合理的閾值,一般要通過實驗訓練的方法來獲得這個閾值[4]。
1.2 因果關系關聯方法
通過對大量入侵案例的分析可以發(fā)現,入侵一般分為收集目標系統(tǒng)信息、提升權限、入侵和放置后門程序以及入侵后的現場處理4個階段[5]。
綜上所述,入侵攻擊的每一步必然不是孤立的,一個完整的攻擊步驟一定存在著因果關聯關系。因此,通過攻擊告警間的前因后果關系,可以進行告警數據的關聯分析。
1.3 交叉關聯方法
交叉關聯方法是由O. Dain和R. Cunningham等人在2001時提出。它的主要原理是利用告警信息與網絡環(huán)境中的所有主機的漏洞掃描結果、網絡拓撲結構、網絡中所有的資產信息和安全策略等相結合,從而進行關聯分析并分析告警的成功率和受到的影響程度,通過這一系列的操作來達到區(qū)分真實威脅,并最終去除誤報的目的[6]。
2.1 布隆過濾器概述
布隆過濾器(Bloom Filter)主要用于檢測一個元素是否在一個集合中,要了解布隆過濾器就必須先介紹一下哈希表[7]。當進行數據的處理時,最關心的就是選取何種表示方式和查找方法。而這兩個問題又是緊密聯系的。因為采用什么樣的查詢方法,直接取決于數據選用什么要的表示方式,即存儲方式。在所有存儲的方法內,哈希表是較為高效的一種方式,他擁有其他的存儲方式所沒有的高效的平均查找性能。尤其是在分布式的系統(tǒng)中,由于海量的、分布式數據的存在,最主要的問題就是快速地對這些數據進行查詢,而哈希表就可以高效、實時的完成這一任務。實現哈希表的主要方法是利用一個大容量的數據,將元素存放在該數組中。需要設定一個函數,使得每一個函數值都與一個元素的關鍵字一一對應,從而將這個元素存放在這個數組單元中,這個函數就叫哈希函數[8]。但是,并不是所有的關鍵字和函數值都是一一對應的,極有可能會發(fā)生一個函數值與多個不同的元素相對應的現象,這樣就會產生了重復,引起沖突,換句話說,就是把不同的元素劃分到同一個類中了。
由于哈希表的結構組織方式的特點,使得用其查找元素的過程比用其他數據結構更為有效,即占用時間復雜度相對較小。哈希表最大的優(yōu)點就是查找速度快且查找定位準確,只需要在線性復雜時間度內就可以準確查找到所要的元素。但是缺點也相對較為明顯,當有大量數據存入哈希表中時,hash set存儲效率比較低的問題就很容易呈現出來。為了使得在盡量保持哈希表的性能前提條件下,還能占用較少的空間,需要找出一種新方法,而概率隨機化算法便是一種相對符合的這一要求的方法。在概率隨機化算法中有一種叫Bloom Filter的方法,如果想達到空間占用較少的要求,相對有效的方法就是隨機化哈希函數中的映射函數。簡單的說,就是將每個輸入的數據利用一定的算法轉換為若干個數并對應到位串中相應的位置上,如圖1所示。
圖1 Bloom Filter示意圖
將輸入的數據信息通過若干個哈希函數進行計算轉換,得出轉換后的數據,并根據轉換后的數據找到其對應的位數組中的位置,并將其對應的位置中的數值設為1,從而將該數據信息存放。按照上述過程,就可以建立起來一個簡單但又高效的布隆過濾器(Bloom Filter)了。通過對布隆過濾器的簡單描述,可以知道布隆過濾器是一個高效的用于查找的數據結構,但其存在著幾個明顯的缺點,如可能存在一個未在集合中的數據被誤認為在集合中,對集合中的數據進行增加和刪除操作時很難實現。
2.2 布隆過濾器的性能分析
運用布隆過濾器會有一定的誤報產生,在擁有一定的空間效率和查詢速度的同時,查找的準確性就做出了一定的犧牲,為了在兩者之間能夠得出最佳方案,將對布隆過濾器的性能進行深入的分析。
表1 布隆過濾器變量表
2.2.1 Bloom Filter的誤判率
由此,可以計算得出某一元素的誤判率為Perr=pd。
2.2.2 最優(yōu)的哈希函數的個數
布隆過濾器是利用多個哈希函數將一個集合中的所有元素映射到一個位數組中,因此,選擇幾個哈希函數才能使得布隆過濾器的誤判率降到最低是最主要的問題。
由上述分析可知,哈希函數存在著兩個互斥的規(guī)律:一是哈希函數的個數越多,在對一個未在集合中的元素進行查詢時,得到0的概率就越大;二是哈希函數的個數越少,位數組中值為0的位數就越多。因此,一般情況下,為了使得誤判率較低,會將位數組中的一半空著,這樣便能夠得到最優(yōu)的哈希函數的個數。
3.1 系統(tǒng)的基本功能
3.1.1 支持入侵檢測和深度包檢測
由于在信息采集的過程中需要獲取入侵告警信息和深度包檢測結果信息,所以在系統(tǒng)中集成了入侵檢測系統(tǒng)和深度包檢測系統(tǒng),從而使得本系統(tǒng)具備了入侵檢測和深度包檢測的功能。
3.1.2 支持網絡告警信息的誤報去除
為了能夠在關聯分析的過程中不受誤報信息的影響,本系統(tǒng)采用改進過的Bloom Filter算法將告警信息進行了誤報去除的工作,從而提供告警信息的準確性。
3.1.3 支持網絡安全事件的關聯分析
經過前期的信息收集和Bloom Filter過濾之后,利用現有的關聯分析算法將數據進行關聯分析,并最終得出分析結果,在頁面中呈現出來。系統(tǒng)的后臺功能需求組織結構圖如圖2所示。
圖2 系統(tǒng)后臺功能組織結構圖
系統(tǒng)主要支持對告警數據的過濾,需要具有入侵檢測、深度包檢測能力,系統(tǒng)對網絡事件具有關聯分析的能力。
3.2 改進后的Bloom Filter過濾模塊
Bloom Filter過濾模塊是本系統(tǒng)的核心部分,它的主要思想是以入侵檢測中得出的告警信息為基礎,將其與深度包檢測得出的結果信息利用改進后的Bloom Filter算法進行關聯分析,去除在入侵檢測中被認為是告警而在深度包檢測中認為是安全數據的告警信息,最終達到去除誤報的目的。Bloom Filter過濾模塊的主要工作流程如圖3所示。
圖3 Bloom Filter過濾模塊工作流程圖
分析過濾是本系統(tǒng)的核心部分,也是創(chuàng)新之處,利用Bloom Filter的改進算法對采集到的數據進行過濾分析,刪除錯誤的告警。分析過濾實現方式如下:
4.1 分析過濾代碼主要為Python
由于在利用改進后的Bloom Filter算法進行分析過濾時,整個過程中會有大量的查詢和計算,所以運用Python可以在性能上有所提高。
4.2 通過正則表達式實現數據的格式化
通過入侵檢測和深度包檢測得到的數據均為日志文件格式,所以需要將這兩個文件統(tǒng)一格式化為一個標準的形式,這一過程需要利用正則表達式來實現。
4.3 通過多進程方式實現入侵檢測數據和深度包檢測數據的并發(fā)讀取
由于入侵檢測和深度包分析是同時進行的兩個過程,所以在分析過濾時需要同時讀取這兩個數據源,這就涉及到并發(fā)的過程,本系統(tǒng)利用Stackless Python來實現并發(fā)的操作,其性能不輸于同類C/C++實現的服務器,完全可以適應高并發(fā)量的數據發(fā)送請求。
本文提出了一種Bloom Filter的改進算法,采用計數器和兩個Bloom Filter過濾器的方法來降低其誤判率以及使其擁有增加和刪除的操作屬性,并將其運用在網絡安全事件關聯分析系統(tǒng)中,不僅沒有影響到入侵檢測的效率,還有效的降低了告警事件誤報的概率。從而為后續(xù)關聯分析提供了可靠、準確的數據。
[1] 葛海慧,肖達,陳天平,楊義先.基于動態(tài)關聯分析的網絡安全風險評估方法[J].電子與信息學報,2013(11):2630-2636.
[2] 隋新,劉瑩.入侵檢測技術的研究[J].科技通報,2014(11):.
[3] 戴明星,褚英國,陳正奎.基于事件聚合和關聯分析技術的安全管理平臺應用研究[J].信息網絡安全,2013(7):91-92.
[4] 曹天人,張穎.淺析入侵檢測系統(tǒng)在網絡安全中的利與弊[J].科學咨詢:科技·管理,2015(7):50-51.
[5] 邵燕.淺論入侵檢測系統(tǒng)在網絡安全中的應用[J].數字化用戶,2014(1).
[6] 楊陽,趙洪宋,岳雨儉,杜源.基于協(xié)議分析的網絡入侵檢測系統(tǒng)[J].計算機與現代化,2014(2):201-204.
[7] 紀祥敏,景林,舒兆港.下一代互連網絡入侵檢測系統(tǒng)研究[J].計算機仿真,2013(10):337-340.
[8] 萬盛,何媛媛,李鳳華,牛犇,李暉.基于布隆過濾器的輕量級隱私信息匹配方案[J].通信學報,2015(12):151-162.
2017-03-20
王珂(1980-),女,河南鄭州人,碩士,講師,研究方向為計算機網絡,電話:13513802107。
TM417
B
1671-4733(2017)03-0004-03