摘 要: 提出一種在虛擬磁盤中對文件映像前后的訪問進程進行監(jiān)控并對非法信息流進行過濾的方法。該方法在關鍵字或特征信息提取過程中安裝各種鉤子并對接入主機進行審計,用來提高系統(tǒng)服務器的包轉(zhuǎn)發(fā)速率與非法信息的捕捉能力。其目的是阻止病毒或木馬程序?qū)ξ募茐幕驍?shù)據(jù)包劫持,保證信息接入的可控性和安全性。實驗測試表明,系統(tǒng)降低了包轉(zhuǎn)發(fā)時延,提高了包轉(zhuǎn)發(fā)速率和非法信息的識別能力。
關鍵詞: 網(wǎng)絡信息安全;進程防火墻;虛擬磁盤技術;非法信息流;內(nèi)核鉤子;過濾代價
目前,虛擬磁盤技術廣泛應用于快速安裝各類(如ISO、BIN等)光盤映像文件中,將文件映射為一個虛擬磁盤,以實現(xiàn)用戶的透明性文件操作。非法信息流過濾驅(qū)動通常有兩種實現(xiàn)方法:一種是以微軟的Sfilter模型為基礎、以過濾底層文件操作IRP包為技術的傳統(tǒng)模型[1],另一種是以微軟的MiniFilter模型為基礎、以過濾底層文件操作事件為技術的新式模型[2]。
在以包過濾為基礎的防火墻中,王潔實現(xiàn)了一種基于FPGA的網(wǎng)絡硬件防火墻,以內(nèi)容過濾設計準則實現(xiàn)對數(shù)據(jù)包的處理邏輯,使系統(tǒng)免受硬件惡意后門和軟件安全漏洞的影響,其劣勢在于處理速度遠低于目前專用處理器的速度[3]。趙躍華等利用專家知識檢測網(wǎng)絡層數(shù)據(jù)包的攻擊行為和運行中應用程序的攻擊行為推理,可實現(xiàn)防火墻過濾規(guī)則的動態(tài)生成[4]。侯整風在參考文獻[5]中討論了多核防火墻分層內(nèi)容過濾的時延問題。溫貴江采用了Winsock2套接字技術,在Socket中插入一層,完成傳輸質(zhì)量控制、擴展TCP/IP協(xié)議棧、URL過濾及網(wǎng)絡安全控制等功能[6]??梢钥闯?,這些文獻主要涉及內(nèi)容過濾、規(guī)則推理等方法對入侵信息進行識別與阻止,較少考慮內(nèi)核審計與實時監(jiān)控。
本文通過在虛擬磁盤中對文件映像前后的訪問進程進行監(jiān)控并對非法信息流進行監(jiān)控、查找、定位的過濾方法,能對虛擬磁盤的原映像文件進行訪問,可識別隱藏在底層的非法信息流,并實現(xiàn)分組過濾與實時監(jiān)控,用來阻止病毒或木馬程序?qū)鬏斝畔⒌钠茐幕驍?shù)據(jù)包的劫持,維護了正常的主機接入、包訪問的可控性和數(shù)據(jù)流信息的安全性。
1 模型系統(tǒng)的構成
1.1 系統(tǒng)結(jié)構
為實現(xiàn)對內(nèi)核底層分組識別過濾與監(jiān)控,系統(tǒng)在通用操作系統(tǒng)的基礎上增加應用層的進程策略管理部分和內(nèi)核層非法信息流過濾驅(qū)動,其結(jié)構由應用層管理程序、非法信息流過濾驅(qū)動程序及虛擬磁盤驅(qū)動3部分組成。其中非法信息流過濾驅(qū)動負責對虛擬磁盤的原映像文件及映像后的虛擬盤文件的各種操作(包括文件列表、文件數(shù)據(jù)讀寫、文件屬性讀寫等)并進行過濾,在過濾例程中對訪問進程進行控制,可配置成只有本系統(tǒng)的應用層管理程序能對虛擬磁盤的原映像文件進行訪問,只有桌面程序及其他文件關聯(lián)的應用程序(如OFFICE程序等)能對映像后的虛擬盤文件進行訪問,其信息流過濾系統(tǒng)結(jié)構如圖1所示。
1.2 非法信息流過濾驅(qū)動的設計
(1)非法信息流的確定
先搜索目標關鍵字(或依據(jù)信息流特征捕捉),后搜索要剔除的關鍵字,可降低誤判合法信息流的幾率。過濾驅(qū)動的非法信息流過濾過程如圖2所示,其識別與過濾步驟為:(1)在頁面中搜索并確定目標關鍵字(或信息流特征);(2)標記目標關鍵字的位置、所在段落編碼、字長、數(shù)據(jù)包頭信息等;(3)在標記段落中尋找要剔除的關鍵字,如果找到存在非法信息,則判定該頁面不是要檢查的目的頁面;如果不存在,則繼續(xù)搜索該頁面的后續(xù)內(nèi)容;(4)將合法信息流關鍵字(或信息流特征)映像虛擬磁盤,完成過濾驅(qū)動的非法信息流過濾過程。
(2)驅(qū)動程序的設計
程序從IRP頭部所指定的內(nèi)存中讀取用戶數(shù)據(jù),如果是Direct方式,則應從IRP頭部的MdlAddress所描述的內(nèi)存中讀取用戶數(shù)據(jù),最后將數(shù)據(jù)寫入到硬件設備中。如果用METHOD_BUFFERED方式,過濾驅(qū)動的輸入、輸出緩沖區(qū)都由AssociatedIrp.SystemBuffer指定。
2 非法信息流過濾過程的實施
非法信息流過濾過程主要涉及關鍵字(或特征信息)的識別與分離、特征篩選、非法信息認定、映像并緩存磁盤。
過濾非法信息的方法在參考文獻[7-9]中都有描述,本文通過Windows內(nèi)核反鉤子技術與內(nèi)核鉤子還原技術來識別與分離非法信息,盡量防止信息偽裝并通過防火墻來連接主機。
2.1 關鍵字或特征信息的抽取
關鍵字或特征信息的抽取方式通過安裝各種鉤子審計實現(xiàn),鉤子的種類很多,每種鉤子可以截獲并處理相應的消息,如鍵盤鉤子可以截獲鍵盤消息,鼠標鉤子可以截獲鼠標消息,外殼鉤子可以截獲啟動和關閉應用程序的消息,日志鉤子可以監(jiān)視和記錄輸入事件。采用內(nèi)核反鉤子技術的主機審計與傳統(tǒng)的主機審計最大的不同在于多了內(nèi)核鉤子掃描模塊,并能根據(jù)服務器預先設定的策略來對內(nèi)核鉤子進行操作,其對內(nèi)核鉤子操作的審計流程如圖2所示。
防火墻內(nèi)核鉤子操作的審計流程圖說明從審計內(nèi)核行為未通過審計操作的行為中,可確定為非法信息流,并記錄下線程在段落位置,根據(jù)策略恢復內(nèi)核局部或全部鉤子并回送給服務器的日志管理數(shù)據(jù)庫緩存。
與采用防火墻與虛擬磁盤技術的非法信息流過濾方法前后的系統(tǒng)性能比較,內(nèi)核反鉤子技術更側(cè)重于控制系統(tǒng)底層信息的讀取及偽裝代碼的識別過程,不同于主機非法接入阻斷[10]。與其他?茁參數(shù)比較,網(wǎng)絡帶寬的控制可以通過路由直接設定,因而,利用不同網(wǎng)絡帶寬更能反映出采用兩種不同方法的過濾效果。
3 性能測試及分析
3.1 測試環(huán)境與過程
3.1.1 實驗環(huán)境
進行非法信息流過濾測試。由1套Secoway USG2220防火墻及其相應模塊、1套IPtables、1臺H3C LS-3100-26TP-SI-H3網(wǎng)絡工作組交換機、1臺H3C ER6300小型路由器等,通過修改網(wǎng)卡協(xié)議、流程監(jiān)控程序,共同構成實驗測試環(huán)境。
3.1.2 實驗測試步驟
(1)設定的過濾策略為多組非法的行為信息,每組行為信息中包含至少一個行為(即βi);
(2)測試傳統(tǒng)的主機審計對非法信息流過濾的各βi值;
(3)當使用內(nèi)核鉤子掃描模塊對某一軟件的內(nèi)核進行掃描時,獲得過濾代價(α|γ)的各因素βi,重復50次實驗測試并計算平均值。
從圖3可以看出,系統(tǒng)網(wǎng)絡帶寬在100 Mb/s以下兩種情況CPU資源占用比基本相同,在網(wǎng)絡帶寬大于100 Mb/s時采用基于進程防火墻與虛擬磁盤的內(nèi)核反鉤子技術的CPU資源占用比略高于通用防火墻情況,主要因?qū)徲媰?nèi)核流程變長、對訪問進程進行控制造成,但CPU資源占有比仍保持在11%以下,不會對系統(tǒng)性能造成大的影響。
由于實際系統(tǒng)可能造成一定程度的網(wǎng)絡瓶頸。當服務器設定不同網(wǎng)絡帶寬時,系統(tǒng)過濾代價隨之變化,可以得出:
(1)當β1<80 Mb/s時,系統(tǒng)CPU資源占用比、審計時間、轉(zhuǎn)發(fā)時延、包轉(zhuǎn)發(fā)速率受影響比較小,普通個人版防火墻審計過濾代價(曲線A)與采用基于進程防火墻與虛擬磁盤的內(nèi)核反鉤子技術的非法信息流過濾代價(曲線B)基本一致,沒有太大的變化,主要是因為帶寬較低,系統(tǒng)冗余較大、負荷較少,系統(tǒng)轉(zhuǎn)發(fā)時延影響最?。ㄈ鐖D3、圖5所示),圖6反映本文提到的方法系統(tǒng)包轉(zhuǎn)發(fā)速率優(yōu)于普通個人防火墻。
(2)當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)核反鉤子技術的轉(zhuǎn)發(fā)時延降低,包轉(zhuǎn)發(fā)速率加快。
(3)當β1>200 Mb/s時,兩種情況系統(tǒng)過濾代價等性能隨之降低,隨著網(wǎng)絡負荷增加,采用內(nèi)核鉤子技術其過濾代價曲線相對平穩(wěn)、變化趨勢較緩和,圖4~圖6說明此時仍有較好的穩(wěn)定性。
在本系統(tǒng)環(huán)境下,每次接收2萬個數(shù)據(jù)包,進行20次測試,得出平均值,獲得在普通個人版防火墻審計過濾情況(非法信息過濾率約99.996%)與采用基于進程防火墻與虛擬磁盤的內(nèi)核反鉤子技術的非法信息流過濾情況(非法信息過濾率約99.998%),在非法信息捕捉能力要好過普通防火墻審計,系統(tǒng)審計時間并沒有明顯降低,通過合法信息流映射虛擬磁盤技術,降低了轉(zhuǎn)發(fā)時延,提高了包轉(zhuǎn)發(fā)速率。
在信息安全領域?qū)Ψ欠ㄐ畔徲嫊r采用進程防火墻與虛擬磁盤技術、內(nèi)核鉤子技術能有效改善信息流中非法信息的捕捉能力,其具體表現(xiàn)在:一是采用關鍵字(或信息流特征)映像虛擬磁盤減少尋道時間,提高包轉(zhuǎn)發(fā)速率;二是在合適的網(wǎng)絡帶寬(例如本系統(tǒng)80 Mb/s≤β1≤200 Mb/s)時,高效發(fā)揮了CPU、緩存和防火墻的作用,實際測試中的審計時間不會大幅增加,但降低了系統(tǒng)轉(zhuǎn)發(fā)時延,并提高了系統(tǒng)服務器的包轉(zhuǎn)發(fā)速率和非法信息的捕捉能力。
參考文獻
[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)容過濾技術研究[D].哈爾濱:哈爾濱工業(yè)大學,2009.
[4] 趙躍華,周萬勝.防火墻過濾規(guī)則動態(tài)生成方案設計[J].計算機工程,2012(2):135-137,140.
[5] 侯整風,龐有祥.多核防火墻分層內(nèi)容過濾的時延分析[J].計算機工程與應用,2011(12):93-96.
[6] 溫貴江.基于數(shù)據(jù)包過濾技術的個人防火墻系統(tǒng)設計與研究[D].吉林:吉林大學,2010.
[7] 胡連勇.基于Netfilter框架的校驗字過濾防火墻的設計與實現(xiàn)[D].成都:電子科技大學,2007.
[8] 黃利斌,寇雅楠.基于依存句法的網(wǎng)頁內(nèi)容防火墻設計[J].計算機工程與設計,2011(5):1597-1560,1608.
[9] 杜飛.基于特征字的病毒過濾防火墻技術研究[D].北京:北方工業(yè)大學,2010.
[10] 張雪峰,周順先.一種基于網(wǎng)絡安全設備聯(lián)動的數(shù)據(jù)包阻斷方法[J].計算機與網(wǎng)絡,2011,37(12):68-71.