999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于NDIS-HOOK的個(gè)人防水墻設(shè)計(jì)

2012-01-29 07:19:50李正生
電子設(shè)計(jì)工程 2012年12期

張 民,李正生,吳 寧,譚 瑩

(1.第二炮兵工程大學(xué)一系,陜西 西安 710025;2.中國(guó)人民解放軍96623部隊(duì) 江西 上饒 334000)

隨著計(jì)算機(jī)技術(shù)的發(fā)展和互聯(lián)網(wǎng)應(yīng)用技術(shù)的日益普及,人類社會(huì)正步入信息化時(shí)代。網(wǎng)絡(luò)這把雙刃劍在帶給人們方便的同時(shí),也對(duì)信息安全帶來(lái)了挑戰(zhàn)。近年來(lái),網(wǎng)絡(luò)失、泄密事件頻發(fā)。重要國(guó)家、軍事秘密的泄露、重要商業(yè)信息的丟失和個(gè)人隱私的曝光等安全問(wèn)題,給國(guó)家、軍隊(duì)、企業(yè)和個(gè)人造成不可挽回的損失。如何解決網(wǎng)絡(luò)失、泄密的問(wèn)題,成了擺在我們面前的一個(gè)十分棘手的問(wèn)題。

1 個(gè)人防水墻

防水墻是從防火墻的概念中演變出來(lái)的,防火墻是防止外部威脅向內(nèi)部延伸,而防水墻技術(shù)是防止信息從內(nèi)部向外部擴(kuò)散。防水墻系統(tǒng)的設(shè)計(jì)理念是保護(hù)用戶的敏感信息不被非法外傳、防止泄密事件發(fā)生,從而保證內(nèi)部的安全[1]。

防水墻按照應(yīng)用來(lái)講可以分為企業(yè)級(jí)和個(gè)人防水墻2種,個(gè)人防水墻應(yīng)用于規(guī)模較小的個(gè)人計(jì)算機(jī)。文中所設(shè)計(jì)的就是應(yīng)用于個(gè)人計(jì)算機(jī)的個(gè)人防水墻,其數(shù)據(jù)包處理過(guò)程如圖1所示,當(dāng)本地計(jì)算機(jī)向外發(fā)送數(shù)據(jù)時(shí),僅對(duì)本機(jī)發(fā)送的HTTP請(qǐng)求的數(shù)據(jù)包進(jìn)行發(fā)送,而阻止其他數(shù)據(jù)包的向外發(fā)送,從而達(dá)到防止計(jì)算機(jī)內(nèi)部資料通過(guò)HTTP協(xié)議向外泄露的目的。

圖1 數(shù)據(jù)包處理流程圖Fig.1 Data packet processing flow chart

文中所設(shè)計(jì)的個(gè)人防水墻的核心技術(shù)是對(duì)數(shù)據(jù)包的截獲、分析和處理技術(shù)。Windows操作系統(tǒng)下的數(shù)據(jù)包攔截技術(shù)從攔截分層上來(lái)說(shuō)可以分為用戶級(jí)和內(nèi)核級(jí)兩類,在用戶層有Windows2000SPI等,在內(nèi)核層主要包括TDI過(guò)濾驅(qū)動(dòng)程序,NDIS中間層過(guò)濾驅(qū)動(dòng)程序,NDIS-HOOK驅(qū)動(dòng)程序等。其中NDIS-HOOK技術(shù)以其編程方便,接口簡(jiǎn)單,思路明確,性能穩(wěn)定,靈活度更高,功能強(qiáng)大,安全性高,安裝簡(jiǎn)單等特點(diǎn)為大家所廣泛使用。

2 NDIS簡(jiǎn)介

NDIS(network driver interface specification)是 microsoft和3Com公司開(kāi)發(fā)的網(wǎng)絡(luò)驅(qū)動(dòng)程序接口規(guī)范[2]。NDIS橫跨傳輸層、網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層,為傳輸層提供標(biāo)準(zhǔn)的網(wǎng)絡(luò)接口,所有的傳輸層驅(qū)動(dòng)程序都需要調(diào)用NDIS接口來(lái)訪問(wèn)網(wǎng)絡(luò),如圖2所示。在Windows下編寫網(wǎng)絡(luò)驅(qū)動(dòng)程序時(shí),利用NDIS規(guī)范只要調(diào)用NDIS函數(shù)而不用考慮其他接口問(wèn)題,為網(wǎng)絡(luò)驅(qū)動(dòng)的開(kāi)發(fā)提供了簡(jiǎn)便的方法。

圖2 NDIS拓?fù)浣Y(jié)構(gòu)Fig.2 NDIS topology

NDIS支持編寫3種類型的驅(qū)動(dòng)程序:Miniport驅(qū)動(dòng)程序、中間驅(qū)動(dòng)程序和Protocol驅(qū)動(dòng)程序。其結(jié)構(gòu)[3]如圖3所示,Miniport驅(qū)動(dòng)程序可以通過(guò)DNIS接口可以完成對(duì)網(wǎng)卡的操作,同時(shí)也可以被上層的驅(qū)動(dòng)程序調(diào)用,來(lái)實(shí)現(xiàn)對(duì)網(wǎng)卡的操作。中間驅(qū)動(dòng)程序在Miniport驅(qū)動(dòng)程序和Protocol驅(qū)動(dòng)程序之間,在其上下兩端分別具有一個(gè)Miniport驅(qū)動(dòng)接口和一個(gè)Protocol驅(qū)動(dòng)接口,上方的Miniport驅(qū)動(dòng)接口與上層的Protocol驅(qū)動(dòng)接口連接,下方的Protocol驅(qū)動(dòng)接口與下層的Miniport驅(qū)動(dòng)接口連接,相當(dāng)于在Miniport驅(qū)動(dòng)程序和Protocol驅(qū)動(dòng)程序之間加了一個(gè)過(guò)渡層。Protocol驅(qū)動(dòng)程序與Miniport驅(qū)動(dòng)程序連接,可供底層驅(qū)動(dòng)程序調(diào)用[3]。

圖3 NDIS中間驅(qū)動(dòng)程序拓?fù)浣Y(jié)構(gòu)Fig.3 NDIS intermediate driver topology

3 NDIS數(shù)據(jù)包發(fā)送流程

NDIS的數(shù)據(jù)包處理過(guò)程當(dāng)上層驅(qū)動(dòng)請(qǐng)求發(fā)送數(shù)據(jù)包時(shí),調(diào)用Ndis send/Ndis Send Packets函數(shù),請(qǐng)求NDIS發(fā)送數(shù)據(jù)包,NDIS則調(diào)用NDIS中間層驅(qū)動(dòng)的Miniport Send/Miniport Send Packets,NDIS中間層驅(qū)動(dòng)再調(diào)用 Ndis Send/Ndis Send Packets請(qǐng)求底層發(fā)送數(shù)據(jù)包,底層Miniport Send/Miniport Send Packets通過(guò)NDIS接口控制物理網(wǎng)絡(luò)設(shè)備,將數(shù)據(jù)發(fā)送出去。NDIS數(shù)據(jù)包發(fā)送流程圖如圖4所示。

圖4 NDIS數(shù)據(jù)包發(fā)送流程圖Fig.4 NDIS send the packet flow

在上層請(qǐng)求發(fā)送數(shù)據(jù)包時(shí),上層的驅(qū)動(dòng)分配了相應(yīng)的內(nèi)存空間,當(dāng)完成數(shù)據(jù)包的發(fā)送之后,系統(tǒng)應(yīng)該及時(shí)的釋放其分配的內(nèi)存空間,所以,在上層調(diào)用Ndis Send/Ndis Send Packets后,返回是除NDIS_STATUS_PENDING以外的任何值時(shí),上層驅(qū)動(dòng)就可以釋放資源。因?yàn)槿绻玫椒祷氐慕Y(jié)果是NDIS_STATUS_PENDING的話,說(shuō)明下層驅(qū)動(dòng)還沒(méi)有完成發(fā)送請(qǐng)求,等下層驅(qū)動(dòng)最終完成發(fā)送請(qǐng)求時(shí),下層驅(qū)動(dòng)將調(diào)用Ndis MSend Complete請(qǐng)求NDIS通知上層可以釋放資源。然后系統(tǒng)調(diào)用上層驅(qū)動(dòng)注冊(cè)的Protocol Send Complete函數(shù),釋放內(nèi)存資源。

4 NDIS-HOOK技術(shù)

NDIS-HOOK的重點(diǎn)是如何獲得特定協(xié)議對(duì)應(yīng)NDIS_PROTOCOL_BLOCK指針,獲得了該指針,接下來(lái)就可以替換該協(xié)議所注冊(cè)的收發(fā)函數(shù),而達(dá)到攔截網(wǎng)絡(luò)數(shù)據(jù)的目的。

4.1 HOOK技術(shù)實(shí)現(xiàn)的方法

在WindowsNT/2000下實(shí)現(xiàn)Hook目前主要有兩種不同的思路[5]:

1)修改 NDIS.SYS的 Export Table。在 WindowsNT/2000下,可執(zhí)行文件都符合 PE(Portable Executable)格式,所有向其它操作系統(tǒng)提供接口的驅(qū)動(dòng)程序都有Export Table,因此只要修改NDIS.SYS所提供的 NDIS Register Protocol、NDIS DeRegister Protocol、NDIS Open Adapter、NDIS Close Adapter和NDIS Send函數(shù)的起始地址,就能實(shí)現(xiàn)對(duì)NDIS API的掛接。

2)注冊(cè)假協(xié)議(Bogus Protocol)。NDIS 調(diào)用 Ndis Register Protocol(),向系統(tǒng)注冊(cè)一個(gè)協(xié)議并將該協(xié)議作為一個(gè)鏈表節(jié)點(diǎn)插入到“協(xié)議鏈表”的頭部,最后返回該鏈表頭的地址。我們可以通過(guò)調(diào)用Ndis Register Protocol()向系統(tǒng)注冊(cè)一個(gè)新的協(xié)議,就能輕易地得到“協(xié)議鏈表”的首地址,通過(guò)訪問(wèn)這個(gè)鏈表,就能修改其中關(guān)鍵函數(shù)的地址。通過(guò)調(diào)用Ndis Register Protocol()中的結(jié)構(gòu)頭指針可以遍歷所有NDIS_OPEN_BLOCK。一般需要掛鉤的函數(shù)主要在NDIS_OPEN_BLOCK中。

目前注冊(cè)假協(xié)議的方法應(yīng)用比較廣泛,文中采用了這種方法。

4.2 NDIS-HOOK數(shù)據(jù)發(fā)送的重要函數(shù)

在發(fā)送數(shù)據(jù)包的時(shí)候,系統(tǒng)調(diào)用Ndis Send[6]函數(shù)

其中OUT PNDIS_STATUS Status返回函數(shù)調(diào)用結(jié)果。IN NDIS_HANDLE Ndis Binding Handle是由Ndis Open Adapter返回的識(shí)別目標(biāo)網(wǎng)卡或虛擬設(shè)備的句柄,其實(shí)質(zhì)就是目標(biāo)網(wǎng)卡或者虛擬設(shè)備的NDIS_OPEN_BLOCK指針。IN PNDIS_PACKET Packet指向需要發(fā)送的數(shù)據(jù)包。調(diào)用Ndis Send函數(shù),系統(tǒng)會(huì)把數(shù)據(jù)包通過(guò)IN NDIS_HANDLE Ndis Binding Handle指向的NDIS_OPEN_BLOCK結(jié)構(gòu)中記錄的Protocol Send函數(shù)發(fā)送。

4.3 NDIS-HOOK發(fā)送數(shù)據(jù)包的流程

用注冊(cè)假協(xié)議法發(fā)送特定數(shù)據(jù)包的步驟,如圖5所示。

圖5 NDIS-HOOK發(fā)送數(shù)據(jù)包的流程Fig.5 NDIS-HOOK send the packet flow

大致可以分為以下3步:

1)調(diào)用Register Bogus NDIS Protocol函數(shù),注冊(cè)假協(xié)議獲得指針;

2)調(diào)用 Hook Existing NDIS Protocols函數(shù),遍歷鏈表,完成程序掛鉤;

3)最后調(diào)用NDIS Send Handler發(fā)送數(shù)據(jù),完成數(shù)據(jù)的處理和發(fā)送。

所以在防水墻系統(tǒng)的設(shè)計(jì)中只要對(duì)防水墻的數(shù)據(jù)包處理程序進(jìn)行掛鉤處理,即可實(shí)現(xiàn)在Windows系統(tǒng)下對(duì)數(shù)據(jù)包的處理,實(shí)現(xiàn)防水墻的功能,達(dá)到防止非法數(shù)據(jù)傳輸?shù)哪康摹?/p>

5 結(jié)束語(yǔ)

文中簡(jiǎn)要的介紹了防水墻技術(shù),對(duì)NDIS-HOOK技術(shù)進(jìn)行了詳細(xì)的研究,根據(jù)防水墻的特點(diǎn)著重研究了運(yùn)用HDISHOOK的數(shù)據(jù)包發(fā)送攔截技術(shù)。設(shè)想了在Windows系統(tǒng)下的個(gè)人防水墻系統(tǒng)中運(yùn)用HDIS-HOOK數(shù)據(jù)包過(guò)濾技術(shù)的方法。本文研究?jī)?nèi)容有著廣泛的應(yīng)用前景。

[1]陳尚義.“內(nèi)鬼”克星:中軟防水墻Waterbox[J].信息安全與通信保密,2010(1):48-49.CHEN SHANG-yi. “Ghost”nemesis:waterwall of Chinasoft Waterbox[J].Information Security and Communications Privacy,2010(1):48-49.

[2]朱雁輝.Window防火墻與網(wǎng)絡(luò)封包截獲技術(shù) [M].北京:電子工業(yè)出版社,2002.

[3]高澤勝,陶宏才.基于NDIS-HOOK技術(shù)的個(gè)人防火墻的研究與實(shí)現(xiàn)[J].成都信息工程學(xué)院學(xué)報(bào),2004(19):327-331.GAO Ze-sheng,TAO Hong-cai.Research and implementation of personal firewall based on NDIS-HOOK[J].Journal of Chendu University of Information Technology,2004(19):327-331.

[4]Microsoft Windows 2000Driver Development Kit[S].Microsoft Press,2001.

[5]劉靜,裘國(guó)永.NDIS-HOOK網(wǎng)絡(luò)封包截獲技術(shù)實(shí)現(xiàn)[J].微處理機(jī),2008(5):51-56.LIU Jing,QIU Guo-yong.The implementation of network packets capturing technology based on NDIS-HOOK[J].Micro Processors,2008(5):51-56.

[6]李智鵬,李舟軍,忽朝儉,等.基于NDIS-HOOK的網(wǎng)絡(luò)數(shù)據(jù)包攔截和發(fā)送技術(shù)研究[J].計(jì)算機(jī)安全,2010(1):5-8.LI Zhi-peng,LI Zhou-jun,HU Chao-jian,et al.Research technology of network packet intercepting and sending based on NDIS-HOOK[J].Computer Security,2010(1):5-8.

主站蜘蛛池模板: 久久99这里精品8国产| 国产三级国产精品国产普男人| 日韩欧美中文字幕在线精品| 国产精品99久久久久久董美香| 2021国产乱人伦在线播放| 亚洲一级色| 好紧太爽了视频免费无码| 最新无码专区超级碰碰碰| 午夜无码一区二区三区| AV无码无在线观看免费| 亚洲人妖在线| 91精品国产综合久久香蕉922 | 日本不卡在线| 久久综合伊人77777| 欧美激情福利| 国产精品2| 午夜福利在线观看成人| 国产精品成人免费综合| 综合久久五月天| 国产真实自在自线免费精品| 国产激情无码一区二区免费| 视频一区亚洲| 欧美成人精品一区二区| 播五月综合| 国产精品19p| 国产日产欧美精品| 日本午夜影院| 亚洲成a人片7777| 中文字幕在线播放不卡| 国产精品成人一区二区| 亚洲国产成人无码AV在线影院L| 2021天堂在线亚洲精品专区| 午夜不卡视频| 国产后式a一视频| 一级毛片免费观看不卡视频| 亚洲精品777| 亚洲精品视频网| 亚洲天堂日韩在线| 黄色一级视频欧美| 天天躁夜夜躁狠狠躁图片| 亚洲A∨无码精品午夜在线观看| 青青草原国产一区二区| 91九色最新地址| 国产美女一级毛片| 91福利在线观看视频| 91福利免费视频| 亚洲国产av无码综合原创国产| 欧美在线黄| 又污又黄又无遮挡网站| 亚洲首页在线观看| 欧美自慰一级看片免费| 女人毛片a级大学毛片免费 | 狠狠躁天天躁夜夜躁婷婷| 国产精品第一区在线观看| 亚洲国产天堂久久综合| 孕妇高潮太爽了在线观看免费| 亚洲AV无码乱码在线观看裸奔| 中文字幕亚洲乱码熟女1区2区| 四虎永久在线精品国产免费| 久久亚洲高清国产| 国产无码精品在线| 人妻无码中文字幕第一区| 毛片久久网站小视频| 久久综合结合久久狠狠狠97色| 国产欧美性爱网| 亚洲bt欧美bt精品| 久久9966精品国产免费| 亚洲av无码久久无遮挡| 啪啪啪亚洲无码| 午夜视频免费一区二区在线看| 久久综合五月婷婷| 男人天堂亚洲天堂| 亚洲国产一区在线观看| 色亚洲成人| 国产亚洲现在一区二区中文| 国产 在线视频无码| 国产精品亚欧美一区二区三区| 欧美日韩国产精品综合| 国产欧美日韩资源在线观看| 国产亚洲欧美日韩在线一区二区三区| 激情综合激情| 亚洲精品麻豆|