一种预防和检测代理的方法和系统的制作方法

文档序号:7960910阅读:143来源:国知局
专利名称:一种预防和检测代理的方法和系统的制作方法
技术领域
本发明涉及代理检测和网络技术,更具体地说,涉及一种预防和检测用户使用代理技术的方法和系统。
背景技术
随着互联网(下称Internet)与局域网(下称Intranet)的飞速发展,作为连接Internet与Intranet的桥梁,共享上网技术在实际应用中发挥着极其重要的作用。但网络用户使用了共享上网技术以后,网络中的资源访问权限变得不可控,给网络资源带来了安全隐患,同时逃避计费也给通过网络运营的各类网络服务提供商(Internet Service Provider,简称ISP)和校园网络管理部门带来了很大的损失。
在采用基于端口的访问控制协议(Port based network access controlprotocol,又名802.1x协议,以下简称802.1x)技术的宽带网环境中,用户可以通过代理上网来实现“一个账号多人使用”的方法,如何防范和检测用户使用共享上网技术成为目前需要重点关注研究并亟待解决的问题。
如图1所示,代理服务器是接收或解释客户端连接并发起到服务器的新连接的网络节点,代理服务器的四个基本功能(1)能够接收和解释客户端的请求;(2)能够创建到服务器的新连接;(3)能够接收服务器发来的响应;(4)能够发出或解释服务器的响应并将该响应传回给客户端。
如果说接收客户端请求并发回响应是服务器的功能的话,那么发起到服务器的连接并接收服务器的响应则是客户端发挥的作用。因此代理服务器必须要同时实现服务器和客户端两端的功能。
现在网上的代理程序很多,如WinGate,Sygate,WinProxy,SocksCap32,CCProxy,Socks Online,SpoonProxy,SuperProxy,NAT32Enhanced,ProxyCap,SinforNAT,UserGate,SOCKS2HTTP,NetProxy等有几百种软件。现有技术一般采用端口扫描和根据连接数的突变来检测代理的方法,但根据端口扫描会占据大量的机器资源和网络资源,而根据连接数的突变可能会导致误检。

发明内容
鉴于上述,本发明的目的在于提供一种预防和检测代理的方法和系统,其能够预防和检测用户使用的代理技术。
为实现上述目的,本发明提供一种预防和检测代理的方法,包括由代理检测模块执行预防代理和检测代理操作中的一种或其组合;其中,预防代理操作至少包括执行检测双网卡、双网际协议、传输控制协议活动连接数、用户数据报协议开放端口数及用户修改分配的网际协议地址操作中的一种或其任意组合;检测代理操作至少包括执行检测运行的代理软件特征、查看特定服务的状态、监视非法服务端口及数据包特征分析操作中的一种或其任意组合;代理检测模块根据代理检测策略请求数据执行上述预防代理操作和/或检测代理操作的相应操作中的一种或其组合。
进一步地,上述代理检测策略请求数据按照预防代理及检测代理操作中代价大小的顺序排列;上述代理检测模块优先执行上述代理检测策略请求数据中代价小的预防代理操作和检测代理操作中的一种或其组合。
进一步地,上述预防代理操作中的检测多网卡和多网际协议操作包括
1)上述代理检测模块使用Windows的IpHlpapi库定时查询网络接口信息;2)上述代理检测模块检查网卡和网际协议数是否超过限制。
进一步地,上述预防代理操作中的检测传输控制协议活动连接数操作包括1)上述代理检测模块查询TcpTable连接数量;2)上述代理检测模块根据上述TcpTable连接的状态确定传输控制协议活动的连接数;3)上述代理检测模块检查上述传输控制协议活动的连接数是否超过限制;进一步地,上述预防代理操作中的检测用户数据报协议开放端口数操作包括1)上述代理检测模块查询UdpTable端口表;2)上述代理检测模块根据上述UdpTable端口表检查用户数据报协议打开的端口数量;3)上述代理检测模块检查上述用户数据报协议打开的端口数量是否超过限制。
进一步地,上述检测代理操作中的查看特定服务的状态操作为上述代理检测模块通过打开服务管理器并打开上述特定服务,查看上述特定服务的运行状态,判别指定服务是否运行。
进一步地,上述检测代理操作中的监视非法服务端口操作为上述代理检测模块通过查看动态主机配置协议服务的端口是否打开判别代理服务的非法运行。
进一步地,上述检测代理操作中的检测运行的代理软件特征操作包括1)上述代理检测模块至少查找上述代理软件的进程名称、窗体名称及其在注册表中的classID特征,并将上述特征提取出来存储在程序或内存中;2)上述代理检测模块通过检查运行的代理软件的各进程的特征匹配判别上述代理软件是否运行。
本发明还提供一种预防和检测代理的系统,至少包括基于端口的访问控制协议认证模块;及代理检测模块,其执行预防代理和检测代理操作中的一种或其组合;其中,上述基于端口的访问控制协议认证模块与上述代理检测模块通过代理检测策略请求/响应数据进行通信;上述代理检测模块根据上述代理检测策略请求数据执行上述预防代理操作和/或检测代理操作的相应操作中的一种或其组合。
进一步地,上述代理检测策略请求数据按照预防代理及检测代理操作中代价大小的顺序排列;上述代理检测模块优先执行上述代理检测策略请求数据中代价小的预防代理操作和检测代理操作中的一种或其组合。
进一步地,上述检测代理操作中的数据包特征分析操作包括网卡抓包引擎,用以抓取本机所有网卡的网络进出的通信数据;代理检测模块,根据预先设定的代理检测规则,检测本机是否存在代理服务;数据包分析模块,用以分析网络数据并分析获取特征数据;数据包队列模块,用以存储抓取的网络进出特定数据包进行数据分析;其中,上述网卡抓包引擎与上述数据包分析模块和上述数据包双向队列模块连接;上述数据包双向队列模块与上述数据包分析模块连接;上述数据包分析模块与上述代理检测模块连接。
本发明的预防和检测代理的方法和系统可以利用不同的预防代理和检测代理的方法来防止代理,并可以将这些预防代理方法和检测代理方法任意组合以满足各种防代理检测需要。
下面结合附图,对本发明的具体实施作进一步的详细说明。对于熟悉本技术领域的人员而言,从对本发明方法的详细说明中,本发明的上述和其他目的、特征和优点将显而易见。


图1是客户机通过代理服务器连接外网服务器的示意图;图2是本发明一较佳实施例的预防和检测代理系统的结构示意图;图3是本发明一较佳实施例的预防和检测代理系统的代理检测策略请求/回应数据结构示意图;图4是本发明一较佳实施例的预防和检测代理系统的代理检测策略执行流程结构示意图;图5是本发明一较佳实施例的预防和检测代理系统的数据包分析的流程示意图。
具体实施例方式
下面结合附图对本发明的具体实施作详细说明如下图2为本发明一较佳实施例的预防和检测代理系统的结构示意图,其主要分为802.1x认证模块和代理检测模块。其中802.1x认证模块包括可扩展认证协议(Extensible Authentication Protocol,以下简称EAP)实现,基于局域网的扩展认证协议(EAP Over LAN,简称EAPOL)帧处理,代理检测策略接收和结果上报,协议操作和状态机实现,MD5、RC4算法实现。代理检测模块执行预防代理和检测代理操作中的一种或其组合,通过执行如检测双网卡、双IP、TCP活动连接数、UDP开放端口数及用户修改分配的IP地址等预防代理操作,检测用户网卡的进、出数据流量的状况,从而识别出用户是否使用了共享上网技术;通过执行如检查客户端运网络接口信息,代理软件特征检查,TCP活动会话数检查、UDP打开端口数检查,端口监视或扫描探测,网络数据包分析等检测代理操作来判断用户客户端环境中是否安装或运行了代理软件。
在本实施例中的检测代理操作中,代理检测模块是根据代理检测策略请求数据(如图3所示)来执行预防代理操作和/或检测代理操作的相应操作中的一种或其组合。其中代理检测策略请求数据按照预防代理及检测代理操作中代价大小的顺序排列,代理检测模块优先执行代理检测策略请求数据中代价小的预防代理操作和检测代理操作中的一种或其组合,这样的优化执行可以提高检测效率。如图4所示,代理检测模块在收集客户端网络接口信息之后,获取802.1x认证模块发送的防代理策略,其中该策略按检测方法代价大小执行的顺序排列,代理检测模块根据该策略一次性查询,如网卡数、IP地址数,IP/MAC地址检测,TCP/UDP会话数端口检查代价小;端口扫描代价较大,尤其是端口多的时候,就要先分析可疑的端口,如会话中端口使用次数大于2的,对于TCP端口先检查端口状态为Listen的,这些可疑端口检测时间间隔可小一些,若对端口表全部扫描,检测时间间隔可以大一些;数据包分析可能需要的较大代价,这取决于运行环境中网络流量、抽样数据包数量和检测周期,代理检测模块记录每次执行前后的时间,分析效率,根据情况调整抽样数据包数量和检测周期,确保负荷不会太重。
如图5所示,本发明代理检测模块的数据包特征分析包括以下处理过程网卡抓包引擎,用以抓取本机所有网卡的网络进出的通信数据;代理检测模块,根据预先设定的代理检测规则,检测本机是否存在代理服务;数据包分析模块,用以分析网络数据并分析获取特征数据;数据包队列模块,用以存储抓取的网络进出特定数据包以进行数据分析。其中,网卡抓包引擎与数据包分析模块和数据包双向队列模块连接;数据包双向队列模块与数据包分析模块连接;数据包分析模块与代理检测模块连接。
在本发明中,除了使用预防和检测代理的系统之外,还提供了预防和检测代理的方法。在本发明的另一较佳实施例中,使用Windows的IpHlpapi库定时查询网络接口信息,以检测网卡和IP数是否超过限制,查询TcpTable连接数量和UdpTable端口表,根据TcpTable连接的状态检查活动的连接数是否超过限制,根据UdpTable端口表检查UDP打开的端口数量是否超过限制。通过打开服务管理器,并打开指定服务(如Windows ICS服务,即Internet连接共享Internet Connection Sharing),查看指定服务的运行状态来判别指定服务是否运行。通过查看特定服务的端口(如动态主机配置协议(Dynamic Host Configuration Protocol,简称DHCP)服务端口67)是否打开判别某些代理服务非法运行。
还可以通过查找代理程序(如Sygate代理软件、Wingate代理软件等)的进程名称,代理程序的窗体名称,代理程序在注册表中的classID等特征,并将上述特征提取出来存储在程序或内存中,然后通过检查运行的各进程的特征匹配来判别代理程序是否运行。这种检查代理软件特征的检测方法,实现代价低,不会误判,但也易漏掉不太常用的代理程序。
以上详细说明了本发明的实施方式,但这只是为了便于理解而举的形象化的实例,不应被视为是对本发明范围的限制。同样,任何所属技术领域的普通专业人员均可根据本发明的技术方案及其较佳实施例的描述,做出各种可能的等同改变或替换,但所有这些改变或替换都应属于本发明的权利要求的保护范围。
权利要求
1.一种预防和检测代理的方法,包括由代理检测模块执行预防代理和检测代理操作中的一种或其组合;其中,预防代理操作至少包括执行检测双网卡、双网际协议、传输控制协议活动连接数、用户数据报协议开放端口数及用户修改分配的网际协议地址操作中的一种或其任意组合;检测代理操作至少包括执行检测运行的代理软件特征、查看特定服务的状态、监视非法服务端口及数据包特征分析操作中的一种或其任意组合;代理检测模块根据代理检测策略请求数据执行上述预防代理操作和/或检测代理操作的相应操作中的一种或其组合。
2.根据权利要求1所述的方法,其特征是上述代理检测策略请求数据按照预防代理及检测代理操作中代价大小的顺序排列;上述代理检测模块优先执行上述代理检测策略请求数据中代价小的预防代理操作和检测代理操作中的一种或其组合。
3.根据权利要求2所述的方法,其特征是上述预防代理操作中的检测多网卡和多网际协议操作包括1)上述代理检测模块使用Windows的IpHlpapi库定时查询网络接口信息;2)上述代理检测模块检查网卡和网际协议数是否超过限制。
4.根据权利要求3所述的方法,其特征是上述预防代理操作中的检测传输控制协议活动连接数操作包括1)上述代理检测模块查询TcpTable连接数量;2)上述代理检测模块根据上述TcpTable连接的状态确定传输控制协议活动的连接数;3)上述代理检测模块检查上述传输控制协议活动的连接数是否超过限制。
5.根据权利要求4所述的方法,其特征是上述预防代理操作中的检测用户数据报协议开放端口数操作包括1)上述代理检测模块查询UdpTable端口表;2)上述代理检测模块根据上述UdpTable端口表检查用户数据报协议打开的端口数量;3)上述代理检测模块检查上述用户数据报协议打开的端口数量是否超过限制。
6.根据权利要求5所述的方法,其特征是上述检测代理操作中的查看特定服务的状态操作为上述代理检测模块通过打开服务管理器并打开上述特定服务,查看上述特定服务的运行状态,判别指定服务是否运行。
7.根据权利要求6所述的方法,其特征是上述检测代理操作中的监视非法服务端口操作为上述代理检测模块通过查看动态主机配置协议服务的端口是否打开判别代理服务的非法运行。
8.根据权利要求7所述的方法,其特征是上述检测代理操作中的检测运行的代理软件特征操作包括1)上述代理检测模块至少查找上述代理软件的进程名称、窗体名称及其在注册表中的classID特征,并将上述特征提取出来存储在程序或内存中;2)上述代理检测模块通过检查运行的代理软件的各进程的特征匹配判别上述代理软件是否运行。
9.一种预防和检测代理的系统,至少包括基于端口的访问控制协议认证模块;及代理检测模块,其执行预防代理和检测代理操作中的一种或其组合;其中,上述基于端口的访问控制协议认证模块与上述代理检测模块通过代理检测策略请求/响应数据进行通信;上述代理检测模块根据上述代理检测策略请求数据执行上述预防代理操作和/或检测代理操作的相应操作中的一种或其组合。
10.根据权利要求9所述的系统,其特征是上述代理检测策略请求数据按照预防代理及检测代理操作中代价大小的顺序排列;上述代理检测模块优先执行上述代理检测策略请求数据中代价小的预防代理操作和检测代理操作中的一种或其组合。
11.根据权利要求10所述的系统,其特征是上述检测代理操作中的数据包特征分析操作包括网卡抓包引擎,用以抓取本机所有网卡的网络进出的通信数据;代理检测模块,根据预先设定的代理检测规则,检测本机是否存在代理服务;数据包分析模块,用以分析网络数据并分析获取特征数据;数据包队列模块,用以存储抓取的网络进出特定数据包进行数据分析;其中,上述网卡抓包引擎与上述数据包分析模块和上述数据包双向队列模块连接;上述数据包双向队列模块与上述数据包分析模块连接;上述数据包分析模块与上述代理检测模块连接。
全文摘要
一种预防和检测代理的方法和系统,该方法包括预防代理操作和检测代理操作,根据代理检测策略请求数据执行上述预防代理操作和/或检测代理操作的相应操作中的一种或其组合;该系统至少包括802.1x认证模块及执行预防代理和检测代理操作的代理检测模块,代理检测模块根据代理检测策略请求数据执行预防代理操作和/或检测代理操作的相应操作中的一种或其组合。本发明的预防和检测代理的方法和系统可以利用不同的预防代理和检测代理的方法来防止代理,并可以将这些预防代理方法和检测代理方法任意组合以满足各种防代理检测需要。
文档编号H04L12/26GK1881938SQ20061007966
公开日2006年12月20日 申请日期2006年4月27日 优先权日2006年4月27日
发明者黄小华, 卢应华, 严跃杰 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1