張宇寧
摘要:采用NDIS中間層驅(qū)動(dòng)技術(shù)構(gòu)筑反溯源網(wǎng)絡(luò),可在一定程度上確保網(wǎng)絡(luò)及個(gè)人信息安全。介紹NDIS的含義及NDIS中間層驅(qū)動(dòng)技術(shù)的原理,闡述NDIS中間層驅(qū)動(dòng)程序的設(shè)計(jì)與實(shí)現(xiàn)方式。經(jīng)效果測(cè)試,證實(shí)利用NDIS中間層驅(qū)動(dòng)技術(shù)對(duì)數(shù)據(jù)包進(jìn)行傳輸,能很好地保證網(wǎng)絡(luò)安全性。
關(guān)鍵詞:反溯源;NDIS;中間層驅(qū)動(dòng);防火墻穿透;應(yīng)用
中圖分類號(hào):TP393.08 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-1161(2014)02-0051-02
在人們享受計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)發(fā)展為生活帶來(lái)的便利的同時(shí),各種溯源技術(shù)的應(yīng)用使人們?cè)诨ヂ?lián)網(wǎng)中的行為變得透明。為了確保網(wǎng)絡(luò)和信息安全,構(gòu)筑反溯源網(wǎng)絡(luò)顯得尤為重要。將NDIS中間層驅(qū)動(dòng)技術(shù)應(yīng)用于反溯源網(wǎng)絡(luò)的構(gòu)建,將大大降低網(wǎng)絡(luò)被黑客溯源追蹤的可能性,從而確保網(wǎng)絡(luò)及個(gè)人信息安全。
1 NDIS簡(jiǎn)述
NDIS是微軟和其他廠商聯(lián)合制定的,在Windows平臺(tái)下開(kāi)發(fā)網(wǎng)卡驅(qū)動(dòng)程序和網(wǎng)絡(luò)協(xié)議驅(qū)動(dòng)程序必須遵守的設(shè)計(jì)框架。它定義了網(wǎng)卡或網(wǎng)卡驅(qū)動(dòng)程序與上層協(xié)議驅(qū)動(dòng)程序之間的通信接口規(guī)范,屏蔽了底層物理硬件的不同,使上層的協(xié)議驅(qū)動(dòng)程序可以和底層任何型號(hào)的網(wǎng)卡進(jìn)行通信,從而方便了網(wǎng)絡(luò)驅(qū)動(dòng)程序的設(shè)計(jì)。NDIS提供了3個(gè)層次的接口:網(wǎng)絡(luò)接口卡驅(qū)動(dòng)程序、中間層驅(qū)動(dòng)程序和協(xié)議驅(qū)動(dòng)程序。
2 NDIS中間層驅(qū)動(dòng)技術(shù)的原理
NDIS中間層驅(qū)動(dòng)程序位于協(xié)議驅(qū)動(dòng)程序和微端口驅(qū)動(dòng)程序之間,扮演著“中間人”的角色:對(duì)于高層的傳輸層驅(qū)動(dòng)程序,中間層驅(qū)動(dòng)程序相當(dāng)于一個(gè)端口驅(qū)動(dòng)程序;對(duì)于底層的微端口驅(qū)動(dòng)程序,中間層驅(qū)動(dòng)程序相當(dāng)于一個(gè)協(xié)議驅(qū)動(dòng)程序。在NDIS的中間層驅(qū)動(dòng)中,數(shù)據(jù)均以封包的形式進(jìn)行網(wǎng)絡(luò)傳輸。每個(gè)封包描述了數(shù)據(jù)包的具體信息,該封包首先由協(xié)議驅(qū)動(dòng)申請(qǐng)并填充數(shù)據(jù),然后傳遞到下層,最后由底層驅(qū)動(dòng)在網(wǎng)絡(luò)上發(fā)送。
3 NDIS中間層驅(qū)動(dòng)程序的設(shè)計(jì)與實(shí)現(xiàn)
3.1 系統(tǒng)需求分析
反溯源網(wǎng)絡(luò)的建立,可以降低被網(wǎng)絡(luò)上別有用心的黑客們溯源的可能性,在一定程度上確保了網(wǎng)絡(luò)及個(gè)人信息安全。NDIS中間層驅(qū)動(dòng)技術(shù)在數(shù)據(jù)包傳輸過(guò)程中,兼具隱蔽、方便、快捷等優(yōu)點(diǎn),可保障通信傳輸?shù)陌踩?,因而成為反溯源網(wǎng)絡(luò)構(gòu)建的關(guān)鍵技術(shù)。
3.2 NDIS中間層驅(qū)動(dòng)程序設(shè)計(jì)
NDIS中間層驅(qū)動(dòng),對(duì)于下層要面對(duì)協(xié)議驅(qū)動(dòng)接口,主要供下層協(xié)議驅(qū)動(dòng)調(diào)用;對(duì)于上層要面對(duì)微端口驅(qū)動(dòng)接口,主要用于網(wǎng)卡和協(xié)議棧直接通信的發(fā)送和接收函數(shù)。本文主要研究利用NDIS中間層驅(qū)動(dòng)技術(shù)穿透防火墻通信。驅(qū)動(dòng)部分主要修改PtReceive,PtReceivePacket和PtSendPacket函數(shù);接收部分的Intel網(wǎng)卡使用PtReceive函數(shù)完成接收,AMD網(wǎng)卡使用PtReceivePacket函數(shù)完成接收。由于數(shù)據(jù)包的發(fā)送和接收都需要經(jīng)過(guò)中間層,因此利用中間層直接發(fā)送和接收數(shù)據(jù)包對(duì)于穿透一般防火墻都比較理想。
3.3 NDIS中間層驅(qū)動(dòng)的具體實(shí)現(xiàn)方式
NDIS中間層驅(qū)動(dòng)程序同時(shí)具有Miniport和Protocol兩種驅(qū)動(dòng)程序接口。位于上端的Miniport接口與上層協(xié)議驅(qū)動(dòng)程序的Protocol接口進(jìn)行對(duì)接;位于下端的Protocol接口與底層網(wǎng)卡驅(qū)動(dòng)程序的Miniport接口進(jìn)行對(duì)接。反溯源網(wǎng)絡(luò)正是采用NDIS中間驅(qū)動(dòng)程序技術(shù),在網(wǎng)絡(luò)層與網(wǎng)卡驅(qū)動(dòng)之間使反溯源得以實(shí)現(xiàn)(見(jiàn)圖2)。利用NDIS 中間驅(qū)動(dòng)程序可以在網(wǎng)卡驅(qū)動(dòng)程序和傳輸驅(qū)動(dòng)程序之間插入一個(gè)中間層,用來(lái)截獲網(wǎng)絡(luò)封包,這樣就可以對(duì)數(shù)據(jù)包進(jìn)行重新封包、加密、網(wǎng)絡(luò)地址轉(zhuǎn)換等基于安全性的所需操作。由于NDIS 中間驅(qū)動(dòng)程序位于網(wǎng)卡驅(qū)動(dòng)和傳輸驅(qū)動(dòng)之間,所以它可以截獲輸入網(wǎng)絡(luò)和輸出網(wǎng)絡(luò)的所有封包而又不被防火墻發(fā)現(xiàn)(大多數(shù)防火墻位于應(yīng)用層),該特性可確保反溯源網(wǎng)絡(luò)的安全性和可靠性。
3.4 效果測(cè)試
被測(cè)試主機(jī)為當(dāng)今較為流行的Windows XP平臺(tái)。選擇Zone Alarm 6.0、天網(wǎng)防火墻3.0、金山網(wǎng)鏢2013及卡巴斯基互聯(lián)網(wǎng)安全套裝個(gè)人版6.0進(jìn)行穿透測(cè)試。測(cè)試過(guò)程為:在4種防火墻軟件設(shè)置規(guī)則中禁止相關(guān)的應(yīng)用訪問(wèn)互聯(lián)網(wǎng),以加載中間層驅(qū)動(dòng)后是否依然可以暢通無(wú)阻地訪問(wèn)互聯(lián)網(wǎng)為判斷標(biāo)準(zhǔn)。試驗(yàn)結(jié)果表明:除Zone Alarm 6.0以外,NDIS中間層驅(qū)動(dòng)可以有效突破其他3種防火墻的限制。由于Zone Alarm 6.0采用了TDI 層和NDIS 層結(jié)合的數(shù)據(jù)包審查措施,因此本文設(shè)置的隱蔽通道在Zone Alarm 6.0的高級(jí)模式下失效了。
4 結(jié)論
世界上沒(méi)有最鋒利的矛,也沒(méi)有最堅(jiān)固的盾,網(wǎng)絡(luò)中的攻與防也是一樣,技術(shù)就是在這種相互限制與反限制中得以提升。利用NDIS中間層驅(qū)動(dòng)技術(shù)對(duì)數(shù)據(jù)包進(jìn)行傳輸,在安全性上有很好的效果,該技術(shù)將成為構(gòu)筑反溯源網(wǎng)絡(luò)的主要手段。