CN116827647A - 一种加密c&c通信流量识别方法及系统 - Google Patents
一种加密c&c通信流量识别方法及系统 Download PDFInfo
- Publication number
- CN116827647A CN116827647A CN202310818034.0A CN202310818034A CN116827647A CN 116827647 A CN116827647 A CN 116827647A CN 202310818034 A CN202310818034 A CN 202310818034A CN 116827647 A CN116827647 A CN 116827647A
- Authority
- CN
- China
- Prior art keywords
- data
- encrypted
- communication
- training
- domain name
- 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.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 88
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000012549 training Methods 0.000 claims abstract description 58
- 230000006399 behavior Effects 0.000 claims abstract description 20
- 238000003062 neural network model Methods 0.000 claims description 28
- 239000011159 matrix material Substances 0.000 claims description 19
- 238000010606 normalization Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 16
- 230000004913 activation Effects 0.000 claims description 11
- 238000000605 extraction Methods 0.000 claims description 9
- 230000011218 segmentation Effects 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 7
- 238000007781 pre-processing Methods 0.000 claims description 6
- 238000013528 artificial neural network Methods 0.000 claims description 4
- 230000015654 memory Effects 0.000 claims description 3
- 230000006403 short-term memory Effects 0.000 claims description 3
- 230000007787 long-term memory Effects 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 210000004027 cell Anatomy 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 3
- 102100026278 Cysteine sulfinic acid decarboxylase Human genes 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 108010064775 protein C activator peptide Proteins 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供的一种加密C&C通信流量识别方法及系统,所述识别方法包括:获取待识别的加密通信流量,对流量进行解析;进行特征提取,包括证书特征、域名特征和数据包特征,并对提取得到的特征数据进行归一化处理,获得归一化特征数据;训练加密C&C通信识别模型,获得训练通信识别模型;将所述归一化特征数据,输入所述训练通信识别模型中,获得加密流量数据的类别标签,包括C&C通信和非C&C通信。解决现有技术中由于忽略了证书行为的特征以及未融合多种特征,导致对加密C&C通信流量识别准确率低的问题。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种加密C&C通信流量识别方法及系统。
背景技术
命令与控制(C&C通信)是恶意软件在目标主机落地并执行之后,伺机和攻击者服务器建立的信道,以便进一步的接受攻击者的指令造成信息泄露、本地信息破坏等重大安全事故。通常,恶意软件通常利用加密C&C通信规避安全软件检测,因此加密C&C通信的准确识别对于识别勒索软件等恶意软件具有重要的作用。
目前,对于加密C&C通信识别的方法是提取加密网络流量的特征,根据提取的特征训练识别模型,对这些加密网络流量进行识别,检测出加密C&C通信流量。但是现有的识别方法只提取数据包行为特征或者域名特征,一方面忽略了重要的证书行为特征,另一方面并未很好的融合多种特征,导致加密C&C通信流量识别的准确率不高。
发明内容
鉴于上述问题,提出了本发明以便提供克服上述问题或者至少部分地解决上述问题的一种加密C&C通信流量识别方法及系统。
根据本发明的一个方面,提供了一种加密C&C通信流量识别方法,所述识别方法包括:
获取待识别的加密通信流量,对流量进行解析;
进行特征提取,包括证书特征、域名特征和数据包特征,并对提取得到的特征数据进行归一化处理,获得归一化特征数据;
训练加密C&C通信识别模型,获得训练通信识别模型;
将所述归一化特征数据,输入所述训练通信识别模型中,获得加密流量数据的类别标签,包括C&C通信和非C&C通信。
可选的,所述DGA域名识别模型的训练方法具体包括:
步骤S1:获取训练数据,包括DGA域名样本和正常的域名样本;
步骤S2:截取DGA域名字符串;
步骤S3:将训练数据集中的域名填充至等长;
步骤S4:采用Word2Vec方法,将等长的域名转化为矩阵表示;
步骤S5:将矩阵输入到长短期记忆模型中进行训练,得到流量识别模型。
可选的,所述DGA域的识别方法包括:
输入一个域名,对域名进行预处理;
将处理后的域名转化为矩阵;
将所述矩阵输入到预先训练好的长短期记忆模型中,得到域名的类别标签。
可选的,所述深度神经网络训练模型训练的方法具体包括:
获取待训练的加密流量数据,包括加密C&C通信流量数据和正常的加密流量数据,所述加密流量数据带有人工标注的类别标签;
对加密流量数据进行预处理,使用开源工具将流量数据转换为日志文件,并存储到数据库中;
对加密流量数据进行特征提取,获得数据特征;
将提取的特征数据进行归一化处理,根据所述提取得到的特征数据的不同取值范围,预设相应的分段值,根据所述预设分段值,对所述提取得到的特征数据进行归一化处理;
将归一化处理后的特征数据,输入到预先构建的深度神经网络模型中进行训练。
可选的,所述数据特征具体包括:证书行为特征、域名特征和数据包行为特征。
可选的,所述证书行为特征包括:证书是否过期、是否自签名证书、证书年龄和证书链长度。
可选的,所述域名特征包括SNI字段是否为空、CN字段是否为空、SNI字段和CN字段是否匹配、SAN字段中域名个数和SNI是否为伪随机域名。
可选的,所述数据包行为特征包括会话中数据包数量特征、会话中数据包长度特征和会话中数据包到达的时间间隔特征
可选的,所述将归一化处理后的特征数据,输入到预先构建的深度神经网络模型中进行训练具体包括:
构建G层的深度神经网络模型,包括一个输入层、多个隐层和一个输出层,并进行初始化;
将归一化处理后的特征数据作为输入层的值,根据激活方程计算第一个隐层的值,对于第二个隐层到最后一个隐层,根据上一个隐层的值和激活方程计算下一个隐层的值,对于输出层,根据最后一个隐层的值和激活方程计算得到,作为最终的预测结果;
根据加密流量的预测结果,利用交叉熵损失函数更新深度神经网络模型,直至模型收敛,得到加密C&C通信识别模型。
本发明还提供了一种加密C&C通信流量识别系统,其特征在于,所述识别系统包括:
数据获取模块,用于获取待训练的加密流量数据,所述加密流量数据带有人工标注的类别标签;所述类别标签包括:是C&C通信和非C&C通信;
特征提取模块,用于对所述加密流量数据进行特征提取,并对提取得到的特征数据进行归一化处理;所述特征数据至少包括:证书特征、域名特征和数据包特征;
模型训练模块,用于将归一化处理后的特征数据,输入到预先构建的深度神经网络模型中进行训练,直至所述深度神经网络模型收敛,得到加密C&C通信识别模型;
所述加密C&C通信识别模型模块,用于接收归一化处理后的特征数据,并计算归一化处理后的特征数据属于不同类别标签的概率,将概率最大值对应的类别标签作为当前加密流量的类别标签。
本发明提供的一种加密C&C通信流量识别方法及系统,所述识别方法包括:获取待识别的加密通信流量,对流量进行解析;进行特征提取,包括证书特征、域名特征和数据包特征,并对提取得到的特征数据进行归一化处理,获得归一化特征数据;训练加密C&C通信识别模型,获得训练通信识别模型;将所述归一化特征数据,输入所述训练通信识别模型中,获得加密流量数据的类别标签,包括C&C通信和非C&C通信。解决现有技术中由于忽略了证书行为的特征以及未融合多种特征,导致对加密C&C通信流量识别准确率低的问题。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的加密C&C流量识别流程图;
图2为本发明实施例提供的LSTM模型示意图;
图3为本发明实施例提供的LSTM模型的训练流程示意图;
图4为本发明实施例提供的深度神经网络模型结构示意图;
图5为本发明实施例提供的深度神经网络训练流程示意图;
图6为本发明实施例提供的加密C&C通信识别系统示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明的说明书实施例和权利要求书及附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。
下面结合附图和实施例,对本发明的技术方案做进一步的详细描述。
如图1所示,本发明提供一种加密C&C通信流量的识别方法、装置、设备及存储介质,有助于解决现有技术中由于忽略了证书行为的特征以及未融合多种特征,导致对加密C&C通信流量识别准确率低的问题。
为实现以上目的,本发明采用如下技术方案,如图1所示:
第一方面,本申请提供DGA域名识别模型的训练方法,DGA域名是伪随机域名,是指用域名生成算法(Domain Generation Algorithm,DGA)生成的域名,本技术方案中DGA域名的识别采用预先训练好的长短期记忆(Long Short Term Memory,LSTM)模型,模型结构如图2所示。
LSTM模型的训练过程如图3所示:
第一步,获取训练数据,包括DGA域名样本和正常的域名样本;
第二步,截取DGA域名字符串;
第三步,将训练数据集中的域名填充至等长;
第四步,采用Word2Vec方法,将等长的域名转化为矩阵表示;
第五步,将矩阵输入到LSTM模型中进行训练,得到最终模型。
第二方面,本申请提供DGA域名识别方法,输入一个域名,对域名进行预处理,然后将处理后的域名转化为矩阵表示,将矩阵输入到预先训练好的LSTM模型中,得到域名的类别标签。
第三方面,加密C&C通信流量识别模型的训练方法,本方案采用深度神经网络模型,网络结构如图4所示.
加密C&C流量识别的深度神经网络模型的训练方法过程如图5所示。
第一步,获取待训练的加密流量数据,包括加密C&C通信流量数据和正常的加密流量数据,所述加密流量数据带有人工标注的类别标签,是C&C通信和非C&C通信;
第二步,对加密流量数据进行预处理,使用开源工具将流量数据转换为日志文件,并存储到数据库中。
第三步,对加密流量数据进行特征提取,包括证书行为特征、域名特征和数据包行为特征;
其中的证书行为特征,包括证书是否过期、是否自签名证书、证书年龄和证书链长度。
其中的域名特征,包括SNI(ServerName Indication)字段是否为空、CN(CommonName)字段是否为空、SNI字段和CN字段是否匹配、SAN(Subject Alternative Name)字段中域名个数和SNI是否为伪随机域名。其中伪随机域名的识别采用预先训练好的LSTM模型,训练方法即为本方案的第一方面。
其中的数据包行为特征,包括会话中数据包数量特征、会话中数据包长度特征和会话中数据包到达的时间间隔特征。数据包数量特征包括数据包总数量、发送包的数量、接收包的数量;数据包长度特征包括发送数据包的总字节数、字节数最小值、字节数最大值、字节数中值、字节数平均值、字节数标准差,以及接收数据包的总字节数、字节数最小值、字节数最大值、字节数中值、字节数平均值、字节数标准差;数据包到达时间间隔特征包括数据包到达的时间间隔最小值、最大值、中值、平均值、标准差。
第四步,将提取的特征数据进行归一化处理,根据所述提取得到的特征数据的不同取值范围,预设相应的分段值,根据所述预设分段值,对所述提取得到的特征数据进行归一化处理。
第五步,将归一化处理后的特征数据,输入到预先构建的深度神经网络模型中进行训练,包括:
构建G层的深度神经网络模型,包括一个输入层、多个隐层和一个输出层,并进行初始化;
将归一化处理后的特征数据作为输入层的值,根据激活方程计算第一个隐层的值,对于第二个隐层到最后一个隐层,根据上一个隐层的值和激活方程计算下一个隐层的值,对于输出层,根据最后一个隐层的值和激活方程计算得到,作为最终的预测结果;
根据加密流量的预测结果,利用交叉熵损失函数更新深度神经网络模型,直至模型收敛,得到加密C&C通信识别模型。
第四方面,本申请提供一种加密C&C通信识别方法,包括:
获取待识别的加密通信流量,对流量进行解析,然后进行特征提取,包括证书特征、域名特征和数据包特征,并对提取得到的特征数据进行归一化处理
将归一化处理后的特征数据,输入训练好的加密C&C通信识别模型中,得到加密流量数据的类别标签,是C&C通信和非C&C通信。
本发明还提供一种加密C&C通信的识别系统,如图6所示:
数据获取模块,用于获取待训练的加密流量数据,所述加密流量数据带有人工标注的类别标签;所述类别标签包括:是C&C通信和非C&C通信;
特征提取模块,用于对所述加密流量数据进行特征提取,并对提取得到的特征数据进行归一化处理;所述特征数据至少包括:证书特征、域名特征和数据包特征;
模型训练模块,用于将归一化处理后的特征数据,输入到预先构建的深度神经网络模型中进行训练,直至所述深度神经网络模型收敛,得到加密C&C通信识别模型;
加密C&C通信识别模型用于接收归一化处理后的特征数据,并计算归一化处理后的特征数据属于不同类别标签的概率,将概率最大值对应的类别标签作为当前加密流量的类别标签。
图1所示为一种加密C&C通信识别方法的架构图,如图1所示,该方法包括两个部分,第一部分是DGA域名识别模型的训练和应用,此模型对域名进行识别,输出是否是DGA域名的类别标签,此标签作为加密C&C通信识别模型的一个重要特征;第二部分是C&C通信识别模型的训练和应用,此模型对加密流量进行解析,提取证书特征、域名特征和数据包特征,其中域名特征中包括了第一部分采用DGA域名识别模型输出的结果。
对于第一部分DGA域名识别模型的训练和应用,具体步骤如下:
步骤S1、获取待训练的域名数据,这些域名数据带有人工标注的类别标签,类别标签为是DGA域名和非DGA域名;
步骤S2、截取DGA域名字符串,对于二级域名,直接截取二级域名部分,对于三级域名,截取最长的字符串;
步骤S3、将训练数据集中的域名填充至等长,本实施例中,用*号作为尾部填充符号,将所有的域名填充至54位,得到域名向量d=[a1,a2,…,a54],其中ai表示域名字符串中的第i个字符;
步骤S4、采用Word2Vec方法,将等长的域名转化为矩阵表示,每个字符转换为了128位的向量,即其中a表示域名字符串中的字符,因此,每个域名转换为了一个54×128的矩阵,如下:
步骤S5、利用Keras框架搭建LSTM神经网络模型,LSTM神经网络结构如图2所示,其中经过输入层和嵌入层,域名被转换为了54×128的矩阵;LSTM层是模型训练的核心,是隐式特征的提取层,LSTM层的输出也是54×128的矩阵;为了防止训练的神经网络模型过拟合,使用Dropout层随机断开半数比例的神经元连接;全连接层将向量进行拉伸,将54×128的矩阵转换为6912个单元的向量,输出层是2维向量。
采用Keras框架搭建的LSTM神经网络模型的参数有以下几个方面:
全连接层的激活方程设置为ReLU,公式如下:
relu(x)=max(0,x)
其中x表示输入矩阵中的单元值。
分类器方程设置为Softmax,公式如下:
其中yk表示第k个单元的类别概率,vk表示第k个单元的值。
损失函数是交叉熵损失方程,公式如下:
其中yi表示第i个类别的真实值(1或者0),表示模型输出的第i个类别的概率。
设置好参数后,利用Keras框架进行模型训练,直到模型收敛,得到DGA域名识别模型。
对于第二部分加密C&C通信识别模型的训练和应用,具体步骤如下:
步骤S11、对于加密C&C通信流量数据,爬取MALWARE-TRAFFIC-ANALYSIS.NET网站发布的近3年的恶意样本,主要包括病毒样本和相应的PCAP网络流量包,正常的加密流量数据在公司内网用wireshark抓包获得;
步骤S12、使用开源IDS工具Zeek将PCAP格式的流量数据转换为日志文件,本方案关注的日志文件主要有:
conn.log是有关网络流元数据的日志,包括时间戳、源ip地址、源端口、目的ip地址、目的端口、会话周期、发送包字节数、接收包字节数等信息;
ssl.log是有关SSL会话记录信息,包括证书链包含的证书、证书持有者、证书颁发者、证书是否合法等信息;
X.509.log,SSL证书日志,包括证书有效期、所支持的域名等信息。
将上述日志文件进行解析,并存储在MySQL数据库中。
步骤S21、提取证书行为特征,包括证书是否过期、是否自签名证书、证书年龄和证书链长度。
“证书是否过期”是指证书的颁发日期与证书的有效期之和是否小于当前日期,是设置为1,否设置为0。
“是否自签名证书”,如果证书的持有者和颁发者相同且不是权威根证书,即认定为自签名证书,设置为1,否则设置为0。
“证书年龄”是指当前日期与证书的颁发日期之差,以天为单位,比如当前是2023年5月8日,发证日期是2023年5月1日,则证书年龄为7。
“证书链长度”是指构造证书的过程中经过了几次证书认证,此值从日志中可直接获取。
步骤S22、提取域名特征,包括SNI(Server Name Indication)字段是否为空、CN(Common Name)字段是否为空、SNI字段和CN字段是否匹配、SAN(Subject AlternativeName)字段中域名个数和SNI是否为伪随机域名。
“SNI字段是否为空”从日志中可直接获取,是设置为1,否则为0。
“CN字段是否为空”从日志中可直接获取,是设置为1,否则为0。
“SNI字段和CN字段是否匹配”,如果SNI字段和CN字段的值一致,则设置为1,否则为0。
“SAN字段中域名个数”是指统计的SAN字段中域名的数量。
“SNI是否为伪随机域名”,伪随机域名的识别采用预先训练好的LSTM模型,训练方法即为本方案的第一方面,是设置为1,否设置为0。
步骤S23、提取数据包行为特征,包括会话中数据包数量特征、会话中数据包长度特征和会话中数据包到达的时间间隔特征。
数据包数量特征包括数据包总数量、发送包的数量、接收包的数量。
“数据包总数量”是指一个会话中发送和接收的所有的数据包的数量。
“发送包的数量”是指一个会话中发送的所有的数据包的数量。
“接收包的数量”是指一个会话中接收的所有的数据包的数量。
数据包长度特征包括发送数据包的总字节数、字节数最小值、字节数最大值、字节数中值、字节数平均值、字节数标准差,以及接收数据包的总字节数、字节数最小值、字节数最大值、字节数中值、字节数平均值、字节数标准差。
“发送数据包的总字节数”是指一个会话中发送的所有数据包的总长度,以字节数计数。
“发送数据包的字节数最小值”是指一个会话中发送的所有数据包长度的最小值,比如一个会话中有20个发送数据包,比较每个数据包字节数,选择最小值。
“发送数据包的字节数最大值”是指一个会话中发送的所有数据包长度的最大值,比如一个会话中有20个发送数据包,比较每个数据包字节数,选择最大值。
“发送数据包的字节数中值”是指一个会话中发送的所有数据包长度的中值,比如一个会话中有20个发送数据包,比较数据包的字节数,计算中间值。
“发送数据包的字节数平均值”是指一个会话中发送的所有数据包长度的平均值,比如一个会话中有20个发送数据包,计算数据包的字节数的平均值。
“发送数据包的字节数标准差”是指一个会话中发送的所有数据包长度的标准差值,比如一个会话中有20个发送数据包,计算数据包的字节数的标准差。
接收数据包的相关特征和发送数据包的相关特征计算方法一致。
数据包到达时间间隔特征包括数据包到达的时间间隔最小值、最大值、中值、平均值、标准差。
“数据包到达的时间间隔最小值”是统计相邻数据包的时间戳之差,以毫秒为单位,选择最小值。
“数据包到达的时间间隔最大值”是统计相邻数据包的时间戳之差,以毫秒为单位,选择最大值。
“数据包到达的时间间隔中值”是统计相邻数据包的时间戳之差,计算中值,以毫秒为单位。
“数据包到达的时间间隔平均值”是统计相邻数据包的时间戳之差,计算平均值,以毫秒为单位。
“数据包到达的时间间隔标准差”是统计相邻数据包的时间戳之差,计算平均值,以毫秒为单位。
步骤S31、对提取得到的特征数据进行归一化,包括:
根据提取到的特征数据的不同取值范围,预设相应的分段值;根据所述预设分段值,对所述提取得到的特征数据进行归一化处理。根据特征数据的不同取值范围,分段值的预设是通过实验进行验证取得的,本公开对具体的实验方法并不做具体限定。
采用log函数和atan函数结合的方法,对提取得到的特征数据进行归一化处理。对于每一个特征数据,按照如下公式,计算得到对应的归一化后的特征数据:
其中v为特征数据的特征值,v'为对应的归一化后的特征数据的特征值,n为预设的分段值,根据每个特征数据的特征值的取值范围不同取不同的值。
步骤S41、将归一化处理后的特征数据,输入到预先构建的深度神经网络模型中进行训练,包括:
利用Keras框架构建5层的深度神经网络模型,包括1个输入层、3个隐层和1个输出层,层与层之间都是全连接的方式,输入层神经元数量为特征总数量23,第1个隐层是128维,第2个隐层是64维,第3个隐层是16维,输出层的维度是类别数量2。
采用Keras框架搭建的深度神经网络模型的参数有以下几个方面:
激活方程设置为ReLU,公式如下:
relu(x)=max(0,x)
其中x表示输入矩阵中的单元值。
分类器方程设置为Softmax,公式如下:
其中yk表示第k个单元的类别概率,vk表示第k个单元的值。
损失函数是交叉熵损失方程,公式如下:
其中yi表示第i个类别的真实值(1或者0),表示模型输出的第i个类别的概率。
为了防止训练的神经网络模型过拟合,使用Dropout层随机断开半数比例的神经元连接。
设置好参数后,利用Keras框架进行模型训练,直到模型收敛,得到加密C&C通信识别模型。
本申请还提供了一种加密C&C通信识别方法,包括:
步骤S51,获取待识别的加密流量数据。
步骤S52,对所述加密流量数据进行预处理。
步骤S53,特征提取,提取证书特征、域名特征和数据包特征。
步骤S54,对提取得到的特征数据进行归一化处理。
步骤S55,将归一化处理后的特征数据,输入上述训练得到的加密C&C通信识别模型中,得到所述加密流量数据的类别标签;所述类别标签包括:是C&C通信和非C&C通信。
图6是根据一示例性实施例示出的一种加密C&C通信的识别系统的框图示意图,包括:
数据获取模块,用于获取待训练的加密流量数据,所述加密流量数据带有人工标注的类别标签;所述类别标签包括:是C&C通信和非C&C通信。
特征提取模块,用于对所述加密流量数据进行特征提取,并对提取得到的特征数据进行归一化处理;所述特征数据至少包括:证书特征、域名特征和数据包特征。
模型训练模块,用于将归一化处理后的特征数据,输入到预先构建的深度神经网络模型中进行训练,直至所述深度神经网络模型收敛,得到加密C&C通信识别模型。
加密C&C通信识别模型,用于接收归一化处理后的特征数据,并计算特征数据的类别标签。
有益效果:有助于解决现有技术中由于忽略了证书行为的特征以及未融合多种特征,导致对加密C&C通信流量识别准确率低的问题。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种加密C&C通信流量识别方法,其特征在于,所述识别方法包括:
获取待识别的加密通信流量,对流量进行解析;
进行特征提取,包括证书特征、域名特征和数据包特征,并对提取得到的特征数据进行归一化处理,获得归一化特征数据;
训练加密C&C通信识别模型,获得训练通信识别模型;
将所述归一化特征数据,输入所述训练通信识别模型中,获得加密流量数据的类别标签,包括C&C通信和非C&C通信。
2.根据权利要求1所述的一种加密C&C通信流量识别方法,其特征在于,所述DGA域名识别模型的训练方法具体包括:
步骤S1:获取训练数据,包括DGA域名样本和正常的域名样本;
步骤S2:截取DGA域名字符串;
步骤S3:将训练数据集中的域名填充至等长;
步骤S4:采用Word2Vec方法,将等长的域名转化为矩阵表示;
步骤S5:将矩阵输入到长短期记忆模型中进行训练,得到流量识别模型。
3.根据权利要求2所述的一种加密C&C通信流量识别方法,其特征在于,所述DGA域的识别方法包括:
输入一个域名,对域名进行预处理;
将处理后的域名转化为矩阵;
将所述矩阵输入到预先训练好的长短期记忆模型中,得到域名的类别标签。
4.根据权利要求2所述的一种加密C&C通信流量识别方法,其特征在于,所述深度神经网络训练模型训练的方法具体包括:
获取待训练的加密流量数据,包括加密C&C通信流量数据和正常的加密流量数据,所述加密流量数据带有人工标注的类别标签;
对加密流量数据进行预处理,使用开源工具将流量数据转换为日志文件,并存储到数据库中;
对加密流量数据进行特征提取,获得数据特征;
将提取的特征数据进行归一化处理,根据所述提取得到的特征数据的不同取值范围,预设相应的分段值,根据所述预设分段值,对所述提取得到的特征数据进行归一化处理;
将归一化处理后的特征数据,输入到预先构建的深度神经网络模型中进行训练。
5.根据权利要求4所述的一种加密C&C通信流量识别方法,其特征在于,所述数据特征具体包括:证书行为特征、域名特征和数据包行为特征。
6.根据权利要求5所述的一种加密C&C通信流量识别方法,其特征在于,所述证书行为特征包括:证书是否过期、是否自签名证书、证书年龄和证书链长度。
7.根据权利要求5所述的一种加密C&C通信流量识别方法,其特征在于,所述域名特征包括SNI字段是否为空、CN字段是否为空、SNI字段和CN字段是否匹配、SAN字段中域名个数和SNI是否为伪随机域名。
8.根据权利要求5所述的一种加密C&C通信流量识别方法,其特征在于,所述数据包行为特征包括会话中数据包数量特征、会话中数据包长度特征和会话中数据包到达的时间间隔特征。
9.根据权利要求4所述的一种加密C&C通信流量识别方法,其特征在于,所述将归一化处理后的特征数据,输入到预先构建的深度神经网络模型中进行训练具体包括:
构建G层的深度神经网络模型,包括一个输入层、多个隐层和一个输出层,并进行初始化;
将归一化处理后的特征数据作为输入层的值,根据激活方程计算第一个隐层的值,对于第二个隐层到最后一个隐层,根据上一个隐层的值和激活方程计算下一个隐层的值,对于输出层,根据最后一个隐层的值和激活方程计算得到,作为最终的预测结果;
根据加密流量的预测结果,利用交叉熵损失函数更新深度神经网络模型,直至模型收敛,得到加密C&C通信识别模型。
10.一种加密C&C通信流量识别系统,其特征在于,所述识别系统包括:
数据获取模块,用于获取待训练的加密流量数据,所述加密流量数据带有人工标注的类别标签;所述类别标签包括:是C&C通信和非C&C通信;
特征提取模块,用于对所述加密流量数据进行特征提取,并对提取得到的特征数据进行归一化处理;所述特征数据至少包括:证书特征、域名特征和数据包特征;
模型训练模块,用于将归一化处理后的特征数据,输入到预先构建的深度神经网络模型中进行训练,直至所述深度神经网络模型收敛,得到加密C&C通信识别模型;
所述加密C&C通信识别模型模块,用于接收归一化处理后的特征数据,并计算归一化处理后的特征数据属于不同类别标签的概率,将概率最大值对应的类别标签作为当前加密流量的类别标签。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310818034.0A CN116827647A (zh) | 2023-07-05 | 2023-07-05 | 一种加密c&c通信流量识别方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310818034.0A CN116827647A (zh) | 2023-07-05 | 2023-07-05 | 一种加密c&c通信流量识别方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116827647A true CN116827647A (zh) | 2023-09-29 |
Family
ID=88127328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310818034.0A Pending CN116827647A (zh) | 2023-07-05 | 2023-07-05 | 一种加密c&c通信流量识别方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116827647A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110247930A (zh) * | 2019-07-01 | 2019-09-17 | 北京理工大学 | 一种基于深度神经网络的加密网络流量识别方法 |
CN111277578A (zh) * | 2020-01-14 | 2020-06-12 | 西安电子科技大学 | 加密流量分析特征提取方法、系统、存储介质、安全设备 |
CN113408707A (zh) * | 2021-07-05 | 2021-09-17 | 哈尔滨理工大学 | 一种基于深度学习的网络加密流量识别方法 |
CN113572770A (zh) * | 2021-07-26 | 2021-10-29 | 清华大学 | 检测域名生成算法生成的域名的方法及装置 |
CN114785567A (zh) * | 2022-04-01 | 2022-07-22 | 绿盟科技集团股份有限公司 | 一种流量识别方法、装置、设备及介质 |
-
2023
- 2023-07-05 CN CN202310818034.0A patent/CN116827647A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110247930A (zh) * | 2019-07-01 | 2019-09-17 | 北京理工大学 | 一种基于深度神经网络的加密网络流量识别方法 |
CN111277578A (zh) * | 2020-01-14 | 2020-06-12 | 西安电子科技大学 | 加密流量分析特征提取方法、系统、存储介质、安全设备 |
CN113408707A (zh) * | 2021-07-05 | 2021-09-17 | 哈尔滨理工大学 | 一种基于深度学习的网络加密流量识别方法 |
CN113572770A (zh) * | 2021-07-26 | 2021-10-29 | 清华大学 | 检测域名生成算法生成的域名的方法及装置 |
CN114785567A (zh) * | 2022-04-01 | 2022-07-22 | 绿盟科技集团股份有限公司 | 一种流量识别方法、装置、设备及介质 |
Non-Patent Citations (3)
Title |
---|
姜鹏: ""APT攻击下的C&C加密信道网络行为分析与检测"", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 12, pages 1 - 66 * |
张芯馨: ""基于长短期记忆网络的DGA恶意域名检测方法研究"", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 12, pages 1 - 81 * |
翟懿: ""基于深度学习的恶意流量检测技术研究"", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 09, pages 1 - 84 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109714322B (zh) | 一种检测网络异常流量的方法及其系统 | |
CN106294590B (zh) | 一种基于半监督学习的社交网络垃圾用户过滤方法 | |
CN103530367B (zh) | 一种钓鱼网站鉴别系统和方法 | |
CN111031026A (zh) | 一种dga恶意软件感染主机检测方法 | |
CN111131260B (zh) | 一种海量网络恶意域名识别和分类方法及系统 | |
CN112491917B (zh) | 一种物联网设备未知漏洞识别方法及装置 | |
WO2011050545A1 (zh) | 一种未知应用层协议自动分析方法 | |
CN110868404B (zh) | 一种基于tcp/ip指纹的工控设备自动识别方法 | |
CN108109277A (zh) | 一种快递取件方法及系统 | |
CN113114618B (zh) | 一种基于流量分类识别的物联网设备入侵检测的方法 | |
CN111224998B (zh) | 一种基于极限学习机的僵尸网络识别方法 | |
CN107209834A (zh) | 恶意通信模式提取装置、恶意通信模式提取系统、恶意通信模式提取方法及恶意通信模式提取程序 | |
CN114021040A (zh) | 基于业务访问的恶意事件的告警及防护方法和系统 | |
CN114168968A (zh) | 一种基于物联网设备指纹的漏洞挖掘方法 | |
CN114036264B (zh) | 一种基于小样本学习的电子邮件作者身份归属识别方法 | |
CN112039997A (zh) | 一种基于三重特征的物联网终端识别方法 | |
CN113645173A (zh) | 一种恶意域名的识别方法、系统和设备 | |
CN116827647A (zh) | 一种加密c&c通信流量识别方法及系统 | |
CN107370753A (zh) | 一种数据包协议解析字段处理方法和系统 | |
CN113746804B (zh) | Dns隐蔽信道检测方法、装置、设备及存储介质 | |
CN112073362B (zh) | 一种基于流量特征的apt组织流量识别方法 | |
CN109474598A (zh) | 一种基于数据包时序的恶意加密流量分析特征提取方法 | |
CN113095426A (zh) | 一种加密流量分类方法、系统、设备及可读存储介质 | |
CN113132291A (zh) | 一种边缘侧基于网络流量的异构终端特征生成及识别方法 | |
CN115622810B (zh) | 一种基于机器学习算法的业务应用识别系统及方法 |
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 |