张宇宁
摘要:采用NDIS中间层驱动技术构筑反溯源网络,可在一定程度上确保网络及个人信息安全。介绍NDIS的含义及NDIS中间层驱动技术的原理,阐述NDIS中间层驱动程序的设计与实现方式。经效果测试,证实利用NDIS中间层驱动技术对数据包进行传输,能很好地保证网络安全性。
关键词:反溯源;NDIS;中间层驱动;防火墙穿透;应用
中图分类号:TP393.08 文献标识码:A 文章编号:1674-1161(2014)02-0051-02
在人们享受计算机网络技术发展为生活带来的便利的同时,各种溯源技术的应用使人们在互联网中的行为变得透明。为了确保网络和信息安全,构筑反溯源网络显得尤为重要。将NDIS中间层驱动技术应用于反溯源网络的构建,将大大降低网络被黑客溯源追踪的可能性,从而确保网络及个人信息安全。
1 NDIS简述
NDIS是微软和其他厂商联合制定的,在Windows平台下开发网卡驱动程序和网络协议驱动程序必须遵守的设计框架。它定义了网卡或网卡驱动程序与上层协议驱动程序之间的通信接口规范,屏蔽了底层物理硬件的不同,使上层的协议驱动程序可以和底层任何型号的网卡进行通信,从而方便了网络驱动程序的设计。NDIS提供了3个层次的接口:网络接口卡驱动程序、中间层驱动程序和协议驱动程序。
2 NDIS中间层驱动技术的原理
NDIS中间层驱动程序位于协议驱动程序和微端口驱动程序之间,扮演着“中间人”的角色:对于高层的传输层驱动程序,中间层驱动程序相当于一个端口驱动程序;对于底层的微端口驱动程序,中间层驱动程序相当于一个协议驱动程序。在NDIS的中间层驱动中,数据均以封包的形式进行网络传输。每个封包描述了数据包的具体信息,该封包首先由协议驱动申请并填充数据,然后传递到下层,最后由底层驱动在网络上发送。
3 NDIS中间层驱动程序的设计与实现
3.1 系统需求分析
反溯源网络的建立,可以降低被网络上别有用心的黑客们溯源的可能性,在一定程度上确保了网络及个人信息安全。NDIS中间层驱动技术在数据包传输过程中,兼具隐蔽、方便、快捷等优点,可保障通信传输的安全性,因而成为反溯源网络构建的关键技术。
3.2 NDIS中间层驱动程序设计
NDIS中间层驱动,对于下层要面对协议驱动接口,主要供下层协议驱动调用;对于上层要面对微端口驱动接口,主要用于网卡和协议栈直接通信的发送和接收函数。本文主要研究利用NDIS中间层驱动技术穿透防火墙通信。驱动部分主要修改PtReceive,PtReceivePacket和PtSendPacket函数;接收部分的Intel网卡使用PtReceive函数完成接收,AMD网卡使用PtReceivePacket函数完成接收。由于数据包的发送和接收都需要经过中间层,因此利用中间层直接发送和接收数据包对于穿透一般防火墙都比较理想。
3.3 NDIS中间层驱动的具体实现方式
NDIS中间层驱动程序同时具有Miniport和Protocol两种驱动程序接口。位于上端的Miniport接口与上层协议驱动程序的Protocol接口进行对接;位于下端的Protocol接口与底层网卡驱动程序的Miniport接口进行对接。反溯源网络正是采用NDIS中间驱动程序技术,在网络层与网卡驱动之间使反溯源得以实现(见图2)。利用NDIS 中间驱动程序可以在网卡驱动程序和传输驱动程序之间插入一个中间层,用来截获网络封包,这样就可以对数据包进行重新封包、加密、网络地址转换等基于安全性的所需操作。由于NDIS 中间驱动程序位于网卡驱动和传输驱动之间,所以它可以截获输入网络和输出网络的所有封包而又不被防火墙发现(大多数防火墙位于应用层),该特性可确保反溯源网络的安全性和可靠性。
3.4 效果测试
被测试主机为当今较为流行的Windows XP平台。选择Zone Alarm 6.0、天网防火墙3.0、金山网镖2013及卡巴斯基互联网安全套装个人版6.0进行穿透测试。测试过程为:在4种防火墙软件设置规则中禁止相关的应用访问互联网,以加载中间层驱动后是否依然可以畅通无阻地访问互联网为判断标准。试验结果表明:除Zone Alarm 6.0以外,NDIS中间层驱动可以有效突破其他3种防火墙的限制。由于Zone Alarm 6.0采用了TDI 层和NDIS 层结合的数据包审查措施,因此本文设置的隐蔽通道在Zone Alarm 6.0的高级模式下失效了。
4 结论
世界上没有最锋利的矛,也没有最坚固的盾,网络中的攻与防也是一样,技术就是在这种相互限制与反限制中得以提升。利用NDIS中间层驱动技术对数据包进行传输,在安全性上有很好的效果,该技术将成为构筑反溯源网络的主要手段。