【技术实现步骤摘要】
一种用于实现NDIS6
‑
Hooking的方法
[0001]本专利技术属于网络安全
,尤其涉及一种用于实现NDIS6
‑
Hooking的方法。
技术介绍
[0002]NDIS(Network Driver Interface Specification)是微软和3COM于1989年联手开发的Windows上一种网络设备驱动程序接口规范,用于规定通信协议程序(如TCP/IP)和网络设备驱动程序之间应如何相互通信。
[0003]早在Windows XP/Server 2003的时代,即NDIS版本5.X时期,Windows系统中针对网络流量的安全检测和防护产品,如主机防火墙等,多数基于此实现。那时微软推荐的方法是NDIS中间层驱动(NDIS Intermediate Drivers,简称IM驱动)。但中间层驱动有着显而易见的缺点,主要包括:(1)安装困难,且易于被缺载而失效;(2)需要针对所有适配器进行注册安装,即插即用网络适配器容易被忽略;(3)需遵循NDIS接口规范框架的要求,实现复杂。
[0004]因为NDIS 5.X存在这些问题,一般Windows基于主机流量的安全防护产品多采用NDIS钩子技术实现。设置钩子是一种通过修改系统关键代码或关键函数指针的技术,它将程序执行代码流指向特定代码,待特定代码执行完成后再恢复原来代码或函数的执行。Windows XP之前系统内核并不限制对设置钩子技术的使用,而NDIS钩子又具有方便动态安装、拦截全面、适应性强、易于实现 ...
【技术保护点】
【技术特征摘要】
1.一种用于实现NDIS6
‑
Hooking的方法,NDIS6为网络驱动程序接口规范6.0版本,其特征在于,所述方法包括:对所述NDIS6进行逆向分析,以获取所述NDIS6经注册的名为“\\CallBack\\NdisBindUnbind”的Callback回调对象,并使用例程ExCreateCallback打开所述Callback回调对象,从而利用例程ExRegisterCallback注册Callback回调例程;当所述Callback回调例程被操作系统调用时,通过调用参数获取WMI_NODE结构体,基于所述WMI_NODE结构体中的EventGuid字段判断所述操作系统中是否产生网络适配器绑定事件;当判定已产生所述网络适配器绑定事件时,所述NDIS6重置位于协议和顶层过滤器之间、各个中间层过滤器之间、底层过滤器和微型端口驱动之间的接口例程指针,并抹去预先配置的钩子;其中,当检测到所述NDIS6抹去所述预先配置的钩子后,自动触发重新配置被抹去的钩子的操作,所述操作具体包括:调用例程NdisRegisterProtocolDriver以注册协议对象,所述NDIS6为所述协议对象建立名为NDIS_PROTOCOL_BLOCK的协议块结构,遍历所述协议块结构以确定待重新配置的钩子的点位,在确定的所述点位上重新配置所述抹去的钩子,重新配置结束后,调用例程NdisDeregisterProtocol以注销所述协议对象。2.根据权利要求1所述的一种用于实现NDIS6
‑
Hooking的方法,其特征在于,当所述WMI_NODE结构体中的所述EventGuid字段为{0x5413531C,0xB1F3,0x11D0,{0x8D,0xD7,0,0xC0,0x4F,0xC3,0x35,0x8C}}时,表征所述操作系统创建并激活新的微型端口驱动,已产生所述网络适配器绑定事件。3.根据权利要求2所述的一种用于实现NDIS6
‑
Hooking的方法,其特征在于,在调用所述例程NdisRegisterProtocolDriver成功注册所述协议对象后,通过遍历所述协议块结构确定所述需要的接口例程指针,并根据所述接口例程指针确定所述待重新配置的钩子的点位,所述接口例程指针包括Send、SendComplete、Receive以及Return。4.根据权利要求3所述的一种用于实现NDIS6
‑
Hooking的方法,其特征在于,所述待重新配置的钩子的点位包括上沿钩子和下沿钩子:所述上沿钩子包括:发送例程MiniportBlock.Next.SendNetBufferLists;接收归还例程MiniportBlock.Next.ReturnNetBufferLists;接收例程OpenBlock.ReceiveNetBufferLists;发送归还例程OpenBlock.ProtSendNetBufferListsComplete;所述下沿钩子包括:发送例程MiniportBlock.LowerFilter.NextSendNetBufferLis...
【专利技术属性】
技术研发人员:穆源,张俊,王龙江,饶金龙,陈国春,黄天纵,吴庆,张伟,胡琪,宋晓斌,朱涛,常天佑,
申请(专利权)人:中国人民解放军六一六六零部队,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。