CN111147394B - 一种远程桌面协议流量行为的多级分类检测方法 - Google Patents
一种远程桌面协议流量行为的多级分类检测方法 Download PDFInfo
- Publication number
- CN111147394B CN111147394B CN201911296087.0A CN201911296087A CN111147394B CN 111147394 B CN111147394 B CN 111147394B CN 201911296087 A CN201911296087 A CN 201911296087A CN 111147394 B CN111147394 B CN 111147394B
- Authority
- CN
- China
- Prior art keywords
- flow
- protocol
- classification
- byte
- rdp
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- 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/18—Protocol analysers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种远程桌面协议流量行为的多级分类检测方法,首先筛选出加密的RDP协议流量,包括TLS协议、SSH协议、HTTP隧道流量的识别;然后根据RDP协议建立连接阶段的报文长度序列特征实现对加密RDP流量的识别;最后针对加密RDP协议流量所包含的行为,通过对流量长度、负载随机性和交互性三个层面提取特征,并使用机器学习的方法进行分类,实现RDP协议流量内部细粒度的识别,即对RDP协议流量行为的识别。本发明在保证隐私的前提下,通过对流量多级化分类处理,能够有效实现对用户远程操控服务器所产生的RDP协议流量识别以及具体操作行为的分类。
Description
技术领域
本发明属于网络安全技术领域,尤其涉及一种远程桌面协议流量行为的多级分类检测方法。
背景技术
远程桌面协议(RDP)是目前使用最广泛的安全远程桌面协议,该协议服务为远程办公、远程维护、远程调用系统共享资源等工作提供了便利,极大提高了企业和个人的管理效率,因此其在高度信息化的今天得到了越来越广泛的使用。同时为了企业安全保障或统计需求,RDP协议的审计工作变得尤为重要。
在RDP协议愈发普及化的同时,涉及企业和个人的网络隐私问题、网络安全问题也随之而来,如可能存在用户通过RDP协议对计算机进行远程控制实现数据窃取,或者使用规定之外软件进行操作,对企业网络安全构成威胁。另外,为保障通信安全性,RDP协议在使用过程中通常以加密方式进行通信,最普遍的方法是使用加密协议对原协议进行封装,其中主要表现在基于TLS协议、SSH协议和HTTP隧道的RDP协议,这就使得利用远程桌面技术对计算机的操作具有隐蔽性,不易检测。
出于对企业内部网络安全的需求和考虑,愈发需要对RDP协议流量进行感知,对RDP协议所承载的行为识别也属于保障企业网络安全的重要组成部分。网络流量识别技术的发展,有助于网络管理者对业务进行管理和监控,有助于了解各种数据流特征和用户行为。现有的对加密流量的分类技术,重点在于直接对流量对象进行识别,而忽略了目标流量背后所隐含的分层信息。这就造成当对流量类别进行更细粒度的划分时,传统的“平面化”的识别分类方案变得不太合适,对RDP协议流量行为的识别属于对目标流量细粒度的分类,对网络安全审计工作有着重要理论意义与应用价值。
发明内容
本发明的目的在于提供一种远程桌面协议流量行为的多级分类检测方法,能够实现对用户使用RDP服务所产生的协议流量的识别以及对用户具体操作行为的分类。
实现本发明目的的技术解决方案为:一种远程桌面协议流量行为的多级分类检测方法,包括:
识别TLS协议、SSH协议和HTTP隧道流量,进行第一级分类;
识别基于以上三种加密方式的RDP协议流量,进行第二级分类;
识别加密RDP协议流量所包含的行为类别,进行第三级分类;
对用户操作行为流量进行分析并提取流量特征,训练生成分类器模型;
根据不同加密协议的网络流量,结合多级分类检测方法的分级处理过程,在不同层级对加密流量做相应识别,从而实现RDP协议的细粒度检测。
与现有技术相比,本发明的显著优点为:(1)本发明使加密流量行为识别过程多级化处理,对流量进行不同级别的识别,对同一级别的流量构建专用的分类模型,使得分类结果更加准确;(2)传统的识别技术在识别新的流量数据时需要重新训练整个模型,而本发明提供的多级处理方法仅需添加或替换相应模块的分类器模型,具有较高的可移植性。
附图说明
图1是RDP协议流量行为多级检测分类示意图。
图2是数据采集模块流程图。
图3是加密流量分类过程图。
具体实施方式
一种远程桌面协议流量行为的多级分类检测方法,该方法主要分为对加密流量进行分类、识别加密的RDP协议流量和流量承载行为识别三个部分,具体步骤如下:
识别TLS协议、SSH协议和HTTP隧道流量,进行第一级分类;
识别基于以上三种加密方式的RDP协议流量,进行第二级分类;
识别加密RDP协议流量所包含的行为类别,进行第三级分类;
对用户常见操作行为流量进行分析并提取流量特征,训练生成分类器模型;
根据不同加密协议的网络流量,结合多级分类检测方法的分级处理过程,在不同层级对加密流量做相应识别,从而实现RDP协议的细粒度检测。
进一步的,在识别TLS协议、SSH协议和HTTP隧道流量前,根据源地址、目的地址、源端口、目的端口、TCP层协议解析数据流,并根据序列号、确认号对TCP数据流进行分组。
进一步的,第一级分类中,TLS协议识别包括对数据流前4到6个包进行分析,获取ClientHello、ServerHello、AplicationData、ClientKeychange、ChangeCipherSpec、Certificate、ServerHelloDone报文信息。
进一步的,对TLS识别具体过程包括:匹配报文结构中特定位置的特定取值:ClientHello和ServerHello中第1个字节0x16,第2字节0x03;AplicationData第1个字节0x17,第二个字节0x13;ClientKeyExchange第1个字节0x17,第二个字节0x13,第5个字节0x10;ChangeCipherSpec在ClientKeyExchange报文末尾字节的后一字节为0x14,0x13;Certificate在ServerHello报文末尾字节的后一字节为0x0b;ServerHelloDone在Certificate报文末尾字节的后一字节为0x0e。
进一步的,SSH协议流量识别包括获取SSH协议连接建立过程第一阶段中发送数据包交互的协议与软件实现版本,第二阶段中ClientKeyExchangeInit和ServerKeyExchangeInit长度信息,根据SSH握手阶段长度序列匹配进行识别;
HTTP隧道流量识别包括报文首部分析和负载类型分析,通过与正常HTTP流量报文格式的差异对比并利用负载信息熵来检测加密负载,实现对HTTP隧道流量的识别,识别结果用于第二级分类检测。
进一步的,在第二级分类中,在第一级的检测结果中筛选出加密的RDP协议流量;RDP流量由于其协议规范,在建立过程中有着很强的交互特征,虽然RDP协议原始数据包各层存在不同的负载长度,但数据包有效负载的总长度在加密之后并不会变化,根据分析过程中对RDP协议的解密观察,确定出加密RDP流量的检测阈值,即数据流中前28个数据包,对数据流阈值内数据包进行长度序列提取,统计不同加密方式的长度序列指纹,根据指纹匹配实现对加密RDP协议流量的识别。识别结果用于第三级分类检测。
进一步的,在第三级分类中,对流量长度、负载随机性和交互性三个层面提取特征,特征包括数据流双向、上行和下行负载长度均值、标准差,流持续时间、数据包间隔时间均值、标准差,流方向波动程度等特征,量化为特征向量。选择训练数据集与检测数据集,输入分类算法,得到分类器模型。将第二级分类结果数据按同样规则提取特征向量,识别出行为分类。
检测方法将捕获到的加密流量数据进行分级检测,第一级识别出TLS、SSH和HTTP隧道加密流量,第二级识别出基于三种加密方式的RDP协议流量,第三级识别出RDP协议流量承载的行为,从而获得识别结果。每一级对应相应的理论方法。
第一级分类中,集合S代表所需识别的加密流量类型,即S={S1,...,SH},该集合中每个元素各代表一种加密协议,其中H为所需加密流量类型数量。此处为TLS协议、SSH协议、HTTP隧道协议三种,即H=3,S={S1,S2,S3}。
第三级分类中,定义每种不同加密方式的RDP流量所包含的行为种类为定义行为集合Pi,j,k={pi,j,0,...,pi,j,k}表示某种行为,其中k为甄别相应行为所需数据包,并且k≥0;i为RDP协议所用加密协议种类,并且0≤i≤|S|,此处i=1,2,3;j为流量行为种类,并且0≤j≤|Si|。
根据每一级分类过程的理论方法,将识别结果与真实数据类型进行比对即可获得识别准确率。综合上述分析,多级分类检测方法实现对RDP协议流量行为的识别。
下面结合附图和实施例对本发明作进一步详细描述。
实施例
如图1所示,RDP协议流量行为多级检测分类方法,按照数据处理网络环境可分为离线模块和在线模块,离线模块用于对数据集进行模型训练,在线模块用于对实时数据进行分类检测。此方法对数据多级处理分为三个步骤,即先实现在加密数据中对TLS协议、SSH协议和HTTP隧道流量的检测,然后筛选出基于以上三种加密方式的RDP协议,最后对流量所承载的行为进行识别。方法实现包括实时数据采集模块、数据流分组模块、训练模块、数据多级分类识别模块等多个模块的整合,在离线模块建立加密流量特征筛选,得到第一级、第二级分类模型,训练模块生成第三级分类器模型,并与在线模块结合,具体步骤如下:
(1)如图2所示,数据采集模块首先判断数据流所处模式,根据相应模式将数据包加入缓冲队列,生成待处理数据。数据流分组模块在网络接口控制器(network interfacecontroller,NIC)接收加密流量数据包,对流数据进行分组处理。数据包捕获模块分为数据包捕获初始化线程和数据包捕获线程,前者完成相关初始化操作,后者从本地(离线模式)或网卡(在线模式)捕获数据包,完成数据包的内容拷贝和数据包内容地址入队缓存队列的操作。流量过滤部分解析存储在缓存队列的数据包,维护一个全局顺序容器,存储插件配置信息,并使用哈希表处理多个流,根据TCP流五元组生成哈希值,以此查找对应数据流,对于没有SYN标志的数据包,线程使用键值在哈希表中查找对应数据流,如果存在此键值,则将数据包添加到对应数据流中,否则将其丢弃。基于数据流到达顺序进行存储,当数据流中的数据包数量达到阈值,则把此数据流交给分类识别模块处理。
(2)如图3所示,加密流量分类过程中在数据预处理阶段:
首先在数据集中获取数据流,然后通过标记字段为流量建立分级层次结构,接着是特征提取来构建第一级和第二级分类模型,通过模型训练来构建第三级分类器模型。
针对TLS协议识别包括获取ClientHello、ServerHello、AplicationData、ClientKeychange、ChangeCipherSpec、Certificate、ServerHelloDone等报文信息。ClientHello和ServerHello中第1个字节0x16,第2字节0x03;AplicationData第1个字节0x17,第二个字节0x13;ClientKeyExchange第1个字节0x17,第二个字节0x13,第5个字节0x10;ChangeCipherSpec在其上一阶段长度位置后为0x14,0x13;Certificate在其上一阶段长度位置后为0x0b;ServerHelloDone在其前两个阶段长度后为0x0e。
针对SSH协议识别包括获取SSH协议连接建立过程第一阶段中发送数据包交互的协议与软件实现版本;第二阶段中ClientKeyExchangeInit和ServerKeyExchangeInit信息,其中报文类型代码长度为1字节,cookie长度为16字节。
针对HTTP隧道识别包括报文首部分析和负载类型分析,通过负载信息熵来检测加密负载。信息熵用来描述任意字节出现的不确定度,对于任意随机变量X,信息熵定义为:H(X)=-∑x∈XP(x)logP(x),其中P(x)表示变量x(x∈X)发生的概率;负载信息熵定义公式为:其中M为变量X的字符数,当变量x出现次数为N(x),则每个字符出现概率为N(x)/M,明文负载信息熵为4.7393,加密负载信息熵为5.9841,根据负载信息熵可确定加密信息。
(3)如图3所示,加密流量分级过程:
首先对数据提取特征,通过第一级分类器将TLS协议、SSH协议、HTTP隧道流量识别,令集合S代表所需的加密流量类型,即S={S1,...,SH},此处H=3,S={S1,S2,S3}。
加载第二级分类器,筛选出加密RDP协议流量数据,得到集合其中N代表协议Si所提供的常见用户行为种类。最后在第三级分类识别流量承载行为类别,每种不同加密方式的RDP流量所包含的行为种类为行为集合Pi,j,k={pi,j,0,...,pi,j,k}表示某种行为,其中k为甄别相应行为所需数据包,并且k≥0;i为RDP协议所用加密协议种类,并且0≤i≤|S|,此处i=1,2,3;j为流量行为种类,并且0≤j≤|Si|。
(4)本发明第三级分类器采用基于C4.5算法的决策树作为分类系统的分类器,并利用十折交叉验证分类模型的分类性能,证明该方案可行。
Claims (3)
1.一种远程桌面协议流量行为的多级分类检测方法,其特征在于,包括:
识别TLS协议、SSH协议和HTTP隧道流量,进行第一级分类,其中TLS协议识别包括对数据流前4到6个包进行分析,获取ClientHello、ServerHello、AplicationData、ClientKeychange、ChangeCipherSpec、Certificate、ServerHelloDone报文信息;SSH协议流量识别包括获取SSH协议连接建立过程第一阶段中发送数据包交互的协议与软件实现版本,第二阶段中ClientKeyExchangeInit和ServerKeyExchangeInit长度信息,根据SSH握手阶段长度序列匹配进行识别;HTTP隧道流量识别包括报文首部分析和负载类型分析,通过与正常HTTP流量报文格式的差异对比并利用负载信息熵来检测加密负载,实现对HTTP隧道流量的识别,识别结果用于第二级分类检测;
识别基于以上三种加密方式的RDP协议流量,进行第二级分类,在第一级的检测结果中筛选出加密的RDP协议流量;确定加密RDP流量的检测阈值,即数据流中前28个数据包,对检测阈值内数据包进行长度序列提取,统计不同加密方式的长度序列指纹,根据指纹匹配实现对加密RDP协议流量的识别;识别结果用于第三级分类检测;
识别加密RDP协议流量所包含的行为类别,进行第三级分类,对流量长度、负载随机性和交互性三个层面提取特征,特征包括数据流双向、上行和下行负载长度均值、标准差,流持续时间、数据包间隔时间均值、标准差,流方向波动程度,量化为特征向量;选择训练数据集与检测数据集,输入分类算法,得到分类器模型;将第二级分类结果数据按同样规则提取特征向量,识别出行为分类;
对用户操作行为流量进行分析并提取流量特征,训练生成分类器模型;
根据不同加密协议的网络流量,结合多级分类检测方法的分级处理过程,在不同层级对加密流量做相应识别,从而实现RDP协议的细粒度检测。
2.根据权利要求1所述的远程桌面协议流量行为的多级分类检测方法,其特征在于,在识别TLS协议、SSH协议和HTTP隧道流量前,根据源地址、目的地址、源端口、目的端口、TCP层协议解析数据流,并根据序列号、确认号对TCP数据流进行分组。
3.根据权利要求1所述的远程桌面协议流量行为的多级分类检测方法,其特征在于,对TLS识别具体过程包括:匹配报文结构中特定位置的特定取值:ClientHello和ServerHello中第1个字节0x16,第2字节0x03;AplicationData第1个字节0x17,第二个字节0x13;ClientKeyExchange第1个字节0x17,第二个字节0x13,第5个字节0x10;ChangeCipherSpec在ClientKeyExchange报文末尾字节的后一字节为0x14,0x13;Certificate在ServerHello报文末尾字节的后一字节为0x0b;ServerHelloDone在Certificate报文末尾字节的后一字节为0x0e。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911296087.0A CN111147394B (zh) | 2019-12-16 | 2019-12-16 | 一种远程桌面协议流量行为的多级分类检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911296087.0A CN111147394B (zh) | 2019-12-16 | 2019-12-16 | 一种远程桌面协议流量行为的多级分类检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111147394A CN111147394A (zh) | 2020-05-12 |
CN111147394B true CN111147394B (zh) | 2022-09-27 |
Family
ID=70518504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911296087.0A Active CN111147394B (zh) | 2019-12-16 | 2019-12-16 | 一种远程桌面协议流量行为的多级分类检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111147394B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112398813B (zh) * | 2020-10-23 | 2022-05-31 | 无锡宏创盛安科技有限公司 | 一种交互式应用协议识别方法 |
CN113542259B (zh) * | 2021-07-12 | 2022-09-13 | 中山大学 | 基于多模态深度学习的加密恶意流量检测方法及系统 |
CN113596065B (zh) * | 2021-10-08 | 2021-12-07 | 成都数默科技有限公司 | 一种基于机器学习的ssh协议登录状态检测方法 |
CN114500688B (zh) * | 2022-01-28 | 2023-12-05 | 厦门科灿信息技术有限公司 | 设备协议识别的方法、装置、终端及存储介质 |
CN115190056B (zh) * | 2022-09-08 | 2022-12-23 | 杭州海康威视数字技术股份有限公司 | 一种可编排的流量协议识别与解析方法、装置及设备 |
CN115277888B (zh) * | 2022-09-26 | 2023-01-31 | 中国电子科技集团公司第三十研究所 | 一种移动应用加密协议报文类型解析方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109861957A (zh) * | 2018-11-06 | 2019-06-07 | 中国科学院信息工程研究所 | 一种移动应用私有加密协议的用户行为精细化分类方法及系统 |
-
2019
- 2019-12-16 CN CN201911296087.0A patent/CN111147394B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109861957A (zh) * | 2018-11-06 | 2019-06-07 | 中国科学院信息工程研究所 | 一种移动应用私有加密协议的用户行为精细化分类方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111147394A (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111147394B (zh) | 一种远程桌面协议流量行为的多级分类检测方法 | |
Shapira et al. | FlowPic: A generic representation for encrypted traffic classification and applications identification | |
Alshammari et al. | Machine learning based encrypted traffic classification: Identifying ssh and skype | |
Li et al. | A supervised machine learning approach to classify host roles on line using sflow | |
Dainotti et al. | Issues and future directions in traffic classification | |
Finsterbusch et al. | A survey of payload-based traffic classification approaches | |
US8180916B1 (en) | System and method for identifying network applications based on packet content signatures | |
CN111464485A (zh) | 一种加密代理流量检测方法和装置 | |
CN113259313A (zh) | 一种基于在线训练算法的恶意https流量智能分析方法 | |
CN107370752B (zh) | 一种高效的远控木马检测方法 | |
CN111064678A (zh) | 基于轻量级卷积神经网络的网络流量分类方法 | |
Khakpour et al. | An information-theoretical approach to high-speed flow nature identification | |
CN110611640A (zh) | 一种基于随机森林的dns协议隐蔽通道检测方法 | |
CN113329023A (zh) | 一种加密流量恶意性检测模型建立、检测方法及系统 | |
Zargar et al. | Category-based intrusion detection using PCA | |
WO2023173790A1 (zh) | 一种基于数据包的加密流量分类系统 | |
Kong et al. | Identification of abnormal network traffic using support vector machine | |
Hejun et al. | Encrypted network behaviors identification based on dynamic time warping and k-nearest neighbor | |
CN115426137A (zh) | 恶意加密网络流量检测溯源方法及系统 | |
Muliukha et al. | Analysis and classification of encrypted network traffic using machine learning | |
CN110519228B (zh) | 一种黑产场景下恶意云机器人的识别方法及系统 | |
Zhang et al. | Robust network traffic identification with unknown applications | |
Zheng et al. | Detecting malicious tls network traffic based on communication channel features | |
Shamsimukhametov et al. | Are neural networks the best way for encrypted traffic classification? | |
Zhou et al. | Malicious encrypted traffic features extraction model based on unsupervised feature adaptive learning |
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 | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Liu Guangjie Inventor after: Liu Weiwei Inventor after: Gao Bo Inventor after: Chen Tao Inventor after: Bai Huiwen Inventor before: Chen Tao Inventor before: Liu Guangjie Inventor before: Liu Weiwei Inventor before: Bai Huiwen Inventor before: Gao Bo |
|
GR01 | Patent grant | ||
GR01 | Patent grant |