《電子技術應用》
您所在的位置:首頁 > 嵌入式技术 > 业界动态 > 基于数据挖掘的入侵防御系统研究

基于数据挖掘的入侵防御系统研究

2009-05-31
作者:王 杰, 刘亚宾

??? 摘? 要: 針對傳統(tǒng)異構安全設備的廣泛應用而產(chǎn)生的海量不可靠安全事件和難以有效管理的現(xiàn)狀,提出了一種基于數(shù)據(jù)挖掘的深度入侵防御系統(tǒng)模型。其中,以統(tǒng)一網(wǎng)絡安全管理平臺為核心,采用在線檢測離線數(shù)據(jù)挖掘相結合的方式分析網(wǎng)絡和主機數(shù)據(jù)。?

??? 關鍵詞: 入侵防御; 深度防御; 數(shù)據(jù)挖掘; 統(tǒng)一網(wǎng)絡安全管理平臺

?

??? 目前,網(wǎng)絡的安全威脅已發(fā)展為混合型,任何單一的安全技術措施都是可以被攻破的。因此一個安全的網(wǎng)絡系統(tǒng)應該既要有完善的入侵檢測手段,還需要有能夠對網(wǎng)絡安全進行實時監(jiān)控和攻擊與反攻擊的縱深防御策略[1-3],實現(xiàn)系統(tǒng)內外的聯(lián)合的安全防范,為網(wǎng)絡系統(tǒng)提供良好的安全保障,這就是深度防御(Defense-in-Depth)核心思想[4]。?

1 入侵防御系統(tǒng)?

1.1? IPS的概念?

??? 入侵防御系統(tǒng)(IPS)是指能檢測并積極主動地阻止已知和未知攻擊的內嵌式硬件設備或軟件系統(tǒng)。依據(jù)其操作平臺,一般分為基于網(wǎng)絡的入侵防御系統(tǒng)NIPS和基于主機的入侵防御系統(tǒng)HIPS。NIPS監(jiān)視網(wǎng)絡流量,部署在網(wǎng)關處,也稱為串聯(lián)型或網(wǎng)關型IPS,用來識別在不同網(wǎng)段惡意的或者未經(jīng)認證的活動,并且將其阻止。傾向于提供更先進的問題警告并且保護更大范圍的計算環(huán)境,預防對關鍵網(wǎng)段的攻擊。HIPS提供對發(fā)生在主機上的行為的具體控制,通常監(jiān)視系統(tǒng)調用并且阻止任何有害的請求,傾向于對面向特定主機的具體行為更深層次的識別。使用勾掛等技術,以代理的形式駐留在主機或服務器上,預防黑客對關鍵資產(chǎn)(如對關鍵服務器、數(shù)據(jù)庫)的攻擊。?

1.2? 網(wǎng)絡安全模型——WPDRRC?

??? WPDRRC模型由我國863信息安全專家組推出。它涵蓋了各個安全因素,突出了人、策略和管理的重要性,反映了各個安全組件之間的內在聯(lián)系,保證了信息的機密性(confidentiality)、完整性(integrity)、可用性(availability)、可控制性(controllability)、真實性(authenticity)和不可抵賴性(non-repudiation)。?

??? 如圖1所示,WPDRRC模型有六個環(huán)節(jié)和三大要素。六個環(huán)節(jié)是預警(Warning)、保護(Protect)、檢測(Detect)、反應(Respond)、恢復(Restore)、反擊(Counterattack),它們具有動態(tài)反饋關系。三大要素為人、策略、技術,人是核心,策略是橋梁,技術是保證,落實在WPDRRC六個環(huán)節(jié)的各個方面,將安全策略變?yōu)榘踩F(xiàn)實。?

?

?

1.3 基于數(shù)據(jù)挖掘的入侵防御技術[5]?

??? 該技術利用形式化語言、數(shù)據(jù)挖掘技術的方法和理論,對從網(wǎng)絡中和主機系統(tǒng)中采集到的數(shù)據(jù)、安全日志和審計信息進行分析和過濾,從“正常/異常”的數(shù)據(jù)中發(fā)現(xiàn)“正常/異?!钡挠脩艉统绦虻氖褂媚J?,利用這些模式來檢測網(wǎng)絡上的入侵行為,從而提高系統(tǒng)對用戶異常行為的識別能力和未知模式攻擊的檢測能力。?

1.4 深度防御思想?

??? 其目的是保障安全系統(tǒng)設計的廣度和深度,促進建立全面綜合、高效安全的網(wǎng)絡安全保障體系。在廣度上要求從網(wǎng)絡架構、操作系統(tǒng)、應用系統(tǒng)、數(shù)據(jù)庫系統(tǒng)等各個層面考慮安全系統(tǒng)建設;在深度上要求分層次的、由外而內從網(wǎng)絡邊界、內部網(wǎng)絡、核心服務器乃至桌面PC各個層面考慮安全防御建設。?

2 基于數(shù)據(jù)挖掘的入侵防御系統(tǒng)模型及其原理?

??? 依據(jù)WPDRRC模型和深度防御思想構建了該體系結構,如圖2所示。它主要由統(tǒng)一網(wǎng)絡安全管理平臺UPNSM(United Platform of Network Security Management)、本地安全策略服務器LPS(Local Policy Server)、遠程日志服務器RLS(Remote Log Server)、蜜網(wǎng)(Honeynet)等組成。?

?

?

??? 傳感器(Sensor)分別部署在分流器(TAP)之后的核心層邊界網(wǎng)關處、匯聚層交換機映像端口和串聯(lián)于接入層,獲取網(wǎng)絡與主機數(shù)據(jù)。?

??? UPNSM集網(wǎng)絡防火墻、訪問控制、日志、入侵檢測/防御、策略管理、負載均衡和內網(wǎng)監(jiān)控等管理于一身,并配置一個全局數(shù)據(jù)庫(GDB),負責收集各層安全信息。?

??? LPS監(jiān)控各個支干的傳感器,其后也配置了一個數(shù)據(jù)庫,主要用來存儲本地收集到的系統(tǒng)和網(wǎng)絡日志文件、目錄和文件中不期望的改變、程序執(zhí)行中不期望的行為、物理形式的入侵信息及系統(tǒng)弱點評估狀況等信息。?

??? 蜜網(wǎng)實現(xiàn)入侵轉移、牽制和主動誘捕等功能。在入侵者被重定向到該網(wǎng)絡后,數(shù)據(jù)處理模塊將記錄所有入侵者的行為數(shù)據(jù),分析其行為特征和計算統(tǒng)計數(shù)據(jù),并及時存儲到遠程日志服務器上。?

??? 統(tǒng)一網(wǎng)絡安全管理平臺為該模型體系結構的核心模塊。?

3 統(tǒng)一網(wǎng)絡安全管理平臺?

??? 統(tǒng)一網(wǎng)絡安全管理平臺(UPNSM)模塊的系統(tǒng)結構[6]如圖3所示。它由在線檢測階段和離線訓練階段組成,其中在線檢測/防御階段又是該模塊的核心。?

?

?

3.1 在線檢測/防御階段?

??? 將nCap零拷貝技術、協(xié)議分析和基于排斥的E2xB模式匹配算法相結合進行高速網(wǎng)絡數(shù)據(jù)捕獲,以實現(xiàn)實時檢測與深度防御。在線檢測/防御部分的結構如圖3虛線框內所示。?

??? nCap是一個純用戶端的高速數(shù)據(jù)包捕獲和傳輸庫,其體系結構如圖4所示。?

?

?

??? 內核加速驅動提供底層支持,nCap SDK或Enhanced libpcap庫提供基于pcap的上層調用,如圖4所示。主要使用步驟如下:(1)初始化struct ncap_device_info *init_ncap_device(char *dev_name, int *error);(2)設置混雜模式int ncap_set_if_promisc(const char *device,int set_promisc);(3)接收數(shù)據(jù)并調用協(xié)議分析int ncap_recv_packet(struct ncap_device_info*dev, unsigned short *recv_packet_len,unsigned char* packet_buffer,unsigned short packet_buffer_len, int wait_for_packet);(4)關閉設備void term_ncap_device(struct ncap_device_info *dev)。?

??? 協(xié)議分析包括協(xié)議解碼和命令解析等技術,具有快速、高精度、低資源占有率的特性。它有效地利用網(wǎng)絡協(xié)議的層次性和相關協(xié)議的知識,快速判斷攻擊特征是否存在,極大地減小了運算量,并能通過基于狀態(tài)的動態(tài)分析(如IP碎片與TCP流重組)進行反逃避檢測。協(xié)議分析流程如圖5所示。?

?

?

??? 舉例分析下述數(shù)據(jù)包是否符合攻擊特征“GET /cgi-bin/./phf ”: ?

?

???

?

??? 依據(jù)RFC 0791(2)和0793(3)文檔中TCP數(shù)據(jù)包和IP數(shù)據(jù)包的格式規(guī)范分四步跳躍性檢測:(1)跳過前面l2個字節(jié),讀取l3字節(jié)處的協(xié)議標識0800(IPv4包);(2)跳過的l5~24字節(jié)直接讀取第4層協(xié)議標識06(TCP協(xié)議);(3)跳過第25~34字節(jié)直接讀取第35字節(jié)的端口號:80(HTTP協(xié)議);(4)HTTP協(xié)議規(guī)定第55字節(jié)開始處的URL交由HTTP命令解析器提取主要信息,識別攻擊字符串及其變種,如 “/./phf”、“/phf”及類似“/.”的序列改變視為同種攻擊,這意味著協(xié)議分析技術只需較小的分類/行為特征庫就能檢測更大范圍的攻擊。?

??? E2xB算法專為入侵檢測的特殊需求而設計,其基本思想是:若欲檢測輸入字符串I不包含字符串S的子串,則字符串I必不包含字符串S。用集合論公式證明該命題的真理性:因I>S,S>s=>I>s,則I≯s,S>s=>I≯S(其中,“>”為“集合包含”符號)。如果所有s均為I的子串,則視為一次疑似匹配,之后調用標準模式匹配算法如BMH判定S是否為I的子串。若匹配成功,調用響應處理模塊。?

??? 為加快匹配速度,借助觸發(fā)位圖(occurence_map)增強該算法效率。首先對輸入字符串I進行預處理,若8位一組的連續(xù)或間斷的子串對s出現(xiàn)在I中,則在一個256單元的位圖上以s_th標記對應單元(置為1表示s在I中出現(xiàn))。為減小花在每一個數(shù)據(jù)包對應單元的清除開銷,使用當前網(wǎng)絡數(shù)據(jù)包的索引序號標記該位圖單元。即如果s_th位置的位圖單元包括該數(shù)據(jù)包的索引序號,則表示s出現(xiàn)在I中。E2xB算法偽代碼如下:?

??? pre_process(char *input, int len)?

??? ? {?

??????? pktid=pktno & (1<

??????? for (int idx = 0 ; idx < len-1 ; idx++) {?

??????????? element = s[idx]<< (elementsize-8)^s[idx+1];?

??????????? occurence_map [element]= pktid;?

??????????? }?

??? ? }?

??? search(char *s, char *input, int len_s, int len)?

??? {?

??? ?? for (int idx = 0 ; idx < len_s-1 ; idx++) {?

??????? element= s[idx]<< (elementsize-8)^ s[idx+1];?

??????? if (occurence_map [element] != pktid)?

??????? return DOES_NOT_EXIST ;?

??? ?? }?

??? ?? return boyer_moore(s, len_s, input, len);?

?? ?}?

??? 響應處理模塊對匹配成功的入侵產(chǎn)生告警,通過聲音、圖像、電子郵件或其他許多不同的方式通知安全人員。按照告警產(chǎn)生預定義的響應,或按安全人員的指令完成響應,如對異常數(shù)據(jù)進行轉發(fā)存儲(轉發(fā)給Honeynet和存儲系統(tǒng),對入侵行為做進一步跟蹤和分析)、發(fā)送RST包阻斷TCP連接、E-mail日志報文通知、與其他安全產(chǎn)品(Firewall、Router、Switch)聯(lián)動、停止非法進程運行或刪除某個應用程序、重新配置系統(tǒng)、注銷用戶等。?

??? 警報管理器根據(jù)告警信息[8] (包括告警時間、告警源、告警類型、告警級別、告警描述等內容)和分類/行為規(guī)則調用機器學習算法調整相關的規(guī)則參數(shù)。?

??? 策略分發(fā)模塊負責將相關策略發(fā)送至各分支的LPS。?

3.2 離線訓練階段?

??? 其主要組成部分及其原理如下:?

??? (1)預處理模塊將來自RLS和主機數(shù)據(jù)、指令、轉發(fā)存儲而得到的可疑和入侵數(shù)據(jù)或評估數(shù)據(jù)(如DARPA、KDD CUP99等)處理成網(wǎng)絡會話記錄并進行命令特征提取。即對于每一個連接,將記錄在通信期間需要統(tǒng)計的41個屬性分為三大類:網(wǎng)絡連接的基本屬性、安全領域知識建議的連接屬性及最近一定時間內的流統(tǒng)計屬性。這些屬性又分為數(shù)值型和符號型兩種類型,而其中的數(shù)據(jù)類型又包括兩種:連續(xù)型和非連續(xù)型。采用離散和正則化的方法和相應的離散化工具對整個數(shù)據(jù)集合做離散化和正則化處理后,以連接記錄為行、連接記錄的屬性為列建立網(wǎng)絡事件數(shù)據(jù)庫;輸出包含對威脅源的識別、惡意的活動、威脅的分類、攻擊的頻率、對映射目標潛在的嚴重性的評估等信息,以適用于離線數(shù)據(jù)挖掘器的輸入格式存儲到訓練數(shù)據(jù)集中。?

??? (2)離線挖掘器綜合利用關聯(lián)分析、序列模式分析、分類分析和聚類分析對訓練數(shù)據(jù)集數(shù)據(jù)進行挖掘分析,從中提取分類/行為安全規(guī)則。其中,關聯(lián)分析和序列分析方法可以發(fā)現(xiàn)隱藏在數(shù)據(jù)間的關系,提取出入侵者入侵行為之間的關聯(lián)特征,找出各種入侵行為之間的相關性;分類分析方法可以在前兩項分析的基礎上,對具有不同的行為特征的入侵進行分類,判斷入侵行為的可疑程度;聚類分析根據(jù)一定的規(guī)則對用戶行為數(shù)據(jù)重新劃分,以此獲得更好的結果。?

??? (3)復合檢測引擎綜合使用誤用檢測與異常檢測技術,數(shù)據(jù)挖掘對訓練數(shù)據(jù)集中的數(shù)據(jù)進行分析發(fā)現(xiàn)其中隱含的證據(jù)后,該檢測引擎比較證據(jù)與規(guī)則中已有規(guī)則的相似性,并將結果提交給決策引擎。?

??? (4)決策引擎合并規(guī)則,消除沖突與冗余,最終裁決活動的合法性,據(jù)此維護分類/行為規(guī)則集,并通過人機接口管理和控制策略數(shù)據(jù)庫的優(yōu)化。?

??? (5)策略數(shù)據(jù)庫通過規(guī)則與策略腳本的交互(調用功能函數(shù)執(zhí)行響應操作)實現(xiàn)機制與策略分離,以滿足簡單性和靈活性的統(tǒng)一。?

4 仿真實驗與性能分析?

??? 主機配置:PD E2140 processor 1.2GHz,1GB Memory,intel e1000網(wǎng)卡;?

??? 操作系統(tǒng):RedhatLinux 9.0,kernel version 2.4.20.?

??? 實驗數(shù)據(jù):?

??? (1) MIT Lincoln lab實驗室給出的入侵檢測攻擊場景數(shù)據(jù)集2000 DARPA;?

??? (2) 2003年第11屆DefCon CRF(Capture the RootFu!)的TSG (The Shmoo Group)數(shù)據(jù)集。?

??? 依據(jù)上述基于數(shù)據(jù)挖掘的入侵防御系統(tǒng)模型和統(tǒng)一網(wǎng)絡安全管理平臺模塊,采用Linux+Snort+Bro+ACID+MySQL+Apache+Single-honeypot架構對匯聚層、IPS HBLR+Netfilter/iptables架構對接入層進行仿真實驗。?

??? 基于PHP的ACID WEB管理平臺統(tǒng)一管理警告信息,并圖形化分類顯示觸發(fā)安全規(guī)則的網(wǎng)絡流量中各種協(xié)議所占的比例、警報的數(shù)量、入侵主機和目標主機的IP地址及端口號等。此外還提供遠程控制、規(guī)則配置功能和策略分發(fā)功能,遠程對Sensor發(fā)送控制命令,如迅速啟用協(xié)同機制,自動通知防火墻、路由器或其他安全控制設備切斷攻擊源,配置規(guī)則等幫助管理員進行分析和網(wǎng)絡整體安全的管理。同時,集成網(wǎng)絡管理系統(tǒng)通過各個網(wǎng)段上Sensor發(fā)送到警告及規(guī)則總數(shù)據(jù)庫的警告進行協(xié)同分析,基于復雜精確的協(xié)同算法,進行數(shù)據(jù)挖掘、狀態(tài)轉移預測等,以便做出更正確的決斷和防御措施。?

??? 分三種情況測試數(shù)據(jù)包捕獲速度:64 B,550’789 pkt/s;512 B,213’548 pkt/s;1 500 B,81’616 pkt/s。小數(shù)據(jù)包情況下,存在適量包丟失;大數(shù)據(jù)包情況下,幾乎不丟包,基本滿足線速抓包的要求。?

??? 在Snort中運用E2XB算法后,整體性能相對其他算法(BM,F(xiàn)Vh)提升了10%~36%,在一些特定規(guī)則集與流模式中,匹配性能提升了將近三倍。但該算法對包的大小分布和規(guī)則匹配數(shù)目相對敏感,在小數(shù)據(jù)包和極大或極小規(guī)則集的情況下算法性能會有所降低。?

??? 深度入侵防御技術的研究是目前網(wǎng)絡安全研究的熱點,本文提出的基于數(shù)據(jù)挖掘的深度入侵防御系統(tǒng)模型能收集邊界網(wǎng)關、匯聚層和接入層等各個網(wǎng)段的數(shù)據(jù),并能將這些數(shù)據(jù)傳送到統(tǒng)一網(wǎng)絡安全管理平臺集中處理,同時綜合利用各種安全技術對傳統(tǒng)IPS的缺陷(如檢測率與誤檢率的矛盾、性能瓶頸、實時性差等)在一定程度上加以解決,大大增強了網(wǎng)絡環(huán)境的安全性。?

參考文獻?

[1] RUBEL P, IHDE M, HARP? S, et al. Generating policies for defense in depth [J]. IEEE Computer Security Applications Conference, 2005,10.?

[2]?CHUNG S P, MOK A K. The LAIDS/LIDS framework for?systematic IPS design [J]. IEEE Information Assurance,2006, 9.?

[3]?CHEN Yao Min, YANG Yan Yan. Policy management for?network-based intrusion detection and prevention [J].IEEE ? Network Operations and Management Symposium, 2004(2):219-232. ?

[4]?HUANG Nen Fu, KAO Chia Nan, HUN HsienWei,et al.Apply data mining to defense-in-depth network security?system[J]. IEEE Advanced Information Networking and?Applications, 2005(2):159-162.?

[5]?Thuraisingham, Bhavani. Data mining for security applications[J]. Proceedings of the 2004 International Conference??on Machine Learning and Applications, ICMLA’04,2004.?

[6]?席驍,劉滔. 基于網(wǎng)絡的數(shù)據(jù)挖掘系統(tǒng)設計[J]. 計算機與現(xiàn)代化,2007(5).?

[7]?郭山清,謝立,曾英佩. 入侵檢測在線規(guī)則生成模型[J].計算機學報, 2006(9).?

[8]?肖立中,邵志清. 基于序列分析的報警綜合處理研究[J]. 計算機工程與應用, 2006(8).

本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。