欢迎来到天天文库
浏览记录
ID:25156495
大小:56.50 KB
页数:8页
时间:2018-11-18
《基于arp协议的非法主机接入监测系统的设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于ARP协议的非法主机接入监测系统的设计韩少聪,陈玉慧,刘嘉华,康睿(南瑞集团公司/国网电力科学研究院,江苏南京210003)摘要:针对企事业内部网络中存在的非法主机接入网络产生的安全问题,设计了一种基于ARP协议的非法主机接入监测系统。在该系统中,通过底层驱动阻断操作系统ARP的收发,构造具有签名的私有ARP实现主机接入的监视及非法接入主机的识别和网络通信阻断。实验结果表明,该系统可以感知并识别非法接入的设备,阻断非法设备的通信,并可识别非法构造的ARP主机。通过该系统可以快速、及时发现非法接入设备,降低非法设备的存活时间。.jyqkediate)和协议驱
2、动(Procotol)等3种类型的驱动,如图3所示。其中,NDIS体系的最高层为协议驱动,它接收底层物理网卡或中间驱动的消息并为应用层提供服务[7];中间层位于微端口驱动和协议驱动之间,它可以提供多种服务,可以对通过链路层、网络层的网络数据包进行截获、过滤[8]。由中间层所处NDIS体系层次位置可知,它必须与下层微端口及上层协议驱动进行通信,它是通过两个函数集来实现的:微端口驱动(MiniPortXxx)入口点,用来传送上层协议层的协议驱动请求;协议驱动(ProtocolXxx)入口点,用来传送下层微端口的驱动请求。微端口为物理网卡与上层驱动程序提供通信接口,
3、负责上次数据包的收发。3系统总体结构和框架监测系统采用C/S+B/S架构,在局域网内的每台主机上安装监视代理程序,该代理程序实现阻断操作系统自身ARP、构造私有ARP、监视主机接入功能,当有非法主机接入时上报给服务端,管理员通过iniport接口发送到导出的Protocol接口上,NDIS中间层驱动程序对从微端口接收的数据进行处理,当NDIS中间层驱动处理完数据后,再把处理后的数据通过导出的Miniport接口发送到接口Protocol上,这样就完成了一个截获数据包的过程[9]。当上层协议驱动要发送数据时,首先会通过中间层接口将数据发送到中间层,然后中间层使用
4、Mini?portSend和MiniportSendPackets两个函数对接收的数据进行转发,在转发时可以在这两个函数中设置过滤规则以过滤无关的数据,NDIS可以过滤任何网络协议[10]。本文只需要过滤ARP协议,中间层如果发现是ARP协议则进行阻断不转发,其他协议放行,同时构造私有ARP数据包发送出去。当有网络数据包到达网卡时,微端口驱动会调用NdisMindicateReceive通知中间层,然后NDIS会调用中间层的函数PtReceive/PtReceivePacket来接收和处理数据包,如果发现是ARP数据包则判断是否是合法的私有ARP,如果是合法私
5、有ARP说明是合法主机,否则是非法主机。4.2私有ARP的构造如第1.2节所述,以太网数据帧最小长度为64B,而ARP固定长度为42B,去除4B的CRC还剩余18B需要填充。构造的私有ARP就是通过对这18B进行填充来实现的,填充内容为私有内容,同时需要签名机制实现“完整性检查机认证”,以防非法用户在合法主机上通过旁路侦听技术捕获合法主机的ARP通信技术,从而构造非法的私有ARP伪造成合法主机接入网络。4.3客户端处理流程步骤1:通过第4.1节所述实现阻断操作系统自身ARP的收发,判断收的数据包是否为ARP数据包,如果不是则丢弃,如果是ARP数据包,则进行阻断
6、;步骤2:Agent构造私有ARP,原有ARP数据报文的格式不变,在此基础上增加最长为18B的私有标记,因为原有ARP协议数据包长度固定位42B,而以太网的最小帧长度为64B,还有18B的空余可供填充。在构造私有ARP时需要对私有标记进行完整性检查及认证,防止非法设备获取私有标记进而伪造成合法设备接入网络。步骤3:将构造的私有ARP数据包进行广播,接收其他设备的ARP请求及应答。如果收到其他设备的ARP请求,则对该ARP进行解析,取出私有标记,使用一定的加密算法及局域网内所有主机的共享密钥对私有标记进行合法性和完整性检查。如果检查通过,说明是安装Agent的合
7、法设备,则可以进行通信;如果检查不通过,说明是非法设备,则Agent向非法设备发送一个ARP应答报文,该ARP数据包的发送端IP为非法设备IP,发送端MAC地址为一个伪造的、不存在的MAC地址的数据包,以阻断非法设备与其通信,并将该非法设备上报给服务端。阻断并构造ARP及判断非法设备的具体流程如图6所示。4.4服务端处理流程步骤1:客户端与服务端一直保持通信,当一定时间内服务端未收到客户端的消息,则认为客户端已经处于离线状态。步骤2:服务端在其库表中查找客户端的IP,如果没有找到,说明该客户端是安装Agent的合法设备,因为没有安装Agent的设备是不能与服务
8、端通信的;如果在库表中找到了,说明此设
此文档下载收益归作者所有