CN108924090A - 一种基于卷积神经网络的shadowsocks流量检测方法 - Google Patents

一种基于卷积神经网络的shadowsocks流量检测方法 Download PDF

Info

Publication number
CN108924090A
CN108924090A CN201810565176.XA CN201810565176A CN108924090A CN 108924090 A CN108924090 A CN 108924090A CN 201810565176 A CN201810565176 A CN 201810565176A CN 108924090 A CN108924090 A CN 108924090A
Authority
CN
China
Prior art keywords
flow
shadowsocks
convolutional neural
neural networks
methods based
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.)
Granted
Application number
CN201810565176.XA
Other languages
English (en)
Other versions
CN108924090B (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.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
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 Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN201810565176.XA priority Critical patent/CN108924090B/zh
Publication of CN108924090A publication Critical patent/CN108924090A/zh
Application granted granted Critical
Publication of CN108924090B publication Critical patent/CN108924090B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

本发明公开了一种基于卷积神经网络的shadowsocks流量检测方法,涉及计算机网络安全领域,包括以下步骤:通过抓包工具获取shadowsocks与普通流量;以TCP流为单位将流量拆分;提取TCP流的有效载荷,并拼接在一起,提取为十进制数,作为训练数据参数;对每个TCP流判断是否为shadowsocks流量,并进行数据标注,作为训练数据的结果;将标注好的训练数据作为卷积神经网络模型的训练输入,对模型进行训练,得出最终的计算模型。本发明将网络流的有效载荷转化为类似像素点的数据,将网络流量转化为图像,输入到CNN算法中。该方法省去了对流量进行特征提取的步骤,解决了无法找到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流量。因此,这种方法很难应用到实际的网络监管中。
机器学习中,卷积神经网络(Convolutional Neural Network,CNN)是一种基于前馈神经网络的算法,在近年由于其高效性引起了广泛关注。其在大型图像处理中往往有比较优秀的表现。本发明将网络流中的有效载荷(payload)转换为类似图像的输入,然后利用CNN算法训练模型。
因此,本领域的技术人员致力于开发一种基于卷积神经网络的shadowsocks流量检测方法,从而解决常用的机器学习方法无法找到shadowsocks流量决定性特征的问题。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是克服无法找到shadowsocks流量决定性特征的缺陷,目的在于提出一种基于卷积神经网络(CNN)的shadowsocks流量检测方法。采用shadowsocks与非shadowsocks的网络流,利用CNN算法训练模型,随后将该模型应用到实时的流量监测中。
为实现上述目的,本发明提供了一种基于卷积神经网络的shadowsocks流量检测方法,包括以下步骤:
步骤1、通过抓包工具获取shadowsocks与普通流量;
步骤2、以TCP流为单位将流量拆分;
步骤3、提取TCP流的有效载荷,并拼接在一起,提取为十进制数,作为训练数据参数;
步骤4、对每个TCP流判断是否为shadowsocks流量,并进行数据标注,作为训练数据的结果;
步骤5、将标注好的训练数据作为卷积神经网络模型的训练输入,对模型进行训练,得出最终的计算模型。
进一步地,所述步骤1中的shadowsocks流量和普通流量均大于1GB。
进一步地,所述步骤1还包括以下步骤:
步骤1-1、shadowsocks将网络请求传输到本地服务器;
步骤1-2、经由加密后通过TCP连接与服务端进行通信,捕获到的shadowsocks流量是各个加密后的TCP流的集合。
进一步地,所述步骤2中的流量拆分是指从双方TCP链接的发起到结束作为一个流,把2GB的流量拆分开来,便于进行数据的提取和标注。
进一步地,所述步骤3还包括以下步骤:
步骤3-1、将获得每个流的实际传输内容,即有效载荷,取前1024位十六进制位;
步骤3-2、以两位16进制数为单位将流数据转化为512个0到255的十进制数,作为卷积神经网络的参数输入。
进一步地,所述数据标注是用0代表非shadowsocks流量,用1代表shadowsocks流量。
进一步地,所述shadowsocks的客户端与远程服务器之间利用TCP流进行传输。
进一步地,所述shadowsocks流量采取不同的加密-解密方式。
进一步地,所述最终的计算模型能够对实时网络流进行判定,预测是否为shadowsocks流量。
本发明的基于CNN的shadowsocks流量检测方法,将网络流的有效载荷转化为类似像素点的数据,将网络流量转化为图像,输入到CNN算法中。该方法省去了对流量进行特征提取的步骤,解决了无法找到shadowsocks流量决定性特征的问题。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是本发明的一个较佳实施例的捕获的shadowsocks流量的传输过程示意图;
图2是本发明的一个较佳实施例的流数据处理过程示意图。
具体实施方式
以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
在附图中,结构相同的部件以相同数字标号表示,各处结构或功能相似的组件以相似数字标号表示。附图所示的每一组件的尺寸和厚度是任意示出的,本发明并没有限定每个组件的尺寸和厚度。为了使图示更清晰,附图中有些地方适当夸大了部件的厚度。
本发明提供了一种基于CNN的shadowsocks流量检测方法。该方法由训练和预测两部分组成,具体包括以下步骤:
1)抓取海量的shadowsocks与普通流量:由于shadowsocks的客户端与远程服务器之间利用TCP流进行传输,因此也需要抓取普通的TCP流量进行训练集的制作。另外,由于shadowsocks流量会采取不同的加密-解密方式,同样需要抓取各种类型的大量shadowsocks流量来确保shadowsocks流量的一般性。在此分别抓取大于1G的shadowsocks流量与普通TCP流量。
如图1所示,是捕获的shadowsocks流量的传输过程,shadowsocks将网络请求传输到本地服务器,经由加密后通过TCP连接与服务端进行通信,捕获到的shadowsocks流量将是各个加密后的TCP流的集合。
2)将流量拆分为流:从双方TCP链接的发起到结束作为一个流,把2G的流量拆分开来,便于进行数据的提取和标注。
3)提取出每个流的有效载荷并拼接在一起。
如图2所示,是对流数据进行处理的过程。首先将获得每个流的实际传输内容,即有效载荷(payload),取前1024位十六进制位,然后以两位16进制数为单位将流数据转化为512个0到255的十进制数,作为卷积神经网络的参数输入。
4)对每个流进行数据标注,0代表非shadowsocks流量,1代表shadowsocks流量。
5)将结果输入到CNN算法中进行训练,得出最终的计算模型。该模型将用于shadowsocks流量的检测。
训练完成后,将利用训练好的模型对实时网络流进行判定,预测是否为shadowsocks流量。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

Claims (9)

1.一种基于卷积神经网络的shadowsocks流量检测方法,其特征在于,包括以下步骤:
步骤1、通过抓包工具获取shadowsocks与普通流量;
步骤2、以TCP流为单位将流量拆分;
步骤3、提取TCP流的有效载荷,并拼接在一起,提取为十进制数,作为训练数据参数;
步骤4、对每个TCP流判断是否为shadowsocks流量,并进行数据标注,作为训练数据的结果;
步骤5、将标注好的训练数据作为卷积神经网络模型的训练输入,对模型进行训练,得出最终的计算模型。
2.如权利要求1所述的基于卷积神经网络的shadowsocks流量检测方法,其特征在于,所述步骤1中的shadowsocks流量和普通流量均大于1GB。
3.如权利要求1所述的基于卷积神经网络的shadowsocks流量检测方法,其特征在于,所述步骤1还包括以下步骤:
步骤1-1、shadowsocks将网络请求传输到本地服务器;
步骤1-2、经由加密后通过TCP连接与服务端进行通信,捕获到的shadowsocks流量是各个加密后的TCP流的集合。
4.如权利要求1所述的基于卷积神经网络的shadowsocks流量检测方法,其特征在于,所述步骤2中的流量拆分是指从双方TCP链接的发起到结束作为一个流,把2GB的流量拆分开来,便于进行数据的提取和标注。
5.如权利要求1所述的基于卷积神经网络的shadowsocks流量检测方法,其特征在于,所述步骤3还包括以下步骤:
步骤3-1、将获得每个流的实际传输内容,即有效载荷,取前1024位十六进制位;
步骤3-2、以两位16进制数为单位将流数据转化为512个0到255的十进制数,作为卷积神经网络的参数输入。
6.如权利要求1所述的基于卷积神经网络的shadowsocks流量检测方法,其特征在于,所述数据标注是用0代表非shadowsocks流量,用1代表shadowsocks流量。
7.如权利要求1所述的基于卷积神经网络的shadowsocks流量检测方法,其特征在于,所述shadowsocks的客户端与远程服务器之间利用TCP流进行传输。
8.如权利要求1所述的基于卷积神经网络的shadowsocks流量检测方法,其特征在于,所述shadowsocks流量采取不同的加密-解密方式。
9.如权利要求1所述的基于卷积神经网络的shadowsocks流量检测方法,其特征在于,所述最终的计算模型能够对实时网络流进行判定,预测是否为shadowsocks流量。
CN201810565176.XA 2018-06-04 2018-06-04 一种基于卷积神经网络的shadowsocks流量检测方法 Active CN108924090B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810565176.XA CN108924090B (zh) 2018-06-04 2018-06-04 一种基于卷积神经网络的shadowsocks流量检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810565176.XA CN108924090B (zh) 2018-06-04 2018-06-04 一种基于卷积神经网络的shadowsocks流量检测方法

Publications (2)

Publication Number Publication Date
CN108924090A true CN108924090A (zh) 2018-11-30
CN108924090B CN108924090B (zh) 2020-12-11

Family

ID=64420180

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810565176.XA Active CN108924090B (zh) 2018-06-04 2018-06-04 一种基于卷积神经网络的shadowsocks流量检测方法

Country Status (1)

Country Link
CN (1) CN108924090B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109600394A (zh) * 2019-01-19 2019-04-09 郑州轻工业学院 一种基于深度学习的http隧道木马检测方法
CN109688113A (zh) * 2018-12-07 2019-04-26 广州经传多赢投资咨询有限公司 基于加密通讯代理协议的数据传输方法
CN109726237A (zh) * 2018-12-13 2019-05-07 浙江邦盛科技有限公司 一种针对多路实时流数据的关联补全方法
CN110222795A (zh) * 2019-07-26 2019-09-10 广东工业大学 基于卷积神经网络的p2p流量的识别方法及相关装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104935600A (zh) * 2015-06-19 2015-09-23 中国电子科技集团公司第五十四研究所 一种基于深度学习的移动自组织网络入侵检测方法与设备
CN105281973A (zh) * 2015-08-07 2016-01-27 南京邮电大学 一种针对特定网站类别的网页指纹识别方法
CN105516027A (zh) * 2016-01-12 2016-04-20 北京奇虎科技有限公司 应用识别模型建立方法、流量数据的识别方法及装置
US20160140424A1 (en) * 2014-11-13 2016-05-19 Nec Laboratories America, Inc. Object-centric Fine-grained Image Classification
CN106911669A (zh) * 2017-01-10 2017-06-30 浙江工商大学 一种基于深度学习的ddos检测方法
CN107103235A (zh) * 2017-02-27 2017-08-29 广东工业大学 一种基于卷积神经网络的Android恶意软件检测方法
CN107483473A (zh) * 2017-09-05 2017-12-15 上海海事大学 一种云环境的低速拒绝服务攻击数据流检测方法
CN107819790A (zh) * 2017-12-08 2018-03-20 中盈优创资讯科技有限公司 攻击报文的识别方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160140424A1 (en) * 2014-11-13 2016-05-19 Nec Laboratories America, Inc. Object-centric Fine-grained Image Classification
CN104935600A (zh) * 2015-06-19 2015-09-23 中国电子科技集团公司第五十四研究所 一种基于深度学习的移动自组织网络入侵检测方法与设备
CN105281973A (zh) * 2015-08-07 2016-01-27 南京邮电大学 一种针对特定网站类别的网页指纹识别方法
CN105516027A (zh) * 2016-01-12 2016-04-20 北京奇虎科技有限公司 应用识别模型建立方法、流量数据的识别方法及装置
CN106911669A (zh) * 2017-01-10 2017-06-30 浙江工商大学 一种基于深度学习的ddos检测方法
CN107103235A (zh) * 2017-02-27 2017-08-29 广东工业大学 一种基于卷积神经网络的Android恶意软件检测方法
CN107483473A (zh) * 2017-09-05 2017-12-15 上海海事大学 一种云环境的低速拒绝服务攻击数据流检测方法
CN107819790A (zh) * 2017-12-08 2018-03-20 中盈优创资讯科技有限公司 攻击报文的识别方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
S. BOUINDOUR ETAL: "Abnormal event detection using convolutional neural networks and 1-class", 《8TH INTERNATIONAL CONFERENCE ON IMAGING 》 *
何高辉 等: "基于SVM主动学习算法的网络钓鱼检测系", 《计算机工程》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109688113A (zh) * 2018-12-07 2019-04-26 广州经传多赢投资咨询有限公司 基于加密通讯代理协议的数据传输方法
CN109726237A (zh) * 2018-12-13 2019-05-07 浙江邦盛科技有限公司 一种针对多路实时流数据的关联补全方法
CN109600394A (zh) * 2019-01-19 2019-04-09 郑州轻工业学院 一种基于深度学习的http隧道木马检测方法
CN110222795A (zh) * 2019-07-26 2019-09-10 广东工业大学 基于卷积神经网络的p2p流量的识别方法及相关装置

Also Published As

Publication number Publication date
CN108924090B (zh) 2020-12-11

Similar Documents

Publication Publication Date Title
CN108924090A (zh) 一种基于卷积神经网络的shadowsocks流量检测方法
Xu et al. A method of few-shot network intrusion detection based on meta-learning framework
Wang The applications of deep learning on traffic identification
CN101626322B (zh) 网络行为异常检测方法及系统
Farhan et al. Performance analysis of flow-based attacks detection on CSE-CIC-IDS2018 dataset using deep learning
CN104506484A (zh) 一种私有协议分析与识别方法
CN110868409A (zh) 一种基于tcp/ip协议栈指纹的操作系统被动识别方法及系统
CN112949702B (zh) 一种网络恶意加密流量识别方法和系统
CN101753622A (zh) 一种应用层协议特征的提取方法
CN113364792B (zh) 流量检测模型的训练方法、流量检测方法、装置及设备
CN103780501A (zh) 一种不可分小波支持向量机的对等网络流量识别方法
CN106100839B (zh) 一种基于tcp数据包和自定义算法的网络通信安全方法
CN110365659B (zh) 一种小样本场景下的网络入侵检测数据集的构造方法
CN110839042A (zh) 一种基于流量的自反馈恶意软件监测系统和方法
Zhou et al. Malicious encrypted traffic features extraction model based on unsupervised feature adaptive learning
Xu et al. TrafficGCN: Mobile application encrypted traffic classification based on GCN
Zhang et al. Encrypted network traffic classification: A data driven approach
Shamsimukhametov et al. Are neural networks the best way for encrypted traffic classification?
Elmaghraby et al. Encrypted network traffic classification based on machine learning
Gonzalez-Granadillo et al. An improved live anomaly detection system (i-lads) based on deep learning algorithm
Luo et al. Behavior-based method for real-time identification of encrypted proxy traffic
Wang et al. A two-phase approach to fast and accurate classification of encrypted traffic
Ramezani et al. On multi-session website fingerprinting over TLS handshake
Zhang et al. Safsn: a self-attention based neural network for encrypted mobile traffic classification
Cui Study on abnormal data acquisition method of industrial internet of things communication based on node clustering

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