翟繼強(qiáng)+郭鵬姣+唐遠(yuǎn)新



摘要:針對目前網(wǎng)絡(luò)流量中飛速增長的多媒體數(shù)據(jù),設(shè)計(jì)和實(shí)現(xiàn)了一個多媒體分類器,作為可選的Snort預(yù)處理插件,通過解析多媒體文件格式和協(xié)議的特定信息,來增強(qiáng)Snort檢測引擎針對多媒體類型網(wǎng)絡(luò)攻擊的識別處理能力。通過實(shí)驗(yàn)測試了下載流量和流媒體網(wǎng)絡(luò)數(shù)據(jù),實(shí)驗(yàn)結(jié)果表明,本方法可以有效提高入侵檢測系統(tǒng)的性能,同時(shí)降低了高速網(wǎng)絡(luò)中進(jìn)行詳細(xì)流量分析的計(jì)算成本。
關(guān)鍵詞:入侵檢測;Snort;多媒體;流量分類器;流
DOI:10.15938/j.jhust.2016.03.009
中圖分類號:TP393 文獻(xiàn)標(biāo)志碼:A 文章編號:1007—2683(2016)03—0043—06
0引言
網(wǎng)絡(luò)入侵檢測系統(tǒng)通過掃描進(jìn)出網(wǎng)絡(luò)流量搜索特定格式和特征的數(shù)據(jù)來檢測惡意或未授權(quán)的網(wǎng)絡(luò)活動,目前面臨的一個重要問題是實(shí)時(shí)分析海量網(wǎng)絡(luò)數(shù)據(jù)的高額計(jì)算開銷,使得檢測引擎有時(shí)不得不跳過、忽略甚至漏掉一些數(shù)據(jù)包。而隨著互聯(lián)網(wǎng)的急劇闊容,寬帶家庭用戶和移動終端大量接人,網(wǎng)絡(luò)流量中包括視頻、音頻、圖像的多媒體流量激增,使這個問題更加復(fù)雜和突出。
另一方面以往有關(guān)多媒體安全漏洞和攻擊的報(bào)告相對較少,網(wǎng)絡(luò)中的多媒體流量相對于其他類型的數(shù)據(jù)通常被認(rèn)為是良性的,并不被看成是一個可以影響入侵檢測系統(tǒng)性能或檢測率的特別因素,然而隨著多媒體格式和算法變得越來越復(fù)雜,也存在一些安全漏洞被黑客利用。
因此,本文提出借助多媒體文件格式和協(xié)議的特定信息對網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行分類,使用附加的頭信息分類多媒體數(shù)據(jù),檢查進(jìn)向和出向的數(shù)據(jù)流內(nèi)容,尋找已知的多媒體特性,如JPEG、RTSP標(biāo)記,如果多媒體流量符合標(biāo)準(zhǔn)格式,則被標(biāo)記為可信任數(shù)據(jù),余下的同類型流量可被檢測引擎忽略,否則會被作為異常數(shù)據(jù)而報(bào)警,同時(shí)這些附加的多媒體分類信息可以幫助系統(tǒng)檢測針對多媒體漏洞的攻擊。這樣就可以有效降低檢測引擎的處理開銷,提高入侵檢測系統(tǒng)的工作效率。
1多媒體數(shù)據(jù)流分類器
1.1分類器的設(shè)計(jì)
本文開發(fā)了一個多媒體分類器作為snon預(yù)處理插件來對數(shù)據(jù)包進(jìn)行預(yù)處理和分析。當(dāng)網(wǎng)絡(luò)流量被捕獲時(shí),分類器將進(jìn)向和出向的數(shù)據(jù)流劃分為多媒體流或非多媒體流。一旦發(fā)現(xiàn)一個會話包含多媒體流量,入侵檢測系統(tǒng)IDS會對數(shù)據(jù)流或會話進(jìn)行多重檢測來確定內(nèi)容是否是授權(quán)的有效數(shù)據(jù)流,如果數(shù)據(jù)流被認(rèn)定為是非授權(quán)的,入侵檢測系統(tǒng)將根據(jù)規(guī)則集繼續(xù)運(yùn)行分析和檢測,通過預(yù)處理和授權(quán)檢查的數(shù)據(jù),則利用Snort的全局檢測標(biāo)識(do-de-tect)告之Snort跳過對已標(biāo)記數(shù)據(jù)包的檢測和規(guī)則集比較。因?yàn)槎嗝襟w文件通常是非常大的,使用前幾個數(shù)據(jù)包來分類和標(biāo)記多媒體數(shù)據(jù)所花費(fèi)的時(shí)間開銷遠(yuǎn)遠(yuǎn)小于對數(shù)據(jù)流中所有剩余數(shù)據(jù)包檢查所需的時(shí)間,而讓檢測引擎專注于分析潛在更大威脅的流量。
多媒體分類器的數(shù)據(jù)處理流程如圖1所示。多媒體分類器在檢測引擎之前,每個進(jìn)入多媒體分類器的數(shù)據(jù)包首先要檢查它是否屬于一個已授權(quán)的流或會話。然后逐字節(jié)檢查該數(shù)據(jù)包,以確定是否包含已知的多媒體標(biāo)識符。如果這樣的標(biāo)識符被定位,就可以使用特定的規(guī)則集來提取參數(shù)并檢查已知漏洞攻擊。如果數(shù)據(jù)包通過了參數(shù)提取和漏洞攻擊檢測階段,則被授權(quán)為可信的多媒體流,并指派一個標(biāo)識,來告知檢測引擎無須對它進(jìn)一步分析。
多媒體分類器的處理結(jié)果有3種:
1)數(shù)據(jù)被認(rèn)為是可信多媒體流的一部分而被授權(quán)。屬于相同流的余下數(shù)據(jù)包則可以繞過檢測引擎的進(jìn)一步分析。
2)數(shù)據(jù)被識別為多媒體漏洞攻擊而生成報(bào)警。因?yàn)橐呀?jīng)把數(shù)據(jù)標(biāo)記為惡意的內(nèi)容,數(shù)據(jù)流的其余部分就可以繞過檢測引擎。
3)如果數(shù)據(jù)本質(zhì)上不是多媒體類型數(shù)據(jù),則正常通過檢測引擎進(jìn)行處理。
1.2應(yīng)用分析
網(wǎng)絡(luò)中多媒體數(shù)據(jù)可以分為Non-Streaming和Streaming兩大類:
1.2.1非流式(non-streaming)
非流式的多媒體流量具有以下屬性:
1)所有內(nèi)容必須完全下載之后才能開始播放。
2)無需為傳輸playback播放控制信息或內(nèi)容建立臨時(shí)性回話。
3)文件可以被劃分為文件頭和壓縮內(nèi)容。
圖2顯示了所提出的分類器對非流式網(wǎng)絡(luò)流量的影響分析。沒有多媒體分類器的情況下,所有的多媒體數(shù)據(jù)包都將通過檢測引擎進(jìn)行詳盡的檢查和匹配以查找可能的惡意攻擊。當(dāng)使用分類器時(shí),網(wǎng)絡(luò)流首先通過檢驗(yàn)文件頭來確認(rèn)它符合已知的標(biāo)準(zhǔn)。當(dāng)數(shù)據(jù)包被標(biāo)記為含有可信的多媒體內(nèi)容之后,要繼續(xù)查找是否含有已知多媒體漏洞的攻擊特征。確定沒有危險(xiǎn)數(shù)據(jù),多媒體數(shù)據(jù)流才會被授權(quán),之后任何屬于相同流的數(shù)據(jù)包將繞過檢測引擎,從而大大減少了檢測引擎的工作負(fù)荷。
1.2.2流式(Streaming)
流式的多媒體流量具有以下屬性:
1)使用包含握手機(jī)制的初始化會話,用于建立類似傳輸端口的流參數(shù)。
2)一個緩沖區(qū)收到足夠數(shù)量的數(shù)據(jù),內(nèi)容重放才可以開始。
3)會話中包含有重放的操作控制信息,如暫停的功能。
流式多媒體流量一旦被授權(quán),和非流的方式一樣,這個流的所有剩余數(shù)據(jù)包都將被分類器標(biāo)識授權(quán)直到這個流結(jié)束。圖3給出了所提出的分類器對流式網(wǎng)絡(luò)流量的影響分析。
1.3相關(guān)多媒體文件頭和協(xié)議
多媒體分類器通過檢查已知的多媒體格式文件頭來處理非流的多媒體流量。所檢查的格式和使用的技術(shù)主要包括:
1.3.1 JPEG
JPEG頭由標(biāo)示頭部各部分的標(biāo)記共同組成。標(biāo)記包括兩個字節(jié)序列:FF+表示標(biāo)記功能的字節(jié)。像許多其他的文件格式一樣,JPEG包含必需的和可選的標(biāo)記和字段。表1列出了我們所要分析和使用的這些JPEG標(biāo)記信息。
多媒體分類預(yù)處理器分幾步來分析JPEG文件。首先定位幀標(biāo)記開始處,讀取SOFO字段的長度。然后從這一點(diǎn)開始,向前移動到文件內(nèi),定位到Huffman表所在的位置。如果這兩個條件都滿足,就可以確定這是包含文件頭的JPEG文件的第一個數(shù)據(jù)包。一旦JPEG文件被識別,就可以開始尋找文件的攻擊特征。
1.3.2 PNG
PNG格式是基于GIF格式的,可以通過尋找包含文件組織結(jié)構(gòu)信息的PNG塊來分析。有四個主要的PNG塊,其中IHDR、IDAT和IEND是每一個PNG圖像所必需的。
1)IHDR文件頭塊:PNG圖像的第一個數(shù)據(jù)塊,包含了圖像的基本信息。
2)PLTE調(diào)色板塊:存儲與圖像數(shù)據(jù)相關(guān)聯(lián)的彩色圖像,只有使用調(diào)色板的時(shí)候才存在。
3)IDAT圖像塊:包含圖像數(shù)據(jù),在一個文件中可以出現(xiàn)多個連續(xù)的數(shù)據(jù)塊。
4)IEND圖像尾塊:標(biāo)記圖像文件的結(jié)束。
圖4顯示了一個PNG圖像的PNG塊信息。可以看到文件頭塊IHDR(0x49484452)之后圖像的高度(0x0000001E)和寬度(0x00000019),圖像塊ID-TA(Ox49444154)緊隨的就是壓縮圖像數(shù)據(jù)。
1.3.3實(shí)時(shí)流協(xié)議
實(shí)時(shí)流協(xié)議RTSP(RealTime streaming protocol)是一種廣泛使用的流媒體協(xié)議,已經(jīng)在windows Media Services、Helix(RealPlayer)和Quicktime/Dar-win Streaming等服務(wù)中廣泛實(shí)現(xiàn)。實(shí)時(shí)流協(xié)議用來協(xié)商客戶機(jī)/服務(wù)器的流媒體會話,對有效載荷沒有任何要求。從入侵測系統(tǒng)的角度,我們分離會話處理和傳輸規(guī)范,著重分析會話,忽略不需要分析的有效載荷。
入侵檢測系統(tǒng)在實(shí)時(shí)流協(xié)議會話啟動時(shí),從SETUP方法中提取會話數(shù)據(jù)端口號。一旦一個RTSP的SETUP被識別并存儲相應(yīng)端口號,就會尋找RTSP PLAY播放請求,檢測到播放請求,則標(biāo)記通過該指定端口的所有數(shù)據(jù)包,跳過后續(xù)檢查。直到檢測出TEARDOWN請求時(shí),把該端口從端口列表中刪除。在預(yù)處理分類器中,其他的RTSP消息被忽略,因?yàn)樗鼈儾话魏芜M(jìn)一步提高會話監(jiān)控的有效性或準(zhǔn)確性的信息。
1.4多媒體漏洞分析
近年來,隨著新多媒體格式的不斷出現(xiàn)和多媒體軟件工具的大量發(fā)行,針對多媒體協(xié)議和格式的攻擊也隨之增加。本文所提出的多媒體分類只檢查文件頭相關(guān)的字節(jié),主要有三個原因:
1)由多媒體預(yù)處理器引入的計(jì)算開銷要盡可能小。
2)本節(jié)描述的所有相關(guān)的多媒體特定漏洞都可以通過文件頭成功檢測。
3)多媒體文件數(shù)據(jù)區(qū)中一個或多個字節(jié)的改變往往對媒體質(zhì)量影響有限,終端用戶也很難檢測和察覺。檢查多媒體傳輸惡意內(nèi)容的操作不是入侵檢測的范疇,最好采用數(shù)字水印和其它認(rèn)證技術(shù)。
1.4.1 JPEG
JPEG漏洞使得攻擊者可以獲取對漏洞系統(tǒng)的控制權(quán),JPEG規(guī)范允許在JPEG文件中嵌入注釋,注釋區(qū)以O(shè)xFFFE開始,后面跟著一個兩字節(jié)的值,指定注釋長度(包括該字段本身的兩個字節(jié)),注釋數(shù)據(jù)在文件JPEG顯示時(shí)是不可見的。理論上允許65 535個字節(jié)的注釋數(shù)據(jù),即使注釋內(nèi)容為空,注釋長度值最小也等于2。如果一個惡意特制的JPEG文件設(shè)置該長度為0或1等非法值,就會導(dǎo)致緩沖區(qū)溢出。
多媒體分類器通過讀取注釋論區(qū)可以很容易地檢測到這類漏洞攻擊,進(jìn)而提醒管理員阻塞該文件。圖5顯示了JPEG圖片中嵌入文件頭的注釋區(qū)信息,注解字段標(biāo)識符(0xFFFE)后跟一個有效的字段長度OxOOOF。簡單地把這個值改為Ox0000或0x0001,就可以將有效的圖像轉(zhuǎn)換為含有漏洞的圖像。
1.4.2 PNG
PNG也存在緩沖區(qū)溢出漏洞使得攻擊者通過定制PNG塊造成緩沖區(qū)溢出而獲取對目標(biāo)系統(tǒng)的控制權(quán)。類似于JPEG漏洞,用戶可能沒有意識到自己的系統(tǒng)已經(jīng)被攻擊,因?yàn)閳D像仍會正確顯示,即使文件頭有畸形的部分。當(dāng)結(jié)合MSN Messenger時(shí),這個漏洞特別危險(xiǎn),因?yàn)橛脩舨槐刂苯诱埱蠡蚪邮芤粋€使系統(tǒng)受到損害的圖像。攻擊者可以使用一個PNG文件作為一個好友圖標(biāo),聊天會話時(shí),這個圖標(biāo)會自動傳輸,從而獲得對目標(biāo)系統(tǒng)的控制。
MSN Messenger PNG漏洞是由圖像的文件頭塊和頭像透明塊tRNS的數(shù)據(jù)共同組成。在顏色類型字段必須設(shè)置使用的顏色和調(diào)色板,使用標(biāo)識的α信道不必設(shè)置。顏色類型字段必須有0x03,且tRNS的內(nèi)容必須超過256,達(dá)到一個函數(shù)指針地址。
1.4.3 RTSP
多媒體分類器能夠檢測RTSP緩沖區(qū)溢出問題,例如利用RTSP DESCRIBE方法的Darwin Streaming服務(wù)器漏洞,允許攻擊者執(zhí)行惡意代碼。以下是針對該漏洞的Snort檢測規(guī)則:
該規(guī)則表示對于來自任何外部網(wǎng)絡(luò)的任何端口訪問HTFP服務(wù)器554端口(端口554是RTSP通信的默認(rèn)端口)的TCP鏈接,Snort使用PCRE(Perl兼容正則表達(dá)式)查找明文字符串“DESCRIBE”,然后檢查“DESCRIBE”后面的內(nèi)容的長度。如果這些內(nèi)容大到足以導(dǎo)致緩沖區(qū)溢出,則生成警報(bào)。
2實(shí)驗(yàn)結(jié)果與分析
我們做了大量的測試,通過使用Snon檢測多媒體和非多媒體文件的FTP傳輸,測量處理器的使用情況,分析所提出的多媒體分類預(yù)處理器對入侵檢測系統(tǒng)整體性能的影響。
2.1非流式流量測試
所有的Snort實(shí)驗(yàn)都在Windows環(huán)境下進(jìn)行,利用WinPcap的數(shù)據(jù)包捕獲函數(shù)庫。使用FTP傳輸用來確保數(shù)據(jù)沒有被本地緩存,同時(shí)為了便于重復(fù)測試以及確保測試的準(zhǔn)確性,F(xiàn)TP傳輸還允許批處理作業(yè)調(diào)度。時(shí)間測定在Snon中使用clockQ函數(shù)完成,通過常量CLOCK_PRE_SEC返回。
2.1.1單個文件傳輸
在這個系列實(shí)驗(yàn)中,一次只分析一個特定文件類型(PNG和JPEG),文件大小在417KB和67MB之間。處理器節(jié)省的相應(yīng)時(shí)間在某種程度上與文件的大小成反比,對于小文件,預(yù)處理器只需要不使用分類器時(shí)的15%的時(shí)間開銷,而對于非常大的文件,這一數(shù)字將下降到低于1%。表2給出了樣本采集數(shù)據(jù),可以看出當(dāng)多媒體分類器啟用的時(shí)候,大幅度減少了總體CPU使用情況。
2.1.2混合流量
混合流量的實(shí)驗(yàn)是把多媒體和非多媒體文件結(jié)合到一批FTP下載中,多媒體流量的百分比以每次20%的步長從0%遞增到100%。下圖6顯示處理器的使用情況與批處理下載文件中的多媒體數(shù)據(jù)量成反比,從而證明了隨著多媒體流量的增加,CPU節(jié)省的時(shí)間也是增加的。表3給出了混合流量實(shí)驗(yàn)收集的原始數(shù)據(jù),再次說明了當(dāng)有多媒體流量時(shí),整體的CPU使用情況大幅減少。
2.2流媒體數(shù)據(jù)測試
流媒體測試使用RealPlayer、QuickTime和Win-dows Media Player作為客戶端,服務(wù)器端軟件采用分別Darwin Streaming服務(wù)器、Windows Media Serv-ices和Helix RealPlayer服務(wù)器。數(shù)據(jù)采集方式和非流式類似。
表4列出了測試中有代表性的原始數(shù)據(jù)。圖7則給出了使用QuickTime和Danwin Streaming服務(wù)器傳送流媒體時(shí),對于不同持續(xù)時(shí)間的流,使用和不使用預(yù)處理分類器時(shí)處理器使用情況。使用其他服務(wù)器/客戶端的組合也得到了類似的結(jié)果。說明處理器所節(jié)省的開銷隨著播放時(shí)間的增加而增大,沒有多媒體分類器時(shí),處理器使用隨著時(shí)間線性增加,但當(dāng)分類器啟用時(shí)總使用量的增加是極小的。
3結(jié)論
本文主要提出了一個多媒體分類器,通過將多媒體特定知識封裝到Snon預(yù)處理器中,這樣經(jīng)過分類后的可信的多媒體數(shù)據(jù)可以被標(biāo)識而允許繞過檢測引擎,從而使入侵檢測系統(tǒng)能夠?qū)W⒂谄渌髁浚瑫r(shí)人侵檢測系統(tǒng)能夠檢測到特定的多媒體漏洞攻擊,通過實(shí)驗(yàn)證明對于存在多媒體流量的網(wǎng)絡(luò)數(shù)據(jù),使用多媒體分類器可以顯著節(jié)省處理時(shí)間,提高入侵檢測系統(tǒng)的整體效率。
同時(shí)本文所提出的架構(gòu)是模塊化和可擴(kuò)展的,可以覆蓋不同的文件格式和流媒體協(xié)議,用戶很容易編寫新規(guī)則來檢測和防范針對多媒體特定漏洞的攻擊。