CN108924090A - 一种基于卷积神经网络的shadowsocks流量检测方法 - Google Patents
一种基于卷积神经网络的shadowsocks流量检测方法 Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于卷积神经网络的shadowsocks流量检测方法,涉及计算机网络安全领域,包括以下步骤:通过抓包工具获取shadowsocks与普通流量;以TCP流为单位将流量拆分;提取TCP流的有效载荷,并拼接在一起,提取为十进制数,作为训练数据参数;对每个TCP流判断是否为shadowsocks流量,并进行数据标注,作为训练数据的结果;将标注好的训练数据作为卷积神经网络模型的训练输入,对模型进行训练,得出最终的计算模型。本发明将网络流的有效载荷转化为类似像素点的数据,将网络流量转化为图像,输入到CNN算法中。该方法省去了对流量进行特征提取的步骤,解决了无法找到shadowsocks流量决定性特征的问题。
Description
技术领域
本发明涉及计算机网络安全领域,尤其涉及一种基于卷积神经网络的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流量。
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)
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)
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 | 中盈优创资讯科技有限公司 | 攻击报文的识别方法及装置 |
-
2018
- 2018-06-04 CN CN201810565176.XA patent/CN108924090B/zh active Active
Patent Citations (8)
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)
Title |
---|
S. BOUINDOUR ETAL: "Abnormal event detection using convolutional neural networks and 1-class", 《8TH INTERNATIONAL CONFERENCE ON IMAGING 》 * |
何高辉 等: "基于SVM主动学习算法的网络钓鱼检测系", 《计算机工程》 * |
Cited By (4)
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 | |
CN104506484B (zh) | 一种私有协议分析与识别方法 | |
Wang | The applications of deep learning on traffic identification | |
CN105162626B (zh) | 基于众核处理器的网络流量深度识别系统及识别方法 | |
CN107667510A (zh) | 恶意软件和恶意应用的检测 | |
CN101626322A (zh) | 网络行为异常检测方法及系统 | |
Lin et al. | A novel multimodal deep learning framework for encrypted traffic classification | |
Vinayakumar et al. | Secure shell (ssh) traffic analysis with flow based features using shallow and deep networks | |
CN111611280A (zh) | 一种基于cnn和sae的加密流量识别方法 | |
CN101753622A (zh) | 一种应用层协议特征的提取方法 | |
CN112949702A (zh) | 一种网络恶意加密流量识别方法和系统 | |
CN103780501A (zh) | 一种不可分小波支持向量机的对等网络流量识别方法 | |
CN106100839B (zh) | 一种基于tcp数据包和自定义算法的网络通信安全方法 | |
Elmaghraby et al. | Encrypted network traffic classification based on machine learning | |
CN110365659B (zh) | 一种小样本场景下的网络入侵检测数据集的构造方法 | |
Wang et al. | A two-phase approach to fast and accurate classification of encrypted traffic | |
Li et al. | ETCC: Encrypted Two‐Label Classification Using CNN | |
Xu et al. | Trafficgcn: Mobile application encrypted traffic classification based on gcn | |
CN114221777B (zh) | 受限条件下数字货币流量自同步监测方法、装置和设备 | |
Guo et al. | MGEL: a robust malware encrypted traffic detection method based on ensemble learning with multi-grained features | |
Zhang et al. | Encrypted network traffic classification: A data driven approach | |
Gonzalez-Granadillo et al. | An improved live anomaly detection system (i-lads) based on deep learning algorithm | |
Whalen et al. | Hidden markov models for automated protocol learning | |
Han et al. | DE-GNN: Dual embedding with graph neural network for fine-grained encrypted traffic classification |
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 |