一种代理上网行为识别与检测方法与流程

文档序号:15497788发布日期:2018-09-21 22:02阅读:3789来源:国知局

本发明涉及代理上网行为识别技术领域,特别是一种代理上网行为识别与检测方法。



背景技术:

目前国际、国内反恐维稳任务艰巨,新技术新业务日益更新,传统的手段和方法已不能满足新形势下的工作。特别的,对于一些重要的地区,特殊敏感时期保障任务艰巨,责任重大,急需能够识别使用加密代理上网行为的技术或手段。

当下使用新技术来对抗监管的手段越来越多,如shadowsocks等强加密流量且流量无明显特征的代理软件来传递消息或者获取非法内容。但是每个人使用的电脑、手机上都安装了多个应用软件,如手机上基本人人都是用qq、微信等app。这些应用软件随时都会向服务器发送数据或者检查升级,如果在这些设备上使用了vpn全局代理或者shadowsocks全局代理来躲避监管,那么上述软件的行为也将会通过这些通道返回到国内服务器中,因此,通过上述特征结合一定的手段可以精准地识别出使用代理的用户以及代理服务器。



技术实现要素:

本发明所要解决的技术问题是提供一种代理上网行为识别与检测方法,能够精准地识别使用全局代理访问出口以外网站的用户及代理服务器。

为解决上述技术问题,本发明采用的技术方案是:

一种代理上网行为识别与检测方法,采用分流设备将网络中数据流量全流量镜像到捕包引擎中进行初步处理,即根据数据流入和数据流出分别应对不同的规则,在数据流出时,记录目的地址不在境内的ip,在数据流入时,记录源地址不在境内的ip;

将数据流出时和数据流入时记录的ip保存在存储引擎中;

储存引擎中的ip数据再提供给分析引擎,供分析引擎进行分析;所述分析引擎为一个时时运行的守护进程,其不停地扫描存储的ip数据并进行匹配,如果发现流出方向的数据源地址与目的地址在设定时间以内同流入方向的数据目的地址和源地址匹配,则将这个访问会话标识为可疑访问会话;

将标识为可疑访问会话的数据流入方向的源地址加入到应用识别引擎中去进行应用识别;

当应用识别引擎识别出目标ip开放的所有协议后,再调用协议验证引擎进行协议验证,若验证出有协议为伪装协议,则判定境外ip为代理服务器访问会话或者判定境外ip为代理服务器访问会话的可疑度高,若验证出有协议为真实协议,则判定境外ip为无代理服务器访问会话。

进一步的,所述代理上网行为识别与检测方法采用c/s模式结构。

进一步的,还包括后台结果展示,即采用b/s模式结构,基于轻量级web开发语言php开发,结合laravel或jquery框架形成展示系统。

进一步的,在进行协议验证时,采用传统的网络安全端口扫描的方式识别开放的应用,并使用协议“真”识别的方式去验证开放的这些应用是否真实。

进一步的,分析引擎进行分析时,设定时间为60秒。

进一步的,所述传统的网络安全端口扫描采用的扫描工具为nmap或masscan。

与现有技术相比,本发明的有益效果是:可以无需关注流量封装的具体内容,也可不关注流量是否加密即可精准地识别使用全局代理访问出口以外网站的用户及代理服务器。为了适应更多的协议验证,还可以采用开放式的开发设计,即任何人都可以根据规范编写验证插件,不需要改动系统程序结构。

附图说明

图1是本发明方法整体架构示意图。

图2是本发明方法具体流程示意图。

图3是采用本发明方法后的界面展示图。

图4是pc的正常连网状态图。

图5是正常连网时qq显示图。

图6是网络连接断开时状态图。

图7是网络连接断开时qq显示图。

图8是采用本发明方法的实验系统图。

图9是本发明中实验时捕获的最新数据的前五位。

图10是本发明实验时得到的疑似代理服务器ip。

图11是本发明实验时得到的开放的端口信息。

图12是与图10中ip有过数据交互的信息的前五位。

图13是本发明实验分析和验证结果。

具体实施方式

下面结合附图和具体实施方式对本发明作进一步详细的说明。

若在需要管控地区出口处区分境内ip和境外ip,并将所有非常规的访问源ip和目的ip做一个异常列表并重点监控,在之后发现有异常列表中目的ip向国内服务器请求已知应用数据且目的ip并没有开放常见的应用服务的情况下,那么基本可以判断此种行为是代理行为。

本发明方法采用前后端分离模式设计,前端采用b/s架构,后端采用c/s模式设计,整体架构如图1所示。

后端c/s模式系统结构如下:分流设备将网络中数据流量全流量镜像到捕包引擎中进行初步处理,在这里将区分出数据流入和流出分别应对不同的规则,即:流出方向只记录目的地址不在境内的ip,流入方向的数据只记录源地址不再境内的ip,将这些数据记录并保存在存储引擎中供分析引擎进行分析,分析引擎为一个时时运行的守护进程,将不停地扫描存储的数据并进行匹配,如果发现流出方向的数据源地址与目的地址在60秒以内同流入方向的目的地址和源地址匹配,则将这个访问会话标识为高度可疑,并将流入方向的源地址(境外ip)加入到应用识别系统中去进行应用识别;当应用识别引擎识别出目标ip开放的所有协议后,为了保证数据的可靠性,将会在调用协议验证引擎进行协议验证,并最终判断结果。具体流程如图2所示。

前端b/s模式系统结构如下:基于轻量级web开发语言php开发,结合热门的laravel、jquery等框架形成一个展示系统,主要将后台结果展示出来,主界面如图3所示。

本发明方法的原理之一为:1)、用户设备上安装有多个国内的热门应用,如微信、qq、微博、360杀毒等;2)、用户使用vpn上网后上述热门应用会自动重新连接服务器,而这些热门应用发起的连接请求均都回通过vpn服务器反连回来。本发明方法要收集常用热门app的服务器ip。

从国际ip分配机构获取属于中国ip,并做成一个key-value的高效查询库用于查询,但是这种方式也有一定的缺陷如对于广播ip的方式则可能会发生误判。

采用64位linux系统加libpacp库实现流量的高效提取和分析,分析传输中的源地址、目的地址、源端口和目的端口。经过实验这种方法在服务器配置:cpuxene5-2609*2,内存2gb,千兆网卡的接入环境中可以实现实际传输50mb/s的流量捕获和分析。

针对部分代理服务器可能开启了混淆和伪装的协议,本发明方法在研究中采用了传统的网络安全端口扫描的方式识别开放的应用,并使用协议“真”识别的方式去验证开放的这些应用是否真实,比如我shadowsocks开放的端口是443,则一般传统的应用识别会将此协议标注为https,而为了验证这个端口开放的协议是不是真的https,则验证引擎会模拟一个真实的https去请求服务器,如果是真实的https协议,则会对模拟的请求给出正确的反馈,如果是伪装的https协议,则不会反馈或给出错误的反馈。

本发明方法为了适应更多的协议验证,则采用了开放式的开发设计,即任何人都可以根据规范编写验证插件,而不需要改动系统程序结构。

经常使用手机或者pc都可以发现一个规律,当你网络环境改变后系统内安装的时时网络程序都会及时的重新连接服务器,这一点尤其是在腾讯qq、微信等即时通信程序中最为常见。例如:

a)正常连网的pc,安装腾讯qq并登陆,如图4、图5所示,可以看到腾讯qq正常连接状态。

b)手动将网络连接断开,并开始计时,大约5秒后,腾讯qq会自动下线(断开)。

c)手动将网络连接上,并开始计时,大约5秒后,腾讯qq会自动上线(连接上服务器)。

当连接vpn或者全局代理时腾讯qq也会实现如上的下线-上线流程,以检测和改变自身网络环境,这是其特征之一。而一般正常的境内访问境外的业务,如跨国公司,跨地区公司在通过vpn访问公司资源一般都只是境内发起请求到境外,而极少境外发起请求到境内,更不可能当一个境内向境外ip发起请求后再极短的时间内境外ip又向境内热门的应用发起请求,这是其特征之二。正是利用这几点可以在网络出口地方进行流量捕获分析并结合一定的规则算法就可以识别出异常会话,判断公式如表1所示。

表1判断公式及结论

代理服务器识别技术一直是研究的难点,现在为了对抗识别,更是使用混淆、伪装技术。并且作为一个网络出口处工作的系统,必须要有极快的速度来识别。本发明方法利用了网络安全端口扫描技术来初步实现目标服务器的端口开放应用协议识别,目前开源的nmap、masscan都是比较优秀的端口扫描工具,并且速度很快。采用nmap,例如使用常规方法对一个ip进行端口扫描,扫描1000个端口,不考虑网络因素,实际测试约5秒左右。

为了更准确的识别协议,本发明方法采用了“插件”的方式验证识别出的协议,主要实现方式为:如果nmap识别出是imap协议,则将ip和端口提交要验证组件中,验证组件会模拟imap的协议去访问目标ip,如果能得到正确的连接,则表明目标协议为真imap协议,如果不能建立连接,则目标协议为假的协议,也表明目标ip有存在代理服务器的可能。

下面通过具体实例对本发明方法及其有益效果进行进一步的验证。

实验环境说明:

1、部署如图8所示的网络拓扑的实验环境;

2、境外vpn服务器为在linode上购买的vps服务器;

3、捕包服务器为本地服务器上的虚拟机服务器,上面安装了开发的后端c/s模式的程序组件;

4、web服务器为模拟热门应用服务器(因网络限制模拟为热门应用服务器);

5、普通pc为发起vpn连接请求并模拟热门应用自动访问服务器(安装了ciscovpn客户端)。

实验步骤:

1、在捕包服务器上启动各个组件,让系统进入分析状态,在系统调试日志中可以看到各项输出信息。

2、在普通pc172.16.0.172上面使用vpn客户端与服务器建立连接,在建立连接成功后的60秒内访问http://221.237.189.127(因为实验环境不能捕获到真正的热门应用ip数据,因此采用手动访问221.237.189.127这一ip来模拟热门应用自动连接服务器这一动作)。

3、当第2步完成后查看系统界面可以发现捕获有172.16.0.172与45.79.69.72的数据记录,并将这个会话标注为可疑会话。查看该ip信息可以发现此ip开放了多个端口,以及和该ip进行过数据交互的最新top5ip信息。

4、当45.79.69.72这个ip的检测任务完成后,在查看可疑列表发现该ip为代理服务器的可能性有90%,端口443为虚假协议,所有与该ip的443端口连接的境内ip都有可能是使用代理上网用户。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1