管廷昭
(南京信息工程大學(xué)信息化建設(shè)與管理處,江蘇南京210044)
計(jì)算機(jī)病毒技術(shù)融合了木馬、蠕蟲(chóng)、拒絕服務(wù)等攻擊手段,造成的損失由最初的數(shù)據(jù)丟失變?yōu)楝F(xiàn)在的信息泄漏、互聯(lián)網(wǎng)癱瘓等[1]。最早使用防火墻技術(shù)對(duì)網(wǎng)絡(luò)入侵進(jìn)行防御。它是通過(guò)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和信息服務(wù)隔離來(lái)增強(qiáng)網(wǎng)絡(luò)安全的重要技術(shù)手段[2]。但隨著網(wǎng)絡(luò)越發(fā)智能化,網(wǎng)絡(luò)攻擊形式越發(fā)多樣,僅僅使用防火墻已經(jīng)無(wú)法阻止黑客的攻擊,因此急需研究一種智能網(wǎng)絡(luò)入侵防御系統(tǒng),以提高網(wǎng)絡(luò)系統(tǒng)安全,保障用戶信息安全[3]。傳統(tǒng)防御系統(tǒng)存在數(shù)據(jù)截取率和還原率低、檢測(cè)誤報(bào)率高等問(wèn)題[4],為了彌補(bǔ)傳統(tǒng)入侵檢測(cè)系統(tǒng)的缺陷,提出持續(xù)攻擊下智能網(wǎng)絡(luò)入侵主動(dòng)防御系統(tǒng)的設(shè)計(jì)。將防御系統(tǒng)功能模塊進(jìn)行劃分,并依次進(jìn)行說(shuō)明;在智能網(wǎng)絡(luò)下,采用廣播以太網(wǎng)協(xié)議對(duì)數(shù)據(jù)包進(jìn)行捕獲,按照協(xié)議對(duì)原理進(jìn)行分析,并設(shè)計(jì)分析流程,實(shí)現(xiàn)系統(tǒng)的主動(dòng)防御。
根據(jù)智能網(wǎng)絡(luò)入侵主動(dòng)防御系統(tǒng)的功能需求,將持續(xù)攻擊下智能網(wǎng)絡(luò)入侵主動(dòng)防御系統(tǒng)的總體結(jié)構(gòu)劃分為如下7個(gè)模塊,如圖1所示。

圖1 防御系統(tǒng)功能模塊劃分
由圖1可知:智能網(wǎng)絡(luò)入侵主動(dòng)防御系統(tǒng)是由控制中心與探測(cè)引擎兩大部分組成的。控制中心負(fù)責(zé)接收傳送過(guò)來(lái)的報(bào)警信息,并及時(shí)對(duì)這些進(jìn)行處理。同時(shí),依據(jù)控制系統(tǒng)運(yùn)行狀態(tài),對(duì)報(bào)警信息進(jìn)行記錄與檢索;探測(cè)引擎是由數(shù)據(jù)包捕獲模塊、協(xié)議分析模塊、預(yù)處理模塊、規(guī)則庫(kù)、持續(xù)攻擊檢測(cè)模塊和響應(yīng)模塊共同組成的,主要負(fù)責(zé)監(jiān)視網(wǎng)絡(luò)中的攻擊行為[5-6]。
1)數(shù)據(jù)包捕獲模塊
該功能模塊可對(duì)網(wǎng)絡(luò)接口進(jìn)行訪問(wèn),并捕獲相應(yīng)數(shù)據(jù)包,將數(shù)據(jù)包移交給用戶空間,經(jīng)過(guò)分析比較之后,使用Unix衍生系統(tǒng)中的數(shù)據(jù)鏈路層原始接口BPF來(lái)訪問(wèn)鏈路層,利用函數(shù)包來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)包的捕獲[7]。
2)協(xié)議分析模塊
該功能模塊主要是對(duì)捕獲的數(shù)據(jù)包進(jìn)行解析,數(shù)據(jù)包中包括鏈路層、傳輸層和網(wǎng)絡(luò)層的包頭字段,該部分采用協(xié)議分層和數(shù)據(jù)封裝技術(shù),結(jié)合解封機(jī)制,根據(jù)各種協(xié)議規(guī)則,對(duì)字段數(shù)據(jù)包頭進(jìn)行逐層解析。
3)預(yù)處理模塊
該功能模塊主要是對(duì)數(shù)據(jù)包進(jìn)行預(yù)處理,通過(guò)對(duì)數(shù)據(jù)包解碼與重組來(lái)對(duì)抗入侵檢測(cè)系統(tǒng)的持續(xù)攻擊,基于重組原理對(duì)數(shù)據(jù)包進(jìn)行重組,將重組后的數(shù)據(jù)進(jìn)行分片攻擊檢查處理[8-9]。
4)規(guī)則庫(kù)模塊
該功能模塊主要是對(duì)網(wǎng)絡(luò)持續(xù)攻擊行為進(jìn)行描述,在各種網(wǎng)絡(luò)攻擊行為基礎(chǔ)上,構(gòu)建攻擊語(yǔ)言,用該語(yǔ)言來(lái)描述攻擊特征,同時(shí)將報(bào)警信息用中文來(lái)描述,方便管理員管理。
5)持續(xù)攻擊檢測(cè)模塊
該功能模塊根據(jù)病毒入侵規(guī)則對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,并對(duì)相應(yīng)數(shù)據(jù)包進(jìn)行特征匹配,目的是使用最有效的方式對(duì)字符串進(jìn)行匹配,以達(dá)到快速檢測(cè)效果。
6)響應(yīng)模塊
響應(yīng)模塊主要負(fù)責(zé)將數(shù)據(jù)包和相關(guān)攻擊信息記錄到數(shù)據(jù)庫(kù)中,當(dāng)有攻擊事件發(fā)生時(shí),該模塊進(jìn)行報(bào)警,進(jìn)而實(shí)現(xiàn)數(shù)據(jù)包的主動(dòng)切斷。該部分使用實(shí)現(xiàn)了系統(tǒng)中列表訪問(wèn)的主動(dòng)性,并準(zhǔn)確丟棄了不符合策略數(shù)據(jù)包[10]。
1.2.1 數(shù)據(jù)包捕獲
數(shù)據(jù)包捕獲功能主要是對(duì)數(shù)據(jù)鏈路層訪問(wèn),查找并打開(kāi)網(wǎng)絡(luò)接口進(jìn)行監(jiān)聽(tīng),由此獲取數(shù)據(jù)包。將捕獲后的數(shù)據(jù)包傳輸給用戶主機(jī)進(jìn)行下一步處理[11]。
在智能網(wǎng)絡(luò)下,采用廣播以太網(wǎng)協(xié)議,傳輸數(shù)據(jù)包為統(tǒng)一區(qū)域主機(jī)所接收,該網(wǎng)絡(luò)工作模式有兩種,分別為正常模式和混雜模式。在正常模式下,以太網(wǎng)卡所接收的數(shù)據(jù)包必須具有詳細(xì)地址,如果地址為本機(jī)或廣播,那么將該數(shù)據(jù)包放置到緩沖區(qū)域,其他地址的數(shù)據(jù)包可直接丟棄。在混雜模式下,以太網(wǎng)卡所接收的數(shù)據(jù)包為該網(wǎng)絡(luò)區(qū)域的全部數(shù)據(jù)包,無(wú)論是否具有詳細(xì)的地址,該網(wǎng)卡都可接收統(tǒng)一區(qū)域內(nèi)進(jìn)行監(jiān)聽(tīng)的數(shù)據(jù)包[12]。
數(shù)據(jù)捕獲工作模式可分為兩種,分別是并聯(lián)和串聯(lián)。并聯(lián)為捕獲數(shù)據(jù)包的全部工具連接到多端口的轉(zhuǎn)發(fā)器(HUB)上,利用網(wǎng)絡(luò)特性來(lái)捕獲不同主機(jī)數(shù)據(jù)包,在該網(wǎng)絡(luò)中,并聯(lián)模式可監(jiān)聽(tīng)整個(gè)區(qū)域內(nèi)的通信[13-14]。并聯(lián)模式下只需捕獲數(shù)據(jù)包,不用進(jìn)行處理與轉(zhuǎn)發(fā),因此對(duì)該部分硬件要求較小。串聯(lián)模式下,數(shù)據(jù)包大都集中在路由器中,該模式不僅需要捕獲數(shù)據(jù),還需對(duì)數(shù)據(jù)進(jìn)行接收與轉(zhuǎn)發(fā),串聯(lián)模式如圖2所示。

圖2 串聯(lián)模式
由圖2可知,串聯(lián)模式下,對(duì)數(shù)據(jù)包捕獲設(shè)備要求較高,因此進(jìn)行數(shù)據(jù)包捕獲時(shí),需利用探測(cè)引擎對(duì)網(wǎng)絡(luò)中的數(shù)據(jù)進(jìn)行串聯(lián),實(shí)現(xiàn)數(shù)據(jù)包的自由轉(zhuǎn)發(fā)。
只有直接訪問(wèn)數(shù)據(jù)鏈路層才可接收應(yīng)用程序所產(chǎn)生的數(shù)據(jù)包,通常情況下,該系統(tǒng)可采用數(shù)據(jù)鏈路層原始接口BPF訪問(wèn)鏈路層。

圖3 BPF截獲分組
由圖3可知:該訪問(wèn)機(jī)制的基本原理為:從網(wǎng)絡(luò)設(shè)備程序中收集數(shù)據(jù),并轉(zhuǎn)發(fā)到監(jiān)聽(tīng)程序中。通過(guò)過(guò)濾器來(lái)決定數(shù)據(jù)包是否接收,過(guò)濾之后將接收的部分進(jìn)行緩沖,等緩沖數(shù)據(jù)達(dá)到一定限值時(shí),提交給用戶,進(jìn)而大大提高了運(yùn)轉(zhuǎn)效率[15]。
1.2.2 協(xié)議分析模塊
按照協(xié)議對(duì)原理進(jìn)行分析,具體分析流程如圖4所示。

圖4 協(xié)議分析處理流程
由圖4可知:根據(jù)監(jiān)聽(tīng)接口鏈路種類(lèi)可確定處理函數(shù),將接口處所捕獲的數(shù)據(jù)包遞交給鏈路層進(jìn)行函數(shù)處理。分析鏈路層幀頭各段文字,根據(jù)下一個(gè)種類(lèi)將數(shù)據(jù)包傳遞給處理層進(jìn)行計(jì)算。為了能夠快速解析各個(gè)數(shù)據(jù)包的字段信息,需將帶有詳細(xì)字段的協(xié)議包進(jìn)行解析,從而設(shè)計(jì)出協(xié)議格式字段。
1)數(shù)據(jù)鏈路層
該層次主要是將網(wǎng)絡(luò)上層提交下來(lái)的數(shù)據(jù)進(jìn)行組裝,在兩個(gè)節(jié)點(diǎn)之間進(jìn)行傳送,完成以幀為單位的數(shù)據(jù)傳遞。最常見(jiàn)的網(wǎng)絡(luò)鏈路就是以太網(wǎng)鏈路,該鏈路以協(xié)議結(jié)構(gòu)為基礎(chǔ),設(shè)計(jì)網(wǎng)絡(luò)數(shù)據(jù)鏈路層協(xié)議數(shù)據(jù)單元幀格式,如圖5所示。

圖5 數(shù)據(jù)幀格式
由圖5可知:該段數(shù)據(jù)幀格式使用了標(biāo)識(shí)網(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è)計(jì)數(shù)據(jù)包格式,如圖6所示。

圖6 數(shù)據(jù)報(bào)頭格式
由圖6可知:數(shù)據(jù)報(bào)頭是由固定字段和可選字段組成,固定字段有15字節(jié),主要包括標(biāo)識(shí)協(xié)議版本和報(bào)頭長(zhǎng)度字段、服務(wù)種類(lèi),數(shù)據(jù)總長(zhǎng)度之和,及IP相關(guān)字段可標(biāo)識(shí)到下一種類(lèi)的協(xié)議字段;可選字段長(zhǎng)度固定,從1到30字節(jié)不等,該字段長(zhǎng)度主要取決于所選擇的項(xiàng)目,IPv6協(xié)議是IP協(xié)議基礎(chǔ)上逐漸完善起來(lái)的。該報(bào)頭是由基本報(bào)頭與擴(kuò)展報(bào)頭這兩部分組成的,基本報(bào)頭是固定的。擴(kuò)展報(bào)頭是可選擇的,報(bào)頭基本長(zhǎng)度一定,因此可省略報(bào)頭字節(jié),降低成本,該報(bào)頭可滿足各種業(yè)務(wù)對(duì)不同服務(wù)形式的要求。IPv6可將地址長(zhǎng)度擴(kuò)充到27位,以支持大量數(shù)據(jù)的網(wǎng)絡(luò)節(jié)點(diǎn),促使協(xié)議靈活運(yùn)用,為后續(xù)拓展型應(yīng)用提供了可能。
為了驗(yàn)證持續(xù)攻擊下智能網(wǎng)絡(luò)入侵主動(dòng)防御系統(tǒng)設(shè)計(jì)的合理性進(jìn)行了如下實(shí)驗(yàn)。
進(jìn)行測(cè)試的防御功能是否滿足預(yù)期標(biāo)準(zhǔn),需檢查主動(dòng)防御功能實(shí)現(xiàn)的準(zhǔn)確性,需要進(jìn)行測(cè)試的功能點(diǎn)如表1所示。
根據(jù)表1中各項(xiàng)功能點(diǎn)的測(cè)試,可檢查出不同功能點(diǎn)是否能主動(dòng)實(shí)現(xiàn)。當(dāng)檢索引擎受到攻擊時(shí),web管理頁(yè)面會(huì)出現(xiàn)一個(gè)箭頭“→”來(lái)提示管理員有攻擊事件發(fā)生,當(dāng)管理員查看報(bào)警信息后,該箭頭“→”就會(huì)消失;反之,會(huì)一直出現(xiàn)。根據(jù)該報(bào)警功能,對(duì)數(shù)據(jù)截取率和還原率進(jìn)行測(cè)試,查看是否滿足預(yù)期測(cè)試標(biāo)準(zhǔn)。

表1 功能點(diǎn)測(cè)試
數(shù)據(jù)截取率和還原率測(cè)試是整個(gè)持續(xù)攻擊智能網(wǎng)絡(luò)入侵主動(dòng)防御系統(tǒng)抓包和數(shù)據(jù)包分析的能力,在不同數(shù)據(jù)包大小、測(cè)試速率的條件下,將系統(tǒng)抓包能力與分析能力進(jìn)行測(cè)試會(huì)發(fā)現(xiàn)不同之處,因此,在不同網(wǎng)絡(luò)環(huán)境下、不同數(shù)據(jù)包大小及不同種類(lèi)協(xié)議背景下,檢測(cè)系統(tǒng)數(shù)據(jù)包的捕獲率,并將獲取的數(shù)據(jù)包進(jìn)行分析。數(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é)議為T(mén)CP,將發(fā)送時(shí)間設(shè)置為1分鐘,記錄主動(dòng)入侵防御系統(tǒng)已經(jīng)捕獲的數(shù)據(jù)包個(gè)數(shù)和已解析的數(shù)據(jù)包,進(jìn)而計(jì)算數(shù)據(jù)的截取率和還原率。
進(jìn)行拒絕服務(wù)持續(xù)攻擊(teardrop)測(cè)試之后,通過(guò)智能網(wǎng)絡(luò)控制界面報(bào)警信息欄,查看報(bào)警信息。分別測(cè)試不同背景網(wǎng)絡(luò)流量數(shù)據(jù)截取率和還原率,結(jié)果如表2所示。

表2 數(shù)據(jù)截取率和還原率測(cè)試結(jié)果
由表2可知:在智能網(wǎng)絡(luò)環(huán)境下,背景流量為20M以下時(shí),數(shù)據(jù)截取率可達(dá)到98%以上,數(shù)據(jù)還原率也可達(dá)到98%。在數(shù)據(jù)包大小字節(jié)為27時(shí),數(shù)據(jù)截取率和還原率會(huì)降低,當(dāng)背景流量達(dá)到25M以上時(shí),智能網(wǎng)絡(luò)中數(shù)據(jù)碰撞較為嚴(yán)重,影響測(cè)試效果。
在不同網(wǎng)絡(luò)背景、不同數(shù)據(jù)包大小情況下,攻擊主機(jī)所發(fā)送的500個(gè)不同種類(lèi)網(wǎng)絡(luò)攻擊包,攻擊完成之后,統(tǒng)計(jì)攻擊次數(shù),計(jì)算誤報(bào)率。誤報(bào)率為測(cè)試中的差錯(cuò)率和狀態(tài)攻擊誤報(bào)率之和,將傳統(tǒng)防御系統(tǒng)與持續(xù)攻擊下智能網(wǎng)絡(luò)入侵主動(dòng)防御系統(tǒng)檢測(cè)結(jié)果誤報(bào)率進(jìn)行對(duì)比,如圖7所示。

圖7 兩種系統(tǒng)誤報(bào)率檢測(cè)結(jié)果對(duì)比
由圖7可知:傳統(tǒng)防御系統(tǒng)隨著實(shí)驗(yàn)次數(shù)的增加,檢測(cè)誤報(bào)率也逐漸上升;改進(jìn)設(shè)計(jì)的防御系統(tǒng)基本維持在誤報(bào)率20%左右,沒(méi)有明顯上升趨勢(shì)。
根據(jù)各項(xiàng)功能點(diǎn)測(cè)試,對(duì)數(shù)據(jù)截取率和還原率進(jìn)行測(cè)試。當(dāng)背景流量為20M以下時(shí),數(shù)據(jù)截取率可達(dá)到98%以上,數(shù)據(jù)還原率也可達(dá)到98%。在數(shù)據(jù)包大小字節(jié)為27時(shí),數(shù)據(jù)截取率和還原率會(huì)降低,由此可看出,持續(xù)攻擊下智能網(wǎng)絡(luò)入侵主動(dòng)防御系統(tǒng)數(shù)據(jù)截取率和還原率較高;將傳統(tǒng)設(shè)計(jì)方法與改進(jìn)設(shè)計(jì)方法進(jìn)行對(duì)比,可看出傳統(tǒng)防御系統(tǒng)隨著實(shí)驗(yàn)次數(shù)增加,檢測(cè)誤報(bào)率也逐漸上升;改進(jìn)設(shè)計(jì)的防御系統(tǒng)基本維持在誤報(bào)率20%左右,沒(méi)有明顯上升趨勢(shì)。
持續(xù)攻擊下智能網(wǎng)絡(luò)入侵主動(dòng)防御系統(tǒng)是一個(gè)比較全面的防護(hù)軟件,該檢測(cè)系統(tǒng)能夠較好抵擋黑客的持續(xù)攻擊,且用戶可從容面對(duì)帶有流行特征的病毒或木馬入侵。通過(guò)主動(dòng)攔截機(jī)制可分析程序危險(xiǎn)情況,及時(shí)阻止病毒運(yùn)行,為用戶主機(jī)安全提供保障。