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