《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 基于進(jìn)程防火墻與虛擬盤的非法信息流過濾方法
基于進(jìn)程防火墻與虛擬盤的非法信息流過濾方法
來源:微型機(jī)與應(yīng)用2013年第20期
張雪峰,周順先
(廣州番禺職業(yè)技術(shù)學(xué)院,廣東 廣州511483)
摘要: 提出一種在虛擬磁盤中對文件映像前后的訪問進(jìn)程進(jìn)行監(jiān)控并對非法信息流進(jìn)行過濾的方法。該方法在關(guān)鍵字或特征信息提取過程中安裝各種鉤子并對接入主機(jī)進(jìn)行審計,用來提高系統(tǒng)服務(wù)器的包轉(zhuǎn)發(fā)速率與非法信息的捕捉能力。其目的是阻止病毒或木馬程序?qū)ξ募茐幕驍?shù)據(jù)包劫持,保證信息接入的可控性和安全性。實驗測試表明,系統(tǒng)降低了包轉(zhuǎn)發(fā)時延,提高了包轉(zhuǎn)發(fā)速率和非法信息的識別能力。
Abstract:
Key words :

摘  要: 提出一種在虛擬磁盤中對文件映像前后的訪問進(jìn)程進(jìn)行監(jiān)控并對非法信息流進(jìn)行過濾的方法。該方法在關(guān)鍵字或特征信息提取過程中安裝各種鉤子并對接入主機(jī)進(jìn)行審計,用來提高系統(tǒng)服務(wù)器的包轉(zhuǎn)發(fā)速率與非法信息的捕捉能力。其目的是阻止病毒或木馬程序?qū)ξ募茐幕驍?shù)據(jù)包劫持,保證信息接入的可控性和安全性。實驗測試表明,系統(tǒng)降低了包轉(zhuǎn)發(fā)時延,提高了包轉(zhuǎn)發(fā)速率和非法信息的識別能力。
關(guān)鍵詞: 網(wǎng)絡(luò)信息安全;進(jìn)程防火墻虛擬磁盤技術(shù);非法信息流;內(nèi)核鉤子;過濾代價

    目前,虛擬磁盤技術(shù)廣泛應(yīng)用于快速安裝各類(如ISO、BIN等)光盤映像文件中,將文件映射為一個虛擬磁盤,以實現(xiàn)用戶的透明性文件操作。非法信息流過濾驅(qū)動通常有兩種實現(xiàn)方法:一種是以微軟的Sfilter模型為基礎(chǔ)、以過濾底層文件操作IRP包為技術(shù)的傳統(tǒng)模型[1],另一種是以微軟的MiniFilter模型為基礎(chǔ)、以過濾底層文件操作事件為技術(shù)的新式模型[2]。
    在以包過濾為基礎(chǔ)的防火墻中,王潔實現(xiàn)了一種基于FPGA的網(wǎng)絡(luò)硬件防火墻,以內(nèi)容過濾設(shè)計準(zhǔn)則實現(xiàn)對數(shù)據(jù)包的處理邏輯,使系統(tǒng)免受硬件惡意后門和軟件安全漏洞的影響,其劣勢在于處理速度遠(yuǎn)低于目前專用處理器的速度[3]。趙躍華等利用專家知識檢測網(wǎng)絡(luò)層數(shù)據(jù)包的攻擊行為和運行中應(yīng)用程序的攻擊行為推理,可實現(xiàn)防火墻過濾規(guī)則的動態(tài)生成[4]。侯整風(fēng)在參考文獻(xiàn)[5]中討論了多核防火墻分層內(nèi)容過濾的時延問題。溫貴江采用了Winsock2套接字技術(shù),在Socket中插入一層,完成傳輸質(zhì)量控制、擴(kuò)展TCP/IP協(xié)議棧、URL過濾及網(wǎng)絡(luò)安全控制等功能[6]??梢钥闯?,這些文獻(xiàn)主要涉及內(nèi)容過濾、規(guī)則推理等方法對入侵信息進(jìn)行識別與阻止,較少考慮內(nèi)核審計與實時監(jiān)控。
    本文通過在虛擬磁盤中對文件映像前后的訪問進(jìn)程進(jìn)行監(jiān)控并對非法信息流進(jìn)行監(jiān)控、查找、定位的過濾方法,能對虛擬磁盤的原映像文件進(jìn)行訪問,可識別隱藏在底層的非法信息流,并實現(xiàn)分組過濾與實時監(jiān)控,用來阻止病毒或木馬程序?qū)鬏斝畔⒌钠茐幕驍?shù)據(jù)包的劫持,維護(hù)了正常的主機(jī)接入、包訪問的可控性和數(shù)據(jù)流信息的安全性。
1 模型系統(tǒng)的構(gòu)成
1.1 系統(tǒng)結(jié)構(gòu)

    為實現(xiàn)對內(nèi)核底層分組識別過濾與監(jiān)控,系統(tǒng)在通用操作系統(tǒng)的基礎(chǔ)上增加應(yīng)用層的進(jìn)程策略管理部分和內(nèi)核層非法信息流過濾驅(qū)動,其結(jié)構(gòu)由應(yīng)用層管理程序、非法信息流過濾驅(qū)動程序及虛擬磁盤驅(qū)動3部分組成。其中非法信息流過濾驅(qū)動負(fù)責(zé)對虛擬磁盤的原映像文件及映像后的虛擬盤文件的各種操作(包括文件列表、文件數(shù)據(jù)讀寫、文件屬性讀寫等)并進(jìn)行過濾,在過濾例程中對訪問進(jìn)程進(jìn)行控制,可配置成只有本系統(tǒng)的應(yīng)用層管理程序能對虛擬磁盤的原映像文件進(jìn)行訪問,只有桌面程序及其他文件關(guān)聯(lián)的應(yīng)用程序(如OFFICE程序等)能對映像后的虛擬盤文件進(jìn)行訪問,其信息流過濾系統(tǒng)結(jié)構(gòu)如圖1所示。

 

 

1.2 非法信息流過濾驅(qū)動的設(shè)計
    (1)非法信息流的確定 
    先搜索目標(biāo)關(guān)鍵字(或依據(jù)信息流特征捕捉),后搜索要剔除的關(guān)鍵字,可降低誤判合法信息流的幾率。過濾驅(qū)動的非法信息流過濾過程如圖2所示,其識別與過濾步驟為:(1)在頁面中搜索并確定目標(biāo)關(guān)鍵字(或信息流特征);(2)標(biāo)記目標(biāo)關(guān)鍵字的位置、所在段落編碼、字長、數(shù)據(jù)包頭信息等;(3)在標(biāo)記段落中尋找要剔除的關(guān)鍵字,如果找到存在非法信息,則判定該頁面不是要檢查的目的頁面;如果不存在,則繼續(xù)搜索該頁面的后續(xù)內(nèi)容;(4)將合法信息流關(guān)鍵字(或信息流特征)映像虛擬磁盤,完成過濾驅(qū)動的非法信息流過濾過程。
    (2)驅(qū)動程序的設(shè)計
    程序從IRP頭部所指定的內(nèi)存中讀取用戶數(shù)據(jù),如果是Direct方式,則應(yīng)從IRP頭部的MdlAddress所描述的內(nèi)存中讀取用戶數(shù)據(jù),最后將數(shù)據(jù)寫入到硬件設(shè)備中。如果用METHOD_BUFFERED方式,過濾驅(qū)動的輸入、輸出緩沖區(qū)都由AssociatedIrp.SystemBuffer指定。
2 非法信息流過濾過程的實施
    非法信息流過濾過程主要涉及關(guān)鍵字(或特征信息)的識別與分離、特征篩選、非法信息認(rèn)定、映像并緩存磁盤。
    過濾非法信息的方法在參考文獻(xiàn)[7-9]中都有描述,本文通過Windows內(nèi)核反鉤子技術(shù)與內(nèi)核鉤子還原技術(shù)來識別與分離非法信息,盡量防止信息偽裝并通過防火墻來連接主機(jī)。
2.1 關(guān)鍵字或特征信息的抽取
    關(guān)鍵字或特征信息的抽取方式通過安裝各種鉤子審計實現(xiàn),鉤子的種類很多,每種鉤子可以截獲并處理相應(yīng)的消息,如鍵盤鉤子可以截獲鍵盤消息,鼠標(biāo)鉤子可以截獲鼠標(biāo)消息,外殼鉤子可以截獲啟動和關(guān)閉應(yīng)用程序的消息,日志鉤子可以監(jiān)視和記錄輸入事件。采用內(nèi)核反鉤子技術(shù)的主機(jī)審計與傳統(tǒng)的主機(jī)審計最大的不同在于多了內(nèi)核鉤子掃描模塊,并能根據(jù)服務(wù)器預(yù)先設(shè)定的策略來對內(nèi)核鉤子進(jìn)行操作,其對內(nèi)核鉤子操作的審計流程如圖2所示。

    防火墻內(nèi)核鉤子操作的審計流程圖說明從審計內(nèi)核行為未通過審計操作的行為中,可確定為非法信息流,并記錄下線程在段落位置,根據(jù)策略恢復(fù)內(nèi)核局部或全部鉤子并回送給服務(wù)器的日志管理數(shù)據(jù)庫緩存。

    與采用防火墻與虛擬磁盤技術(shù)的非法信息流過濾方法前后的系統(tǒng)性能比較,內(nèi)核反鉤子技術(shù)更側(cè)重于控制系統(tǒng)底層信息的讀取及偽裝代碼的識別過程,不同于主機(jī)非法接入阻斷[10]。與其他?茁參數(shù)比較,網(wǎng)絡(luò)帶寬的控制可以通過路由直接設(shè)定,因而,利用不同網(wǎng)絡(luò)帶寬更能反映出采用兩種不同方法的過濾效果。
3 性能測試及分析
3.1 測試環(huán)境與過程
3.1.1 實驗環(huán)境

    進(jìn)行非法信息流過濾測試。由1套Secoway USG2220防火墻及其相應(yīng)模塊、1套IPtables、1臺H3C LS-3100-26TP-SI-H3網(wǎng)絡(luò)工作組交換機(jī)、1臺H3C ER6300小型路由器等,通過修改網(wǎng)卡協(xié)議、流程監(jiān)控程序,共同構(gòu)成實驗測試環(huán)境。
3.1.2 實驗測試步驟
    (1)設(shè)定的過濾策略為多組非法的行為信息,每組行為信息中包含至少一個行為(即βi);
    (2)測試傳統(tǒng)的主機(jī)審計對非法信息流過濾的各βi值;
    (3)當(dāng)使用內(nèi)核鉤子掃描模塊對某一軟件的內(nèi)核進(jìn)行掃描時,獲得過濾代價(α|γ)的各因素βi,重復(fù)50次實驗測試并計算平均值。

    從圖3可以看出,系統(tǒng)網(wǎng)絡(luò)帶寬在100 Mb/s以下兩種情況CPU資源占用比基本相同,在網(wǎng)絡(luò)帶寬大于100 Mb/s時采用基于進(jìn)程防火墻與虛擬磁盤的內(nèi)核反鉤子技術(shù)的CPU資源占用比略高于通用防火墻情況,主要因?qū)徲媰?nèi)核流程變長、對訪問進(jìn)程進(jìn)行控制造成,但CPU資源占有比仍保持在11%以下,不會對系統(tǒng)性能造成大的影響。
    由于實際系統(tǒng)可能造成一定程度的網(wǎng)絡(luò)瓶頸。當(dāng)服務(wù)器設(shè)定不同網(wǎng)絡(luò)帶寬時,系統(tǒng)過濾代價隨之變化,可以得出:
    (1)當(dāng)β1<80 Mb/s時,系統(tǒng)CPU資源占用比、審計時間、轉(zhuǎn)發(fā)時延、包轉(zhuǎn)發(fā)速率受影響比較小,普通個人版防火墻審計過濾代價(曲線A)與采用基于進(jìn)程防火墻與虛擬磁盤的內(nèi)核反鉤子技術(shù)的非法信息流過濾代價(曲線B)基本一致,沒有太大的變化,主要是因為帶寬較低,系統(tǒng)冗余較大、負(fù)荷較少,系統(tǒng)轉(zhuǎn)發(fā)時延影響最?。ㄈ鐖D3、圖5所示),圖6反映本文提到的方法系統(tǒng)包轉(zhuǎn)發(fā)速率優(yōu)于普通個人防火墻。
    (2)當(dāng)80 Mb/s≤β1≤200 Mb/s時,圖3~圖6中曲線變化比較平穩(wěn),反映過濾代價α在過濾過程中系統(tǒng)較為穩(wěn)定地運行;圖4~圖6中,采用本文方法的系統(tǒng)審計時間、包轉(zhuǎn)發(fā)速率等性能不僅優(yōu)于普通防火墻而且性能穩(wěn)定,采用虛擬磁盤的內(nèi)核反鉤子技術(shù)的轉(zhuǎn)發(fā)時延降低,包轉(zhuǎn)發(fā)速率加快。
    (3)當(dāng)β1>200 Mb/s時,兩種情況系統(tǒng)過濾代價等性能隨之降低,隨著網(wǎng)絡(luò)負(fù)荷增加,采用內(nèi)核鉤子技術(shù)其過濾代價曲線相對平穩(wěn)、變化趨勢較緩和,圖4~圖6說明此時仍有較好的穩(wěn)定性。
    在本系統(tǒng)環(huán)境下,每次接收2萬個數(shù)據(jù)包,進(jìn)行20次測試,得出平均值,獲得在普通個人版防火墻審計過濾情況(非法信息過濾率約99.996%)與采用基于進(jìn)程防火墻與虛擬磁盤的內(nèi)核反鉤子技術(shù)的非法信息流過濾情況(非法信息過濾率約99.998%),在非法信息捕捉能力要好過普通防火墻審計,系統(tǒng)審計時間并沒有明顯降低,通過合法信息流映射虛擬磁盤技術(shù),降低了轉(zhuǎn)發(fā)時延,提高了包轉(zhuǎn)發(fā)速率。
    在信息安全領(lǐng)域?qū)Ψ欠ㄐ畔徲嫊r采用進(jìn)程防火墻與虛擬磁盤技術(shù)、內(nèi)核鉤子技術(shù)能有效改善信息流中非法信息的捕捉能力,其具體表現(xiàn)在:一是采用關(guān)鍵字(或信息流特征)映像虛擬磁盤減少尋道時間,提高包轉(zhuǎn)發(fā)速率;二是在合適的網(wǎng)絡(luò)帶寬(例如本系統(tǒng)80 Mb/s≤β1≤200 Mb/s)時,高效發(fā)揮了CPU、緩存和防火墻的作用,實際測試中的審計時間不會大幅增加,但降低了系統(tǒng)轉(zhuǎn)發(fā)時延,并提高了系統(tǒng)服務(wù)器的包轉(zhuǎn)發(fā)速率和非法信息的捕捉能力。
參考文獻(xiàn)
[1] ANDREI B,MICHAEL M.Network applications of bloom  filters:a survey[J].Internet Mathematics,2005,1(4):485-509.
[2] FREDRIKSSON K.On-line approximate string matching in  natural language[J].Fundamenta Informaticae,2006,72(4):453-466.
[3] 王潔.基于FPGA的硬件防火墻內(nèi)容過濾技術(shù)研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2009.    
[4] 趙躍華,周萬勝.防火墻過濾規(guī)則動態(tài)生成方案設(shè)計[J].計算機(jī)工程,2012(2):135-137,140.
[5] 侯整風(fēng),龐有祥.多核防火墻分層內(nèi)容過濾的時延分析[J].計算機(jī)工程與應(yīng)用,2011(12):93-96.
[6] 溫貴江.基于數(shù)據(jù)包過濾技術(shù)的個人防火墻系統(tǒng)設(shè)計與研究[D].吉林:吉林大學(xué),2010.
[7] 胡連勇.基于Netfilter框架的校驗字過濾防火墻的設(shè)計與實現(xiàn)[D].成都:電子科技大學(xué),2007.
[8] 黃利斌,寇雅楠.基于依存句法的網(wǎng)頁內(nèi)容防火墻設(shè)計[J].計算機(jī)工程與設(shè)計,2011(5):1597-1560,1608.
[9] 杜飛.基于特征字的病毒過濾防火墻技術(shù)研究[D].北京:北方工業(yè)大學(xué),2010.
[10] 張雪峰,周順先.一種基于網(wǎng)絡(luò)安全設(shè)備聯(lián)動的數(shù)據(jù)包阻斷方法[J].計算機(jī)與網(wǎng)絡(luò),2011,37(12):68-71.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。