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

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

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

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

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

?

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

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

1.1? IPS的概念?

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

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

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

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

?

?

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

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

1.4 深度防御思想?

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

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

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

?

?

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

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

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

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

??? 統(tǒng)一網(wǎng)絡(luò)安全管理平臺(tái)為該模型體系結(jié)構(gòu)的核心模塊。?

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

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

?

?

3.1 在線檢測/防御階段?

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

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

?

?

??? 內(nèi)核加速驅(qū)動(dòng)提供底層支持,nCap SDK或Enhanced libpcap庫提供基于pcap的上層調(diào)用,如圖4所示。主要使用步驟如下:(1)初始化struct ncap_device_info *init_ncap_device(char *dev_name, int *error);(2)設(shè)置混雜模式int ncap_set_if_promisc(const char *device,int set_promisc);(3)接收數(shù)據(jù)并調(diào)用協(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)關(guān)閉設(shè)備void term_ncap_device(struct ncap_device_info *dev)。?

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

?

?

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

?

???

?

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

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

??? 為加快匹配速度,借助觸發(fā)位圖(occurence_map)增強(qiáng)該算法效率。首先對(duì)輸入字符串I進(jìn)行預(yù)處理,若8位一組的連續(xù)或間斷的子串對(duì)s出現(xiàn)在I中,則在一個(gè)256單元的位圖上以s_th標(biāo)記對(duì)應(yīng)單元(置為1表示s在I中出現(xiàn))。為減小花在每一個(gè)數(shù)據(jù)包對(duì)應(yīng)單元的清除開銷,使用當(dāng)前網(wǎng)絡(luò)數(shù)據(jù)包的索引序號(hào)標(biāo)記該位圖單元。即如果s_th位置的位圖單元包括該數(shù)據(jù)包的索引序號(hào),則表示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);?

?? ?}?

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

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

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

3.2 離線訓(xùn)練階段?

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

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

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

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

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

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

4 仿真實(shí)驗(yàn)與性能分析?

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

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

??? 實(shí)驗(yàn)數(shù)據(jù):?

??? (1) MIT Lincoln lab實(shí)驗(yàn)室給出的入侵檢測攻擊場景數(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)絡(luò)安全管理平臺(tái)模塊,采用Linux+Snort+Bro+ACID+MySQL+Apache+Single-honeypot架構(gòu)對(duì)匯聚層、IPS HBLR+Netfilter/iptables架構(gòu)對(duì)接入層進(jìn)行仿真實(shí)驗(yàn)。?

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

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

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

參考文獻(xià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)絡(luò)的數(shù)據(jù)挖掘系統(tǒng)設(shè)計(jì)[J]. 計(jì)算機(jī)與現(xiàn)代化,2007(5).?

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

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

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

相關(guān)內(nèi)容