殷玥
摘要:復雜的網(wǎng)絡安全環(huán)境,使傳統(tǒng)的防火墻與入侵檢測系統(tǒng)的實際效果大打折扣,無法滿足復雜多變的網(wǎng)絡環(huán)境。在此背景下,設計并實現(xiàn)一種自學習方式入侵檢測防御系統(tǒng),系統(tǒng)根據(jù)NDIS Passtru接口規(guī)范,自主開發(fā)了驅動模塊,并基于BP神經(jīng)網(wǎng)絡算法設計了自學習模式,最終實現(xiàn)了入侵檢測防護目的。系統(tǒng)彌補了傳統(tǒng)防火墻與入侵檢測系統(tǒng)的不足,最大限度保證了服務器網(wǎng)絡的安全。
關鍵詞: 自學習;入侵檢測;入侵防御;BP神經(jīng)網(wǎng)絡;網(wǎng)絡安全
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2015)25-0030-02
Design and Implementation of A Self-learning Intrusion Detection Defense System
YIN Yue
(NanYang Institute of Technology, Nanyang 473000,China)
Abstract: Traditional firewall and intrusion detection systems will be compromised in complex network security environment. In this background, A self-learning IPS is designed in order to improve the overall network security of information systems. System is divided into six modules, such as, Passthru driver module, feature extraction module, rule base, feature matching module and the parser. This system overcomes disadvantages of traditional firewalls and ensures security information systems.
Key words:self-learning; intrusion detection; intrusion prevention; back propagation; network security
1 引言
近年來發(fā)展火熱的電子商務,和以此為依托眾多的網(wǎng)絡信息系統(tǒng)安全問題的頻發(fā)。使得網(wǎng)絡安全開始走入大眾的視野。另外,各式各樣黑客技術的日益曝光,自動化入侵及檢測工具的開放,使得網(wǎng)絡安全測試的門檻降低,進一步加大了入侵事件的發(fā)生,使得網(wǎng)絡安全問題呈現(xiàn)高發(fā)態(tài)勢。網(wǎng)絡安全作為一個系統(tǒng)的概念,提出了信息系統(tǒng)必須提供有效的安全策略,切實可行的安全加固方案,已達到保護信息系統(tǒng)不受非法入侵和影響的目的。因此,保護信息系統(tǒng)和網(wǎng)絡環(huán)境的安全穩(wěn)定,是現(xiàn)今信息安全的首要目標。但是傳統(tǒng)的入侵檢測系統(tǒng)只能對入侵行為進行識別與發(fā)現(xiàn),不能有效的防御,因此,將入侵檢測系統(tǒng)與傳統(tǒng)防火墻的組合就形成了現(xiàn)在的入侵檢測防御系統(tǒng)(Intrusion Detection Protect System,簡稱IDP)。
2 入侵檢測防御系統(tǒng)的設計與實現(xiàn)
網(wǎng)絡入侵檢測防御系統(tǒng)作為一套綜合性的信息安全防護系統(tǒng),需要兼顧入侵檢測系統(tǒng)與防火墻的雙重功能,通過有效的安全策略制定,有效的控制進出信息系統(tǒng)流量。實現(xiàn)對用戶以及外部訪問的控制,以及對異常流量的實時分析。
由于其特殊性,決定了網(wǎng)絡入侵防御系統(tǒng),必須具有以下幾個特點:本身不受攻擊的影響;保證數(shù)據(jù)傳輸?shù)男?;采用安全加密等方式保證系統(tǒng)自身信息安全;良好的交互界面,以與管理員更加友好的交互;準確且穩(wěn)定的防護效果。
基于以上幾個特點,要求系統(tǒng),必須采用穩(wěn)定且可靠的架構。加之采用模式匹配的方式進行數(shù)據(jù)分析與規(guī)則處理,因此,也決定了,必須采用效率較高的算法,進行相關規(guī)則匹配與提取。在功能上要求系統(tǒng)對常見的SQL注入、XSS、DDOS攻擊、ARP欺騙以及木馬入侵等常規(guī)Web攻擊手段進行防護,從而達到保護服務器不受攻擊。
2.1 系統(tǒng)總體設計
為了更好地實現(xiàn)對數(shù)據(jù)流量的監(jiān)控,穩(wěn)定且高效的實現(xiàn)對網(wǎng)絡流量的獲取,系統(tǒng)采用NDIS中間層Passthru框架作為基本數(shù)據(jù)獲取框架。通過監(jiān)聽網(wǎng)絡中的數(shù)據(jù)包來獲得必要的數(shù)據(jù)來源,依托協(xié)議分析,匹配,統(tǒng)計分析等手段,實時發(fā)現(xiàn)處理攻擊行為。數(shù)據(jù)過濾部分,采用自我編寫的數(shù)據(jù)過濾模塊,對壞數(shù)據(jù)進行及時處理,做出相應響應。規(guī)則庫方面,為了加強知識庫的健壯性,系統(tǒng)引用BP神經(jīng)網(wǎng)絡算法,在處理前,處理中進行自學習,最大限度的擴充知識庫的健壯性。使整體的檢測與防御效果得到增強。系統(tǒng)構架如圖1所示。
系統(tǒng)各部分功能如下:
1)Passthu底層框架:實現(xiàn)的是防火墻的功能,對數(shù)據(jù)包進行過濾并對通過的數(shù)據(jù)包進行解析。模塊采用Microsoft提供的PassThru擴展驅動框架,通過對下層物理網(wǎng)卡驅動,與上層協(xié)議驅動的連接。獲取完整的網(wǎng)絡流量數(shù)據(jù)包,通過實時對數(shù)據(jù)包的攔截處理,已達到檢測網(wǎng)絡流量的目的。
2)特征提取:數(shù)據(jù)包指紋特征提取。在常規(guī)網(wǎng)絡攻擊過程,通過分析,從中發(fā)現(xiàn)很多特征可以標明為何種攻擊行為。特征提取模塊,就是通過模式匹配的方式,對解析器提取出的相關數(shù)據(jù),進行進一步的分析。
3)規(guī)則庫:用于存放攻擊特征碼的數(shù)據(jù)庫。
4)規(guī)則匹配:采用BM和KMP算法對提取的特征和規(guī)則庫里的特征碼進行兩次比對,確保準確性。
5)解析器:對比對后的結果產(chǎn)生操作行為。解析器分為TCP,UDP,HTTP,ARP等多個部分,通過對不同協(xié)議的不同分析,將不同的數(shù)據(jù)域交給特征提取模塊。已達到更加準確穩(wěn)定的處理。
6)短信預警:對遠程登錄的IP告知通過管理員。
7)特征自學習:對于所提取的未知特征進行自學習。
2.2系統(tǒng)關鍵技術實現(xiàn)
在系統(tǒng)總體設計的基礎上,對系統(tǒng)部分模塊的實現(xiàn)過程進行簡單的介紹。
2.2.1 解析器
解析器通過利用協(xié)議分析技術,對所有經(jīng)過的協(xié)議數(shù)據(jù),進行分解,獲取其中重要的數(shù)據(jù)域,從而獲取第一手數(shù)據(jù),最大限度地保證數(shù)據(jù)的真實性、完整性,保證特征提取模塊能夠獲取最完整的數(shù)據(jù)。解析器分為TCP,UDP,HTTP,ARP等多個部分,通過對不同協(xié)議的不同分析,將不同的數(shù)據(jù)域交給特征提取模塊,以達到更加準確穩(wěn)定的處理。另外,由于解析器所獲取的數(shù)據(jù)包結構已知,保證了整個數(shù)據(jù)包處于完整狀態(tài),在可控的范圍內,大大增加了后續(xù)數(shù)據(jù)分析的準確性。并且能快速檢測攻擊特征,從而大大減少了搜索所需的計算量。
解析器分為HTTP,TCP,UDP,ARP等部分,由于協(xié)議本身的差異,在對不同的協(xié)議進行解析時,方式方法不同,這里不再一一介紹。
2.2.2 特征提取
在常規(guī)網(wǎng)絡攻擊過程中,通過分析可以從中發(fā)現(xiàn)很多特征可以標明為何種攻擊行為。特征提取模塊,就是通過模式匹配的方式,對解析器提取出的相關數(shù)據(jù),進行進一步的分析。在分析過程中,主要包括兩種方式:一種是基于標識(signature-based),另一種是基于異常(anomaly-based)。由于這些提取特征提供了整個網(wǎng)絡數(shù)據(jù)流的完整信息,將所有選項組合后,能夠分析出相關攻擊的具體行為。因此,能夠準確、穩(wěn)定而且高效地完成特征提取。如果將這些選項組合,就可得到網(wǎng)絡數(shù)據(jù)包以及典型攻擊行為的描述。
下面給出網(wǎng)絡數(shù)據(jù)包的元組表示:
Attack(packet)=(P-id,H-len,C-sum,S-port,D-port,Icmp-Type,Icmp-Code,F(xiàn)lag,P-len,P-data)對元組里的特征元素不同的取值組合就構成了對不同攻擊行為的描述,下面給出用于描述 CGI 攻擊、FTP 攻擊、Redirect 攻擊和 UDP 攻擊的元組描述:
Attack(CGI)=(Tcp,32,0,2345,80,null,null,A,421,get cgi-bin)
Attack(FTP)=(Tcp,24,16,21,21,null,null,PA,256,ROOT)
Attack(Redirect)=(Icmp,20,null,null,8,3,null,192,1a)
Attack(UDP)=(Udp,16,10,138,126,null,null,null,448,3c)
自學習入侵檢測系統(tǒng)提取特征的根本目的在于對每一類攻擊類型可得到多個這樣的元組描述,將這些元組作為神經(jīng)網(wǎng)絡的訓練樣本,對神經(jīng)網(wǎng)絡進行訓練,就可在神經(jīng)網(wǎng)絡內部建立起對不同攻擊行為的識別模型。
2.2.3 匹配規(guī)則
特征匹配模塊,是本系統(tǒng)較為重要的組成部分。當數(shù)據(jù)由上層解析器解析,提取模塊提取出相關特征后,匹配模塊開始正式工作。模塊通過對每一個規(guī)則鏈提取,規(guī)則鏈包括:Dynamic(記錄網(wǎng)絡流量的日志)、Alert(產(chǎn)生報警并記錄這個數(shù)據(jù)包)、Pass(忽略這個數(shù)據(jù)包)、Rule(規(guī)則)四個部分組成,每一個都有獨立的協(xié)議鏈表。構成一個完整的規(guī)則樹節(jié)點。
模塊啟動前,提取規(guī)則庫的規(guī)則,先對特征進行一次匹配,如果未發(fā)現(xiàn)威脅。對數(shù)據(jù)進行放行。另外,為了最大限度地保證檢測過程的準確性,未知規(guī)則會通過BP神經(jīng)網(wǎng)絡算法,進行相關學習,并對學習出的樣本進行記錄,以便發(fā)現(xiàn)攻擊行為時,記錄其變種形式,達到更加準確,更加有效的防御效果。在整個規(guī)則匹配過程采用比較著名的匹配算法BM(Boyer-Moore)算法和KMP(Knuth-Morris-Pratt)兩種不同的匹配算法進行兩次規(guī)則匹配,來實現(xiàn)對數(shù)據(jù)包行為信息的判斷,并將結果傳遞給操作模塊,以供下一步操作。
2.2.4 BP神經(jīng)網(wǎng)絡
BP(Back Propagation)神經(jīng)網(wǎng)絡是1986年由Rumelhart和McCelland為首的科學家小組提出,是一種按誤差逆?zhèn)鞑ニ惴ㄓ柧毜亩鄬忧梆伨W(wǎng)絡,是目前應用最廣泛的神經(jīng)網(wǎng)絡模型之一。BP網(wǎng)絡能學習和存貯大量的輸入-輸出模式映射關系,而無需事前揭示描述這種映射關系的數(shù)學方程。BP神經(jīng)網(wǎng)絡模型包括其輸入輸出模型、作用函數(shù)模型、誤差計算模型和自學習模型。
算法基本流程就是:
1)初始化網(wǎng)絡權值和神經(jīng)元的閾值(最簡單的辦法就是隨機初始化)
2)前向傳播:按照公式一層一層的計算隱層神經(jīng)元和輸出層神經(jīng)元的輸入和輸出。
3)后向傳播:根據(jù)公式修正權值和閾值直到滿足終止條件。
3 結束語
經(jīng)過測試,系統(tǒng)可以實現(xiàn)對預期的sql注入、xss跨站、arp攻擊和cookie注入等多種類型的攻擊手段的防御,并且取得了不錯的效果,最大限度地保證了服務器的安全。但是由于防御系 (下轉第33頁)
(上接第31頁)
統(tǒng)由于自身也是攻擊者的重要目標,因此下一步需要做的工作主要是,如何避免 IDP 系統(tǒng)受到攻擊,或者如何將 IDP 隱藏,以使黑客檢測不到 IDP 的存在,這也是一個重要的研究課題。
參考文獻:
[1] 王景新.基于神經(jīng)網(wǎng)絡技術的網(wǎng)絡入侵檢測系統(tǒng)研究與實現(xiàn)[D].長沙:國防科技大學,2002.
[2] 唐正軍等.網(wǎng)絡入侵檢測系統(tǒng)的設計與實現(xiàn)[D].北京:電子工業(yè)出版社,2002.
[3] 王曉程.網(wǎng)絡入侵檢測系統(tǒng)的研究[N].計算機工程與科學,2000(1).
[4] 朱雁輝.Windows 防火墻與網(wǎng)絡封包截獲技術[M].北京:電子工業(yè)出版社,2002(7).
[5] 付澤宇,余鎮(zhèn)危.一種主機防火墻的設計和實現(xiàn)[J].計算機安全,2002.
[6] 王英紅.分布式防火墻堵住內部網(wǎng)漏洞[N].計算機世界報,2002(4).
[7] 戴云,泛平志.入侵檢測系統(tǒng)研究綜述[J].計算機工程與應用,2002,38(4).
[8] 崔偉,競艷,蔡圣聞等.基于 IPSec 的分布式防火墻安全體系框架[J].計算機工程,2004.