版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、【中圖分類號】TP393【文獻(xiàn)標(biāo)識碼】A【文章編號】1009-學(xué)術(shù)研究n t c R e a rc h收編仃期t 2005-9-7卜-U作祎簡介:V79M7的匚牛.廣東濰圳人碩士砂究 生*主要硏究方向為】鞫堆安全。范明鋌.1M2年生女* 四川富噸人.教授上要研覽方肉曲宿且安金、安全藥片 設(shè)汁王Jt衛(wèi).】958年坐,男.河厳刑華人,匚程禪.主晝 研究方囪信息賽全朱大勇.1975生男四川茂且人, 講肺,博士. *婪研究方睡網(wǎng)堵與信J&安全、軼杵工程.A c a d e信息安全與通信保密? 2007. 265鄧子寬,范明鈺,王光衛(wèi),朱大勇(電子科技大學(xué)計算機(jī)科學(xué)與工程學(xué)院,四川成都610054【摘
2、要】文章通過分析Snort入侵檢測系統(tǒng)的源代碼,剖析了 snort入侵檢 測系統(tǒng)的TCP流重組的原理及實現(xiàn),給出了相關(guān)數(shù)據(jù)結(jié)構(gòu)和算法流程,介紹了針對 流重組模塊的攻擊及Snort對此的防御策略,最后指出現(xiàn)有TCP流重組技術(shù)幾點不 足及若干新的研究方向?!娟P(guān)鍵詞】TCP重組;Snort;Hash表;Splay樹;入侵檢測8054(2007 02-0065-03Research On TCP reassembly in Snort IDSDENG Zikua n, FAN Min gYu, WANG Gua ngwei, ZHU dayo ng(School of Computer Scie ne
3、e and Engineering UESTC, Che ngdu 610054, Chi na【Abstract 】 Base on the study on the source code of Snort, analyze the principle and impleme ntati on of TCP assembly inSnort IDS, prese nt related data structures and arithmetic. In troduce attacks that towards TCP assembly module and theprotecti on m
4、ethods Snort adopted. In dicate several weak nesses of TCP assembly and some new research fields of it.【Keywords 】 TCP reassembly; Snort; Hash table; Splay tree; In trusi on detecti onSn ort入侵檢測系統(tǒng)中TCP流重組的研究在網(wǎng)絡(luò)安全領(lǐng)域,將分散的TCP包按其所隸屬的會話重組成一個連續(xù)的TCP 會話流再與攻擊特征庫進(jìn)行匹配是發(fā)現(xiàn)和防御某些攻擊的有效方法。1 Snort工作流程Snort是一款開源的跨平臺、輕量
5、級的分布式入侵檢測 系統(tǒng)1,其4種工作方 式如下:嗅探器模式(sniffer mode、包記錄模式(packet logger、網(wǎng)絡(luò)入侵檢測模 式(Network In-trusion Detection System Mode、線內(nèi)模式(Inline mode。入侵檢測和線內(nèi)模式集成了重組IP fragme nt、重組TCP會話及狀態(tài)協(xié)議分析的功能。線內(nèi)模式通過iptables替代libcap獲得數(shù)據(jù)包,從而使系統(tǒng)變成具有過濾和放行數(shù)據(jù)包能力的IPS(Intrusion PreventionSystem 2。圖1是Snort的工作流程。2 流重組S n o r t使用s t r e a m
6、4模塊進(jìn)行T C P流的重組和狀態(tài) 分析3。 Stream4由 Martin Roesch于2001年公布,包含兩個可配置預(yù)處理模塊stream4和stream4_reassemble發(fā)布的初衷是為解決snort 針對snot攻擊報警過于頻繁的問題3。由于TCP重組的實現(xiàn) 依賴于TCP/IP協(xié)議, 在應(yīng)用中受到TCP/IP協(xié)議先天安全性不足的局限。因此,Martin Roesch在這兩個 模塊中增添了許多抗攻擊的功能,并設(shè)計成可供用戶通過配置選擇使用。配置選項 的說明請參照snort用戶手冊1。下面分析TCP流s e a r c h學(xué)術(shù)研究|11|.c n66重組的過程及使用的數(shù)據(jù)結(jié)構(gòu)。目前S
7、nort通過兩種方式緩 存重組前的數(shù)據(jù)包:Hash 表與 Splay Tree。2.1 Hash表方式H a s h表方 式是snort的默 認(rèn)方式,其以會 話的源IP、目的IP、源端口、目 的端口 4個參數(shù)為key計算得出一個table index,該tableindex指向一個雙向鏈表,鏈表 的每一個節(jié)點即為一 個Hash節(jié)點。一個Hash節(jié)點里面包含有一個會話的信息,若需要查找一個會話的 信息只需根據(jù) 該會話或者該會話中的一個 TCP包的key計算table index得出 tableindex,再利用table index中所存地址找到雙向鏈表,遍歷該鏈表,查找與key 匹配的節(jié) 點即
8、可找到會話信息。數(shù)據(jù)包與 會話的匹配流程如圖2所示,Hash表用 作儲存會話信息的數(shù)據(jù)結(jié)構(gòu) 如圖3(a,Hashnode節(jié)點的內(nèi)部 數(shù)據(jù)結(jié)構(gòu)如圖3(b, session節(jié)點的內(nèi)部數(shù)據(jù)結(jié)構(gòu)如圖3(c, stream流的內(nèi)部數(shù)據(jù)結(jié)構(gòu)如圖3(d。使用 Hash表及雙鏈表結(jié)構(gòu)的形式來存儲及查找可以加快重組時數(shù)據(jù)包匹配會話的速度 在高流量的環(huán)境下,對每一個T C P包的快速處理是十分必要的。重組過程中,當(dāng)下述三種情況之一出現(xiàn)時(對以Splay Tree儲存的情形同樣適用 Snort將會把Hash表或二叉樹中屬于一次會話的所有數(shù)據(jù)包組合成一個大數(shù)據(jù)包 (仍以Packet結(jié)構(gòu)定義:當(dāng)一個會話結(jié)束、當(dāng)內(nèi)存耗盡
9、、當(dāng)收集了某個數(shù)量大小的數(shù)據(jù)(該大小值為隨機(jī)數(shù),以免被攻擊者識破。組合大數(shù)據(jù)包時,Snort將遍歷Hash表節(jié)點中指向的雙 向鏈表的每一節(jié)點(以 StreamPacketData結(jié)構(gòu)定義,將節(jié)點 中的payload拷貝到大數(shù)據(jù)包中data指向的緩 存(在 Stream4模塊初始化時Snort已分配一特定大小的內(nèi)存于該緩存中,并將大數(shù) 據(jù)包傳遞給余下的預(yù)處理模塊處理,當(dāng)所有的預(yù)處理模塊處理完畢,Snort才將該會話包交給規(guī)則檢測引 擎作規(guī)則匹配。2.2 Splay Tree形式Splay Tree也叫伸展樹,當(dāng)Splay Tree的一個 節(jié)點被訪問時,該節(jié)點經(jīng)過一系 列的旋轉(zhuǎn)被搬移到樹 根,這樣
10、可以讓計算機(jī)執(zhí)行盡量少的訪問即到達(dá)目標(biāo)節(jié)點。由于該特性,它特別適用于TCP重組中對每個TCP包進(jìn)行會話匹配。圖4為使用 Splay Tree進(jìn)行會話匹配的流程。注意snort在存儲一個會話的所有數(shù)據(jù)包時也 使用了 Splay tree結(jié)構(gòu)。使用Splay Tree方式重組流所使用的數(shù)據(jù)結(jié)構(gòu)仍有 Session、Stream和StreamPacketData不過在相應(yīng)域中將指針成員改成了 ubi_btRoot 或者 ubi_trNode 結(jié)構(gòu)。無論是Hash表或Splay Tree形式,Snort均使用了三 個獨立的內(nèi)存塊來儲存 每一個被重組的TCP包:一是Packet結(jié)構(gòu)定義的p數(shù)據(jù)包中的da
11、ta成員指向的空間 二是將數(shù)據(jù) 包p存進(jìn)Stream中以StreamPacketData結(jié)構(gòu)定義的數(shù)據(jù)包節(jié)點時,數(shù)據(jù)包節(jié)點中pkt成員指向的空 間;三是存放同一會話包的大數(shù)據(jù)包中 data成員指向的空間。Hash表的插入和 刪除的算法復(fù)雜度為0(1,而Splay Tree 的復(fù)雜度為O(log(n。Hash表的查找復(fù)雜度為O(n/m,其中n為Hash表中會話 的個 數(shù),m為H a s h表的桶個數(shù),當(dāng)對象在H a s h表中均勻分布和H a s h表的桶個 數(shù)與 對象個數(shù)一樣多時,Hash表查找復(fù) 雜度可接近O(1,這也是Snort優(yōu)先使用Hash表 作為會話儲存結(jié)構(gòu)的原因之一。3流重組對攻擊
12、的防御策略針對重組的攻擊分五類:圖2Hash表作儲存方式的TCP重組流程圖 4SplayTree作儲存方式的TCP重組流程學(xué)術(shù)研究n i c R o s e a rc h uic Researc h主元統(tǒng)計的音頻隱寫甘桁力法對D6SS隱寫技術(shù)m恨 入強(qiáng)唆粧0. 0005以上.LSB龜丐技術(shù)修改低4位現(xiàn)上, 3tehideM. Hid屛POW St年戡whit叭 9-=ibols4D 隱9 技術(shù)嵌入存誡在B0站以匕隱耳分析芬類推確率均可達(dá) 95而1L它適用尸所毎皋壓編音頻栽體.槎咼丁推 確性和適川件鰲蔚文猷DO AJ tun Q Sliatms G MirphulogicaJ steeanaly
13、i s電inal distort ions ICESR 200h1?H242 To!injin M K l.y u S Fa rid Fl Si rganH I ys( of recorded spcecK Proc SfJK 藝UCih voL 56Hi, Ki(M- H72J K lfct/J S Slghido http /steghide sourcerorge net A 2U()at Repp H Hide IKSH htwwa* heinz renpon j nelKire de/Hide4FCf! html 2U0QI5 Ril c ini G Stcgtwa Brown A
14、SHFoot s4 http /www jj tc c(m;stceoarchivc / stego.; 20L?A伍Lt ii Cli l trJe L.i hs*u hi I ft .Kwak cs i e, X.j _ E i . Ii 上t 占 fA c a d e信息安全與通信保密? 2007. 267對DS主機(jī)或者IDS軟件缺陷的攻擊。 一躲避攻擊(e v a s io n。插入 攻擊(I n s e r t i o n。干擾攻擊,該類攻擊利用大量攻擊來使ID S瘋狂報 警,而使真正有威脅的 攻擊未能被及時處理。拒絕服務(wù)攻擊(Dos,包括所有類型資源的耗盡,如硬盤、內(nèi)存、CPU等。
15、由于Snort的開源性,使第一類攻擊能及早被發(fā)現(xiàn)而排除。躲避攻擊的一個例 子是TCP SYN包可包含數(shù)據(jù),當(dāng)IDS不處理這些數(shù)據(jù)時,就造成遺漏包。插入攻擊 包括checksum攻擊(利用某些IDS不檢測checksum的漏洞和TTL攻擊(讓 數(shù)據(jù)包 剛好到達(dá)IDS而不能到達(dá)受保護(hù)主機(jī)。Snort已有專門的流程來抵御這幾類攻擊。防御躲避和插入攻擊是一對矛盾,如何找到合適的切入點,是今后需要考慮的問 題。干擾攻擊是攻擊者利用IDS自身的攻擊規(guī)則產(chǎn)生的攻擊,一旦這些攻擊包被發(fā) 送到IDS所在的網(wǎng)段,IDS會陷入報警洪流。Snort采用狀態(tài)檢 測和非法包檢測機(jī)制 使根本不被受保護(hù)主機(jī)接受的包無 法進(jìn)入
16、TCP重組流程。拒絕服務(wù)攻擊包括很 廣的范疇,攻擊者可以:發(fā)送大量數(shù)據(jù)包到IDS網(wǎng)段,讓IDS主機(jī)網(wǎng)卡讀不 過來。發(fā)送大量會被IDS接收并送至內(nèi)核處理的包,耗盡IDS緩存。制造大量攻擊讓采用記錄攻擊模式運(yùn)作的ID S不斷往硬盤寫記錄,耗盡硬盤。找出對ID S主機(jī)C P U時間消耗量最大的包,制造大量該類包,發(fā)送到IDS網(wǎng)段。拒絕服務(wù)攻擊不僅妨礙流重組,也是對整個IDS的攻擊。對于該類攻擊,Snort 的狀態(tài)檢測和非法包檢測機(jī)制能篩出垃圾包,內(nèi)核中對會話池定期按規(guī)則的清理也 能有效降低此 類攻擊的危害。第2、3、4類攻擊是由于IDS與受保護(hù)系統(tǒng) 處理包 的策略不一致造成的,而如果針對每一類操作系統(tǒng)制 定獨立數(shù)據(jù)包處理入口及處理 流程又將大大增加IDS的軟件復(fù)雜性并降低其處理速度。如何比較完善地解決這 個問題,目前還沒有有效的方案。4 結(jié)束語本文分析了 Snort入侵檢測系統(tǒng)的TCP流重組的原理和 實現(xiàn)流程,給出了重組 過程中使用的關(guān)鍵數(shù)據(jù)結(jié)構(gòu)。并對針 對重組模塊的各種攻擊做了介紹,同時研究了 Snort對這些攻擊的防御策略。文章最后提出 Snort存在的一些問題,為研究發(fā)展 Snort作了一些探討。參考文獻(xiàn)1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度汽車租賃保險附加合同模板4篇
- 2025年版?zhèn)€人委托代繳社保與生育保險代繳合同模板4篇
- 二零二五年度報刊亭承攬加工安裝與綠色環(huán)保材料采購合同3篇
- 二零二五年度文化遺址保護(hù)場地平整與遺址修復(fù)工程合同3篇
- 二零二五年度水電設(shè)施安全評估與整改合同3篇
- 2025年度木方模板原輔材料采購與質(zhì)量控制合同4篇
- 2025版智能家居系統(tǒng)木工集成服務(wù)合同4篇
- 2025年茶山茶葉種植保險購買合同4篇
- 2025年度瓷磚庫存管理與調(diào)撥合同4篇
- 二零二五版木工家具設(shè)計制造合同4篇
- 經(jīng)營范圍登記規(guī)范表述目錄(試行)(V1.0.2版)
- 阿里商旅整體差旅解決方案
- 浙江天臺歷史文化名城保護(hù)規(guī)劃說明書
- 邏輯思維訓(xùn)練500題
- 第八講 發(fā)展全過程人民民主PPT習(xí)概論2023優(yōu)化版教學(xué)課件
- 實體瘤療效評價標(biāo)準(zhǔn)RECIST-1.1版中文
- 企業(yè)新春茶話會PPT模板
- GB/T 19185-2008交流線路帶電作業(yè)安全距離計算方法
- DIC診治新進(jìn)展課件
- 公路工程施工現(xiàn)場安全檢查手冊
- 1汽輪機(jī)跳閘事故演練
評論
0/150
提交評論