蔣 勵, 張家錄(湘南學院 信息化辦, 湖南 郴州 423000)
基于網(wǎng)絡安全事件的預警系統(tǒng)設計
蔣 勵, 張家錄
(湘南學院 信息化辦, 湖南 郴州 423000)
采用面向?qū)ο笤O計方法和模塊化設計思想設計網(wǎng)絡安全預警系統(tǒng). 在對網(wǎng)絡安全預警系統(tǒng)所采用的設計模式進行分析的基礎上,將預警系統(tǒng)分成報警事件輸入接口、報警事件管理、預警、知識庫管理、網(wǎng)絡拓撲顯示與部署等五個模塊,對每個模塊的功能和設計進行分析,并對預警系統(tǒng)的界面設計進行了說明. 同時給出了預警系統(tǒng)技術(shù)實現(xiàn)方法.
網(wǎng)絡安全; 設計模式; 攻擊預警; 數(shù)據(jù)庫
網(wǎng)絡安全預警系統(tǒng)研究開展較早,主要應用于一些重要的經(jīng)濟、政治、軍事系統(tǒng)的非法入侵監(jiān)控與防治. 如,美國國家安全局所設的國家計算機安全與預警中心,隸屬于國防信息系統(tǒng)局,是美國政府負責網(wǎng)絡攻防技術(shù)開發(fā)、網(wǎng)絡信息戰(zhàn)的戰(zhàn)略情報預警的專門機構(gòu). 實際上,英、美等國從1997年以來就著手網(wǎng)絡安全預警技術(shù)的研究[1~3]. 美國已經(jīng)于1998年開始網(wǎng)絡信息基礎設施安全預警系統(tǒng)研究與建設計劃. 1999年9月,美國戰(zhàn)略司令部提出了新一代入侵檢測系統(tǒng)原型“廚窗計劃”,該系統(tǒng)的建設目標是能為美國國防部提供信息戰(zhàn)的早期預警[1].
為維護國家信息安全,開展抵御信息攻擊和信息攻擊追蹤與反擊研究,建立完善的網(wǎng)絡安全預警系統(tǒng)是保證國家網(wǎng)絡體系自身的正常運作的有效途徑. 因為只有擁有足夠安全的網(wǎng)絡,才能盡可能地減少網(wǎng)絡攻擊所造成的危害,保障國家信息系統(tǒng)適應信息技術(shù)發(fā)展要求.
張志吉[4]設計了一個基于入侵檢測系統(tǒng)的預警系統(tǒng),該系統(tǒng)主要包括抓包模塊、分析包模塊和攻擊規(guī)則庫,可以直接從網(wǎng)絡中獲取數(shù)據(jù)包進行分析,并與攻擊規(guī)則庫進行匹配而發(fā)出預警,但缺乏與目前較成熟系統(tǒng)和技術(shù)的相互配合.
本文采用面向?qū)ο笤O計方法和模塊化設計思想設計網(wǎng)絡安全預警系統(tǒng). 首先,對網(wǎng)絡安全預警系統(tǒng)所采用的設計模式進行分析. 其次,將預警系統(tǒng)分成報警事件輸入接口、報警事件管理、預警、知識庫管理、網(wǎng)絡拓撲顯示與部署等五個模塊,并對每個模塊的功能和設計進行分析. 最后,給出預警系統(tǒng)的界面設計說明.
基于網(wǎng)絡安全事件的預警系統(tǒng)的體系結(jié)構(gòu)包括報警事件輸入接口、報警事件管理、組合攻擊知識庫管理、組合攻擊知識庫、組合攻擊預警、網(wǎng)絡拓撲結(jié)構(gòu)、網(wǎng)絡拓撲顯示與部署等,如圖1所示.
圖1 基于網(wǎng)絡安全事件的預警系統(tǒng)架構(gòu)圖
系統(tǒng)外部的事件,從報警事件輸入接口輸入,進行規(guī)范; 報警事件管理模塊對這些輸入進來的事件進行管理,并將這些基于攻擊行為的報警事件,轉(zhuǎn)換為基于攻擊意圖的報警事件; 組合攻擊預警模塊,則將這些基于攻擊意圖的報警事件,與組合攻擊知識庫中的組合攻擊模型進行匹配,并根據(jù)組合攻擊知識庫中組合攻擊模型的權(quán)重分配情況,計算所預測的可能組合攻擊的可信度,并在可視化系統(tǒng)中顯示. 組合攻擊知識庫管理模塊,則是對組合攻擊知識庫進行管理. 實現(xiàn)添加、刪除組合攻擊模型等多種功能; 網(wǎng)絡拓撲顯示與部署模塊,在可視化系統(tǒng)中顯示網(wǎng)絡環(huán)境的各種安全設備的部署情況,并支持可視化編輯.
2.1 設計模式分析
為了使面向?qū)ο笤O計方法更加靈活、方便,提高預警系統(tǒng)設計效率,我們采用模塊化設計思想,以便在以往工作基礎上解決新問題. 現(xiàn)有的設計模式可以幫助設計者設計出有利于復用的系統(tǒng),更快更好地完成系統(tǒng)設計.
設計模式包含模式名稱(Pattern Name)、問題(Problem)、解決方案(Solution)、效果(Consequences) 等四個基本要素[5,6]. 下面對要用到的幾個基本的設計模式進行簡要的分析.
2.1.1 組合(Composite)模式
用樹形結(jié)構(gòu)表示網(wǎng)絡安全事件的“整體—部分”層次結(jié)構(gòu),用戶對簡單對象和組合對象的使用具有一致性. 組合模式包含抽象構(gòu)件角色(Component)、樹葉構(gòu)件角色(Leaf)、樹枝構(gòu)件角色(Composite)等構(gòu)件.
組合模式的關(guān)鍵是一個抽象類(Component)接口設計. 用戶通過該接口與組合對象進行交互. 如果是葉節(jié)點,就直接處理; 若是Composite本身,則發(fā)送給其它部件.
在基于網(wǎng)絡安全事件的預警系統(tǒng)的網(wǎng)絡拓撲中,一個網(wǎng)絡里面包含有多種節(jié)點,比如子網(wǎng)、路由器、交換機以及各種服務器. 而在子網(wǎng)中,又可以包含子網(wǎng)、路由器、交換機等. 這樣,整個網(wǎng)絡拓撲圖就可以用“整體—部分”的層次結(jié)構(gòu)來表示,因此,可以采用組合模式的設計方法來進行設計.
2.1.2 策略(Strategy)模式
策略模式通過定義算法族將各種算法獨立封裝,其優(yōu)點是: 使用算法的客戶完全可以不需要了解具體算法的設計方法,只需要直接調(diào)用,就可以互相替換.
將算法硬編進使用它們的類中是不可取的,因為當應用程序需要調(diào)用這種算法時,會使應用系統(tǒng)程序異常龐大和難以維護,占用系統(tǒng)資源,影響系統(tǒng)運行效果. 此外,不同情況需要不同的算法,如果將算法都硬編進類中,會導致程序變得臃腫,既難懂又難以維護.
2.1.3 觀察者(Observer)模式
由于定義了對象之間的一對一和一對多依賴關(guān)系,所以當一個對象改變狀態(tài)時,所對應的依賴者都會收到通知并自動更新.
觀察者(Observer)和目標(Subject)是此模式的關(guān)鍵對象. 在這種模式下,每個目標都可以有多個依賴它的觀察者. 如果改變目標狀態(tài),則會通知所有觀察者,并使每個觀察者查詢的狀態(tài)與目標同步.
在界面設計中,鼠標的點擊操作,往往會改變選擇狀態(tài),而對所選擇的狀態(tài)感興趣的監(jiān)聽者就需要接收更新的信息,并觸發(fā)相應的更新操作,因此可以采用觀察者模式來設計界面中鼠標操作對應的信息傳遞與動作觸發(fā).
圖2 AlertInfo類的類圖顯示
表1 組成AlertInfo類的一些主要的聚合類
2.1.4 單件(Singleton)模式
單件模式是確保提供一個全局訪問點來訪問一個類中僅有的一個實例的方法. 它和全局變量一樣方便,卻不需要像全局變量那樣從程序一開始就創(chuàng)建好對象,而只需要在要用到它的時候再開始創(chuàng)建.
在與數(shù)據(jù)庫的連接中,我們往往只需要一個數(shù)據(jù)庫連接池的對象實例就可以實現(xiàn)與數(shù)據(jù)庫相連,因此,在數(shù)據(jù)庫的連接實現(xiàn)中,我們采用單件模式來設計數(shù)據(jù)連接類.
2.2 報警事件輸入接口
報警事件輸入接口,定義了一個接口,規(guī)范從系統(tǒng)外部輸入進來的事件,是基于網(wǎng)絡安全事件的預警系統(tǒng)與外部進行消息傳遞的接口. 報警事件接口規(guī)范的事件規(guī)范類AlertInfo的類圖如圖2所示.
AlertInfo類由多個類聚合. 這些聚合類的描述信息見表1.
2.3 報警事件管理模塊
報警事件管理模塊,具有多種功能,包括查看、刷新、排序、分析、轉(zhuǎn)換報警事件等. 其中最主要的功能是將基于攻擊行為的報警事件轉(zhuǎn)換為基于攻擊意圖的報警事件. 多種攻擊行為或者攻擊手段產(chǎn)生的攻擊事件,都可以轉(zhuǎn)換為同一類的基于攻擊意圖的事件. 進行事件轉(zhuǎn)換后,事件的種類就大幅度減少,有利于提高在組合攻擊知識庫中進行事件匹配和可信度計算的效率.
AlertType類為基于攻擊意圖的事件類型,屬性包括唯一性標識ID,名稱name和描述信息info等. AlertType與AlertInfo的關(guān)系如圖3所示.
圖3 AlertType與AlertInfo的類圖
2.4 組合攻擊知識庫管理模塊
組合攻擊知識庫管理模塊是基于網(wǎng)絡安全事件的預警系統(tǒng)的核心模塊,實現(xiàn)對組合攻擊知識庫的管理功能. 具體包括查看、添加、修改、刪除組合攻擊模型的功能. 組合攻擊知識庫中,存儲對組合攻擊所建立的模型. 采用基于攻擊意圖的攻擊樹模型,從而使知識庫不會因為過于龐大而造成實現(xiàn)難度大、匹配效率低等問題. 組合攻擊的模型里,包含該組合攻擊詳細的信息. 主要包括前提條件、攻擊源的特征、攻擊可能產(chǎn)生的結(jié)果和損失、建議的響應措施和積極防御措施以及最為重要的攻擊序列.
圖4 組合攻擊模型的類ComplexAttackType的類圖
組成ComplexAttackType的主要聚合類以及其具體的描述信息見表2.
表2 組成ComplexA ttackType的主要聚合類
2.5 組合攻擊預警模塊
組合攻擊預警模塊,封裝了組合攻擊的預警算法,包括事件匹配和可信度計算兩個部分. 它根據(jù)從報警事件管理模塊輸入進來的報警事件,并與組合攻擊知識庫中的組合攻擊模型進行事件匹配,預測可能的組合攻擊并計算相應的可信度. 采用策略模式來封裝組合攻擊預警的算法族,每個算法類都實現(xiàn)了具體的算法,且互相替換,這樣,使用算法的客戶就可以與算法獨立,其具體的設計如圖5所示.
IEventMatch(事件匹配)的接口說明見表3. IConfidenceCompute(事件匹配可信度)的接口說明見表4.
圖5 策略模式設計預警算法族的類圖
表3 接口IEventMatch的說明
表4 接口IConfidenceCompute的說明
2.6 網(wǎng)絡拓撲顯示與部署模塊
該部分需要存儲子網(wǎng)信息、路由器信息、交換機信息、主機信息以及網(wǎng)絡中各節(jié)點之間的鏈接信息. 而子網(wǎng)可以包含子網(wǎng)、路由器、交換機和主機. 為使客戶端能夠統(tǒng)一的操作整體和部分,簡化客戶端的編碼工作,采用組合(Composite)模式,以便用一致的方式處理組合對象和個別對象. 設計類圖如圖6所示.
圖6 網(wǎng)絡拓撲節(jié)點類圖
基于MVC模式的GEF技術(shù)框架使模型、視圖與控制器相互獨立. GEF采用命令(Command)設計模式,將用戶的每一個操作都封裝成命令,支持Undo/Redo等功能.
3.1 總體設計
基于網(wǎng)絡安全事件的預警系統(tǒng)的界面總體設計如圖7所示. 其中主圖為網(wǎng)絡拓撲顯示及部署視圖,其他視圖環(huán)繞在其周圍,具有良好的人機交互性.
圖7 基于網(wǎng)絡安全事件的預警系統(tǒng)的界面總體設計
3.2 導航視圖
用樹形結(jié)構(gòu),顯示網(wǎng)絡拓撲中,各網(wǎng)絡節(jié)點的層次結(jié)構(gòu).
3.3 屬性視圖
屬性視圖,可響應鼠標的點擊操作,能顯示在導航視圖中或者主圖中所選擇對象的詳細信息,并支持可視化編輯.
3.4 網(wǎng)絡拓撲顯示及部署視圖
網(wǎng)絡拓撲視圖,是網(wǎng)絡拓撲顯示與部署模塊的界面的具體實現(xiàn). 網(wǎng)絡中的網(wǎng)絡節(jié)點用特殊的圖標來表示,若發(fā)生報警事件,則加上特殊標記. 支持可視化部署,包括添加、刪除、修改網(wǎng)絡節(jié)點和連接等功能.
屬性視圖、報警事件視圖以及組合攻擊預警視圖,都監(jiān)聽鼠標在主圖上的操作. 當鼠標在主圖上選擇某個節(jié)點后,屬性視圖顯示該節(jié)點的詳細信息,報警事件視圖顯示發(fā)生在該節(jié)點上的報警事件,組合攻擊預警視圖顯示對應的可能的組合攻擊(可以排序,按可信度和危害性等)及更詳細的信息.
3.5 報警事件視圖
以列表的形式顯示每一個報警事件的各個屬性,并提供對事件進行排序的功能,以及響應鼠標的點擊操作所帶來的更新等. 在選中報警事件視圖中的某項后,組合攻擊預警視圖則響應鼠標操作,顯示該報警事件對應的可能組合攻擊及其他信息等. 缺省狀態(tài)下,顯示發(fā)生在該網(wǎng)絡內(nèi)的所有的報警事件.
3.6 組合攻擊預警視圖
以樹表的形式顯示所預測的每一種組合攻擊的詳細信息以及響應的后果和應采取的積極防御措施,并響應鼠標的點擊操作所帶來的更新. 缺省狀態(tài)下,顯示預測發(fā)生在該網(wǎng)絡內(nèi)所有的組合攻擊.
4.1 系統(tǒng)開發(fā)環(huán)境
基于網(wǎng)絡安全事件的預警系統(tǒng)開發(fā)的平臺見表5.
表5 系統(tǒng) 開發(fā)平臺
4.2 系統(tǒng)實現(xiàn)
首先,按照界面的需求分析和設計,并采用Eclipse RCP和GEF技術(shù)框架來實現(xiàn)基于網(wǎng)絡安全事件的預警系統(tǒng)的界面,實現(xiàn)的主頁面如圖8所示. 主頁面中,包括導航視圖、屬性視圖、網(wǎng)絡拓撲顯示與部署視圖、報警事件視圖、組合攻擊預警視圖.
圖8 基于網(wǎng)絡安全事件的預警系統(tǒng)的主界面
導航視圖采用JFace中的樹形查看器TreeViewer來顯示網(wǎng)絡中的各個節(jié)點,如圖9示; 屬性視圖采用RCP自帶的屬性視圖,如圖10所示.
圖9 導航視圖
圖10 屬性視圖
報警事件視圖采用JFace表格查看器TableViewer顯示事件的各個屬性,并支持可視化編輯,如圖11所示. 網(wǎng)絡拓撲顯示與部署采用GEF技術(shù)框架,提供的主要功能包括: (1)查看節(jié)點以及鏈接的屬性; (2)提供命令和上下文菜單操作; (3)連接節(jié)點; (4) 圖形縮放功能; (5)支持undo/redo功能. 如圖12所示.
圖11 報警事件視圖
圖12 網(wǎng)絡拓撲顯示及部署視圖
組合攻擊預警視圖采用樹表查看器(TableTree)顯示組合攻擊的層次性及詳細的信息,如圖13所示.
圖13 組合攻擊預警結(jié)果
基于網(wǎng)絡安全事件的預警系統(tǒng)集報警事件輸入、報警事件管理、組合攻擊預警、組合攻擊知識庫管理、網(wǎng)絡拓撲顯示與部署等模塊功能和組合攻擊知識庫與網(wǎng)絡拓撲結(jié)構(gòu)兩個知識庫于一體. 在網(wǎng)絡安全事件預警系統(tǒng)的設計中,采用策略模式,封裝了基于組合攻擊知識庫的事件匹配和可信度計算算法; 采用單件模式,設計并實現(xiàn)了數(shù)據(jù)庫的JDBC連接; 采用組合模式,設計了網(wǎng)絡拓撲結(jié)構(gòu)顯示與部署模塊; 采用觀察者模式,設計了界面中各視圖的信息傳遞,使系統(tǒng)具有好的可維護性和可擴展性. 給出了預警系統(tǒng)技術(shù)實現(xiàn)方法,有效解決了網(wǎng)絡安全管理問題,綜合提升了網(wǎng)絡信息安全預警防護能力.
[1]胡華平,張 怡,陳海濤. 面向大規(guī)模網(wǎng)絡的入侵檢測與預警系統(tǒng)研究[J[. 國防科技大學學報,2003(1): 21~25
[2]胡華平,何利民,肖楓濤. 網(wǎng)絡安全預警模型的研究[J[. 計算機研究與發(fā)展,2006: 354~359
[3]鮑旭華,戴英俠,馮萍慧. 基于入侵意圖的復合攻擊檢測和預測算法[J[. 軟件學報,2005(12): 2132~2138
[4]張志吉,唐 毅. 網(wǎng)絡入侵預警系統(tǒng)[J[. 上海大學學報,1999(3): 121~127
[5]Erich Gamma,Richard Helm,Ralph Johnson,John Vlissides. 設計模式—可復用面向?qū)ο筌浖幕A[M[. 李英軍,馬驍星,蔡 敏,等,譯. 北京: 機械工業(yè)出版社,2000
[6]Eric Freeman,Elisabeth Freeman,Kathy Sierra,Bert Bates. 設計模式(中文版)[M[. 北京: 中國電力出版社,2007
Design of Early Warning System Based on Network Security Event
JIANG Li,ZHANG Jia-lu
(Information Construction and Management Office,Xiangnan University,Chenzhou 423000,China)
The Network security early warning system was designed with object oriented design method and modular design. On the basis of the analysis of the design pattern used in the network security early warning system,the warning system was divided into five modules: input interface of alarm events,alarm event management,early warning,knowledge base management,network topology display and deployment. The function and design of each module were analyzed,and the interface design of the early warning system was given.
network security,design pattern,attack warning,database
TP393.08
A
1672-5298(2016)02-0030-08
2016-04-08
蔣 勵(1988- ),男,湖南安鄉(xiāng)人,碩士,湘南學院信息化辦教師. 主要研究方向: 計算機科學