CN113592150A - 基于lstm和攻击者信息的攻击阶段预测方法 - Google Patents

基于lstm和攻击者信息的攻击阶段预测方法 Download PDF

Info

Publication number
CN113592150A
CN113592150A CN202110754116.4A CN202110754116A CN113592150A CN 113592150 A CN113592150 A CN 113592150A CN 202110754116 A CN202110754116 A CN 202110754116A CN 113592150 A CN113592150 A CN 113592150A
Authority
CN
China
Prior art keywords
attack
time
data
lstm
attacker
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
Application number
CN202110754116.4A
Other languages
English (en)
Inventor
李童
李战士
杨震
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Technology
Original Assignee
Beijing University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing University of Technology filed Critical Beijing University of Technology
Priority to CN202110754116.4A priority Critical patent/CN113592150A/zh
Publication of CN113592150A publication Critical patent/CN113592150A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Business, Economics & Management (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

基于LSTM和攻击者信息的攻击阶段预测方法属于攻击预测领域。本发明通过LSTM系统收集较长一段时间内的网络攻击的警告信息;并对大量警告信息中攻击者的历史信息进行收集;对这些历史数据进行预处理来构造LSTM模型训练所需的训练集、验证集、测试集;然后利用训练集训练LSTM模型,利用验证集的损失来决定是否提前停止LSTM在训练集上的学习;最终所得的模型可以对预处理后的,输入数据进行预测,预测得到未来的下一次攻击在多阶段网络攻击中所处的步骤。

Description

基于LSTM和攻击者信息的攻击阶段预测方法
技术领域
本发明涉及一种基于LSTM模型和攻击者历史信息的攻击预测方法,属于攻击预测领域。
背景技术
为了预测后续的攻击,通常需要记录攻击者的行为,并建立攻击的描述以供以后使用。Bou-Harb等人将网络攻击解剖为以下步骤:
1.网络扫描
2.枚举
3.入侵企图
4.提升权限
5.执行恶意任务
6.部署恶意软件/后门
7.执行恶意任务
8.删除证据并退出
许多类型的网络攻击遵循这个简单的事件序列,这可以在网络流量或目标系统上观察到。对正在进行的攻击的预测本质上非常简单。如果我们看到一系列符合攻击模型的事件,我们可以假设攻击将根据模型继续进行。因此,我们可以预测对手的下一步行动。然而,对攻击的模糊描述不能用于算法预测,因此,需要对攻击进行更正式的描述,例如,以攻击图的形式。此外,存在许多不同类型的攻击,因此需要为所有将要被预测的攻击创建一个模型。历史上,最初的方法依赖于攻击库,必须手动填充,这需要大量的努力和持续更新。因此,现代方法更多地依赖数据挖掘来自动生成攻击模式,用于攻击预测。攻击预测的方法和模型非常多,从离散模型(如攻击图)到连续模型(如时间序列),其中主要依赖于网络攻击的离散模型,以马尔可夫模型和隐马尔可夫模型为代表。使用离散模型进行攻击预测可以从已经观察到的恶意事件开始,也可以从网络中某个特定漏洞将被利用的概率开始。基于连续模型的攻击预测方法的例子是时间序列预测,它表示在某一时间内对某一系统或网络的一系列攻击的数量或概率。时间序列预测可以用来预测攻击是否会发生。较为先进的方法可以根据攻击的类型、攻击者和受害者的特征进行计算,从而估计出将会发生哪种类型的攻击,谁将成为攻击者。最近的预测方法通常包括非技术数据来源,例如基于社交网络信息、用户行为变化,从而克服了网络攻击的不可预测性。
发明内容
本发明技术解决问题:克服现有技术的不足,提出一种基于LSTM模型和攻击者历史信息的攻击预测方法,弥补现有技术的不足,具有较高的预测精度,所需数据维度较易获取。
基于LSTM和攻击者信息的攻击阶段预测方法,其特征在于包括以下步骤:
步骤一:首先收集所需预测的资产的历史警告数据;并对历史警告数据中出现的攻击者的历史攻击信息进行收集;
步骤二:然后通过对收集到的历史数据进行归一化的预处理,构造待训练的LSTM模型的训练样本数据和测试样本数据;
步骤三:通过训练样本数据得到预先训练的LSTM模型,然后通过构造的验证样本数据和测试样本数据微调训练得到的LSTM模型参数,F1指标达到0.75时,停止参数的微调,将微调后的LSTM模型作为攻击预测模型;
步骤四:将预处理后的目标资产的一段时间的历史数据作为LSTM模型的输入数据,通过LSTM模型对输入数据进行学习,最终LSTM模型输出得到未来可能收到的攻击的阶段。
本发明技术解决方案:一种基于LSTM模型和攻击者历史信息的攻击预测方法,步骤如下:
步骤一:首先收集所需预测的资产的历史警告数据。并对历史警告数据中出现的攻击者的历史攻击信息进行收集,收集一年的目标资产所受攻击的警告数据。并对该警告数据中攻击者的历史攻击信息进行收集,其中攻击者缺失的历史信息均补0处理。因为要预测下一次出现的网络攻击所在的阶段,所以训练时y为下一次出现的警告在所处多阶段攻击链条中所处的步骤序号。 LSTM模型的输入特征向量为n×32的矩阵,矩阵的n行分别为目标资产近n次所受网络攻击的相关数据,每一行分别由32个维度组成。全部维度可以分为 3部分。
第一部分由目标资产警告数据组成;第二部分为攻击时网络流量数据;第三部分为攻击者历史信息的数据。第一部分由目标资产警告数据可以得到维度:攻击开始时间start_time、攻击结束时间end_time、警告在所处多阶段攻击链条中所处的步骤序号、警告的方法序号、攻击者IP地址的四部分。通常,警告中的攻击开始时间和攻击结束时间通常为时间戳的数据格式,即 10位或13位的整数,其中10位为秒为单位,13位为毫秒为单位。后续以10 位的时间戳作为标准。
第二部分由攻击者的历史信息数据可以分为以下多个维度:根据网络攻击开始时间start_time的前5天的历史数据,每天的数据可以统计为以下维度,该警告信息中的攻击者从时间start_time-24×60×60~start_time统计全部的攻击次数(即从网络攻击开始时间的1天前,到网络攻击开始时间的攻击次数累计数量),该警告信息中的攻击者从时间start_time-24×60× 60~start_time-16×60×60统计全部的攻击次数(即从网络攻击开始时间的1天前,到网络攻击开始时间的8小时前攻击次数累计数量),该警告信息中的攻击者从时间start_time-24×60×60~start_time-16×60×60统计全部的攻击次数(即从网络攻击开始时间的1天前,到网络攻击开始时间的16小时前攻击次数累计数量),该警告信息中的攻击者从时间start_time- 16×60×60到start_time-8×60×60统计全部的攻击次数(即从网络攻击开始时间的16小时前,到网络攻击开始时间的8小时前攻击次数累计数量),该警告信息中的攻击者从时间start_time-8×60×60到start_time统计全部的攻击次数(即从网络攻击开始时间的8小时前,到网络攻击开始时间的攻击次数累计数量)。
第三部分由警告相关数据中攻击时网络流量数据主要可分为以下维度:连接持续时间(以秒为单位,连续类型。范围是[0,58329]。它的定义是从TCP连接以3次握手建立算起,到FIN/ACK连接结束为止的时间;若为UDP 协议类型,则将每个UDP数据包作为一条连接。)、源地址到目标地址的数据流量(从源主机到目标主机的数据的字节数,连续类型,范围是[0, 1379963888])、目标地址到源地址的数据流量(从目标主机到源主机的数据的字节数,连续类型,范围是[0,1379963888])、错误碎片的数目(错误分段的数量,连续类型,范围是[0,3])、加急包的个数(连续类型,范围是[0,14])、访问系统敏感文件和目录的次数(访问系统敏感文件和目录的次数,连续,范围是[0,101]。例如访问系统目录,建立或执行程序等。)、尝试登录失败的次数(登录尝试失败的次数。连续,[0,5])、root权限访问的次数(root用户访问次数,连续,[0,7468])、文件创建次数(文件创建操作的次数,连续, [0,100])、shell指令使用次数(使用shell命令的次数,连续,[0,5])、访问控制文件的次数(访问控制文件的次数,连续,[0,9]。例如对/etc/passwd 或.rhosts文件的访问。)。此外,还需要基于时间的网络流量统计特征,过去两秒内,与当前连接具有相同的目标主机的连接数(连续类型,[0,511])、过去两秒内,与当前连接具有相同服务的连接数(连续类型,[0,511])、过去两秒内,在与当前连接具有相同目标主机的连接中,出现“SYN”错误的连接的百分比(连续类型,[0.00,1.00])、过去两秒内,在与当前连接具有相同服务的连接中,出现“SYN”错误的连接的百分比(连续类型,[0.00,1.00])、过去两秒内,在与当前连接具有相同目标主机的连接中,出现“REJ”错误的连接的百分比(连续类型,[0.00,1.00])、过去两秒内,在与当前连接具有相同服务的连接中,出现“REJ”错误的连接的百分比(连续类型,[0.00,1.00])、过去两秒内,在与当前连接具有相同目标主机的连接中,与当前连接具有相同服务的连接的百分比(连续类型,[0.00,1.00])、过去两秒内,在与当前连接具有相同目标主机的连接中,与当前连接具有不同服务的连接的百分比(连续类型,[0.00,1.00])、过去两秒内,在与当前连接具有相同服务的连接中,与当前连接具有不同目标主机的连接的百分比(连续类型,[0.00,1.00])。
步骤二:然后通过对收集到的历史数据进行预处理,构造待训练的LSTM 模型的训练样本数据和测试样本数据,构造待训练的LSTM模型的输入特征向量,并按照80%,10%,10%的比例划分为训练样本数据、验证样本数据、测试样本数据。
步骤三:通过训练样本数据得到预先训练的LSTM模型,然后通过构造的验证样本数据和测试样本数据微调训练得到的LSTM模型参数,通过进一步修正LSTM模型参数,提高LSTM模型精度,将该修正后的LSTM模型作为攻击预测模型。所使用的LSTM模型具有1个输入层、5个隐藏层,1个输出层。所述5个隐藏层使用LSTM单元,该单元具有三个门:输入门决定了上一时刻单元状态的警告相关信息有多少保留到当前时刻;输出们决定了单元状态的警告相关信息有多少输出到当前的输出值;遗忘门决定了上一时刻单元状态的警告相关信息有多少保留到当前时刻。所述5个隐藏层使用LSTM 单元,该单元具有三个门:输入门决定了上一时刻单元状态的警告相关信息有多少保留到当前时刻;输出们决定了单元状态的警告相关信息有多少输出到当前的输出值;遗忘门决定了上一时刻单元状态的警告相关信息有多少保留到当前时刻。所述LSTM单元具体公式表示如下:
Figure RE-GDA0003285694170000051
Figure RE-GDA0003285694170000052
Figure RE-GDA0003285694170000053
Figure RE-GDA0003285694170000054
ht=ottanh(ct)
其中σ为逻辑sigmoid函数。i,f,o,c,h分别为表示输入们、遗忘门、输出们、单元激活向量、隐藏层单元。
Figure RE-GDA0003285694170000055
分别为输入特征向量、隐藏层单元、单元激活向量与输入门之间的权重矩阵。
Figure RE-GDA0003285694170000061
分别为输入特征向量、隐藏层单元、单元激活向量与遗忘门之间的权重矩阵。
Figure RE-GDA0003285694170000062
分别为输入特征向量、隐藏层单元、单元激活向量与输出门之间的权重矩阵。
Figure RE-GDA0003285694170000063
分别为输入特征向量、隐藏层单元与单元激活向量之间的权重矩阵,所属权重矩阵均为对角矩阵;bi,bf,bc,bo分别为输入门、遗忘门、输出们、单元激活向量之间的偏差值,t作为下标时表示采样时刻,tanh作为激活函数。
此外预测目标是预测下一次产生的攻击类型,因此本专利选择分类交叉熵作为损失函数,此外输入的警告历史信息中包含时序信息,因此输出层的只取最后一个LSTM单元输出的矩阵:损失函数为
Figure RE-GDA0003285694170000064
其中M代表类别的数量;
Figure RE-GDA0003285694170000065
代表变量(0或1),如果该类别和样本i的类别相同就是1,否则是0;
Figure RE-GDA0003285694170000066
表示观测样本i属于类别c的概率。
附图说明
图1为本专利的实现流程图
具体实施方式
如图1所示,本文具体实现如下:
警告相关数据采集:收集目标资产入侵检测系统反馈的网络攻击警告,获取目标资产一年的所受网络攻击的警告数据,其中LSTM模型的输入特征向量为n×32的矩阵,矩阵的n行分别为目标资产近n次所受网络攻击的相关数据,每一行分别由32个维度组成。因为要预测下一次出现的网络攻击所在的阶段,所以训练时y为下一次出现的警告在所处多阶段攻击链条中所处的步骤序号。训练集中X的全部维度可以分为3部分。
第一部分由目标资产警告数据组成;第二部分为攻击时网络流量数据;第三部分为攻击者历史信息的数据。第一部分由目标资产警告数据可以得到维度:攻击开始时间start_time、攻击结束时间end_time、警告在所处多阶段攻击链条中所处的步骤序号、警告的方法序号、攻击者IP地址的四部分。通常,警告中的攻击开始时间和攻击结束时间通常为时间戳的数据格式,即 10位或13位的整数,其中10位为秒为单位,13位为毫秒为单位。后续以10 位的时间戳作为标准。
第二部分由攻击者的历史信息数据可以分为以下多个维度:根据网络攻击开始时间start_time的前5天的历史数据,每天的数据可以统计为以下维度,该警告信息中的攻击者从时间start_time-24×60×60~start_time统计全部的攻击次数(即从网络攻击开始时间的1天前,到网络攻击开始时间的攻击次数累计数量),该警告信息中的攻击者从时间start_time-24×60× 60~start_time-16×60×60统计全部的攻击次数(即从网络攻击开始时间的1天前,到网络攻击开始时间的8小时前攻击次数累计数量),该警告信息中的攻击者从时间start_time-24×60×60~start_time-16×60×60统计全部的攻击次数(即从网络攻击开始时间的1天前,到网络攻击开始时间的16小时前攻击次数累计数量),该警告信息中的攻击者从时间start_time- 16×60×60到start_time-8×60×60统计全部的攻击次数(即从网络攻击开始时间的16小时前,到网络攻击开始时间的8小时前攻击次数累计数量),该警告信息中的攻击者从时间start_time-8×60×60到start_time统计全部的攻击次数(即从网络攻击开始时间的8小时前,到网络攻击开始时间的攻击次数累计数量)。
第三部分由警告相关数据中攻击时网络流量数据主要可分为以下维度:连接持续时间(以秒为单位,连续类型。范围是[0,58329]。它的定义是从 TCP连接以3次握手建立算起,到FIN/ACK连接结束为止的时间;若为UDP 协议类型,则将每个UDP数据包作为一条连接。)、源地址到目标地址的数据流量(从源主机到目标主机的数据的字节数,连续类型,范围是[0, 1379963888])、目标地址到源地址的数据流量(从目标主机到源主机的数据的字节数,连续类型,范围是[0,1379963888])、错误碎片的数目(错误分段的数量,连续类型,范围是[0,3])、加急包的个数(连续类型,范围是[0,14])、访问系统敏感文件和目录的次数(访问系统敏感文件和目录的次数,连续,范围是[0,101]。例如访问系统目录,建立或执行程序等。)、尝试登录失败的次数(登录尝试失败的次数。连续,[0,5])、root权限访问的次数(root用户访问次数,连续,[0,7468])、文件创建次数(文件创建操作的次数,连续, [0,100])、shell指令使用次数(使用shell命令的次数,连续,[0,5])、访问控制文件的次数(访问控制文件的次数,连续,[0,9]。例如对/etc/passwd 或.rhosts文件的访问。)。此外,还需要基于时间的网络流量统计特征,过去两秒内,与当前连接具有相同的目标主机的连接数(连续类型,[0,511])、过去两秒内,与当前连接具有相同服务的连接数(连续类型,[0,511])、过去两秒内,在与当前连接具有相同目标主机的连接中,出现“SYN”错误的连接的百分比(连续类型,[0.00,1.00])、过去两秒内,在与当前连接具有相同服务的连接中,出现“SYN”错误的连接的百分比(连续类型,[0.00,1.00])、过去两秒内,在与当前连接具有相同目标主机的连接中,出现“REJ”错误的连接的百分比(连续类型,[0.00,1.00])、过去两秒内,在与当前连接具有相同服务的连接中,出现“REJ”错误的连接的百分比(连续类型,[0.00,1.00])、过去两秒内,在与当前连接具有相同目标主机的连接中,与当前连接具有相同服务的连接的百分比(连续类型,[0.00,1.00])、过去两秒内,在与当前连接具有相同目标主机的连接中,与当前连接具有不同服务的连接的百分比(连续类型,[0.00,1.00])、过去两秒内,在与当前连接具有相同服务的连接中,与当前连接具有不同目标主机的连接的百分比(连续类型,[0.00,1.00])。数据预处理:在训练神经网络之前,需要对采集到的网络攻击警告向量进行归一化处理,就是将数据映射到[0,1]或[-1,1]区间,保证不同数据范围的输入数据发挥相同的作用。本发明中采用的归一化处理公式如下:
Figure RE-GDA0003285694170000081
其中x为待归一化处理的原始数据,xmin,xmax分别为原始数据中的最小值和最大值,xnorm为归一化后数据。
归一化后,按照80%,10%,10%的比例划分为训练样本数据、验证样本数据、测试样本数据。
网络模型结构:通过训练样本数据得到预先训练的LSTM模型,然后通过构造的验证样本数据和测试样本数据微调训练得到的LSTM模型参数,通过进一步修正LSTM模型参数,提高LSTM模型精度,将该修正后的LSTM 模型作为攻击预测模型。所使用的LSTM模型具有1个输入层、5个隐藏层, 1个输出层。所述5个隐藏层均使用30个LSTM单元,该单元具有三个门:输入门决定了上一时刻单元状态的警告相关信息有多少保留到当前时刻;输出们决定了单元状态的警告相关信息有多少输出到当前的输出值;遗忘门决定了上一时刻单元状态的警告相关信息有多少保留到当前时刻。所述5个隐藏层使用LSTM单元,该单元具有三个门:输入门决定了上一时刻单元状态的警告相关信息有多少保留到当前时刻;输出们决定了单元状态的警告相关信息有多少输出到当前的输出值;遗忘门决定了上一时刻单元状态的警告相关信息有多少保留到当前时刻。所述LSTM单元具体公式表示如下:
Figure RE-GDA0003285694170000091
Figure RE-GDA0003285694170000092
Figure RE-GDA0003285694170000093
Figure RE-GDA0003285694170000094
ht=ottanh(ct)
其中σ为逻辑sigmoid函数。i,f,o,c,h分别为表示输入们、遗忘门、输出们、单元激活向量、隐藏层单元。
Figure RE-GDA0003285694170000095
分别为输入特征向量、隐藏层单元、单元激活向量与输入门之间的权重矩阵。
Figure RE-GDA0003285694170000096
分别为输入特征向量、隐藏层单元、单元激活向量与遗忘门之间的权重矩阵。
Figure RE-GDA0003285694170000097
分别为输入特征向量、隐藏层单元、单元激活向量与输出门之间的权重矩阵。
Figure RE-GDA0003285694170000098
分别为输入特征向量、隐藏层单元与单元激活向量之间的权重矩阵,所属权重矩阵均为对角矩阵;vi,bf,bc,bo分别为输入门、遗忘门、输出们、单元激活向量之间的偏差值,t作为下标时表示采样时刻,tanh作为激活函数。
此外预测目标是预测下一次产生的攻击类型,因此本专利选择分类交叉熵作为损失函数,此外输入的警告历史信息中包含时序信息,因此输出层的只取最后M个LSTM单元输出的矩阵:损失函数为
Figure RE-GDA0003285694170000101
其中i代表样本,N代表样本总数,代表类别的数量;代表如果该类别和样本的类别相同就是1,否则是0;表示观测样本属于类别的概率,由LSTM 的输出经过Softmax函数计算得到。
网络训练:本专利训练时,初始化隐藏状态为0,将当前batch size的最终隐藏状态作为后续batch size的初始隐藏状态,每个batch size的尺寸均为 64。本发明中隐藏层参数在区间[-0.05,0.05]范围内随机初始化。dropout为0.2,降低过拟合的风险。优化器方面使用Adam更新参数。本发明中使用LSTM 模型训练1000epochs,学习率为0.001,训练每250epochs学习率乘系数1.1。在计算过程中采用上述分类交叉熵函数作为损失函数计算误差,并根据反向传播算法更新权重。训练时用训练集作为训练输入,验证集的数据在每迭代100epochs时,进行一次在验证集上的测试,当验证集上的损失值不再下降时,提前停止网络的训练。
最终将测试集按照30个样本为一组构建为矩阵,即可预测下一次可能发生的攻击步骤。
本发明所采用的方法利用、整合了警告的历史信息的时间序列关系和攻击在不同阶段发生的可能性的信息,此外我们引入了攻击者的历史信息通过攻击者的历史信息可以计算得到该攻击者后续继续进行攻击的可能性,提高了网络攻击预测的预测准确率,具有一定的使用价值。

Claims (9)

1.基于LSTM和攻击者信息的攻击阶段预测方法,其特征在于包括以下步骤:
步骤一:首先收集所需预测的资产的历史警告数据;并对历史警告数据中出现的攻击者的历史攻击信息进行收集;
步骤二:然后通过对收集到的历史数据进行归一化的预处理,构造待训练的LSTM模型的训练样本数据和测试样本数据;
步骤三:通过训练样本数据得到预先训练的LSTM模型,然后通过构造的验证样本数据和测试样本数据微调训练得到的LSTM模型参数,F1指标达到0.75时,停止参数的微调,将微调后的LSTM模型作为攻击预测模型;
步骤四:将预处理后的目标资产的一段时间的历史数据作为LSTM模型的输入数据,通过LSTM模型对输入数据进行学习,最终LSTM模型输出得到未来可能收到的攻击的阶段。
2.根据权利要求1所述的基于LSTM和攻击者信息的攻击阶段预测方法,其特征在于:步骤1中,收集目标资产1年的所受攻击的警告数据;并对该警告数据中攻击者的历史攻击信息进行收集,对于部分攻击者缺失的历史信息均补0处理。
3.根据权利要求1所述的基于LSTM和攻击者信息的攻击阶段预测方法,其特征在于:步骤2中,构造待训练的LSTM模型的输入特征向量,并按照80%,10%,10%的比例划分为训练样本数据、验证样本数据、测试样本数据。
4.根据权利要求1所述的基于LSTM和攻击者信息的攻击阶段预测方法,其特征在于:LSTM模型的输入特征向量为n×32的矩阵,矩阵的n行分别为目标资产近n次所受网络攻击的相关数据,每一行分别由32个维度组成;全部维度分为3部分;第一部分由目标资产警告数据组成;第二部分为攻击时网络流量数据;第三部分为攻击者历史信息的数据。
5.根据权利要求1所述的基于LSTM和攻击者信息的攻击阶段预测方法,其特征在于:由目标资产警告数据得到维度:攻击开始时间start_time、攻击结束时间end_time、警告在所处多阶段攻击链条中所处的步骤序号、警告的方法序号、攻击者IP地址的四部分;警告中的攻击开始时间和攻击结束时间通常为时间戳的数据格式,即10位或13位的整数,其中10位为秒为单位,13位为毫秒为单位;后续以10位的时间戳作为标准。
6.根据权利要求1所述的基于LSTM和攻击者信息的攻击阶段预测方法,其特征在于:攻击者的历史信息数据分为以下多个维度:根据网络攻击开始时间start_time的前5天的历史数据,每天的数据统计为以下维度,该警告信息中的攻击者从时间start_time-24×60×60~start_time统计全部的攻击次数,即从网络攻击开始时间的1天前,到网络攻击开始时间的攻击次数累计数量,该警告信息中的攻击者从时间start_time-24×60×60~start_time-16×60×60统计全部的攻击次数,即从网络攻击开始时间的1天前,到网络攻击开始时间的8小时前攻击次数累计数量,该警告信息中的攻击者从时间start_time-24×60×60~start_time-16×60×60统计全部的攻击次数,即从网络攻击开始时间的1天前,到网络攻击开始时间的16小时前攻击次数累计数量,该警告信息中的攻击者从时间start_time-16×60×60到start_time-8×60×60统计全部的攻击次数,即从网络攻击开始时间的16小时前,到网络攻击开始时间的8小时前攻击次数累计数量,该警告信息中的攻击者从时间start_time-8×60×60到start_time统计全部的攻击次数,即从网络攻击开始时间的8小时前,到网络攻击开始时间的攻击次数累计数量。
7.根据权利要求1所述的基于LSTM和攻击者信息的攻击阶段预测方法,其特征在于:警告相关数据中攻击时网络流量数据主要可分为以下维度:连接持续时间它的定义是从TCP连接以3次握手建立算起,到FIN/ACK连接结束为止的时间;若为UDP协议类型,则将每个UDP数据包作为一条连接;源地址到目标地址的数据流量、目标地址到源地址的数据流量、错误碎片的数目、加急包的个数、访问系统敏感文件和目录的次数;尝试登录失败的次数、root权限访问的次数、文件创建次数、shell指令使用次数、访问控制文件的次数;此外,还需要基于时间的网络流量统计特征,过去两秒内,与当前连接具有相同的目标主机的连接数、过去两秒内,在与当前连接具有相同目标主机的连接中,出现“SYN”错误的连接的百分比、过去两秒内,在与当前连接具有相同服务的连接中,出现“SYN”错误的连接的百分比、过去两秒内,在与当前连接具有相同目标主机的连接中,出现“REJ”错误的连接的百分比、过去两秒内,在与当前连接具有相同服务的连接中,出现“REJ”错误的连接的百分比、过去两秒内,在与当前连接具有相同目标主机的连接中,与当前连接具有相同服务的连接的百分比、过去两秒内,在与当前连接具有相同目标主机的连接中,与当前连接具有不同服务的连接的百分比、过去两秒内,在与当前连接具有相同服务的连接中,与当前连接具有不同目标主机的连接的百分比。
8.根据权利要求1所述的一种基于LSTM和攻击者历史信息的攻击预测方法,其特征在于:所述步骤3中,LSTM模型采用具有1个输入层、5个隐藏层,1个输出层;
所述5个隐藏层使用LSTM单元,该单元具有三个门:输入门决定了上一时刻单元状态的警告相关信息有多少保留到当前时刻;输出门决定了单元状态的警告相关信息有多少输出到当前的输出值;遗忘门决定了上一时刻单元状态的警告相关信息有多少保留到当前时刻;
所述LSTM单元具体公式表示如下:
Figure FDA0003146839690000031
Figure FDA0003146839690000032
Figure FDA0003146839690000033
Figure FDA0003146839690000034
ht=ottanh(ct)
其中σ为逻辑sigmoid函数;i,f,o,c,h分别为表示输入们、遗忘门、输出门、单元激活向量、隐藏层单元;
Figure FDA0003146839690000035
分别为输入特征向量、隐藏层单元、单元激活向量与输入门之间的权重矩阵;
Figure FDA0003146839690000036
分别为输入特征向量、隐藏层单元、单元激活向量与遗忘门之间的权重矩阵;
Figure FDA0003146839690000037
分别为输入特征向量、隐藏层单元、单元激活向量与输出门之间的权重矩阵;
Figure FDA0003146839690000038
分别为输入特征向量、隐藏层单元与单元激活向量之间的权重矩阵,所属权重矩阵均为对角矩阵;bi,bf,bc,bo分别为输入门、遗忘门、输出们、单元激活向量之间的偏差值,t作为下标时表示采样时刻,tanh作为激活函数。
9.根据权利要求1所述的基于LSTM和攻击者信息的攻击阶段预测方法,,其特征在于:选择分类交叉熵作为损失函数,此外输入的警告历史信息中包含时序信息,因此输出层的只取最后M个LSTM单元输出的矩阵:损失函数为
Figure FDA0003146839690000039
其中i代表样本,N代表样本总数,M代表类别的数量;
Figure FDA00031468396900000310
代表如果该类别和样本i的类别相同就是1,否则是0;
Figure FDA00031468396900000311
表示观测样本i属于类别c的概率,由最后一个LSTM的输出经过Softmax函数计算得到。
CN202110754116.4A 2021-07-04 2021-07-04 基于lstm和攻击者信息的攻击阶段预测方法 Pending CN113592150A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110754116.4A CN113592150A (zh) 2021-07-04 2021-07-04 基于lstm和攻击者信息的攻击阶段预测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110754116.4A CN113592150A (zh) 2021-07-04 2021-07-04 基于lstm和攻击者信息的攻击阶段预测方法

Publications (1)

Publication Number Publication Date
CN113592150A true CN113592150A (zh) 2021-11-02

Family

ID=78245690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110754116.4A Pending CN113592150A (zh) 2021-07-04 2021-07-04 基于lstm和攻击者信息的攻击阶段预测方法

Country Status (1)

Country Link
CN (1) CN113592150A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115134162A (zh) * 2022-07-15 2022-09-30 西南民族大学 一种工业控制系统恶意威胁的检测和补偿方法及电子设备
CN115550072A (zh) * 2022-11-30 2022-12-30 浙江省能源集团有限公司 网络攻击监控预警方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115134162A (zh) * 2022-07-15 2022-09-30 西南民族大学 一种工业控制系统恶意威胁的检测和补偿方法及电子设备
CN115134162B (zh) * 2022-07-15 2023-05-05 西南民族大学 一种工业控制系统恶意威胁的检测和补偿方法及电子设备
CN115550072A (zh) * 2022-11-30 2022-12-30 浙江省能源集团有限公司 网络攻击监控预警方法及系统

Similar Documents

Publication Publication Date Title
CN111818052B (zh) 基于cnn-lstm的工控协议同源攻击检测方法
CN111585948B (zh) 一种基于电网大数据的网络安全态势智能预测方法
CN111585997B (zh) 一种基于少量标注数据的网络流量异常检测方法
Xia et al. An efficient network intrusion detection method based on information theory and genetic algorithm
CN108900542B (zh) 基于LSTM预测模型的DDoS攻击检测方法及装置
CN111783442A (zh) 入侵检测方法、设备和服务器、存储介质
CN111222133A (zh) 一种工控网络入侵检测的多级自适应耦合方法
CN113592150A (zh) 基于lstm和攻击者信息的攻击阶段预测方法
CN112019497B (zh) 一种基于词嵌入的多阶段网络攻击检测方法
Divyasree et al. A network intrusion detection system based on ensemble CVM using efficient feature selection approach
CN111711608B (zh) 一种电力数据网流量异常检测方法、系统及电子设备
CN110708318A (zh) 基于改进的径向基神经网络算法的网络异常流量预测方法
CN115987615A (zh) 一种网络行为安全预警方法及系统
CN112232604B (zh) 基于Prophet模型提取网络流量的预测方法
CN110768946A (zh) 一种基于布隆过滤器的工控网络入侵检测系统及方法
CN112491860A (zh) 一种面向工业控制网络的协同入侵检测方法
CN112613599A (zh) 一种基于生成对抗网络过采样的网络入侵检测方法
CN113660196A (zh) 一种基于深度学习的网络流量入侵检测方法及装置
Liu et al. Multi-step attack scenarios mining based on neural network and Bayesian network attack graph
CN110166422B (zh) 域名行为识别方法、装置、可读存储介质和计算机设备
CN116996272A (zh) 一种基于改进的麻雀搜索算法的网络安全态势预测方法
CN114944939A (zh) 网络攻击态势预测模型构建方法、装置、设备及存储介质
Callegari et al. Real time attack detection with deep learning
Hannan et al. Anomaly based resilient network intrusion detection using inferential autoencoders
CN110290101B (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