CN111523588B - 基于改进的lstm对apt攻击恶意软件流量进行分类的方法 - Google Patents
基于改进的lstm对apt攻击恶意软件流量进行分类的方法 Download PDFInfo
- Publication number
- CN111523588B CN111523588B CN202010313692.0A CN202010313692A CN111523588B CN 111523588 B CN111523588 B CN 111523588B CN 202010313692 A CN202010313692 A CN 202010313692A CN 111523588 B CN111523588 B CN 111523588B
- Authority
- CN
- China
- Prior art keywords
- data
- protocol
- information
- time sequence
- lstm
- 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
-
- 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
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- 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
- G06N3/045—Combinations of networks
-
- 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
-
- 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/1416—Event detection, e.g. attack signature detection
-
- 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
- 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/1441—Countermeasures against malicious traffic
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于改进的LSTM对APT攻击恶意软件流量进行分类的方法,属于网络安全领域,解决现有技术难以对APT攻击恶意软件流量进行分类的问题。本发明收集APT攻击常用恶意软件流量数据与正常流量数据;提取APT攻击常用恶意软件流量数据与正常流量数据中各协议的静态特征信息;对静态特征信息进行标准化处理,得到统一量纲后的各协议的静态特征信息;通过改进的LSTM网络结构,对统一量纲后的各协议的静态特征信息进行时序特征的提取;采用深度学习的方式对提取的时序性信息进行分类处理,分类处理后训练分类器得到模型M;基于模型M,对待检测的流量数据进行检测分类。本发明用于计算机通信和移动网络中APT攻击恶意软件流量的检测及分类。
Description
技术领域
一种基于改进的LSTM对APT攻击恶意软件流量进行分类的方法及存储介质,用于计算机通信和移动网络中APT攻击恶意软件流量的检测及分类,属于网络安全领域。
背景技术
近年来,随着计算机通信和移动网络的迅速普及和发展,基于恶意软件网络攻击已经逐渐成为了信息安全技术领域的一种新攻击模式。特别是,高级长期持续网络威胁(APT)网络攻击正在给我们带来重大的经济和社会安全问题。而APT攻击过程中的恶意软件/载荷为了窃取数据、下载新的恶意软件等往往会进行恶意的通信行为。并且在对APT攻击分析的过程中,找到恶意信息的所属组织、地区是非常重要的。
恶意软件流量由于其所属恶意软件不同,采用的通信习惯、通信方式往往都具有各自的特性。特别是在APT攻击中,每个APT攻击组织往往都会开发属于自己的一套攻击框架与恶意工具集。传统分析方式虽然也有对恶意软件流量的检测方法,但是往往是采用静态特征加机器学习的方式直接对数据进行分类处理。并且是简单的二分类处理,即只是区分出正常软件流量与恶意软件流量,而对恶意软件流量属于那个恶意软件没有进行分析。随着攻击者攻击方式的发展,恶意软件的恶意流量数据与正常流量数据区分性越来越小,直接在数据包中得到的恶意流量数据的静态特征信息往往会模拟正常数据通讯行为,比如数据包大小、通讯端口号、通讯频率等都越来越接近正常数据,采用静态特征对数据区分越来越困难。并且这种方式很难对恶意软件流量所属进行分类,在进行分析时难以确定攻击源、攻击者,不利于打击违法犯罪人员,或不能找出攻击源,便不能与以往攻击进行关联分析,找出同一攻击源之间的相似性。
发明内容
针对上述研究的问题,本发明的目的在于提供一种基于改进的LSTM对APT攻击恶意软件流量进行分类的方法及存储介质,解决现有技术难以识别APT攻击恶意软件流量,并且难以对APT攻击恶意软件流量进行分类的问题。
为了达到上述目的,本发明采用如下技术方案:
一种基于改进的LSTM对APT攻击恶意软件流量进行分类的方法,包括以下步骤:
步骤1:基于计算机硬件,收集APT攻击常用恶意软件流量数据与正常流量数据,其中,APT攻击常用恶意软件流量数据包括通过网络收集的异常流量或/和通过恶意软件收集的恶意流量信息,正常流量数据是指正常访问网络的网络流量数量;
步骤2:提取APT攻击常用恶意软件流量数据或/和正常流量数据中各协议的当前静态特征信息;
步骤3:对当前静态特征信息进行标准化处理,得到统一量纲后的各协议的静态特征信息;
步骤4:通过改进的LSTM网络结构,对统一量纲后的各协议的静态特征信息进行时序特征的提取;
步骤5:采用深度学习的方式对提取的大量的各协议的时序性信息进行分类处理,基于各协议分类处理后训练各分类器得到相应的模型M,其中,时序性信息即指时序特征;
步骤6:基于各模型M,对待检测的流量数据进行检测分类。
进一步,所述步骤2中各协议静态特征信息包括IP协议的静态特征信息、ICMP协议的静态特征信息、UDP协议的静态特征信息、TCP协议的静态特征信息、DNS协议的静态特征信息;
所述IP协议的静态特征信息包括IP段长度、IP层下层协议、服务类型、Fragmentation flags,即分段标志、生存时间,其中,服务类型默认为0,生存时间默认为64、最大为255;
所述ICMP协议的静态特征信息包括类型字段type和代码字段code;
所述UDP协议的静态特征信息包括源端口号、目的端口号和数据长度;
所述TCP协议的静态特征信息包括源端口号、目的端口号、数据传输序列号、数据传输确认号、标志位信息、传输窗口大小、数据校验和紧急方式数据传输位;
所述DNS协议的静态特征信息包括请求类型、标志位信息、生存时间和请求长度;
提取各协议的静态特征信息的同时,针对每个数据流中的每一条报文提取出报文传输的时间戳,其中,数据流是指流量数据;其中每种报文都有个时间戳,在进行计算时不需要考虑报文类型;
基于时间戳提取了统计特征信息,即数据报文时间差timesub,数据流中的第一个报文时间作为基础时间戳timebegin,后续收集到该数据流中该报文的时间为当前时间戳timecurrent,则timesub的计算方式如下:
timesub=timecurrent-timebegin
将当前报文的静态特征信息中的时间戳替换为时间差,结合各个协议提取的静态特征,得到各协议的当前静态特征信息。
进一步,所述步骤3标准化处理的方式如下:
其中,Xi为第i个维度的数据集合,即第i个维度的当前静态特征信息的集合,std表示对应第i个维度的标准差,x表示当前静态特征信息的第i维度的值,μ表示第i维度均值,第i个维度即指第i列。数据集合就是指,每种协议提取出来的多条数据集合,其中单个协议中的一条数据有多个维度。
进一步,步骤4中改进的LSTM网络结构为RESNET_LSTM网络结构和PARALLEL_LATM网络结构,其结构如下:
所述RESNET_LSTM网络结构如下:
在传统LSTM基础上将前面第n个细胞的状态信息转移到后续细胞结构中,即使用可训练的矩阵将前n个细胞的状态信息与前一个细胞的状态信息、进行矩阵相乘后相加得到新的状态信息,作为当前细胞新的输入状态信息,其中,RESNET_LSTM网络结构的隐藏单元为128的n_resnet_lstm网络;
其中,LSTM网络结构包括三个细胞结构,首尾为相同的细胞结构,其内部运行相同,每个细胞结构输出两个信息,分别是状态信息和输出信息,其中,n_resnet_lstm网络则是当前细胞前n个细胞的状态信息直接传递到当前细胞、并与前一个细胞的状态信息进行矩阵相乘,获得的当前细胞新的输入状态信息,公式如下:
newC=W1*Ct-1+W2*Ct-n
其中,W1和W2分别表示Ct-1和Ct-n的权重,其大小与状态矩阵相同,Ct-1和Ct-n分别代表前一个细胞的状态信息与前n个细胞的状态信息;
所述PARALLEL_LSTM网络结构如下:
包括多个并行的网络结构,获取到相同数据、不同时序维度下的静态特征信息,其中,各网络结构依次包括输入层、全连接层、LSTM层以及分类层。
进一步,所述步骤的具体步骤如下:
步骤4.1:统一量纲后的各协议的静态特征信息为一个向量,选定时序长度,根据该时序长度选取统一量纲后的各协议的静态特征信息中连续的向量作为训练数据,其中,连续的向量称为时序向量或时序数据;
步骤4.2:针对RESNET_LSTM网络结构,基于给定的固定的时序步长,采用RESNET_LSTM网络结构获取单个时序维度数据对应时序长度的时序特征,其中,时序维度数据是指步骤4.1得到的时序向量或时序数据;
步骤4.3:针对PARALLEL_LSTM网络结构提取多个维度信息,基于给定的多个时序步长,采用PARALLEL_LSTM网络结构并行对单个时序维度数据行时序特征提取。
进一步,步骤5中训练得到模型M具体步骤如下:
步骤5.1:基于深度学习将大量的(实验数据为200多万条,训练时每种恶意软件流量数据控制在万条以上)各协议的提取的步骤4.2和步骤4.3的时序特征作为各协议对应的新的分类数据,将各协议对应的新的分类数据输入各分类器进行训练后得到各检测模型M1;
步骤5.2:在测试集上对各检测模型M1进行评估,若满足给定阈值,即得到各模型M,若不满足给定阈值,转到步骤4,对时序长度进行调整,再执行后续步骤。
进一步,所述步骤6的具体步骤如下:
步骤6.1:基于待检测的流量数据,获取其统一量纲后的各协议的当前静态特征信息;
步骤6.2:将标准化处理后的当前静态特征信息作为输入传入对应的训练好的模型M中,根据模型M判断其是否属于恶意软件流量及所属恶意软件或者属于正常数据流量。
基于改进的LSTM对APT攻击恶意软件流量进行分类的存储介质,包括存储各模型M的存储器,处理器接收指令,对应的存储器中的模型M接收到待检测的流量数据,即进行分类判断。
本发明同现有技术相比,其有益效果表现在:
一、本发明首先根据收集的APT攻击常用恶意软件流量数据与正常流量数据,然后基于这些流量数据提取了五种协议信息的静态特征信息,对这些信息进行了标准化处理,然后采用改进后的LSTM的网络结构对标准后处理后的信息进行时序特征的提取,通过分析软件流量的时序性信息,即时序特征来对恶意软件流量进行识别与分类,克服了传统方式检测率不高,对恶意软件流量所属判别困难的问题;实验显示使用时序特征进行分类,准确率为97%以上,而传统机器学习直接对静态特征进行分类,准确率为80%-85%;
二、本发明为了进一步的增加检测效果,对传统的LSTM进行了改进提出了RESNET_LSTM和PARALLEL_LSTM两种网络结构,其中,RESNET_LSTM网络结构比现有技术中的LSTM结构的记忆能力更强,PARALLEL_LSTM网络结构可以更广度的获取到相同数据不同时序维度下的特征信息,再通过两者的结合,可以进一步提高检测效果;
三、本发明能找出攻击源,并可与以往攻击进行关联分析,找出同一攻击源之间的相似性,进一步加强网络防御的针对性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图,其中:
图1是本发明的流程示意图;
图2为现有技术中LSTM网络结构的示意图;
图3是本发明提出的RESNET_LSTM网络结构的示意图;
图4是本发明提出的PARALLEL_LSTM网络结构的示意图。
图5是LSTM以及改进后LSTM网络结构在实际应用中的准确率对比图;
图6是传统机器学习方式分别使用静态特征信息与时序特征进行分类的对比图。
具体实施方式
下面将结合附图及具体实施方式对本发明作进一步的描述。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
基于改进LSTM的APT攻击恶意软件流量检测及分类方法,解决当前恶意软件流量难以识别、恶意软件流量所属恶意软件难以判断以及直接使用静态特征分类效果较差的问题。
如图1所示,基于改进LSTM的APT攻击恶意软件流量检测及分类方法,包括以下步骤:
步骤1:基于计算机硬件,收集APT攻击常用恶意软件流量数据与正常流量数据,其中,APT攻击常用恶意软件流量数据包括通过网络收集的异常流量或/和通过恶意软件收集的恶意流量信息,即APT攻击常用恶意软件流量数据的收集,可只包括网络收集的异常流量,也可只包括通过恶意软件收集的恶意流量信息,当然也可包括通过网络收集的异常流量和通过恶意软件收集的恶意流量信息,正常流量数据是指正常访问网络的网络流量数量,如通过Alexa排名top10000的网站,也可是其它网站;其中,APT攻击常用恶意软件流量数据与正常流量数据不限于上述内容描述的方式;
步骤2:提取APT攻击常用恶意软件流量数据或/和正常流量数据中各协议的当前静态特征信息,即实践过程中,基于各时间点,提取数据流中各协议的当前静态特征信息,即提取APT攻击常用恶意软件流量数据、正常流量数据中各协议或APT攻击常用恶意软件流量数据和正常流量数据中各协议的当前静态特征信息,其中,数据流即指流量数据;
步骤3:对静当前态特征信息进行标准化处理,得到统一量纲后的各协议的静态特征信息;
步骤4:通过改进的LSTM网络结构,对统一量纲后的各协议的静态特征信息进行时序特征的提取;
步骤5:采用深度学习的方式对提取的各协议的时序性信息进行分类处理,基于各协议分类处理后训练各分类器得到相应的模型M,其中,时序性信息即指时序特征;
步骤6:基于各模型M,对待检测的流量数据进行检测分类。本步骤中的待检测的流量数据可为测试数据,也可为模型M通过测试数据调优后,检测分类的其它流量数据。
下面结合实施例对本发明的特征和性能作进一步的详细描述。
实施例一
异常流量的收集部分是网络收集,部分由收集的恶意软件,即搭建沙箱环境运行恶意软件,然后收集对应恶意软件过程中的恶意流量信息;
正常流量是通过访问Alexa排名top10000的网站,然后收集访问这些网站的数据。
提取APT攻击常用恶意软件流量数据或/和正常流量数据中各协议的当前静态特征信息包括IP协议的静态特征信息、ICMP协议的静态特征信息、UDP协议的静态特征信息、TCP协议的静态特征信息、DNS协议的静态特征信息。
提取的各协议的静态特征信息如下表所示:
提取各协议的静态特征信息的同时,提取统计特征信息,即数据报文时间差timesub,数据流(APT攻击常用恶意软件流量数据或/和正常流量数据)中的第一个报文时间作为基础时间戳timebegin,后续收集到该数据流的时间为当前时间戳timecurrent,则timesub的计算方式如下:
timesub=timecurrent--timebegin
将当前报文的静态特征信息中的时间替换为时间差,得到当前静态特征信息。
以TCP协议为例,其中,一个报文提取的静态特征信息如下所示,
[1357443696.375169,1143,53,1663210258,2235324587,24,1,8,62922,62662,0]
分别对应数据报文时间戳、源端口号、目的端口号、数据传输序列号、数据传输确认号、标志位信息(这里由于标志位前段后段表示不同含义还进行了拆分)、标志位信息前段、标志位信息后段、传输窗口大小、数据校验和、紧急方式数据传输位。
其中,在该数据包(数据流)中第一条报文时间戳为1357443696.362831,即timebegin=1357443696.362831;当前报文的时间戳减去第一条报文的时间戳后,得到当前静态特征信息,数据如下:
[0.12338,1143,53,1663210258,2235324587,24,1,8,62922,62662,0]
对静态特征信息进行标准化处理,标准化处理的方式如下:
其中,Xi为第i个维度的数据集合,即第i个维度的当前静态特征信息的集合,std表示对应第i个维度的标准差,x表示静态特征信第i维度的值,μ表示第i维度均值。
数据集合的示例如下:
[1,2,3]
[4,5,6]
[7,8,9]
对于上述三条数据,其中,第i个维度即指第i列,Xi即第i列的数据集,如第一维度的数据集合是[1,4,7],std(Xi)表示数据集合[1,4,7]的方差,具体值为2.45(保留两位示例),μ表示均值,具体值为4,x则代表其中单个值。比如1标准化后为:
根据标准化处理的方式,以TCP数据为例:
归一化前的数据,即标准化前的数据为:
[0.371602058,1048,80,328373847,0,2,0,2,64240,49742,0]
分别对应的静态特征信息为{时间差、源端口号、目的端口号、数据传输序列号、数据传输确认号、标志位信息、标志位前段、标志位后段、传输窗口大小、数据校验和、紧急方式数据传输位}
归一化后的数据为:
[-0.47881307,-0.33608739,-0.19313307,-0.30193116,1.14767553,0.15294118,0.33852722,-0.20676615,0.64005797,-1.59012989,-0.03822894]。
步骤4:通过改进的LSTM网络结构,RESNET_LSTM和PARALLEL_LSTM进行流量数据时序性信息的提取;
改进的LSTM网络结构为RESNET_LSTM网络结构和PARALLEL_LATM网络结构,其结构如下:
如图3所示,所述RESNET_LSTM网络结构如下:
在传统LSTM基础上将前n个细胞的状态信息转移到后续细胞结构中,即使用可训练的矩阵将前n个细胞的状态信息与前一个细胞的状态信息,进行矩阵相乘后相加得到新的状态信息,作为当前细胞新的输入状态信息,其中,RESNET_LSTM网络结构的隐藏单元为128的n_resnet_lstm网络;
其中,如图2所示,LSTM网络结构包括三个细胞结构,首尾为相同的细胞结构(如图2中的A),其内部运行相同,每个细胞结构输出两个信息,分别是状态信息和输出信息,其中,n_resnet_lstm网络则是当前细胞前n个细胞的状态信息直接传递到当前细胞,并与前一个细胞的状态信息进行矩阵相乘,获得的当前细胞新的输入状态信息,公式如下:
newC=W1*Ct-1+W2*Ct-n
其中,W1和W2分别表示Ct-1和Ct-n的权重,其大小与状态矩阵相同,Ct-1和Ct-n分别代表前一个细胞的状态信息与前n个细胞的状态信息;
如图4所示,所述PARALLEL_LSTM网络结构如下:
包括多个并行的网络结构,获取到相同数据、不同时序维度下的静态特征信息,其中,各网络结构依次包括输入层、全连接层、LSTM层以及分类层。
对统一量纲后的各协议的静态特征信息进行时序特征的提取的具体步骤为:
统一量纲后的各协议的静态特征信息为一个向量,选定时序长度,根据该时序长度选取统一量纲后的各协议的静态特征信息中连续的向量作为训练数据,其中,连续的向量称为时序向量或时序数据;
针对RESNET_LSTM网络结构,基于给定的固定的时序步长,采用RESNET_LSTM网络结构获取单个时序维度数据对应时序长度的时序特征,其中,时序维度数据是指得到的时序向量或时序数据;
以TCP协议数据为例(batch_size:每次训练传输数据个数,time_steps:时序长度,embedding_size:训练数据每条向量维度):
输入训练数据shape为(batch_size=32,time_steps=10,embedding_size=11),其中time_steps中训练的时候本文采用了多个数值,这里以10为例。首先经过第一层隐藏单元为256的全连接层,进行特征非线性转换,该全连接层输出维度为(32,10,256)。然后传输到隐层单元为128的n_resnet_lstm网络中提取时序特征,提取的时序特征输出维度为(32,128)。
针对PARALLEL_LSTM网络结构提取多个维度信息,基于给定的多个时序步长,采用PARALLEL_LSTM网络结构并行对单个时序维度数据行时序特征提取;
以TCP协议数据为例:
选取的timesteps_list=[5,10,15],表示选取样本的时序长度为5、10、15,设计的网络主要有四层,输入层、全连接层、LSTM层以及分类层。对于三维的timesteps来说有三个并行的网络结构,相对独立。经过时序特征提取层,时序特征输出shape为(32,128),由于有三个并行的网络结构,在分类之前需要对不同timesteps的时序特征进行连接操作,联合特征shape为(32,384)。
采用深度学习的方式对提取的大量的各协议的时序性信息进行分类处理,分类处理后训练各分类器得到各协议对应的模型M,其中,时序性信息即指时序特征;
将提取好的时序特征作为新的分类数据,作为分类器的输入训练后得到检测模型M1;
分类器直接采用常用的softmax分类器,对RESNET_LSTM网络结构与PARALLEL_LSTM网络结构获取到的时序信息进行分类。
在测试集上对模型M1进行评估,对比常用评估指标下模型的效果;
使用的评估指标有以下四种
实际标签 | 预测为正例 | 预测为负例 |
正样例 | TP | FN |
负样例 | FP | TN |
Accuracy=(TP+TN)/(TP+FP+FN+TN)
Precision=TP/(TP+FP)
Recall=TP/(TP+FN)
Fmeature=2*Precision*Recall/(Precision+Recall)
TP表示标签正例的样本中,预测为正例的个数;
FN表示标签为正例的样本中,预测为负例的个数;
FP表示标签为负例的样本中,预测为正例的个数;
TN表示标签为负例的样本中,预测为负例的个数;
Accuracy表示预测正确率、Precision表示预测的精准率、Recall表示预测召回率、Fmeature则是结合了精准率与召回率计算出的分数表示;
在测试集上对检测模型M1进行评估,若满足给定阈值,即得到模型M,若不满足给定阈值,对时序长度进行调整,再执行后续步骤,最终训练得到模型M;
训练好的模型M基于协议不同会有多个,那么针对每一种协议均会有一个模型M。
基于待检测的流量数据,获取其统一量纲后的各协议的当前静态特征信息;
将标准化处理后的静态特征信息作为输入传入训练好的模型M中,根据模型M判断其是否属于恶意软件流量及所属恶意软件或者属于正常数据流量。
上述所述的方法得到的各模型M存储在存储器中,处理器接收指令,对应的存储器中的模型M接收到待检测的流量数据,即进行分类判断。
以上仅是本发明众多具体应用范围中的代表性实施例,对本发明的保护范围不构成任何限制。凡采用变换或是等效替换而形成的技术方案,均落在本发明权利保护范围之内。
Claims (7)
1.一种基于改进的LSTM对APT攻击恶意软件流量进行分类的方法,其特征在于,包括以下步骤:
步骤1:基于计算机硬件,收集APT攻击常用恶意软件流量数据与正常流量数据,其中,APT攻击常用恶意软件流量数据包括通过网络收集的异常流量或/和通过恶意软件收集的恶意流量信息,正常流量数据是指正常访问网络的网络流量数量;
步骤2:提取APT攻击常用恶意软件流量数据或/和正常流量数据中各协议的当前静态特征信息;
步骤3:对当前静态特征信息进行标准化处理,得到统一量纲后的各协议的静态特征信息;
步骤4:通过改进的LSTM网络结构,对统一量纲后的各协议的静态特征信息进行时序特征的提取;
步骤5:采用深度学习的方式对提取的大量的各协议的时序性信息进行分类处理,基于各协议分类处理后训练各分类器得到相应的模型M,其中,时序性信息即指时序特征;
步骤6:基于各模型M,对待检测的流量数据进行检测分类;
步骤4中改进的LSTM网络结构为RESNET_LSTM网络结构和PARALLEL_LSTM网络结构,其结构如下:
所述RESNET_LSTM网络结构如下:
在传统LSTM基础上将前面第n个细胞的状态信息转移到后续细胞结构中,即使用可训练的矩阵将前n个细胞的状态信息与前一个细胞的状态信息、进行矩阵相乘后相加得到新的状态信息,作为当前细胞新的输入状态信息,其中,RESNET_LSTM网络结构的隐藏单元为128的n_resnet_lstm网络;
其中,LSTM网络结构包括三个细胞结构,首尾为相同的细胞结构,其内部运行相同,每个细胞结构输出两个信息,分别是状态信息和输出信息,其中,n_resnet_lstm网络则是当前细胞前n个细胞的状态信息直接传递到当前细胞、并与前一个细胞的状态信息进行矩阵相乘,获得的当前细胞新的输入状态信息,公式如下:
所述PARALLEL_LSTM网络结构如下:
包括多个并行的网络结构,获取到相同数据、不同时序维度下的静态特征信息,其中,各网络结构依次包括输入层、全连接层、LSTM层以及分类层。
2.根据权利要求1所述的基于改进的LSTM对APT攻击恶意软件流量进行分类的方法,其特征在于,所述步骤2中各协议静态特征信息包括IP协议的静态特征信息、ICMP协议的静态特征信息、UDP协议的静态特征信息、TCP协议的静态特征信息、DNS协议的静态特征信息;
所述IP协议的静态特征信息包括IP段长度、IP层下层协议、服务类型、Fragmentationflags,即分段标志、生存时间,其中,服务类型默认为0,生存时间默认为64、最大为255;
所述ICMP协议的静态特征信息包括类型字段type和代码字段code;
所述UDP协议的静态特征信息包括 源端口号、目的端口号和数据长度;
所述TCP协议的静态特征信息包括源端口号、目的端口号、数据传输序列号、数据传输确认号、标志位信息、传输窗口大小、数据校验和紧急方式数据传输位;
所述DNS协议的静态特征信息包括请求类型、标志位信息、生存时间和请求长度;
提取各协议的静态特征信息的同时,针对每个数据流中的每一条报文提取出报文传输的时间戳,其中,数据流是指流量数据;
将当前报文的静态特征信息中的时间戳替换为时间差,结合各个协议提取的静态特征,得到各协议的当前静态特征信息。
4.根据权利要求3所述的基于改进的LSTM对APT攻击恶意软件流量进行分类的方法,其特征在于,所述步骤4的具体步骤如下:
步骤4.1:统一量纲后的各协议的静态特征信息为一个向量,选定时序长度,根据该时序长度选取统一量纲后的各协议的静态特征信息中连续的向量作为训练数据,其中,连续的向量称为时序向量或时序数据;
步骤4.2:针对RESNET_LSTM网络结构,基于给定的固定的时序步长,采用RESNET_LSTM网络结构获取单个时序维度数据对应时序长度的时序特征,其中,时序维度数据是指步骤4.1得到的时序向量或时序数据;
步骤4.3: 针对PARALLEL_LSTM网络结构提取多个维度信息,基于给定的多个时序步长,采用PARALLEL_LSTM网络结构并行对单个时序维度数据行时序特征提取。
5.根据权利要求1所述的基于改进的LSTM对APT攻击恶意软件流量进行分类的方法,其特征在于,步骤5中训练得到模型M具体步骤如下:
步骤5.1:基于深度学习将大量的各协议的提取的步骤4.2和步骤4.3的时序特征作为各协议对应的新的分类数据,将各协议对应的新的分类数据输入各分类器进行训练后得到各检测模型M1;
步骤5.2:在测试集上对各检测模型M1进行评估,若满足给定阈值,即得到各模型M,若不满足给定阈值,转到步骤4,对时序长度进行调整,再执行后续步骤。
6.根据权利要求1所述的基于改进的LSTM对APT攻击恶意软件流量进行分类的方法,其特征在于,所述步骤6的具体步骤如下:
步骤6.1:基于待检测的流量数据,获取其统一量纲后的各协议的当前静态特征信息;
步骤6.2:将标准化处理后的当前静态特征信息作为输入传入对应的训练好的模型M中,根据模型M判断其是否属于恶意软件流量及所属恶意软件或者属于正常数据流量。
7.基于改进的LSTM对APT攻击恶意软件流量进行分类的存储介质,其特征在于,包括存储权利要求1-6得到的各模型M的存储器,处理器接收指令,对应的存储器中的模型M接收到待检测的流量数据,即进行分类判断。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010313692.0A CN111523588B (zh) | 2020-04-20 | 2020-04-20 | 基于改进的lstm对apt攻击恶意软件流量进行分类的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010313692.0A CN111523588B (zh) | 2020-04-20 | 2020-04-20 | 基于改进的lstm对apt攻击恶意软件流量进行分类的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111523588A CN111523588A (zh) | 2020-08-11 |
CN111523588B true CN111523588B (zh) | 2022-04-29 |
Family
ID=71911998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010313692.0A Active CN111523588B (zh) | 2020-04-20 | 2020-04-20 | 基于改进的lstm对apt攻击恶意软件流量进行分类的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111523588B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111970277B (zh) * | 2020-08-18 | 2022-09-27 | 中国工商银行股份有限公司 | 基于联邦学习的流量识别方法及装置 |
CN112765603B (zh) * | 2021-01-28 | 2022-04-05 | 电子科技大学 | 一种结合系统日志与起源图的异常溯源方法 |
CN113656800B (zh) * | 2021-08-18 | 2024-04-05 | 东南大学 | 一种基于加密流量分析的恶意软件行为识别方法 |
CN116506216B (zh) * | 2023-06-19 | 2023-09-12 | 国网上海能源互联网研究院有限公司 | 一种轻量化恶意流量检测存证方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107729927A (zh) * | 2017-09-30 | 2018-02-23 | 南京理工大学 | 一种基于lstm神经网络的手机应用分类方法 |
CN108848068A (zh) * | 2018-05-29 | 2018-11-20 | 上海海事大学 | 基于深度信念网络-支持向量数据描述的apt攻击检测方法 |
CN109670446A (zh) * | 2018-12-20 | 2019-04-23 | 泉州装备制造研究所 | 基于线性动态系统和深度网络的异常行为检测方法 |
CN109977118A (zh) * | 2019-03-21 | 2019-07-05 | 东南大学 | 一种基于词嵌入技术和lstm的异常域名检测方法 |
WO2019242441A1 (zh) * | 2018-06-20 | 2019-12-26 | 深信服科技股份有限公司 | 一种基于动态特征的恶意软件识别方法、系统及相关装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9807114B2 (en) * | 2014-09-05 | 2017-10-31 | Topspin Securtiy Ltd | System and a method for identifying the presence of malware using mini-traps set at network endpoints |
US11048874B2 (en) * | 2016-01-05 | 2021-06-29 | International Business Machines Corporation | Medical record error detection system and method |
US20190174319A1 (en) * | 2017-12-01 | 2019-06-06 | Seven Networks, Llc | Detection and identification of potentially harmful applications based on detection and analysis of malware/spyware indicators |
-
2020
- 2020-04-20 CN CN202010313692.0A patent/CN111523588B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107729927A (zh) * | 2017-09-30 | 2018-02-23 | 南京理工大学 | 一种基于lstm神经网络的手机应用分类方法 |
CN108848068A (zh) * | 2018-05-29 | 2018-11-20 | 上海海事大学 | 基于深度信念网络-支持向量数据描述的apt攻击检测方法 |
WO2019242441A1 (zh) * | 2018-06-20 | 2019-12-26 | 深信服科技股份有限公司 | 一种基于动态特征的恶意软件识别方法、系统及相关装置 |
CN109670446A (zh) * | 2018-12-20 | 2019-04-23 | 泉州装备制造研究所 | 基于线性动态系统和深度网络的异常行为检测方法 |
CN109977118A (zh) * | 2019-03-21 | 2019-07-05 | 东南大学 | 一种基于词嵌入技术和lstm的异常域名检测方法 |
Non-Patent Citations (4)
Title |
---|
"A Feasibility Study on Machine Learning Techniques for APT Detection and Protection in VANETs";Sergio De Abreu等;《2019 IEEE 12th International Conference on Global Security, Safety and Sustainability》;20190411;1-9 * |
"APT Traffic Detection Based on Time Transform";Zhang Xiaosong 等;《2016 International Conference on Intelligent Transportation,Big Data & Smart City》;20170921;1-5 * |
"Detecting APT Attacks Against Active Directory Using Machine Leaning";Wataru Matsuda 等;《2018 IEEE Conference on Application, Information and Network Security》;20190204;1-6 * |
"具有异构感染率的僵尸网络建模与分析";牛伟纳 等;《计算机科学》;20180715;第45卷(第7期);135-138 * |
Also Published As
Publication number | Publication date |
---|---|
CN111523588A (zh) | 2020-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111523588B (zh) | 基于改进的lstm对apt攻击恶意软件流量进行分类的方法 | |
CN115146271B (zh) | 一种基于因果分析的apt溯源研判方法 | |
CN113706100B (zh) | 配电网物联终端设备实时探测识别方法与系统 | |
CN113645182B (zh) | 一种基于二次特征筛选的拒绝服务攻击随机森林检测方法 | |
CN114124460A (zh) | 工控系统入侵检测方法、装置、计算机设备及存储介质 | |
CN117081858A (zh) | 一种基于多决策树入侵行为检测方法、系统、设备及介质 | |
Zheng et al. | Preprocessing method for encrypted traffic based on semisupervised clustering | |
CN116150688A (zh) | 智能家居中轻量级的物联网设备识别方法与装置 | |
Yujie et al. | End-to-end android malware classification based on pure traffic images | |
CN112087450B (zh) | 一种异常ip识别方法、系统及计算机设备 | |
CN105429817A (zh) | 基于dpi和dfi的非法业务识别装置与方法 | |
CN111224919B (zh) | 一种ddos识别方法、装置、电子设备及介质 | |
CN117034112A (zh) | 一种基于样本增强与对比学习的恶意网络流量分类方法 | |
Thanh et al. | An approach to reduce data dimension in building effective network intrusion detection systems | |
CN114398887A (zh) | 一种文本分类方法、装置及电子设备 | |
CN115842645A (zh) | 基于umap-rf的网络攻击流量检测方法、装置及可读存储介质 | |
CN111507368B (zh) | 一种校园网入侵检测方法和系统 | |
CN114168948A (zh) | 网络安全态势综合分析方法 | |
Wang et al. | Intrusion detection algorithms based on correlation information entropy and binary particle swarm optimization | |
CN110689074A (zh) | 一种基于模糊集特征熵值计算的特征选择方法 | |
CN112073362A (zh) | 一种基于流量特征的apt组织流量识别方法 | |
CN115580490B (zh) | 工业互联网边缘设备行为检测方法、装置、设备及介质 | |
CN114615056B (zh) | 一种基于对抗鲁棒性学习的Tor恶意流量检测方法 | |
CN117579324B (zh) | 基于门控时间卷积网络与图的入侵检测方法 | |
CN114745161B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |