管廷昭
(南京信息工程大學(xué)信息化建設(shè)與管理處,江蘇南京210044)
計算機病毒技術(shù)融合了木馬、蠕蟲、拒絕服務(wù)等攻擊手段,造成的損失由最初的數(shù)據(jù)丟失變?yōu)楝F(xiàn)在的信息泄漏、互聯(lián)網(wǎng)癱瘓等[1]。最早使用防火墻技術(shù)對網(wǎng)絡(luò)入侵進行防御。它是通過網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和信息服務(wù)隔離來增強網(wǎng)絡(luò)安全的重要技術(shù)手段[2]。但隨著網(wǎng)絡(luò)越發(fā)智能化,網(wǎng)絡(luò)攻擊形式越發(fā)多樣,僅僅使用防火墻已經(jīng)無法阻止黑客的攻擊,因此急需研究一種智能網(wǎng)絡(luò)入侵防御系統(tǒng),以提高網(wǎng)絡(luò)系統(tǒng)安全,保障用戶信息安全[3]。傳統(tǒng)防御系統(tǒng)存在數(shù)據(jù)截取率和還原率低、檢測誤報率高等問題[4],為了彌補傳統(tǒng)入侵檢測系統(tǒng)的缺陷,提出持續(xù)攻擊下智能網(wǎng)絡(luò)入侵主動防御系統(tǒng)的設(shè)計。將防御系統(tǒng)功能模塊進行劃分,并依次進行說明;在智能網(wǎng)絡(luò)下,采用廣播以太網(wǎng)協(xié)議對數(shù)據(jù)包進行捕獲,按照協(xié)議對原理進行分析,并設(shè)計分析流程,實現(xiàn)系統(tǒng)的主動防御。
根據(jù)智能網(wǎng)絡(luò)入侵主動防御系統(tǒng)的功能需求,將持續(xù)攻擊下智能網(wǎng)絡(luò)入侵主動防御系統(tǒng)的總體結(jié)構(gòu)劃分為如下7個模塊,如圖1所示。
圖1 防御系統(tǒng)功能模塊劃分
由圖1可知:智能網(wǎng)絡(luò)入侵主動防御系統(tǒng)是由控制中心與探測引擎兩大部分組成的??刂浦行呢?fù)責(zé)接收傳送過來的報警信息,并及時對這些進行處理。同時,依據(jù)控制系統(tǒng)運行狀態(tài),對報警信息進行記錄與檢索;探測引擎是由數(shù)據(jù)包捕獲模塊、協(xié)議分析模塊、預(yù)處理模塊、規(guī)則庫、持續(xù)攻擊檢測模塊和響應(yīng)模塊共同組成的,主要負(fù)責(zé)監(jiān)視網(wǎng)絡(luò)中的攻擊行為[5-6]。
1)數(shù)據(jù)包捕獲模塊
該功能模塊可對網(wǎng)絡(luò)接口進行訪問,并捕獲相應(yīng)數(shù)據(jù)包,將數(shù)據(jù)包移交給用戶空間,經(jīng)過分析比較之后,使用Unix衍生系統(tǒng)中的數(shù)據(jù)鏈路層原始接口BPF來訪問鏈路層,利用函數(shù)包來實現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)包的捕獲[7]。
2)協(xié)議分析模塊
該功能模塊主要是對捕獲的數(shù)據(jù)包進行解析,數(shù)據(jù)包中包括鏈路層、傳輸層和網(wǎng)絡(luò)層的包頭字段,該部分采用協(xié)議分層和數(shù)據(jù)封裝技術(shù),結(jié)合解封機制,根據(jù)各種協(xié)議規(guī)則,對字段數(shù)據(jù)包頭進行逐層解析。
3)預(yù)處理模塊
該功能模塊主要是對數(shù)據(jù)包進行預(yù)處理,通過對數(shù)據(jù)包解碼與重組來對抗入侵檢測系統(tǒng)的持續(xù)攻擊,基于重組原理對數(shù)據(jù)包進行重組,將重組后的數(shù)據(jù)進行分片攻擊檢查處理[8-9]。
4)規(guī)則庫模塊
該功能模塊主要是對網(wǎng)絡(luò)持續(xù)攻擊行為進行描述,在各種網(wǎng)絡(luò)攻擊行為基礎(chǔ)上,構(gòu)建攻擊語言,用該語言來描述攻擊特征,同時將報警信息用中文來描述,方便管理員管理。
5)持續(xù)攻擊檢測模塊
該功能模塊根據(jù)病毒入侵規(guī)則對數(shù)據(jù)進行預(yù)處理,并對相應(yīng)數(shù)據(jù)包進行特征匹配,目的是使用最有效的方式對字符串進行匹配,以達(dá)到快速檢測效果。
6)響應(yīng)模塊
響應(yīng)模塊主要負(fù)責(zé)將數(shù)據(jù)包和相關(guān)攻擊信息記錄到數(shù)據(jù)庫中,當(dāng)有攻擊事件發(fā)生時,該模塊進行報警,進而實現(xiàn)數(shù)據(jù)包的主動切斷。該部分使用實現(xiàn)了系統(tǒng)中列表訪問的主動性,并準(zhǔn)確丟棄了不符合策略數(shù)據(jù)包[10]。
1.2.1 數(shù)據(jù)包捕獲
數(shù)據(jù)包捕獲功能主要是對數(shù)據(jù)鏈路層訪問,查找并打開網(wǎng)絡(luò)接口進行監(jiān)聽,由此獲取數(shù)據(jù)包。將捕獲后的數(shù)據(jù)包傳輸給用戶主機進行下一步處理[11]。
在智能網(wǎng)絡(luò)下,采用廣播以太網(wǎng)協(xié)議,傳輸數(shù)據(jù)包為統(tǒng)一區(qū)域主機所接收,該網(wǎng)絡(luò)工作模式有兩種,分別為正常模式和混雜模式。在正常模式下,以太網(wǎng)卡所接收的數(shù)據(jù)包必須具有詳細(xì)地址,如果地址為本機或廣播,那么將該數(shù)據(jù)包放置到緩沖區(qū)域,其他地址的數(shù)據(jù)包可直接丟棄。在混雜模式下,以太網(wǎng)卡所接收的數(shù)據(jù)包為該網(wǎng)絡(luò)區(qū)域的全部數(shù)據(jù)包,無論是否具有詳細(xì)的地址,該網(wǎng)卡都可接收統(tǒng)一區(qū)域內(nèi)進行監(jiān)聽的數(shù)據(jù)包[12]。
數(shù)據(jù)捕獲工作模式可分為兩種,分別是并聯(lián)和串聯(lián)。并聯(lián)為捕獲數(shù)據(jù)包的全部工具連接到多端口的轉(zhuǎn)發(fā)器(HUB)上,利用網(wǎng)絡(luò)特性來捕獲不同主機數(shù)據(jù)包,在該網(wǎng)絡(luò)中,并聯(lián)模式可監(jiān)聽整個區(qū)域內(nèi)的通信[13-14]。并聯(lián)模式下只需捕獲數(shù)據(jù)包,不用進行處理與轉(zhuǎn)發(fā),因此對該部分硬件要求較小。串聯(lián)模式下,數(shù)據(jù)包大都集中在路由器中,該模式不僅需要捕獲數(shù)據(jù),還需對數(shù)據(jù)進行接收與轉(zhuǎn)發(fā),串聯(lián)模式如圖2所示。
圖2 串聯(lián)模式
由圖2可知,串聯(lián)模式下,對數(shù)據(jù)包捕獲設(shè)備要求較高,因此進行數(shù)據(jù)包捕獲時,需利用探測引擎對網(wǎng)絡(luò)中的數(shù)據(jù)進行串聯(lián),實現(xiàn)數(shù)據(jù)包的自由轉(zhuǎn)發(fā)。
只有直接訪問數(shù)據(jù)鏈路層才可接收應(yīng)用程序所產(chǎn)生的數(shù)據(jù)包,通常情況下,該系統(tǒng)可采用數(shù)據(jù)鏈路層原始接口BPF訪問鏈路層。
圖3 BPF截獲分組
由圖3可知:該訪問機制的基本原理為:從網(wǎng)絡(luò)設(shè)備程序中收集數(shù)據(jù),并轉(zhuǎn)發(fā)到監(jiān)聽程序中。通過過濾器來決定數(shù)據(jù)包是否接收,過濾之后將接收的部分進行緩沖,等緩沖數(shù)據(jù)達(dá)到一定限值時,提交給用戶,進而大大提高了運轉(zhuǎn)效率[15]。
1.2.2 協(xié)議分析模塊
按照協(xié)議對原理進行分析,具體分析流程如圖4所示。
圖4 協(xié)議分析處理流程
由圖4可知:根據(jù)監(jiān)聽接口鏈路種類可確定處理函數(shù),將接口處所捕獲的數(shù)據(jù)包遞交給鏈路層進行函數(shù)處理。分析鏈路層幀頭各段文字,根據(jù)下一個種類將數(shù)據(jù)包傳遞給處理層進行計算。為了能夠快速解析各個數(shù)據(jù)包的字段信息,需將帶有詳細(xì)字段的協(xié)議包進行解析,從而設(shè)計出協(xié)議格式字段。
1)數(shù)據(jù)鏈路層
該層次主要是將網(wǎng)絡(luò)上層提交下來的數(shù)據(jù)進行組裝,在兩個節(jié)點之間進行傳送,完成以幀為單位的數(shù)據(jù)傳遞。最常見的網(wǎng)絡(luò)鏈路就是以太網(wǎng)鏈路,該鏈路以協(xié)議結(jié)構(gòu)為基礎(chǔ),設(shè)計網(wǎng)絡(luò)數(shù)據(jù)鏈路層協(xié)議數(shù)據(jù)單元幀格式,如圖5所示。
圖5 數(shù)據(jù)幀格式
由圖5可知:該段數(shù)據(jù)幀格式使用了標(biāo)識網(wǎng)上的所有協(xié)議,方便將收集到的數(shù)據(jù)提交給處理函數(shù)模塊之中,比如:字段數(shù)值為1×1511,該字段則表示網(wǎng)絡(luò)層協(xié)議為IP;字段數(shù)值為0×15dd,該字段則表示網(wǎng)絡(luò)層協(xié)議為Ipv6。
2)網(wǎng)絡(luò)層
根據(jù)上述網(wǎng)絡(luò)層協(xié)議IP和IPv6,設(shè)計數(shù)據(jù)包格式,如圖6所示。
圖6 數(shù)據(jù)報頭格式
由圖6可知:數(shù)據(jù)報頭是由固定字段和可選字段組成,固定字段有15字節(jié),主要包括標(biāo)識協(xié)議版本和報頭長度字段、服務(wù)種類,數(shù)據(jù)總長度之和,及IP相關(guān)字段可標(biāo)識到下一種類的協(xié)議字段;可選字段長度固定,從1到30字節(jié)不等,該字段長度主要取決于所選擇的項目,IPv6協(xié)議是IP協(xié)議基礎(chǔ)上逐漸完善起來的。該報頭是由基本報頭與擴展報頭這兩部分組成的,基本報頭是固定的。擴展報頭是可選擇的,報頭基本長度一定,因此可省略報頭字節(jié),降低成本,該報頭可滿足各種業(yè)務(wù)對不同服務(wù)形式的要求。IPv6可將地址長度擴充到27位,以支持大量數(shù)據(jù)的網(wǎng)絡(luò)節(jié)點,促使協(xié)議靈活運用,為后續(xù)拓展型應(yīng)用提供了可能。
為了驗證持續(xù)攻擊下智能網(wǎng)絡(luò)入侵主動防御系統(tǒng)設(shè)計的合理性進行了如下實驗。
進行測試的防御功能是否滿足預(yù)期標(biāo)準(zhǔn),需檢查主動防御功能實現(xiàn)的準(zhǔn)確性,需要進行測試的功能點如表1所示。
根據(jù)表1中各項功能點的測試,可檢查出不同功能點是否能主動實現(xiàn)。當(dāng)檢索引擎受到攻擊時,web管理頁面會出現(xiàn)一個箭頭“→”來提示管理員有攻擊事件發(fā)生,當(dāng)管理員查看報警信息后,該箭頭“→”就會消失;反之,會一直出現(xiàn)。根據(jù)該報警功能,對數(shù)據(jù)截取率和還原率進行測試,查看是否滿足預(yù)期測試標(biāo)準(zhǔn)。
表1 功能點測試
數(shù)據(jù)截取率和還原率測試是整個持續(xù)攻擊智能網(wǎng)絡(luò)入侵主動防御系統(tǒng)抓包和數(shù)據(jù)包分析的能力,在不同數(shù)據(jù)包大小、測試速率的條件下,將系統(tǒng)抓包能力與分析能力進行測試會發(fā)現(xiàn)不同之處,因此,在不同網(wǎng)絡(luò)環(huán)境下、不同數(shù)據(jù)包大小及不同種類協(xié)議背景下,檢測系統(tǒng)數(shù)據(jù)包的捕獲率,并將獲取的數(shù)據(jù)包進行分析。數(shù)據(jù)包大小分別為 27、28、29、210、211字節(jié),背景網(wǎng)絡(luò)流量為5 M、10 M、15 M、20 M、25 M,數(shù)據(jù)包發(fā)送協(xié)議為TCP,將發(fā)送時間設(shè)置為1分鐘,記錄主動入侵防御系統(tǒng)已經(jīng)捕獲的數(shù)據(jù)包個數(shù)和已解析的數(shù)據(jù)包,進而計算數(shù)據(jù)的截取率和還原率。
進行拒絕服務(wù)持續(xù)攻擊(teardrop)測試之后,通過智能網(wǎng)絡(luò)控制界面報警信息欄,查看報警信息。分別測試不同背景網(wǎng)絡(luò)流量數(shù)據(jù)截取率和還原率,結(jié)果如表2所示。
表2 數(shù)據(jù)截取率和還原率測試結(jié)果
由表2可知:在智能網(wǎng)絡(luò)環(huán)境下,背景流量為20M以下時,數(shù)據(jù)截取率可達(dá)到98%以上,數(shù)據(jù)還原率也可達(dá)到98%。在數(shù)據(jù)包大小字節(jié)為27時,數(shù)據(jù)截取率和還原率會降低,當(dāng)背景流量達(dá)到25M以上時,智能網(wǎng)絡(luò)中數(shù)據(jù)碰撞較為嚴(yán)重,影響測試效果。
在不同網(wǎng)絡(luò)背景、不同數(shù)據(jù)包大小情況下,攻擊主機所發(fā)送的500個不同種類網(wǎng)絡(luò)攻擊包,攻擊完成之后,統(tǒng)計攻擊次數(shù),計算誤報率。誤報率為測試中的差錯率和狀態(tài)攻擊誤報率之和,將傳統(tǒng)防御系統(tǒng)與持續(xù)攻擊下智能網(wǎng)絡(luò)入侵主動防御系統(tǒng)檢測結(jié)果誤報率進行對比,如圖7所示。
圖7 兩種系統(tǒng)誤報率檢測結(jié)果對比
由圖7可知:傳統(tǒng)防御系統(tǒng)隨著實驗次數(shù)的增加,檢測誤報率也逐漸上升;改進設(shè)計的防御系統(tǒng)基本維持在誤報率20%左右,沒有明顯上升趨勢。
根據(jù)各項功能點測試,對數(shù)據(jù)截取率和還原率進行測試。當(dāng)背景流量為20M以下時,數(shù)據(jù)截取率可達(dá)到98%以上,數(shù)據(jù)還原率也可達(dá)到98%。在數(shù)據(jù)包大小字節(jié)為27時,數(shù)據(jù)截取率和還原率會降低,由此可看出,持續(xù)攻擊下智能網(wǎng)絡(luò)入侵主動防御系統(tǒng)數(shù)據(jù)截取率和還原率較高;將傳統(tǒng)設(shè)計方法與改進設(shè)計方法進行對比,可看出傳統(tǒng)防御系統(tǒng)隨著實驗次數(shù)增加,檢測誤報率也逐漸上升;改進設(shè)計的防御系統(tǒng)基本維持在誤報率20%左右,沒有明顯上升趨勢。
持續(xù)攻擊下智能網(wǎng)絡(luò)入侵主動防御系統(tǒng)是一個比較全面的防護軟件,該檢測系統(tǒng)能夠較好抵擋黑客的持續(xù)攻擊,且用戶可從容面對帶有流行特征的病毒或木馬入侵。通過主動攔截機制可分析程序危險情況,及時阻止病毒運行,為用戶主機安全提供保障。