CN112733689B - 一种https终端类型分类方法及装置 - Google Patents
一种https终端类型分类方法及装置 Download PDFInfo
- Publication number
- CN112733689B CN112733689B CN202011643941.9A CN202011643941A CN112733689B CN 112733689 B CN112733689 B CN 112733689B CN 202011643941 A CN202011643941 A CN 202011643941A CN 112733689 B CN112733689 B CN 112733689B
- Authority
- CN
- China
- Prior art keywords
- https
- terminal type
- type classification
- flow
- model
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000013145 classification model Methods 0.000 claims abstract description 44
- 238000012549 training Methods 0.000 claims abstract description 19
- 238000000605 extraction Methods 0.000 claims abstract description 14
- 239000013598 vector Substances 0.000 claims description 69
- 238000010276 construction Methods 0.000 claims description 19
- 230000007246 mechanism Effects 0.000 claims description 13
- 238000011144 upstream manufacturing Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000013138 pruning Methods 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 3
- 230000006854 communication Effects 0.000 abstract description 7
- 238000004891 communication Methods 0.000 abstract description 6
- 230000008569 process Effects 0.000 abstract description 6
- 230000005540 biological transmission Effects 0.000 abstract description 3
- 230000010485 coping Effects 0.000 abstract description 3
- 238000013528 artificial neural network Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000005259 measurement Methods 0.000 description 4
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- BUGBHKTXTAQXES-UHFFFAOYSA-N Selenium Chemical compound [Se] BUGBHKTXTAQXES-UHFFFAOYSA-N 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 229910052711 selenium Inorganic materials 0.000 description 2
- 239000011669 selenium Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/12—Fingerprints or palmprints
- G06V40/1347—Preprocessing; Feature extraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Abstract
本发明公开了一种HTTPS终端类型分类方法及装置,属于网络通信领域,其中HTTPS终端类型分类方法包括:构造数据集;从HTTPS流量会话中提取流统计特征和密码套件列表;构造终端类型分类模型;利用所述流统计特征和密码套件列表对所述终端类型分类模型进行训练;使用训练好的终端类型分类模型对HTTPS终端类型进行分类;该方法更加适用于HTTPS终端分类,针对HTTPS终端分类真实的应用场景,充分考虑了HTTPS的加密握手过程和网络数据传输过程原理,引入流统计特征和密码套件列表特征的混合指纹提取方式,使得终端分类方法在应对不同TLS版本下的HTTPS网络流量时具有更高的准确率和召回率。
Description
技术领域
本发明涉及网络通信领域,特别涉及一种HTTPS终端类型分类及装置。
背景技术
HTTPS终端类型分类是指在客户端和服务端通信时,对通信产生的HTTPS流量进行分析,得到客户端的终端类型。本发明主要考虑以下三大类别的终端类型:操作系统类型(如OSX、Windows和Ubuntu等)、浏览器类型(如Firefox、Safari等)、应用类型(如微信、微博、百度、淘宝和爱奇艺等)。本发明以(操作系统类型,浏览器类型,应用类型)三元组的形式定义终端类型。
本发明进行HTTPS终端类型分类的基本对象是一个HTTPS流量会话。会话(Session)是客户端和服务端通信的过程,会话的建立是以客户端向服务端发送第一个请求数据包开始,以客户端断开连接或服务端会话超时结束。本发明的主要工作是在客户端和服务端通信过程中抓取HTTPS流量数据包;然后,将这些数据包按照源IP、目的IP地址划分成不同的会话;接着,从HTTPS流量会话中提取特征并训练终端类型分类模型;最后,在测试场景下将新来的HTTPS流量数据包划分成不同的会话并对每一个会话进行分类得到其终端类型。本发明工作的输入是HTTPS流量数据包,输出是以(操作系统类型,浏览器类型,应用类型)三元组为标签的终端类型。
现有的HTTPS终端类型分类方法可大致分成三大类:基于SSL/TLS握手指纹的方法、基于客户端证书属性测量的方法和基于机器学习的方法。
基于SSL/TLS握手指纹的方法,通过从HTTPS流量的SSL/TLS握手报文中提取对应的指纹信息,最终得到对应的HTTPS流量的终端类型;基于客户端证书属性测量的方法的一般流程可归纳为两步:第一步是客户端证书属性测量与分析。测量原理是客户端证书作用在SSL/TLS双向认证过程中,向服务端验证身份,客户端只在收到Certificate Request请求后才会发出证书。第二步是基于测量得到的客户端证书属性信息,对客户端类型进行标识。标识原理是同类证书的属性信息表现出良好的一致性;基于机器学习的终端类型分类方法一般流程是:首先,从HTTPS流量的TCP流中提取有用的特征;然后,训练机器学习模型来对HTTPS流量进行终端类型分类。
已有方法的缺点可以归纳为:1)未综合利用SSL/TLS流的特征、TCP流特征和其他统计特征,导致分类确率较低。2)未区分不同特征的重要程度及对分类的贡献。3)证书更新频繁,会影响客户端证书属性特征,进而影响分类结果。
发明内容
为了解决上述问题,本发明提供一种使得终端分类方法在应对不同TLS版本下的HTTPS网络流量时具有更高的准确率和召回率的HTTPS终端类型分类方法及装置。
为了实现上述目的,本发明一方面提供一种HTTPS终端类型分类方法,包括:
构造数据集;
从HTTPS流量会话中提取流统计特征和密码套件列表;其中,所述流统计特征包括包长度、包到达时间间隔、拥塞窗口大小、包中标记字段和包数目中的一种或多种;
构造终端类型分类模型;其中,所述终端类型分类模型包括MLP模型和注意力模块;
利用所述流统计特征和密码套件列表对所述终端类型分类模型进行训练;
对训练后的所述终端类型分类模型进行剪枝;
使用剪枝后的终端类型分类模型对HTTPS终端类型进行分类。
可选的,所述构造数据集进一步包括:
统计跟踪标签的应用类型相关的网址;
重复打开浏览器、登陆网址、关闭浏览器,同时在客户端和服务端通信时,抓取数据包并形成数据流。
可选的,所述的从HTTPS流量会话中提取流统计特征,进一步包括:
将HTTPS会话中的所有数据包构成一个总流,将总流划分成上行流和下行流;其中,客户端发出的所有数据包构成上行流、客户端收到的所有数据包构成下行流;
对原始统计特征,分别计算总流、上行流和下行流的统计特征;
可选的,所述的从HTTPS流量会话中提取密码套件列表,进一步包括:
将每一种密码套件作为一维特征,构造一个多维的特征向量来代表密码套件列表特征,某一维取值为1代表客户端密码套件列表中包含该密码套件,取值为0则代表不包含。
可选的,所述构造终端类型分类模型,进一步包括:
将所述终端类型分类模型的输入经过特征提取后得到的原始特征向量;
将所述原始特征向量输入注意力模块,所述注意力模块输出一组代表着不同特征权重的第一特征向量;
将所述第一特征向量和原始特征向量进行点乘,得到增加注意力机制的第二特征向量;
将所述增加注意力机制的第二特征向量输入MLP模型,将MLP模型输出层的输出和真实标签进行比较,从而计算Loss、反向传播梯度以及更新整个模型的参数。
可选的,在所述将所述终端类型分类模型的输入经过特征提取后得到的原始特征向量,之后还包括:使用取Top-N特征分析法对原始特征向量进行精简。
另一方面,本发明还提供一种HTTPS终端类型分类装置,包括:
第一构造单元,用于构造数据集;
提取单元,用于从HTTPS流量会话中提取流统计特征和密码套件列表;其中,所述流统计特征包括包长度、包到达时间间隔、拥塞窗口大小、包中标记字段和包数目中的一种或多种;
第二构造单元,用于构造终端类型分类模型;其中,所述终端类型分类模型包括MLP模型和注意力模块;
训练单元,用于利用所述流统计特征和密码套件列表对所述终端类型分类模型进行训练;
剪枝单元,用于对训练后的所述终端类型分类模型进行剪枝;
使用单元,用于使用剪枝后的终端类型分类模型对HTTPS终端类型进行分类。
在上述HTTPS终端类型分类装置中,可选的,所述第一构造单元包括:
第一统计模块,用于统计跟踪标签的应用类型相关的网址;
重复模块,用于重复打开浏览器、登陆网址、关闭浏览器;
抓取模块,用于在客户端和服务端通信时,抓取数据包并形成数据流。
在上述HTTPS终端类型分类装置中,可选的,所述提取单元包括:
划分模块,用于将HTTPS会话中的所有数据包构成一个总流,将总流划分成上行流和下行流;其中,客户端发出的所有数据包构成上行流、客户端收到的所有数据包构成下行流;
计算模块,用于对原始统计特征,分别计算总流、上行流和下行流的统计特征;
在上述HTTPS终端类型分类装置中,可选的,所述第二构造单元包括:
第一提取模块,用于将所述终端类型分类模型的输入经过特征提取后得到的原始特征向量;
第一输入模块,用于将所述原始特征向量输入注意力模块,所述注意力模块输出一组代表着不同特征权重的第一特征向量;
第二计算模块,用于将所述第一特征向量和原始特征向量进行点乘,得到增加注意力机制的第二特征向量;
第二输入模块,用于将所述增加注意力机制的第二特征向量输入MLP模型,将MLP模型输出层的输出和真实标签进行比较,从而计算Loss、反向传播梯度以及更新整个模型的参数。
本发明相对于现有技术的有益效果是:(1)更加适用于HTTPS终端分类,针对HTTPS终端分类真实的应用场景,充分考虑了HTTPS的加密握手过程和网络数据传输过程原理,引入流统计特征和密码套件列表特征的混合指纹提取方式,使得终端分类方法在应对不同TLS版本下的HTTPS网络流量时具有更高的准确率和召回率。
(2)轻量级、低资源占用,在分类方法设计的时候,除了选择轻量级神经网络结构组件之外,还基于注意力模块的特征筛选进一步精简了指纹特征维度,充分考虑了分类方法时间复杂度和资源占用。
(3)该模型支持轻量化,通过减少复杂度,也就可以降低分类方法部署时候的CPU和内存等硬件资源的占用。
附图说明
图1是本发明中基于神经网络的HTTPS终端类型分类方法的流程图;
图2是本发明中构造数据集的具体流程图;
图3是常见的TLS 1.2版本的密码套件列表;
图4是本发明中AMLP模型的模型图;
图5是在30-TLSv1.2-Dataset上AMLP训练完成后不同特征对应的权重值图;
图6是本发明中一种基于神经网络的HTTPS终端类型分类装置的结构图;
图7是是本发明中第一构造单元的结构图;
图8是本发明中提取单元的结构图;
图9是本发明中第二构造单元的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,一种HTTPS终端类型分类方法,包括:
S10:构造数据集;
本实施例可以同时对以下三种HTTPS终端类型进行分类:操作系统类型、浏览器类型和应用类型。为获得不同TLS版本的、包含上述三种终端类型且标签中的应用在国内可访问的HTTPS流量数据,同时使我们构造数据集实验可重复,利用自动化工具分别构造了30-TLSv1.2-Dataset和30-TLSv1.3-Dataset。在构造数据集时,利用Selenium WebDriver自动化地控制客户端和服务端进行通信,从而产生HTTPS流量。同时,利用Scapy在客户端和服务端通信时,自动地抓取数据包、存储数据包,从而自动化地构造数据集。
如图2,以采集标签(Win10,Chrome,baidu)的数据为例,数据采集具体流程如下:
(1)统计跟“baidu”相关的网址,如:百度主页、百度图片、百度新闻等。这么做是因为本发明希望在实际应用的时候,模型可以把来自“百度主页、百度图片、百度新闻…”的HTTPS流量都打上“baidu”这一类型的标签。
(2)在Win10的环境下,用Selenium WebDriver重复以下操作:打开Chrome浏览器,在步骤(1)中随机选择一个网址并登陆,然后关闭Chrome浏览器。与此同时,利用Scapy抓取连续10秒经过该终端设备网卡的数据包,形成一个流。
(3)重复步骤(2)1000次,使每类标签的流量数据采集1000条,用于后续的训练和测试。
S20:从HTTPS流量会话中提取流统计特征和密码套件列表;其中,所述流统计特征包括包长度、包到达时间间隔、拥塞窗口大小、包中标记字段和包数目;
具体的,从HTTPS流量会话中提取流统计特征由以下方式得到:
统计特征是指从HTTPS流量会话中统计得到的如包长度、包到达时间间隔、包中标记字段、会话持续时间、数据包数量、到达间分组时间等信息。本发明选择了五类用于终端类型分类任务效果更好的特征作为原始统计特征:包长度、包到达时间间隔、拥塞窗口大小、包中标记字段和包数目。
其分别定义如下:1)包长度是指数据包所有部分占字节长度。2)包到达时间间隔是指相邻的两个数据包之间到达的时间差。3)拥塞窗口大小是数据包的发送端根据估算的网络拥塞程度而设定的窗口值,用于发送端流量控制。4)包中标记字段是指TCP数据包中的标志位(URG,ACK,PSH,RST,SYN,FIN)的值。5)包数目是指一个流中数据包的数量。
为了从不同的角度充分利用原始统计特征,同时对数据集在特征层面进行“增强”,以训练更好地终端类型分类模型,采取了以下方式扩充原始统计特征:1)一个HTTPS会话中的所有数据包构成一个总流,将总流划分成上行流和下行流。其中,客户端发出的所有数据包构成上行流、客户端收到的所有数据包构成下行流。对原始统计特征,分别计算总流、上行流和下行流的统计特征。2)对每一个流,都统计该流中原始统计特征的最大值、最小值、平均值和方差。3)对同一类统计特征,增加不同流的比值作为新统计特征。4)对于“包中标记字段”这一特征,本发明分别统计了每一个流中URG标志、ACK标志、PUSH标志、RST标志、SYN标志以及FIN标志的总数。扩充后各类统计特征及其维数如表1。
在此需要说明的是,虽然在本实施例中扩充后的统计特征如表1所示,但本发明的保护范围不局限于此,通过上述扩充方法扩充出来的特征均在本发明的保护范围内,例如上行包数目/总流包数目,下行包数目/总流包数目等等。
表1扩充后的统计特征及维度。
而从HTTPS流量会话中提取密码套件列表由以下方法获得:
密码套件列表对客户端的终端类型(包括操作系统类型、浏览器类型和应用类型)有较好的区分能力。密码套件列表(cipher suites)是完成TLS通信Client Hello阶段的关键,在TLS通信的Client Hello阶段,客户端向服务器发送TLS版本,密码套件列表,客户端随机数等。TLS定义了几百种密码套件,然而在实际中客户端所携带的密码套件的类别数量有限。以30-TLSv1.2-Dataset为例,根据统计,常见的密码套件共有24种,密码套件名称如3所示。把每一种密码套件作为一维特征,构造一个24维的特征向量来代表密码套件列表特征,某一维取值为1代表客户端密码套件列表中包含该密码套件,取值为0则代表不包含。
S30:构造终端类型分类模型;其中,所述终端类型分类模型包括MLP模型和注意力模块;
引入神经网络中的MLP模型的优点是:1)相关研究表明神经网络模型相比于传统方法对于HTTPS流量特征具有更好的编码能力。2)MLP模型是神经网络中比较轻量化的模型,有助于对HTTPS流量在线分类。
设计注意力模块的优点是:1)输入特征对于终端类型分类结果的重要程度是不同的,注意力机制模块的输出是一组权重,可以给更重要的特征更高的权重,从而提高最终模型分类的准确率。2)注意力模块可以帮助自动化地筛选对分类结果贡献更大的特征。AMLP模型的设计如图4所示:
AMLP模型的输入经过特征提取后得到的原始特征向量。原始特征向量输入注意力模块,输出一组代表着不同特征权重的特征向量Attention Mask。然后,Attention Mask和原始特征向量进行点乘,得到增加Attention机制的特征向量。最后,将增加Attention机制的特征向量输入MLP模型,将MLP模型输出层的输出和真实标签进行比较,从而计算Loss、反向传播梯度以及更新整个模型的参数。
S40:利用所述流统计特征和密码套件列表对所述终端类型分类模型进行训练;具体的:原始特征向量:经过特征提取后得到的一个特征向量,定义如下:
X=(x1,x1,…xN)#
其中,N代表输入特征向量的维度,x1,x1,…xN分别代表N维输入特征的初始值。
(2)注意力模块(Attention Module):
第一个FC层(全连接网络)的前向计算公式如下:
oi=x1w1i+x2w2i+…+xNwNi+bi#
其中,x1,x2,…xN代表N维输入特征向量各自对应的初始值,w和b是注意力模块要学习的参数,oi代表第一个FC层第i个神经元的输出。
经过ReLU层的输出如下:
T′=ReLU(T)=(o′1,o′2,…o′M)#
其中,T′是特征向量T经过了ReLU层的输出,o′1,o′2,…o′M是o1,o2,…oM通过ReLU的输出。
第二个FC层的计算过程如下:
pN=o′1w1N+o′2w2N+…+o′MwMN+bN#
其中,o′1,o′2,…o′M代表M维中间特征向量,w和b代表注意力模块要学习的参数,pN代表第二个FC层第N个神经元的输出。N代表第二个FC层神经元的数目。
第二个FC层的输出为:
P=(p1,p2,…pN)#
其中,P代表第二个FC层输出的特征向量。
Sigmoid层是将第二个FC层的输出向量的每一维映射到(0,1),以便于作为一个权重,在之后和原始特征向量做点乘。
注意力模块的输出为:
Y=sigmoid(P)=(a1,a2,…aN)#
有了原始特征向量和注意力模块的输出后,将注意力模块的输出向量作为一组权重赋予原始特征向量,就可以得到加权后的特征向量。加权后的特征向量Z的计算如下:
Z=X·Y=(x1,x1,…xN)·(a1,a2,…aN)#
其中,X、Y分别代表原始特征向量和注意力模块的输出特征向量,Z代表加权后的特征向量。之后,将加权后的特征向量Z输入MLP模型,其输出Output如下:
Output=MLP(Z)#
S50:基于训练后的注意力模块的参数取值,对分类模型进行减枝;
训练后注意力模块中的参数大小,在一定程度上可以代表输入的近100维特征的重要程度(取值越高,特征越重要)。根据这个原理,我们可以把重要程度低的特征剪枝掉,例如我们可以把所有低于某一阈值的的特征全部去除,这样可以减少神经网络连接数,减小神经网络复杂度,从而进一步降低分类过程中的内存和CPU占用。。
S60:最后,使用训练好的终端类型分类模型对HTTPS终端类型进行分类。
另外需要说明的是,本实施例体用的AMLP模型注意力模块的输入是N维特征向量,输出是1×N的向量(其中,N代表输入特征的维数)。这个向量可以看作一组由权重构成的特征向量,每一维都是一个0-1的值。理论上,模型在训练的过程中,为了使最终优化的Loss最小,会倾向于给更重要的特征更大的权重。因此,在模型训练完成后,注意力模块输出的向量可以用来代表对应维度的输入特征的重要程度。以在30-TLSv1.2-Dataset上训练AMLP模型为例,训练结束后打印出每一维输入特征向量对应的权重值如图5。
该HTTPS终端类型分类方法针对HTTPS终端分类真实的应用场景,充分考虑了HTTPS的加密握手过程和网络数据传输过程原理,引入流统计特征和密码套件列表特征的混合指纹提取方式,使得终端分类方法在应对不同TLS版本下的HTTPS网络流量时具有更高的准确率和召回率。
另外,在分类方法设计的时候,除了选择轻量级神经网络结构组件之外,还基于Attention的特征筛选进一步精简了指纹特征维度,充分考虑了分类方法时间复杂度和资源占用。
参照图6,本实施还提供一种HTTPS终端类型分类装置,包括:
第一构造单元100,用于构造数据集;具体的构造方法在上述HTTPS终端类型分类的步骤S10中已经详细阐述,故在此就不在赘述了。
提取单元200,用于从HTTPS流量会话中提取流统计特征和密码套件列表;其中,所述流统计特征包括包长度、包到达时间间隔、拥塞窗口大小、包中标记字段和包数目;具体的构造方法在上述HTTPS终端类型分类的步骤S20中已经详细阐述,故在此就不在赘述了。
第二构造单元300,用于构造终端类型分类模型;其中,所述终端类型分类模型包括MLP模型和注意力模块;具体的构造方法在上述HTTPS终端类型分类的步骤S30中已经详细阐述,故在此就不在赘述了。
训练单元400,用于利用所述流统计特征和密码套件列表对所述终端类型分类模型进行训练;具体的构造方法在上述HTTPS终端类型分类的步骤S40中已经详细阐述,故在此就不在赘述了。
剪枝单元500,用于对训练后的所述终端类型分类模型进行剪枝;具体的构造方法在上述HTTPS终端类型分类的步骤S50中已经详细阐述,故在此就不在赘述了
使用单元600,用于使用剪枝后的终端类型分类模型对HTTPS终端类型进行分类。具体的构造方法在上述HTTPS终端类型分类的步骤S60中已经详细阐述,故在此就不在赘述了。
参照图7,上述的第一构造单元100还包括:第一统计模块101,用于统计跟踪标签的应用类型相关的网址;
重复模块102,用于重复打开浏览器、登陆网址、关闭浏览器;
抓取模块103,用于在客户端和服务端通信时,抓取数据包并形成数据流。
参照图8,所述提取单元200包括:
划分模块201,用于将HTTPS会话中的所有数据包构成一个总流,将总流划分成上行流和下行流;其中,客户端发出的所有数据包构成上行流、客户端收到的所有数据包构成下行流;
第一计算模块202,用于对原始统计特征,分别计算总流、上行流和下行流的统计特征;
第二统计模块203,用于对每一个流,都统计该流中原始统计特征的最大值、最小值、平均值和方差;
增加模块204,用于对同一类统计特征,增加不同流的比值作为新统计特征;
第三统计模块205,用于对于包中标记字段这一特征,分别统计每一个流中URG标志、ACK标志、PUSH标志、RST标志、SYN标志以及FIN标志的总数。
参照图9,所述第二构造单300包括:
第一提取模块301,用于将所述终端类型分类模型的输入经过特征提取后得到的原始特征向量;
第一输入模块302,用于将所述原始特征向量输入注意力模块,所述注意力模块输出一组代表着不同特征权重的第一特征向量;
第二计算模块303,用于将所述第一特征向量和原始特征向量进行点乘,得到增加注意力机制的第二特征向量;
第二输入模块304,用于将所述增加注意力机制的第二特征向量输入MLP模型,将MLP模型输出层的输出和真实标签进行比较,从而计算Loss、反向传播梯度以及更新整个模型的参数。
另外,本发明实施例还提供一种计算机可读存储介质,其中,该计算机可读存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的任何一种基于神经网络的HTTPS终端类型分类方法的部分或全部步骤。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上参照附图描述了根据本发明的实施例的用于实现服务链的方法的示例性流程图。应指出的是,以上描述中包括的大量细节仅是对本发明的示例性说明,而不是对本发明的限制。在本发明的其他实施例中,该方法可具有更多、更少或不同的步骤,且各步骤之间的顺序、包含、功能等关系可以与所描述和图示的不同。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (11)
1.一种HTTPS终端类型分类方法,其特征在于,包括:
构造数据集,所述数据集中包括HTTPS流量会话;
从HTTPS流量会话中提取流统计特征和密码套件列表;其中,所述流统计特征包括包长度、包到达时间间隔、拥塞窗口大小、包中标记字段和包数目中的一种或多种;
构造终端类型分类模型;其中,所述终端类型分类模型包括MLP模型和注意力模块;
利用所述流统计特征和密码套件列表对所述终端类型分类模型进行训练;
对训练后的所述终端类型分类模型进行剪枝;
使用剪枝后的终端类型分类模型对HTTPS终端类型进行分类。
2.根据权利要求1所述的HTTPS终端类型分类方法,其特征在于,所述构造数据集进一步包括:
统计跟踪标签的应用类型相关的网址;
重复打开浏览器、登陆网址、关闭浏览器,同时在客户端和服务端通信时,抓取数据包并形成数据集。
3.根据权利要求1所述的HTTPS终端类型分类方法,其特征在于,所述的从HTTPS流量会话中提取流统计特征,进一步包括:
将HTTPS会话中的所有数据包构成一个总流,将总流划分成上行流和下行流;其中,客户端发出的所有数据包构成上行流、客户端收到的所有数据包构成下行流;
对原始统计特征,分别计算总流、上行流和下行流的统计特征。
4.根据权利要求1所述的HTTPS终端类型分类方法,其特征在于,所述的从HTTPS流量会话中提取密码套件列表,进一步包括:
将每一种密码套件作为一维特征,构造一个多维的特征向量来代表密码套件列表特征,某一维取值为1代表客户端密码套件列表中包含该密码套件,取值为0则代表不包含。
5.根据权利要求1所述的HTTPS终端类型分类方法,其特征在于,所述构造终端类型分类模型,进一步包括:
将所述终端类型分类模型的输入经过特征提取后得到的原始特征向量;
将所述原始特征向量输入注意力模块,所述注意力模块输出一组代表着不同特征权重的第一特征向量;
将所述第一特征向量和原始特征向量进行点乘,得到增加注意力机制的第二特征向量;
将所述增加注意力机制的第二特征向量输入MLP模型,将MLP模型输出层的输出和真实标签进行比较,从而计算Loss、反向传播梯度以及更新整个模型的参数。
6.根据权利要求5所述的HTTPS终端类型分类方法,其特征在于,在所述将所述终端类型分类模型的输入经过特征提取后得到的原始特征向量,之后还包括:使用取Top-N特征分析法对原始特征向量进行精简。
7.一种HTTPS终端类型分类装置,其特征在于,包括:
第一构造单元,用于构造数据集,所述数据集中包括HTTPS流量会话;
提取单元,用于从HTTPS流量会话中提取流统计特征和密码套件列表;其中,所述流统计特征包括包长度、包到达时间间隔、拥塞窗口大小、包中标记字段和包数目中的一种或多种;
第二构造单元,用于构造终端类型分类模型;其中,所述终端类型分类模型包括MLP模型和注意力模块;
训练单元,用于利用所述流统计特征和密码套件列表对所述终端类型分类模型进行训练;
剪枝单元,用于对训练后的所述终端类型分类模型进行剪枝;
使用单元,用于使用剪枝后的终端类型分类模型对HTTPS终端类型进行分类。
8.根据权利要求7所述的HTTPS终端类型分类装置,其特征在于,所述第一构造单元包括:
第一统计模块,用于统计跟踪标签的应用类型相关的网址;
重复模块,用于重复打开浏览器、登陆网址、关闭浏览器;
抓取模块,用于在客户端和服务端通信时,抓取数据包并形成数据集。
9.根据权利要求7所述的HTTPS终端类型分类装置,其特征在于,所述提取单元包括:
划分模块,用于将HTTPS会话中的所有数据包构成一个总流,将总流划分成上行流和下行流;其中,客户端发出的所有数据包构成上行流、客户端收到的所有数据包构成下行流;
计算模块,用于对原始统计特征,分别计算总流、上行流和下行流的统计特征。
10.根据权利要求7所述的HTTPS终端类型分类装置,其特征在于,所述第二构造单元包括:
第一提取模块,用于将所述终端类型分类模型的输入经过特征提取后得到的原始特征向量;
第一输入模块,用于将所述原始特征向量输入注意力模块,所述注意力模块输出一组代表着不同特征权重的第一特征向量;
第二计算模块,用于将所述第一特征向量和原始特征向量进行点乘,得到增加注意力机制的第二特征向量;
第二输入模块,用于将所述增加注意力机制的第二特征向量输入MLP模型,将MLP模型输出层的输出和真实标签进行比较,从而计算Loss、反向传播梯度以及更新整个模型的参数。
11.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任意一项所述的一种HTTPS终端类型分类方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011643941.9A CN112733689B (zh) | 2020-12-31 | 2020-12-31 | 一种https终端类型分类方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011643941.9A CN112733689B (zh) | 2020-12-31 | 2020-12-31 | 一种https终端类型分类方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112733689A CN112733689A (zh) | 2021-04-30 |
CN112733689B true CN112733689B (zh) | 2024-03-26 |
Family
ID=75609312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011643941.9A Active CN112733689B (zh) | 2020-12-31 | 2020-12-31 | 一种https终端类型分类方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112733689B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611280A (zh) * | 2020-04-29 | 2020-09-01 | 南京理工大学 | 一种基于cnn和sae的加密流量识别方法 |
CN111709493A (zh) * | 2020-07-10 | 2020-09-25 | 腾讯科技(深圳)有限公司 | 对象分类方法、训练方法、装置、设备及存储介质 |
CN111860628A (zh) * | 2020-07-08 | 2020-10-30 | 上海乘安科技集团有限公司 | 一种基于深度学习的流量识别与特征提取方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11151476B2 (en) * | 2018-11-12 | 2021-10-19 | Cisco Technology, Inc. | Learning criticality of misclassifications used as input to classification to reduce the probability of critical misclassification |
WO2020140114A1 (en) * | 2018-12-28 | 2020-07-02 | Plaid Inc. | System and method of filtering internet traffic via a client fingerprint |
-
2020
- 2020-12-31 CN CN202011643941.9A patent/CN112733689B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611280A (zh) * | 2020-04-29 | 2020-09-01 | 南京理工大学 | 一种基于cnn和sae的加密流量识别方法 |
CN111860628A (zh) * | 2020-07-08 | 2020-10-30 | 上海乘安科技集团有限公司 | 一种基于深度学习的流量识别与特征提取方法 |
CN111709493A (zh) * | 2020-07-10 | 2020-09-25 | 腾讯科技(深圳)有限公司 | 对象分类方法、训练方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112733689A (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112398779B (zh) | 一种网络流量数据分析方法及系统 | |
CN112163594B (zh) | 一种网络加密流量识别方法及装置 | |
Lin et al. | TSCRNN: A novel classification scheme of encrypted traffic based on flow spatiotemporal features for efficient management of IIoT | |
WO2018054342A1 (zh) | 一种网络数据流分类的方法及系统 | |
US20170134404A1 (en) | Hierarchical feature extraction for malware classification in network traffic | |
WO2023056808A1 (zh) | 加密恶意流量检测方法、装置、存储介质及电子装置 | |
CN110460502B (zh) | 基于分布特征随机森林的vpn下应用程序流量识别方法 | |
CN111147394A (zh) | 一种远程桌面协议流量行为的多级分类检测方法 | |
CN111611280A (zh) | 一种基于cnn和sae的加密流量识别方法 | |
CN112003869A (zh) | 一种基于流量的漏洞识别方法 | |
CN109728977B (zh) | Jap匿名流量检测方法及系统 | |
Liu et al. | Dynamic traffic classification algorithm and simulation of energy Internet of things based on machine learning | |
Tropková et al. | Novel HTTPS classifier driven by packet bursts, flows, and machine learning | |
CN111310796B (zh) | 一种面向加密网络流的Web用户点击识别方法 | |
CN112733689B (zh) | 一种https终端类型分类方法及装置 | |
CN112383488A (zh) | 一种适用于加密与非加密数据流的内容识别方法 | |
Xu et al. | TrafficGCN: Mobile application encrypted traffic classification based on GCN | |
Sekar et al. | Prediction of Distributed Denial of Service Attacks in SDN using Machine Learning Techniques | |
CN109617904A (zh) | 一种IPv6网络中的HTTPS应用识别方法 | |
CN113177203B (zh) | 一种识别加密恶意报文流的方法及装置 | |
Zhao et al. | A classification and identification technology of TLS encrypted traffic applications | |
CN114679318A (zh) | 一种高速网络中轻量级的物联网设备识别方法 | |
Hartpence et al. | Fast internet packet and flow classification based on artificial neural networks | |
CN112839051B (zh) | 基于卷积神经网络的加密流量实时分类方法及装置 | |
Wang et al. | A two-phase approach to fast and accurate classification of encrypted traffic |
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 |