CN110784383B - Shadowsocks代理网络流量检测方法、存储介质和终端 - Google Patents

Shadowsocks代理网络流量检测方法、存储介质和终端 Download PDF

Info

Publication number
CN110784383B
CN110784383B CN201911233362.4A CN201911233362A CN110784383B CN 110784383 B CN110784383 B CN 110784383B CN 201911233362 A CN201911233362 A CN 201911233362A CN 110784383 B CN110784383 B CN 110784383B
Authority
CN
China
Prior art keywords
user
network
terminal
characteristic
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911233362.4A
Other languages
English (en)
Other versions
CN110784383A (zh
Inventor
何高峰
沈薇
孙雁飞
亓晋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN201911233362.4A priority Critical patent/CN110784383B/zh
Publication of CN110784383A publication Critical patent/CN110784383A/zh
Application granted granted Critical
Publication of CN110784383B publication Critical patent/CN110784383B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种Shadowsocks代理网络流量检测方法、存储介质和终端,所述方法包括:从终端产生的网络流量中提取对应的终端网络流量特征向量;从所述终端的用户的网络流量中提取用户网络行为特征向量;基于所提取的终端网络流量特征向量和用户网络行为特征向量,判定所述终端的用户是否通过Shadowsocks代理访问外部网络。上述的方案,可以提高Shadowsocks流量检测效率和准确率。

Description

Shadowsocks代理网络流量检测方法、存储介质和终端
技术领域
本发明属于网络安全技术领域,特别是涉及一种Shadowsocks代理网络流量检测方法、存储介质和终端。
背景技术
Shadowsocks是一款国内流行的、轻量级的加密代理工具,是一种基于SOCKS5的加密代理工具。该工具在SOCK5协议基础上进行了加密和重构,用以隐匿客户端与代理服务器之间的传递内容,实现了高安全性和隐蔽性。
目前该工具使用Python、C、C++、C#、Go语言等编程语言开发,分为客户端和服务端两个部分。该工具的运行流程如下:1、本地浏览器将请求通过SOCKS5协议交给本地的服务器的1080端口去代理。2、本地服务器运行local.py并监听1080端口,接受来自浏览器的请求。3、local.py接收到请求后将流量加密,通过TCP连接传输到shadowsocks远程服务器端。4、远程服务器解密请求后,访问浏览器将要请求的目的Ip。5、远程服务器将目的ip返回的内容加密后返回本地服务器。本地与远程服务器的加密基于服务器设置的用户名和密码进行对称加密,所以在传输过程中不需要进行密钥的交换。双方之间的通信是普通的TCP传输,与普通https流量在内容上没有任何差异,因此具备极高的隐蔽性。此外,由于此代理工具的隐蔽性,国内的上网用户常常通过购买国外服务器后搭建shadowsocks服务端,用于逃过国内的网络监管,从而非法访问境外网站。
现有已经存在相关的Shadowsocks流量检测方法,但现有的Shadowsocks流量检测方法存在着检测效率低下的问题。
发明内容
本发明解决的技术问题是如何提高Shadowsocks流量检测效率和准确率。
为了达到上述目的,本发明提供一种Shadowsocks代理网络流量检测方法,所述方法包括:
从终端产生的网络流量中提取对应的终端网络流量特征向量;
从所述终端的用户的网络流量中提取用户网络行为特征向量;
基于所提取的终端网络流量特征向量和用户网络行为特征向量,判定所述终端的用户是否通过Shadowsocks代理访问外部网络。
可选地,所述终端网络流量特征向量包括终端网络流量的源IP地址、目的IP地址、源端口、目的端口、传输层协议、流加密特征,流传输协议特征和流报文长度特征的信息;所述流加密特征用于标识对应的网络流量是否为加密流量;所述流传输协议特征用于标识对应的网络流量所使用的传输协议是否为预设类型的加密协议;所述流报文长度特征用于标识TCP三次握手步骤完成后客户端发送的第一数据报文长度是否大于第二数据报文长度。
可选地,所述流加密特征通过计算对应的终端网络流量的报文比特熵值进行确定。
可选地,所述流传输协议特征通过采用预设类型的传输协议解析对应终端网络罗流量的第一数据报文进行确定。
可选地,所述预设类型的传输协议包括TLS、SSH和IKE传输协议。
可选地,所述用户网络行为特征向量包括用户名称、用户IP地址、第一用户特征和第二用户特征的信息;所述用户名称用于标识所述用户或用户终端名称;所述用户IP地址用于标识用户终端的IP地址;第一用户特征用于标识加密网络流量对应的目的IP地址、目的端口和出现次数的信息;所述第二用户特征用于标识用户试图访问黑名单网络地址的次数的信息。
可选地,所述基于所提取的终端网络流量特征向量和用户网络行为特征向量,判定所述终端的用户是否通过Shadowsocks代理访问外部网络,包括:
获取所提取的所有终端网络流量特征向量;
当对应的流加密特征标识对应的网络流量为加密流量,流传输协议特征标识对应的网络流量所使用的传输协议非为预设类型的加密协议,且流报文长度特征用于标识TCP三次握手步骤完成后客户端发送的第一数据报文长度大于第二数据报文长度,将对应的终端网络流量特征向量加入终端网络流量特征向量集合中;
当确定所述终端网络流量特征向量集合为空时,判定所述终端的用户未通过Shadowsocks代理访问外部网络。
可选地,当确定所述终端网络流量特征向量集合非为空时,所述基于所提取的终端网络流量特征向量和用户网络行为特征向量,判定所述终端的用户是否通过Shadowsocks代理访问外部网络,还包括:
从所述终端网络流量特征向量集合中终端网络流量特征向量进行逐条遍历,获取遍历至的当前终端网络流量特征向量;
从当前终端网络流量特征向量中提取对应的目的IP地址和目的端口的信息;
从提取的所有用户网络行为特征向量中获取与当前终端网络流量特征向量具有相同的目的IP地址和目的端口的用户网络行为特征向量;
统计与当前终端网络流量特征向量具有相同的目的IP地址和目的端口的用户网络行为特征向量中的出现次数总和及用于标识用户试图访问黑名单网络地址的次数的所述第二用户特征的数值总和;
当确定与当前终端网络流量特征向量具有相同的目的IP地址和目的端口的所有用户网络行为特征向量中的出现次数总和大于预设的次数阈值,且用于标识用户试图访问黑名单网络地址的次数的所述第二用户特征的数值总和大于预设的数值阈值时,判断该目的IP地址和目的端口对应的用户通过Shadowsocks代理访问外部网络;
获取下一条终端网络流量特征向量,直至所述终端网络流量特征向量集合中所有的终端网络流量特征向量遍历完成。
本发明实施还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述任一项所述的Shadowsocks代理网络流量检测方法的步骤。
本发明实施还提供了一种终端,包括存储器和处理器,所述存储器上储存有能够在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述任一项所述的Shadowsocks代理网络流量检测方法的步骤。
本发明实施还提供了一种Shadowsocks代理网络流量检测装置,所述装置包括:
第一提取单元,适于从终端产生的网络流量中提取对应的终端网络流量特征向量;
第二提取单元,适于从所述终端的用户的网络流量中提取用户网络行为特征向量;
流量检测单元,适于基于所提取的终端网络流量特征向量和用户网络行为特征向量,判定所述终端的用户是否通过Shadowsocks代理访问外部网络。
可选地,所述终端网络流量特征向量包括终端网络流量的源IP地址、目的IP地址、源端口、目的端口、传输层协议、流加密特征,流传输协议特征和流报文长度特征的信息;所述流加密特征用于标识对应的网络流量是否为加密流量;所述流传输协议特征用于标识对应的网络流量所使用的传输协议是否为预设类型的加密协议;所述流报文长度特征用于标识TCP三次握手步骤完成后客户端发送的第一数据报文长度是否大于第二数据报文长度。
可选地,所述流加密特征通过计算对应的终端网络流量的报文比特熵值进行确定。
可选地,所述流传输协议特征通过采用预设类型的传输协议解析对应终端网络罗流量的第一数据报文进行确定。
可选地,所述预设类型的传输协议包括TLS、SSH和IKE传输协议。
可选地,所述用户网络行为特征向量包括用户名称、用户IP地址、第一用户特征和第二用户特征的信息;所述用户名称用于标识所述用户或用户终端名称;所述用户IP地址用于标识用户终端的IP地址;第一用户特征用于标识加密网络流量对应的目的IP地址、目的端口和出现次数的信息;所述第二用户特征用于标识用户试图访问黑名单网络地址的次数的信息。
可选地,所述流量检测单元,适于获取所提取的所有终端网络流量特征向量;当对应的流加密特征标识对应的网络流量为加密流量,流传输协议特征标识对应的网络流量所使用的传输协议非为预设类型的加密协议,且流报文长度特征用于标识TCP三次握手步骤完成后客户端发送的第一数据报文长度大于第二数据报文长度,将对应的终端网络流量特征向量加入终端网络流量特征向量集合中;当确定所述终端网络流量特征向量集合为空时,判定所述终端的用户未通过Shadowsocks代理访问外部网络。
可选地,所述流量检测单元,还适于当确定所述终端网络流量特征向量集合非为空时,从所述终端网络流量特征向量集合中终端网络流量特征向量进行逐条遍历,获取遍历至的当前终端网络流量特征向量;从当前终端网络流量特征向量中提取对应的目的IP地址和目的端口的信息;从提取的所有用户网络行为特征向量中获取与当前终端网络流量特征向量具有相同的目的IP地址和目的端口的用户网络行为特征向量;统计与当前终端网络流量特征向量具有相同的目的IP地址和目的端口的用户网络行为特征向量中的出现次数总和及用于标识用户试图访问黑名单网络地址的次数的所述第二用户特征的数值总和;当确定与当前终端网络流量特征向量具有相同的目的IP地址和目的端口的所有用户网络行为特征向量中的出现次数总和大于预设的次数阈值,且用于标识用户试图访问黑名单网络地址的次数的所述第二用户特征的数值总和大于预设的数值阈值时,判断该目的IP地址和目的端口对应的用户通过Shadowsocks代理访问外部网络;
获取下一条终端网络流量特征向量,直至所述终端网络流量特征向量集合中所有的终端网络流量特征向量遍历完成。
与现有技术相比,本发明的有益效果为:
上述的方案,通过从终端产生的网络流量中提取对应的终端网络流量特征向量,从所述终端的用户的网络流量中提取用户网络行为特征向量,并基于所提取的终端网络流量特征向量和用户网络行为特征向量,判定所述终端的用户是否通过Shadowsocks代理访问外部网络,与现有的机器学习算法相比,无需进行离线训练检测模型,故可以提高检测效率。
进一步地,所提取的终端网络流量特征向量包括终端网络流量的源IP地址、目的IP地址、源端口、目的端口、传输层协议、流加密特征,且所提取的用户网络行为特征向量包括用户名称、用户IP地址、第一用户特征和第二用户特征的信息,该终端网络流量特征向量和用户网络行为特征向量可以更加准确地反映Shadowsocks代理流量的特征,故可以提高Shadowsocks代理网络流量检测的准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种Shadowsocks代理网络流量检测方法的流程示意图;
图2和图3是本发明实施例的一种Shadowsocks代理网络流量检测方法的实例的示意图;
图4是本发明实施例的一种Shadowsocks代理网络流量检测装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本发明实施例中有关方向性指示(诸如上、下、左、右、前、后等)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
如背景技术所述,现有技术主要以机器学习方法为检测算法对Shadowsocks流量进行检测,需要进行离线训练过程,实现时代价较大,且无法准确地检测出Shadowsocks流量。
为解决上述问题,本发明的技术方案通过从终端产生的网络流量中提取对应的终端网络流量特征向量,从所述终端的用户的网络流量中提取用户网络行为特征向量,并基于所提取的终端网络流量特征向量和用户网络行为特征向量,判定所述终端的用户是否通过Shadowsocks代理访问外部网络,与现有的机器学习算法相比,无需进行离线训练检测模型,故可以提高检测效率。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
图1是本发明实施例的一种Shadowsocks代理网络流量检测方法的流程示意图。参见图1,一种Shadowsocks代理网络流量检测方法,具体可以包括如下的步骤:
步骤S101:从终端产生的网络流量中提取对应的终端网络流量特征向量。
在本发明一实施例中,所述终端网络流量特征向量,包括终端网络流量的源IP地址、目的IP地址、源端口、目的端口、传输层协议、流加密特征,流传输协议特征和流报文长度特征的信息。其中,所述流加密特征用于标识对应的网络流量是否为加密流量;所述流传输协议特征用于标识对应的网络流量所使用的传输协议是否为预设类型的加密协议;所述流报文长度特征用于标识TCP三次握手步骤完成后客户端发送的第一数据报文长度是否大于第二数据报文长度。
例如,针对终端产生的某条网络流量f,提取宝库网络流量f的源IP地址、目的IP地址、源端口、目的端口和传输层协议的五个元素的值,构建流特征向量。其中,所构建的流特征向量可以形如:<源IP地址,目的IP地址,源端口,目的端口,传输层协议,流加密特征,流传输协议特征,流报文长度特征>。
在本发明实施例中,所述流加密特征通过计算对应的终端网络流量的报文比特熵值进行确定;所述流传输协议特征通过采用预设类型的传输协议解析对应终端网络罗流量的第一数据报文进行确定。其中,所述预设类型的传输协议包括TLS、SSH和IKE传输协议。
其中,流加密特征、流传输协议特征和流报文长度特征的值为0或者1。具体而言,当通过计算报文比特熵值的方法判断网络流量为加密流量时,则流加密特征的值为1,反之,则标记为0;在计算流传输协议特征时,按照TLS、SSH和IKE协议格式解析第一个数据报文,若解析失败,即不为常见的TLS、SSH和IKE等加密协议,则在网络流量f所对应的特征向量中标记“流传输协议特征”为1,反之,则标记为0;在计算流报文长度特征时,第一个数据报文即为TCP三次握手步骤完成后客户端发出的第一个报文,客户端紧接着发出的第二个报文为第二个数据报文;若第一个数据报文的长度大于第二个数据报文的长度,则在网络流量f所对应的特征向量中标记“流报文长度特征”为1,反之,则标记为0。
步骤S102:从所述终端的用户的网络流量中提取用户网络行为特征向量。
在具体实施中,用户网络行为特征向量为针对终端用户建立的网络行为特征。
在本发明一实施例中,所述用户网络行为特征向量包括用户名称、用户IP地址、第一用户特征和第二用户特征的信息;所述用户名称用于标识所述用户或用户终端名称;所述用户IP地址用于标识用户终端的IP地址;第一用户特征用于标识加密网络流量对应的目的IP地址、目的端口和出现次数的信息;所述第二用户特征用于标识用户试图访问黑名单网络地址的次数的信息。
在本发明实施例中,第一用户特征形如:{<目的地址1,目的端口1,出现频数>,<目的地址2,目的端口2,出现频数>,…}。其中的目的地址和目的端口表示加密网络流量f的目的地址和目的端口,出现频数的值为正整数,表示该流出现的次数。
在本发明实施例中,第二用户特征的值为正整数,表示用户试图访问黑名单网络地址的次数。
在本发明实施例中,在得到所有的用户网络行为特征向量之后,为便于后续的处理,可以对用户网络行为特征向量向量进行合并,具体过程为:首先,检测出加密网络流量f。抽取f的目的地址和目的端口,记f的目的地址为DstIP(f),f的目的端口址为DstPort(f),并判断<DstIP(f),DstPort(f)>是否已经存在于“第一用户特征”中;若不存在,则将三元组<DstIP(f),DstPort(f),1>加入“第一用户特征”中;若存在,则将<DstIP(f),DstPort(f)>所对应三元组的出现频数值加1。同理,通过DNS查询流量获取用户的访问域名。若域名在已知黑名单中,则将“第二用户特征”的值加1。
步骤S103:基于所提取的终端网络流量特征向量和用户网络行为特征向量,判定所述终端的用户是否通过Shadowsocks代理访问外部网络。
在本发明一实施例中,在基于所提取的终端网络流量特征向量和用户网络行为特征向量,判定所述终端的用户是否通过Shadowsocks代理访问外部网络时:
首先,获取所提取的所有终端网络流量特征向量。
接着,针对所有终端网络流量特征向量中的每条终端网络流量特征向量,判断对应的“流加密特征”、“流传输协议特征”和“流报文长度特征”的值是否均为1;若全部为1,则保留对应的终端网络流量特征向量,否则,则删除的终端网络流量特征向量。为便于表述,记保留的终端流特征向量的集合为Vs。
当保留的终端网络流量特征向量的集合Vs为空,表明所有的终端网络流量特征向量均被删除,则判断用户当前未使用Shadowsocks代理;当保留的终端网络流量特征向量的集合Vs不为空,从保留的终端网络流量特征向量的集合Vs中提取每条保留的流特征向量对应的目的地址和目的端口的值,分别记为Vs(DstIP)和Vs(DstPort)。
之后,保留的终端网络流量特征向量的集合Vs中提取每条保留的流特征向量对应的目的地址Vs(DstIP)和目的端口Vs(DstPort)进行逐条遍历,在所提取中的所有用户网络行为特征向量的“第一用户特征”中,以目的地址Vs(DstIP)和目的端口Vs(DstPort)为查询值,在所有用户网络行为特征向量中查询得到具有相同目的地址Vs(DstIP)和目的端口Vs(DstPort)的“第一用户特征”,并返回该“第一用户特征”的出现次数值总和,记为Vs(C_Value);再读取用户网络行为特征向量中的“第二用户特征”的出现次数总和,记为Vs(B_Value)。
接下来,当通过比较确定“第一用户特征”的出现次数总和Vs(C_Value)大于预设的次数阈值T1,且“第二用户特征”的出现次数总和Vs(B_Value)大于预设的数值阈值T2时,则确定目的地址Vs(DstIP)和目的端口Vs(DstPort)对应的用户通过Shadowsocks代理访问外部网络。
从保留的终端网络流量特征向量的集合Vs中删除目的地址Vs(DstIP)和目的端口Vs(DstPort)对应的终端网络流量特征向量,并当保留的终端网络流量特征向量的集合Vs不为空时,继续从保留的终端网络流量特征向量的集合Vs中继续读取下一个目的地址和目的端口的值,直至保留的终端网络流量特征向量的集合Vs为空时,停止执行。
下面将结合具体的实例对本发明实施例中的Shadowsocks代理网络流量检测方法进行说明。
如图2所示,在网络中对源IP地址为(192.168.1.103)的主机进行监控,发起其连接至目的地址为(45.78.21.69)、端口为(6666)的主机。针对该网络流,建立终端网络流量特征向量如下:
<192.168.1.103,1850,45.78.21.69,6666,0,0,0>。
在终端网络流量特征向量初始化时,将“流加密特征”、“流传输协议特征2”和“流报文长度特征”分别赋值为0。
首先,针对该网络流,合并所有报文内容(不考虑报文头部信息),形成长度为N的字节串。计算每一字节对应的数值ni(0~255)出现的频率。记频率pi=ni/N,m为不同数值的个数,则该网络流的内容载荷熵值H采用如下的公式计算:
采用公式(1)针对该网络流计算得到的结果为7.89,接近于预设的最大的熵值8,因而判断该流为加密流量,则更新终端网络流量特征向量为:
<192.168.1.103,1850,45.78.21.69,6666,1,0,0>。
接着,对该网络流的第一个数据报文进行解析,看其是否符合TLS的ClientHello报文结构、SSH的“SSH-<主协议版本号>.<次协议版本号>-<软件版本号>”结构和IKE报头结构。此例中,上述三个解析均失败,则更新终端网络流量特征向量为:
<192.168.1.103,1850,45.78.21.69,6666,1,1,0>。
最后,如图3所示,检测源IP地址为(192.168.1.103)的主机发出的第一个和第二个数据报文长度。其中,第一个数据报文长度为482,第二个数据报文长度为433,由于482大于433,则更新终端网络流量特征向量为:
<192.168.1.103,1850,45.78.21.69,6666,1,1,1>。
构建终端(192.168.1.103)的用户网络行为特征向量的过程如下:
首先,统计目的地址和目的端口的出现频数。如在一定时间内,目的地址(45.78.21.69)和目的端口(6666)共出现10次,则更新用户网络行为特征向量向量为:
<local-machine-192.168.1.103,192.168.1.103,{<45.78.21.69,6666,10>},0>。
在此例中,local-machine-192.168.1.103为用户名称,“第二用户特征”初始化为0。
接着,统计用户试图访问黑名单网址的次数。如用户通过DNS查询www.google.com、www.facebook.com共5次,则更新用户网络行为特征向量向量为:
<local-machine-192.168.1.103,192.168.1.103,{<45.78.21.69,6666,10>},5>。
在最终判断时,流特征向量<192.168.1.103,1850,45.78.21.69,6666,1,1,1>中3个流特征的值均为1,因而提取目的地址和目的端口的值<45.78.21.69,6666>。以<45.78.21.69,6666>为查询条件,在用户网络行为特征向量向量查询“第一用户特征”,获得其出现频数的值为10,即Vs(C_Value)=10.在用户网络行为特征向量向量读取“第二用户特征”的值为5,即Vs(B_Value)=5。
设定次数阈值T1为5,数值阈值T2为3,有Vs(C_Value)>T1,Vs(B_Value)>T2,因而判断图2中所展示的网络流量为Shadowsocks代理流量,Shadowsocks代理地址为45.78.21.69,端口为6666。
上述对本发明实施例中Shadowsocks代理网络流量检测方法进行了详细的描述,下面将对上述的方法对应的装置进行介绍。
图4示出了本发明实施中的一种Shadowsocks代理网络流量检测装置的结构示意图。参见图4,一种Shadowsocks代理网络流量检测装置40可以包括第一提取单元401、第二提取单元402和流量检测单元403,其中:
所述第一提取单元401,适于从终端产生的网络流量中提取对应的终端网络流量特征向量;其中,所述终端网络流量特征向量包括终端网络流量的源IP地址、目的IP地址、源端口、目的端口、传输层协议、流加密特征,流传输协议特征和流报文长度特征的信息;所述流加密特征用于标识对应的网络流量是否为加密流量;所述流传输协议特征用于标识对应的网络流量所使用的传输协议是否为预设类型的加密协议;所述流报文长度特征用于标识TCP三次握手步骤完成后客户端发送的第一数据报文长度是否大于第二数据报文长度。在本发明一实施例中,所述流加密特征通过计算对应的终端网络流量的报文比特熵值进行确定。在本发明另一实施例中,所述流传输协议特征通过采用预设类型的传输协议解析对应终端网络罗流量的第一数据报文进行确定;其中,所述预设类型的传输协议包括TLS、SSH和IKE传输协议。
所述第二提取单元402,适于从所述终端的用户的网络流量中提取用户网络行为特征向量;可选地,所述用户网络行为特征向量包括用户名称、用户IP地址、第一用户特征和第二用户特征的信息;所述用户名称用于标识所述用户或用户终端名称;所述用户IP地址用于标识用户终端的IP地址;第一用户特征用于标识加密网络流量对应的目的IP地址、目的端口和出现次数的信息;所述第二用户特征用于标识用户试图访问黑名单网络地址的次数的信息。
所述流量检测单元403,适于基于所提取的终端网络流量特征向量和用户网络行为特征向量,判定所述终端的用户是否通过Shadowsocks代理访问外部网络。
在具体实施中,所述流量检测单元403,适于获取所提取的所有终端网络流量特征向量;当对应的流加密特征标识对应的网络流量为加密流量,流传输协议特征标识对应的网络流量所使用的传输协议非为预设类型的加密协议,且流报文长度特征用于标识TCP三次握手步骤完成后客户端发送的第一数据报文长度大于第二数据报文长度,将对应的终端网络流量特征向量加入终端网络流量特征向量集合中;当确定所述终端网络流量特征向量集合为空时,判定所述终端的用户未通过Shadowsocks代理访问外部网络。
在本发明一实施例中,所述流量检测单元403,还适于当确定所述终端网络流量特征向量集合非为空时,从所述终端网络流量特征向量集合中终端网络流量特征向量进行逐条遍历,获取遍历至的当前终端网络流量特征向量;从当前终端网络流量特征向量中提取对应的目的IP地址和目的端口的信息;从提取的所有用户网络行为特征向量中获取与当前终端网络流量特征向量具有相同的目的IP地址和目的端口的用户网络行为特征向量;统计与当前终端网络流量特征向量具有相同的目的IP地址和目的端口的用户网络行为特征向量中的出现次数总和及用于标识用户试图访问黑名单网络地址的次数的所述第二用户特征的数值总和;当确定与当前终端网络流量特征向量具有相同的目的IP地址和目的端口的所有用户网络行为特征向量中的出现次数总和大于预设的次数阈值,且用于标识用户试图访问黑名单网络地址的次数的所述第二用户特征的数值总和大于预设的数值阈值时,判断该目的IP地址和目的端口对应的用户通过Shadowsocks代理访问外部网络;获取下一条终端网络流量特征向量,直至所述终端网络流量特征向量集合中所有的终端网络流量特征向量遍历完成。
本发明实施还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行所述的Shadowsocks代理网络流量检测方法的步骤。其中,所述Shadowsocks代理网络流量检测方法请参见前述部分的介绍,不再赘述。
本发明实施还提供了一种终端,包括存储器和处理器,所述存储器上储存有能够在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行所述的Shadowsocks代理网络流量检测方法的步骤。其中,所述Shadowsocks代理网络流量检测方法请参见前述部分的介绍,不再赘述。
采用本发明实施例中的上述的方案,通过从终端产生的网络流量中提取对应的终端网络流量特征向量,从所述终端的用户的网络流量中提取用户网络行为特征向量,并基于所提取的终端网络流量特征向量和用户网络行为特征向量,判定所述终端的用户是否通过Shadowsocks代理访问外部网络,与现有的机器学习算法相比,无需进行离线训练检测模型,故可以提高检测效率。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,本发明要求保护范围由所附的权利要求书、说明书及其等效物界定。

Claims (5)

1.一种Shadowsocks代理网络流量检测方法,其特征在于,包括:
从终端产生的网络流量中提取对应的终端网络流量特征向量;其中,所述终端网络流量特征向量包括终端网络流量的源IP地址、目的IP地址、源端口、目的端口、传输层协议、流加密特征,流传输协议特征和流报文长度特征的信息;所述流加密特征用于标识对应的网络流量是否为加密流量;所述流传输协议特征用于标识对应的网络流量所使用的传输协议是否为预设类型的加密协议;所述流报文长度特征用于标识TCP三次握手步骤完成后客户端发送的第一数据报文长度是否大于第二数据报文长度;所述预设类型的加密协议包括TLS、SSH和IKE传输协议;
从所述终端的用户的网络流量中提取用户网络行为特征向量;其中,所述用户网络行为特征向量包括用户名称、用户IP地址、第一用户特征和第二用户特征的信息;所述用户名称用于标识所述用户或用户终端名称;所述用户IP地址用于标识用户终端的IP地址;第一用户特征用于标识加密网络流量对应的目的IP地址、目的端口和出现次数的信息;所述第二用户特征用于标识用户试图访问黑名单网络地址的次数的信息;
基于所提取的终端网络流量特征向量和用户网络行为特征向量,判定所述终端的用户是否通过Shadowsocks代理访问外部网络,具体包括:获取所提取的所有终端网络流量特征向量;当对应的流加密特征标识对应的网络流量为加密流量,流传输协议特征标识对应的网络流量所使用的传输协议非为预设类型的加密协议,且流报文长度特征用于标识TCP三次握手步骤完成后客户端发送的第一数据报文长度大于第二数据报文长度,将对应的终端网络流量特征向量加入终端网络流量特征向量集合中;当确定所述终端网络流量特征向量集合为空时,判定所述终端的用户未通过Shadowsocks代理访问外部网络;当确定所述终端网络流量特征向量集合非为空时,对所述终端网络流量特征向量集合中的终端网络流量特征向量进行逐条遍历,获取遍历至的当前终端网络流量特征向量;从当前终端网络流量特征向量中提取对应的目的IP地址和目的端口的信息;从提取的所有用户网络行为特征向量中获取与当前终端网络流量特征向量具有相同的目的IP地址和目的端口的用户网络行为特征向量;统计与当前终端网络流量特征向量具有相同的目的IP地址和目的端口的用户网络行为特征向量中的出现次数总和及用于标识用户试图访问黑名单网络地址的次数的所述第二用户特征的数值总和;当确定与当前终端网络流量特征向量具有相同的目的IP地址和目的端口的所有用户网络行为特征向量中的出现次数总和大于预设的次数阈值,且用于标识用户试图访问黑名单网络地址的次数的所述第二用户特征的数值总和大于预设的数值阈值时,判断该目的IP地址和目的端口对应的用户通过Shadowsocks代理访问外部网络;获取下一条终端网络流量特征向量,直至所述终端网络流量特征向量集合中所有的终端网络流量特征向量遍历完成。
2.根据权利要求1所述的Shadowsocks代理网络流量检测方法,其特征在于,所述流加密特征通过计算对应的终端网络流量的报文比特熵值进行确定。
3.根据权利要求2所述的Shadowsocks代理网络流量检测方法,其特征在于,所述流传输协议特征通过采用预设类型的传输协议解析对应终端网络流量的第一数据报文进行确定。
4.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令被处理器运行时执行权利要求1至3任一项所述的Shadowsocks代理网络流量检测方法的步骤。
5.一种终端,其特征在于,包括存储器和处理器,所述存储器上储存有能够在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行权利要求1至3任一项所述的Shadowsocks代理网络流量检测方法的步骤。
CN201911233362.4A 2019-12-05 2019-12-05 Shadowsocks代理网络流量检测方法、存储介质和终端 Active CN110784383B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911233362.4A CN110784383B (zh) 2019-12-05 2019-12-05 Shadowsocks代理网络流量检测方法、存储介质和终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911233362.4A CN110784383B (zh) 2019-12-05 2019-12-05 Shadowsocks代理网络流量检测方法、存储介质和终端

Publications (2)

Publication Number Publication Date
CN110784383A CN110784383A (zh) 2020-02-11
CN110784383B true CN110784383B (zh) 2023-04-18

Family

ID=69393863

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911233362.4A Active CN110784383B (zh) 2019-12-05 2019-12-05 Shadowsocks代理网络流量检测方法、存储介质和终端

Country Status (1)

Country Link
CN (1) CN110784383B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111371700A (zh) * 2020-03-11 2020-07-03 武汉思普崚技术有限公司 一种应用于正向代理环境中的流量识别方法及装置
CN111555929B (zh) * 2020-04-21 2021-03-12 成都安易迅科技有限公司 限制网络流量的方法、装置、电子设备及存储介质
CN111565311B (zh) * 2020-04-29 2022-02-25 杭州迪普科技股份有限公司 网络流量特征生成方法及装置
CN112769633B (zh) * 2020-12-07 2022-08-09 深信服科技股份有限公司 一种代理流量检测方法、装置、电子设备及可读存储介质
CN114422174B (zh) * 2021-12-09 2023-07-25 绿盟科技集团股份有限公司 一种网络流量过滤方法、装置、介质和设备
CN114499987A (zh) * 2021-12-29 2022-05-13 云南电网有限责任公司信息中心 一种基于相对密度的网络异常ip及端口混合检测方法
CN114584371B (zh) * 2022-03-04 2024-07-12 桀安信息安全技术(上海)有限公司 一种加密流量行为检测的方法、系统及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107454109A (zh) * 2017-09-22 2017-12-08 杭州安恒信息技术有限公司 一种基于http流量分析的网络窃密行为检测方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109951444B (zh) * 2019-01-29 2020-05-22 中国科学院信息工程研究所 一种加密匿名网络流量识别方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107454109A (zh) * 2017-09-22 2017-12-08 杭州安恒信息技术有限公司 一种基于http流量分析的网络窃密行为检测方法

Also Published As

Publication number Publication date
CN110784383A (zh) 2020-02-11

Similar Documents

Publication Publication Date Title
CN110784383B (zh) Shadowsocks代理网络流量检测方法、存储介质和终端
US11706254B2 (en) Method and apparatus for identifying encrypted data stream
US11425047B2 (en) Traffic analysis method, common service traffic attribution method, and corresponding computer system
WO2018107784A1 (zh) 检测网页后门的方法和装置
CN104320377B (zh) 一种流媒体文件的防盗链方法及设备
US9654484B2 (en) Detecting DGA-based malicious software using network flow information
CN110166480B (zh) 一种数据包的分析方法及装置
BR102020003104A2 (pt) Método para identificação e classificação de ponto de acesso baseado em http usando aprendizagem de máquina
CN114145004A (zh) 用于使用dns消息以选择性地收集计算机取证数据的系统及方法
Zeng et al. Flow context and host behavior based shadowsocks’s traffic identification
CN108259425A (zh) 攻击请求的确定方法、装置及服务器
EP3852327A1 (en) Exception access behavior identification method and server
CN107347076B (zh) Ssrf漏洞的检测方法及装置
CN110198248B (zh) 检测ip地址的方法和装置
US9602486B2 (en) Increased communication security
Kim et al. Analyzing traffic by domain name in the data plane
KR20130058853A (ko) 사용자 단말의 접속 네트워크 식별 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
CN114124476B (zh) 一种Web应用的敏感信息泄露漏洞检测方法、系统及装置
WO2024065956A1 (zh) 一种基于数据多维熵值指纹的网络异常行为检测方法
KR20150090925A (ko) 왕복 시간 변화를 이용하여 익명 네트워크를 통한 우회 접속을 탐지하는 방법
EP3465986B1 (en) Method and system for augmenting network traffic flow reports
CN106789858A (zh) 一种访问控制方法和装置以及服务器
Wang et al. Detecting SYN flooding attacks based on traffic prediction
CN101854366B (zh) 一种对等网络流量识别的方法及装置
CN113904843B (zh) 一种终端异常dns行为的分析方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant