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