内部网络用户非法外联监控系统的设计与实现
摘 要 用户的非法外联行为一直是企业内部网络安全的一个重大隐患。通过对NDIS 协议驱动开发技术和Winsock2 SPI技术的研究,设计一套基于网络接口设备信息和端口探测的非法外联监控系统。在该系统中使用LSP 技术来实现网络阻断,并防止系统被用户强行关闭,从而阻止内部网络用户的非法外联行为,确保内部网络安全。目前已经在校园网中进行应用。
关键词 非法外联;NDIS ;端口探测;LSP
0 引言
随着互联网的不断发展以及内部网络广泛使用,网络安全问题愈发严重。为了防范病毒及保证网络安全,很多单位开始限制内部网网络与Internet 的连接,具体可分为两种情形:1)禁止内部网络与Internet 连接;2)内部网络的主机只允许通过指定网关和防火墙连接Internet 。如果这些内部网络的用户通过其他途径与Internet 连接,则视为非法外联行为[1]。非法外联的方式包括通过各种调制解调器(VPN 、ISDN 、DDN 、XDSL 、电话拔号等)、计算机双网卡和无线(IEEE802.11b 、GPRS 、WAP )等手段[2]。如何监控非法外联行为,成为内部网络的管理者必须解决的问题,相关研究也相继展开。
目前,非法外联监控系统主要有两种实现方式:一种采用C/S(客户端/服务器) 架构[2-4];另一种采用双机架构[5]。双机架构模式的实现原理是监控中心发送探测包,诱导非法外联主机把探测包发送至外部网络中的报警中心。双机架构模式的监控系统有三大不足之处:一是不能监控到离线非法外联行为,即用户断开与内部网络的连接而直接接入外网中;二是探测包可能无法穿越非法外联接入网络中部署的设备防火墙、VPN 设备或加密设备等;三是用户端的阻断软件(如各种类型的个人防火墙)可能会屏蔽监控中心的探测包[4]。而由监控中心和安装在各台主机上的监控代理组成的监控系统(C/S架构)则没有这方面的缺陷。目前,这种模式下对非法外联行为的判断方法主要有拦截拨号函数[5,6]和基于路由表查找[2,3,7,8]。对于前者,由于不能监控其他途径进行非法外联的行为,则无法满足实际的需要。而后者,在受控主机多于一块活动网卡的时候就判断用户进行非法外联,当用户的多块网卡都接入内部网络的时候就会存在误判,从而影响监控系统的效率。
目前,由于绝大部分用户都是采用微软的Windows 作为计算机的操作系统,所以本文通过对Windows 的NDIS 协议驱动和Winsock2 SPI 开发技术的研究,提出一种基于网卡状态监视和端口探测的非法外联监控方法,并使用LSP 实现网络阻断和防止监控系统被用户强行关闭。与传统方法相比,本方法具有能监控各种途径的非法外联行为、判断准确、很强的抗查杀能力三大特点,因此,更具有实用性。
1 NDIS协议驱动 和 SPI 概述
1.1 NDIS协议驱动
NDIS 是Network Driver Interface Specification,即网络驱动接口规范。NDIS 的目的是为网卡制定标准的API 接口。横跨传输层、网络层和数据链路层,定义了网卡或网卡驱动程序与上层协议驱动程序之间的通信接口规范,屏蔽了底层物理硬件的不同,使上层的协议驱动程序可以和底层任何型号的网卡通信。NDIS 包括微端口驱动、中间层驱动和协议驱动3种类型的驱动。如图1所示:
内部网络用户非法外联监控系统的设计与实现
摘 要 用户的非法外联行为一直是企业内部网络安全的一个重大隐患。通过对NDIS 协议驱动开发技术和Winsock2 SPI技术的研究,设计一套基于网络接口设备信息和端口探测的非法外联监控系统。在该系统中使用LSP 技术来实现网络阻断,并防止系统被用户强行关闭,从而阻止内部网络用户的非法外联行为,确保内部网络安全。目前已经在校园网中进行应用。
关键词 非法外联;NDIS ;端口探测;LSP
0 引言
随着互联网的不断发展以及内部网络广泛使用,网络安全问题愈发严重。为了防范病毒及保证网络安全,很多单位开始限制内部网网络与Internet 的连接,具体可分为两种情形:1)禁止内部网络与Internet 连接;2)内部网络的主机只允许通过指定网关和防火墙连接Internet 。如果这些内部网络的用户通过其他途径与Internet 连接,则视为非法外联行为[1]。非法外联的方式包括通过各种调制解调器(VPN 、ISDN 、DDN 、XDSL 、电话拔号等)、计算机双网卡和无线(IEEE802.11b 、GPRS 、WAP )等手段[2]。如何监控非法外联行为,成为内部网络的管理者必须解决的问题,相关研究也相继展开。
目前,非法外联监控系统主要有两种实现方式:一种采用C/S(客户端/服务器) 架构[2-4];另一种采用双机架构[5]。双机架构模式的实现原理是监控中心发送探测包,诱导非法外联主机把探测包发送至外部网络中的报警中心。双机架构模式的监控系统有三大不足之处:一是不能监控到离线非法外联行为,即用户断开与内部网络的连接而直接接入外网中;二是探测包可能无法穿越非法外联接入网络中部署的设备防火墙、VPN 设备或加密设备等;三是用户端的阻断软件(如各种类型的个人防火墙)可能会屏蔽监控中心的探测包[4]。而由监控中心和安装在各台主机上的监控代理组成的监控系统(C/S架构)则没有这方面的缺陷。目前,这种模式下对非法外联行为的判断方法主要有拦截拨号函数[5,6]和基于路由表查找[2,3,7,8]。对于前者,由于不能监控其他途径进行非法外联的行为,则无法满足实际的需要。而后者,在受控主机多于一块活动网卡的时候就判断用户进行非法外联,当用户的多块网卡都接入内部网络的时候就会存在误判,从而影响监控系统的效率。
目前,由于绝大部分用户都是采用微软的Windows 作为计算机的操作系统,所以本文通过对Windows 的NDIS 协议驱动和Winsock2 SPI 开发技术的研究,提出一种基于网卡状态监视和端口探测的非法外联监控方法,并使用LSP 实现网络阻断和防止监控系统被用户强行关闭。与传统方法相比,本方法具有能监控各种途径的非法外联行为、判断准确、很强的抗查杀能力三大特点,因此,更具有实用性。
1 NDIS协议驱动 和 SPI 概述
1.1 NDIS协议驱动
NDIS 是Network Driver Interface Specification,即网络驱动接口规范。NDIS 的目的是为网卡制定标准的API 接口。横跨传输层、网络层和数据链路层,定义了网卡或网卡驱动程序与上层协议驱动程序之间的通信接口规范,屏蔽了底层物理硬件的不同,使上层的协议驱动程序可以和底层任何型号的网卡通信。NDIS 包括微端口驱动、中间层驱动和协议驱动3种类型的驱动。如图1所示: