CN114511131A - 一种基于机器学习算法的网络安全态势预测方法及系统 - Google Patents

一种基于机器学习算法的网络安全态势预测方法及系统 Download PDF

Info

Publication number
CN114511131A
CN114511131A CN202111610807.3A CN202111610807A CN114511131A CN 114511131 A CN114511131 A CN 114511131A CN 202111610807 A CN202111610807 A CN 202111610807A CN 114511131 A CN114511131 A CN 114511131A
Authority
CN
China
Prior art keywords
network security
data set
importance
security situation
feature
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
CN202111610807.3A
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.)
Hebei Normal University
Original Assignee
Hebei Normal University
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 Hebei Normal University filed Critical Hebei Normal University
Priority to CN202111610807.3A priority Critical patent/CN114511131A/zh
Publication of CN114511131A publication Critical patent/CN114511131A/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/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • 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/08Learning methods
    • G06N3/086Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming

Landscapes

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

Abstract

本发明涉及一种基于机器学习算法的网络安全态势预测方法及系统。所述方法包括:基于随机森林对网络安全态势数据集中的样本特征进行特征选择和预处理,生成筛选后数据集;计算筛选后数据集中每条网络流量样本的真实态势值;根据滑动窗口大小对态势值数据集进行划分,得到训练集和测试集样本;采用遗传算法对网络安全态势预测模型隐含层神经单元个数进行优化,生成具有最优参数的网络安全态势预测模型;采用训练集和测试集样本对网络安全态势预测模型进行训练和测试,生成训练好的网络安全态势预测模型以进行网络安全态势预测。本发明方法构建了收敛速度更快且模型简易的网络安全态势预测模型,能够提高网络安全态势预测的速度、准确率和真实性。

Description

一种基于机器学习算法的网络安全态势预测方法及系统
技术领域
本发明涉及网络安全态势感知技术领域,特别是涉及一种基于机器学习算法的网络安全态势预测方法及系统。
背景技术
近年来,网络空间蓬勃发展,信息和互联网及云计算、物联网、社交网络等新兴技术和服务广泛应用和不断涌现,数据种类日益增多,数据规模急剧增长,大数据时代悄然来临。根据国际数据公司(International Data Corporation,IDC)的监测数据显示,2013年全球大数据储量为4.3ZB(相当于47.24亿个1TB 容量的移动硬盘),2014年和2015年全球大数据储量分别为6.6ZB和8.6ZB。近几年全球大数据储量的增速每年都保持在40%,2016年甚至达到了87.21%的增长率。2016年和2017年全球大数据储量分别为18ZB和26ZB,2018年全球大数据储量达到33.0ZB,2019年全球大数据储量达到41ZB,截至2020 年全球大数据储量为50.5ZB,增长率达到23.17%。
随着大数据的广泛应用,中国国家的大数据资源面临着国内外各种安全因素的威胁。对于日益多样化、复杂化的网络安全攻击,传统的网络安全设施如反病毒软件、漏洞扫描、入侵检测系统(intrusion detection system,IDS)和防火墙等主动和被动防御工具构成的安全防护体系已经遭遇了瓶颈。能够及时地评估当前网络安全状况,并且能够以当前的安全威胁为基础,对接下来一段时间的网络安全态势进行预测,同时对网络安全进行定量分析,给用户提供全面、直观、有效的网络安全信息对保护大数据资源安全尤为关键,因此网络安全态势感知领域的研究具有迫切的需求以及重要的意义。目前,在网络安全态势预测中所用的机器学习模型如支持向量机(Support Vector Machines,SVM)、决策树模型(Decision Tree,DT)和深度学习中的反向传播神经网络(Back Propagation NeuralNetwork,BPNN)、极限学习机(Extreme Learning Machine,ELM)等模型存在收敛速度慢、预测准确率低、真实性欠佳、模型复杂等问题。
发明内容
本发明的目的是提供一种基于机器学习算法的网络安全态势预测方法及系统,以构建一种收敛速度更快且模型简易的网络安全态势预测模型,提高网络安全态势预测的速度、准确率和真实性。
为实现上述目的,本发明提供了如下方案:
一种基于机器学习算法的网络安全态势预测方法,包括:
获取网络安全态势数据集;所述网络安全态势数据集中包括多条网络流量样本,每条所述网络流量样本具有多个特征;
基于随机森林对所述网络安全态势数据集中的样本特征进行特征选择和预处理,生成筛选后数据集;
计算所述筛选后数据集中每条网络流量样本的真实态势值,生成态势值数据集;
根据滑动窗口大小对所述态势值数据集进行划分,划分出训练集样本和测试集样本;
基于长短期记忆网络构建网络安全态势预测模型;
采用遗传算法对所述网络安全态势预测模型的隐含层神经单元个数进行优化,生成具有最优参数的网络安全态势预测模型;
采用所述训练集样本和测试集样本对所述具有最优参数的网络安全态势预测模型进行训练和测试,生成训练好的网络安全态势预测模型;
采用所述训练好的网络安全态势预测模型进行网络安全态势预测。
可选地,所述基于随机森林对所述网络安全态势数据集中的样本特征进行特征选择,生成筛选后数据集,具体包括:
基于基尼指数或基于袋外数据,计算所述网络安全态势数据集中的每个特征的重要性评分;
根据所述每个特征的重要性评分的大小去除所述网络安全态势数据集中不重要的特征,生成所述特征选择后数据集;
对所述特征选择后数据集进行预处理,生成所述筛选后数据集。
可选地,所述基于基尼指数计算所述网络安全态势数据集中的每个特征的重要性评分,具体包括:
构建具有n颗决策树的随机森林模型;
采用公式
Figure BDA0003434825160000031
计算决策树中节点m的基尼指数Ginim;其中pmk表示节点m中类别k的比例,K表示类别总数;
根据所述基尼指数Ginim,采用公式
Figure BDA0003434825160000032
计算特征 Xj在决策树中节点m的重要性
Figure BDA0003434825160000033
其中Ginil和Ginir分别表示分枝后两个新节点的基尼指数;
根据所述重要性
Figure BDA0003434825160000034
采用公式
Figure BDA0003434825160000035
计算特征Xj在第i颗决策树的重要性
Figure BDA0003434825160000036
其中M表示第i颗决策树中的节点集合;
根据所述重要性
Figure BDA0003434825160000037
采用公式
Figure BDA0003434825160000038
计算特征Xj的重要性
Figure BDA0003434825160000039
采用公式
Figure BDA00034348251600000310
对特征Xj的重要性
Figure BDA00034348251600000311
进行归一化处理,得到特征Xj的重要性评分FESj;其中d为特征总数量。
可选地,所述基于袋外数据计算所述网络安全态势数据集中的每个特征的重要性评分,具体包括:
构建具有n颗决策树的随机森林模型;
基于所述随机森林模型,采用公式
Figure BDA0003434825160000041
计算所述网络安全态势数据集中的特征Xj的重要性评分FESj;其中其中err1 OOB表示随机森林的袋外数据误差;
Figure BDA0003434825160000042
表示对特征Xj加入噪声干扰后计算的袋外数据误差。
可选地,所述计算所述筛选后数据集中每条网络流量样本的真实态势值,生成态势值数据集,具体包括:
采用公式
Figure BDA0003434825160000043
计算所述筛选后数据集中每条网络流量样本的真实态势值SA(t);多条所述网络流量样本的真实态势值共同构成所述态势值数据集;其中Ti表示第i条攻击样本的攻击威胁因子;C表示时间段t内的攻击样本数量。
一种基于机器学习算法的网络安全态势预测系统,包括:
网络安全态势数据集获取模块,用于获取网络安全态势数据集;所述网络安全态势数据集中包括多条网络流量样本,每条所述网络流量样本具有多个特征;
特征选择和预处理模块,用于基于随机森林对所述网络安全态势数据集中的样本特征进行特征选择和预处理,生成筛选后数据集;
真实态势值计算模块,用于计算所述筛选后数据集中每条网络流量样本的真实态势值,生成态势值数据集;
数据集划分模块,用于根据滑动窗口大小对所述态势值数据集进行划分,划分出训练集样本和测试集样本;
网络安全态势预测模型构建模块,用于基于长短期记忆网络构建网络安全态势预测模型;
模型参数优化模块,用于采用遗传算法对所述网络安全态势预测模型的隐含层神经单元个数进行优化,生成具有最优参数的网络安全态势预测模型;
模型训练测试模块,用于采用所述训练集样本和测试集样本对所述具有最优参数的网络安全态势预测模型进行训练和测试,生成训练好的网络安全态势预测模型;
网络安全态势预测模块,用于采用所述训练好的网络安全态势预测模型进行网络安全态势预测。
可选地,所述特征选择和预处理模块具体包括:
重要性评分计算子模块,用于基于基尼指数或基于袋外数据,计算所述网络安全态势数据集中的每个特征的重要性评分;
特征选择子模块,用于根据所述每个特征的重要性评分的大小去除所述网络安全态势数据集中不重要的特征,生成所述特征选择后数据集;
预处理子模块,用于对所述特征选择后数据集进行预处理,生成所述筛选后数据集。
可选地,所述重要性评分计算子模块具体包括:
随机森林模型构建单元,用于构建具有n颗决策树的随机森林模型;
基尼指数计算单元,用于采用公式
Figure BDA0003434825160000051
计算决策树中节点 m的基尼指数Ginim;其中pmk表示节点m中类别k的比例,K表示类别总数;
节点重要性计算单元,用于根据所述基尼指数Ginim,采用公式
Figure BDA0003434825160000052
计算特征Xj在决策树中节点m的重要性
Figure BDA0003434825160000053
其中Ginil和Ginir分别表示分枝后两个新节点的基尼指数;
决策树重要性计算单元,用于根据所述重要性
Figure BDA0003434825160000054
采用公式
Figure BDA0003434825160000055
计算特征Xj在第i颗决策树的重要性
Figure BDA0003434825160000056
其中M 表示第i颗决策树中的节点集合;
随机森林重要性计算单元,用于根据所述重要性
Figure BDA0003434825160000057
采用公式
Figure BDA0003434825160000058
计算特征Xj的重要性
Figure BDA0003434825160000059
重要性评分计算单元,用于采用公式
Figure BDA0003434825160000061
对特征Xj的重要性
Figure BDA0003434825160000062
进行归一化处理,得到特征Xj的重要性评分FISj;其中d为特征总数量。
可选地,所述重要性评分计算子模块具体包括:
随机森林模型构建单元,用于构建具有n颗决策树的随机森林模型;
重要性评分计算单元,用于基于所述随机森林模型,采用公式
Figure BDA0003434825160000063
计算所述网络安全态势数据集中的特征Xj的重要性评分FISj;其中其中err1 OOB表示随机森林的袋外数据误差;
Figure BDA0003434825160000064
表示对特征Xj加入噪声干扰后计算的袋外数据误差。
可选地,所述真实态势值计算模块具体包括:
真实态势值计算子模块,用于采用公式
Figure BDA0003434825160000065
计算所述筛选后数据集中每条网络流量样本的真实态势值SA(t);多条所述网络流量样本的真实态势值共同构成所述态势值数据集;其中Ti表示第i条攻击样本的攻击威胁因子;C表示时间段t内的攻击样本数量。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明提供了一种基于机器学习算法的网络安全态势预测方法及系统,所述方法包括:获取网络安全态势数据集;所述网络安全态势数据集中包括多条网络流量样本,每条所述网络流量样本具有多个特征;基于随机森林对所述网络安全态势数据集中的样本特征进行特征选择和预处理,生成筛选后数据集;计算所述筛选后数据集中每条网络流量样本的真实态势值,生成态势值数据集;根据滑动窗口大小对所述态势值数据集进行划分,划分出训练集样本和测试集样本;基于长短期记忆网络构建网络安全态势预测模型;采用遗传算法对所述网络安全态势预测模型的隐含层神经单元个数进行优化,生成具有最优参数的网络安全态势预测模型;采用所述训练集样本和测试集样本对所述具有最优参数的网络安全态势预测模型进行训练和测试,生成训练好的网络安全态势预测模型;采用所述训练好的网络安全态势预测模型进行网络安全态势预测。本发明方法构建了一种收敛速度更快且模型简易的网络安全态势预测模型,能够提高网络安全态势预测的速度、准确率和真实性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种基于机器学习算法的网络安全态势预测方法的流程图;
图2为本发明基于长短期记忆网络构建网络安全态势预测模型的示意图;
图3为本发明采用遗传算法对网络安全态势预测模型的隐含层神经单元个数进行优化的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种基于机器学习算法的网络安全态势预测方法及系统,以构建一种收敛速度更快且模型简易的网络安全态势预测模型,提高网络安全态势预测的速度、准确率和真实性。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明一种基于机器学习算法的网络安全态势预测方法的流程图。当前时代的网络数据体量浩大、模态繁多、结构复杂。现有的网络安全态势预测技术有收敛速度慢、精确率低、真实性欠佳的缺陷。针对这些缺陷和不足,亟需建立一个能够高效、准确且代表真实网络安全态势状况的模型进行态势预测。因此,本发明提出将遗传算法(GeneticAlgorithm,GA)、随机森林(Random Forest,RF)等机器学习算法和长短期记忆网络(LongShort-Term Memory, LSTM)相结合的网络安全态势预测模型。首先,采用随机森林对数据中每个特征的重要性进行排序,对特征重要性排序之后,可以选取那些更具有代表意义的特征进行之后的预测,通过该步骤减少意义较小或无意义的特征,且减少数据量,提高预测模型的收敛速度和提高准确率的意义。第二步,对于LSTM 来说,其隐含层神经单元个数对模型的效果影响至关重要,很多研究者根据经验或者试凑法确定该参数,这使得模型的鲁棒性、准确率不够可靠,因此,本发明选取原理简单、复杂度低、收敛速度快、适合处理实值问题的GA算法来对LSTM网络的隐含层神经单元个数进行进行优化。最后,用得到的最优参数构建GA-LSTM网络安全态势预测,实现网络安全态势预测。
参见图1和以上发明构思,本发明一种基于机器学习算法的网络安全态势预测方法具体包括:
步骤101:获取网络安全态势数据集。
所述网络安全态势数据集中包括多条网络流量样本,每条所述网络流量样本具有多个特征,例如持续时间、攻击类型等样本特征。
步骤102:基于随机森林对所述网络安全态势数据集中的样本特征进行特征选择和预处理,生成筛选后数据集。
网络安全态势数据集中数据量较大,样本特征数目较多,直接放入网络态势感知模型当中会影响模型预测的精度及速度。随机森林可以实现特征选择,其思想是通过判断每个特征在随机森林中每个决策树上的做了多大的贡献,即在每个决策树上的重要性,对其在每个决策树上的重要性相加取平均值,得到每个特征的最终重要性,最后比较每个特征的重要性大小进行排序,去除不重要的特征。常用的两种特征重要性计算方法方法为基于基尼指数和基于袋外数据(Out of Bag,OOB)。
所述步骤102基于随机森林对所述网络安全态势数据集中的样本特征进行特征选择,生成筛选后数据集,具体包括:
步骤2.1:基于基尼指数或基于袋外数据,计算所述网络安全态势数据集中的每个特征的重要性评分。
(2.1.1)基于基尼指数
将特征重要性评分用FIS(feature importance score)来表示,假设共有d 个特征,对数据集中的每个特征计算其Gini指数评分
Figure BDA0003434825160000091
第m个节点的Gini指数的计算公式为:
Figure BDA0003434825160000092
其中,K表示有K个类别,pmk表示节点m中类别k的比例。
特征Xj在决策树中节点m的重要性为:
Figure BDA0003434825160000093
Ginil和Ginir分别表示分枝后两个新节点的Gini指数。
特征Xj在第i颗决策树的重要性为:
Figure BDA0003434825160000094
其中M表示第i颗决策树中的节点集合。
若随机森林中共有n颗决策树,则:
Figure BDA0003434825160000095
最后,对所有特征的重要性评分进行归一化处理,得到所有特征的重要性评分FISj
Figure BDA0003434825160000096
对所有特征的重要性评分FISj进行降序排序,根据threshold值(阈值) 筛选出所要选择的特征集合。
(2.1.2)基于袋外数据(OOB)
基于袋外数据计算所述网络安全态势数据集中的每个特征的重要性评分步骤如下:
步骤a:对原始数据集进行自举重采样(bootstrap)方法随机抽取数据样本,形成袋内数据并用于随机森林模型当中,剩余数据形成袋外数据(OOB)。
步骤b:通过n颗决策树构建随机森林模型,利用袋外数据计算随机森林的袋外数据误差,用err1 OOB来表示。
步骤c:对所有样本OOB数据中某特征值Xj加入噪声干扰后重新计算其 OOB误差,用
Figure BDA0003434825160000101
来表示。
步骤d:特征Xj(j=1,2,...,d)的重要性计算公式如下:
Figure BDA0003434825160000102
步骤e:重复上述步骤,计算得到每个特征Xj的重要性评分,按降序排序。
步骤f:根据threshold值筛选出所要选择的特征。
步骤2.2:根据所述每个特征的重要性评分的大小去除所述网络安全态势数据集中不重要的特征,生成所述特征选择后数据集。
通过以上两种计算方法之一得到每个特征的最终重要性评分FISj,最后比较每个特征的重要性大小进行降序排序,去除不重要的特征,例如去除倒数预设数量个特征,或者去除小于预设阈值的特征,生成所述特征选择后数据集。
步骤2.3:对所述特征选择后数据集进行预处理,生成所述筛选后数据集。
然后对重要特征构成的数据集(即所述特征选择后数据集),通过基本的 O-H编码、归一化等方式预处理后,得到新的数据集,即所述筛选后数据集。对用于训练的模型来说,新的数据集数据量更少、特征更有代表性,相比最初的数据集有训练效率高、收敛速度快、准确度高的优势。
步骤103:计算所述筛选后数据集中每条网络流量样本的真实态势值,生成态势值数据集。
本发明提出了一种网络安全态势值计算方法来计算步骤102得到的新数据集态势值,具体计算方法如下。
针对当前大多数数据集中并没有直接反应网络安全程度的真实态势值这一问题,本发明通过网络攻击影响对网络态势进行分析,确定基于网络攻击因子的态势评估指标包括:
1)攻击数量因子:攻击数量因子为一个时间段内的攻击样本数量,用C 表示。
2)攻击威胁因子:攻击威胁因子为不同攻击类型对网络安全威胁值,用Ti表示。
则网络中t时间段的态势值SA为:
Figure BDA0003434825160000111
其中SA(t)表示所述筛选后数据集中每条网络流量样本的真实态势值;多条所述网络流量样本的真实态势值共同构成所述态势值数据集。其中Ti表示第i条攻击样本的攻击威胁因子;C表示时间段t内的攻击样本数量。
步骤104:根据滑动窗口大小对所述态势值数据集进行划分,划分出训练集样本和测试集样本。
根据所述步骤103计算得到真实态势值,根据滑动窗口思想和BiLSTM中输入层步数(time_step)参数异曲同工的特点,将用于预测的态势值数据集进行划分,,划分出训练集样本和测试集样本。划分后的数据集结构如表1所示。
表1用于预测的数据集结构
Figure BDA0003434825160000112
步骤105:基于长短期记忆网络构建网络安全态势预测模型。
图2为本发明基于长短期记忆网络构建网络安全态势预测模型的示意图。参见图2,本发明基于长短期记忆网络(Long Short-Term Memory,LSTM)构建网络安全态势预测模型,所述网络安全态势预测模型的隐含层由两个LSTM 层构成,两个LSTM层可以充分利用其学习能力来提升模型学习的效果。LSTM 层后的Dropout层起到避免模型过拟合,提升泛化能力的作用。最后一层为 Dense层,可以转换输出维度,进而得到预测结果。
对于LSTM来说,其隐含层神经单元个数对模型的效果影响至关重要,很多研究者根据经验或者试凑法确定该参数,这使得模型的鲁棒性、准确率不够可靠,因此,本发明选取原理简单、复杂度低、收敛速度快、适合处理实值问题的GA算法,通过接下来的步骤106对LSTM网络的隐含层神经单元个数进行进行优化。
步骤106:采用遗传算法对所述网络安全态势预测模型的隐含层神经单元个数进行优化,生成具有最优参数的网络安全态势预测模型。
遗传算法(Genetic Algorithm,GA)是根据进化论中“自然选择,适者生存”规则演变而出,每个个体通过交配繁衍出后代,后代在成长过程中经过自然法则的筛选而淘汰掉部分个体,而那些拥有优良性状的个体得以存活并且通过繁衍使得优秀遗传信息得以保留和扩散,是一种自适应、全局优化算法。
图3为本发明采用遗传算法对网络安全态势预测模型的隐含层神经单元个数进行优化的示意图。参见图3,利用遗传算法优化LSTM结构时,首先要对要优化的LSTM隐含层单元个数进行编码,即为个体,同时,确需要明确遗传算法的适应度函数,即LSTM网络损失函数,损失函数的选择可采用均方误差(Mean Square Error,MSE),具体计算如式(8):
Figure BDA0003434825160000121
其中yi表示真实态势值,
Figure BDA0003434825160000122
表示预测态势值,N表示样本数。
接下来,根据适应度函数,计算种群所有个体的适应度,检查是否达到最大迭代次数,若没有,则选择一些较为优良的个体用来进行交叉、变异、遗传操作用来生成新一代更优良的个体;重复上述操作,直到达到最大迭代次数。将GA算法得到的最优个体作为LSTM模型的最优参数,得到具有最优参数的网络安全态势预测模型,即GA-LSTM模型。
步骤107:采用所述训练集样本和测试集样本对所述具有最优参数的网络安全态势预测模型进行训练和测试,生成训练好的网络安全态势预测模型。
将步骤106获得的最优参数赋给LSTM隐含层,将步骤104划分出的训练集样本和测试集样本放入到GA-LSTM模型当中进行学习,得到训练好的网络安全态势预测模型。
步骤108:采用所述训练好的网络安全态势预测模型进行网络安全态势预测。
采用所述训练好的网络安全态势预测模型对未来一段时间的态势值进行预测,通过预测得到的态势值,可以使相关人员能够对网络安全态势进行更高层次的了解,为作出主动防护提供合理的依据。
为了验证本发明中所构建的GA-LSTM模型的预测能力,可以选取两个典型的回归评价指标对多个模型进行评价对比。两个典型的回归评价指标分别为平均百分比误差(Mean Absolute Percentage Error,MAPE)和拟合优度决定系数(the coefficient ofdetermination,R2)。
两个评价指标的计算公式如下:
Figure BDA0003434825160000131
Figure BDA0003434825160000132
其中,yi表示真实态势值,
Figure BDA0003434825160000133
表示预测态势值,N表示样本数,
Figure BDA0003434825160000134
表示真实态势值的平均值。平均百分比误差MAPE越小,模型性能越好。拟合优度决定系数R2的取值在[0,1]之间,越接近1,表明模型拟合程度越好。
经过选取两个典型的回归评价指标对多个模型进行评价对比,表明本发明构建的网络安全态势预测模型具有收敛速度更快、预测准确率更高且模型简易的特点。
本发明方法首先进行RF特征选择,通过RF可以有效的达到特征量减少的目的,进而使得训练、预测速度有显著提高。采用GA算法优化后得到的最优参数可以提高LSTM的预测准确率。因此,本发明所提出的网络安全态势预测方法与以往方法相比,具有显著提高训练速度和预测精度等优势。此外,本发明提出了一种网络安全态势值计算方法,能够计算直接反应网络安全程度的真实态势值,基于该真实态势值建立的网络安全态势预测模型能够代表真实网络安全态势状况,因此采用该网络安全态势预测模型进行网络安全态势预测,能够提高网络安全态势预测的真实性。
基于本发明提供的网络安全态势预测,本发明还提供一种基于机器学习算法的网络安全态势预测系统,所述系统包括:
网络安全态势数据集获取模块,用于获取网络安全态势数据集;所述网络安全态势数据集中包括多条网络流量样本,每条所述网络流量样本具有多个特征;
特征选择和预处理模块,用于基于随机森林对所述网络安全态势数据集中的样本特征进行特征选择和预处理,生成筛选后数据集;
真实态势值计算模块,用于计算所述筛选后数据集中每条网络流量样本的真实态势值,生成态势值数据集;
数据集划分模块,用于根据滑动窗口大小对所述态势值数据集进行划分,划分出训练集样本和测试集样本;
网络安全态势预测模型构建模块,用于基于长短期记忆网络构建网络安全态势预测模型;
模型参数优化模块,用于采用遗传算法对所述网络安全态势预测模型的隐含层神经单元个数进行优化,生成具有最优参数的网络安全态势预测模型;
模型训练测试模块,用于采用所述训练集样本和测试集样本对所述具有最优参数的网络安全态势预测模型进行训练和测试,生成训练好的网络安全态势预测模型;
网络安全态势预测模块,用于采用所述训练好的网络安全态势预测模型进行网络安全态势预测。
其中,所述特征选择和预处理模块具体包括:
重要性评分计算子模块,用于基于基尼指数或基于袋外数据,计算所述网络安全态势数据集中的每个特征的重要性评分;
特征选择子模块,用于根据所述每个特征的重要性评分的大小去除所述网络安全态势数据集中不重要的特征,生成所述特征选择后数据集;
预处理子模块,用于对所述特征选择后数据集进行预处理,生成所述筛选后数据集。
所述重要性评分计算子模块具体包括:
随机森林模型构建单元,用于构建具有n颗决策树的随机森林模型;
基尼指数计算单元,用于采用公式
Figure BDA0003434825160000151
计算决策树中节点 m的基尼指数Ginim;其中pmk表示节点m中类别k的比例,K表示类别总数;
节点重要性计算单元,用于根据所述基尼指数Ginim,采用公式
Figure BDA0003434825160000152
计算特征Xj在决策树中节点m的重要性
Figure BDA0003434825160000153
其中Ginil和Ginir分别表示分枝后两个新节点的基尼指数;
决策树重要性计算单元,用于根据所述重要性
Figure BDA0003434825160000154
采用公式
Figure BDA0003434825160000155
计算特征Xj在第i颗决策树的重要性
Figure BDA0003434825160000156
其中M 表示第i颗决策树中的节点集合;
随机森林重要性计算单元,用于根据所述重要性
Figure BDA0003434825160000157
采用公式
Figure BDA0003434825160000158
计算特征Xj的重要性
Figure BDA0003434825160000159
重要性评分计算单元,用于采用公式
Figure BDA00034348251600001510
对特征Xj的重要性
Figure BDA00034348251600001511
进行归一化处理,得到特征Xj的重要性评分FISj;其中d为特征总数量。
所述重要性评分计算子模块还包括:
随机森林模型构建单元,用于构建具有n颗决策树的随机森林模型;
重要性评分计算单元,用于基于所述随机森林模型,采用公式
Figure BDA0003434825160000161
计算所述网络安全态势数据集中的特征Xj的重要性评分FISj;其中其中err1 OOB表示随机森林的袋外数据误差;
Figure BDA0003434825160000162
表示对特征Xj加入噪声干扰后计算的袋外数据误差。
所述真实态势值计算模块具体包括:
真实态势值计算子模块,用于采用公式
Figure BDA0003434825160000163
计算所述筛选后数据集中每条网络流量样本的真实态势值SA(t);多条所述网络流量样本的真实态势值共同构成所述态势值数据集;其中Ti表示第i条攻击样本的攻击威胁因子;C表示时间段t内的攻击样本数量。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种基于机器学习算法的网络安全态势预测方法,其特征在于,包括:
获取网络安全态势数据集;所述网络安全态势数据集中包括多条网络流量样本,每条所述网络流量样本具有多个特征;
基于随机森林对所述网络安全态势数据集中的样本特征进行特征选择和预处理,生成筛选后数据集;
计算所述筛选后数据集中每条网络流量样本的真实态势值,生成态势值数据集;
根据滑动窗口大小对所述态势值数据集进行划分,划分出训练集样本和测试集样本;
基于长短期记忆网络构建网络安全态势预测模型;
采用遗传算法对所述网络安全态势预测模型的隐含层神经单元个数进行优化,生成具有最优参数的网络安全态势预测模型;
采用所述训练集样本和测试集样本对所述具有最优参数的网络安全态势预测模型进行训练和测试,生成训练好的网络安全态势预测模型;
采用所述训练好的网络安全态势预测模型进行网络安全态势预测。
2.根据权利要求1所述的方法,其特征在于,所述基于随机森林对所述网络安全态势数据集中的样本特征进行特征选择,生成筛选后数据集,具体包括:
基于基尼指数或基于袋外数据,计算所述网络安全态势数据集中的每个特征的重要性评分;
根据所述每个特征的重要性评分的大小去除所述网络安全态势数据集中不重要的特征,生成所述特征选择后数据集;
对所述特征选择后数据集进行预处理,生成所述筛选后数据集。
3.根据权利要求2所述的方法,其特征在于,所述基于基尼指数计算所述网络安全态势数据集中的每个特征的重要性评分,具体包括:
构建具有n颗决策树的随机森林模型;
采用公式
Figure FDA0003434825150000021
计算决策树中节点m的基尼指数Ginim;其中pmk表示节点m中类别k的比例,K表示类别总数;
根据所述基尼指数Ginim,采用公式
Figure FDA0003434825150000022
计算特征Xj在决策树中节点m的重要性
Figure FDA0003434825150000023
其中Ginil和Ginir分别表示分枝后两个新节点的基尼指数;
根据所述重要性
Figure FDA0003434825150000024
采用公式
Figure FDA0003434825150000025
计算特征Xj在第i颗决策树的重要性
Figure FDA0003434825150000026
其中M表示第i颗决策树中的节点集合;
根据所述重要性
Figure FDA0003434825150000027
采用公式
Figure FDA0003434825150000028
计算特征Xj的重要性
Figure FDA0003434825150000029
采用公式
Figure FDA00034348251500000210
对特征Xj的重要性
Figure FDA00034348251500000211
进行归一化处理,得到特征Xj的重要性评分FISj;其中d为特征总数量。
4.根据权利要求2所述的方法,其特征在于,所述基于袋外数据计算所述网络安全态势数据集中的每个特征的重要性评分,具体包括:
构建具有n颗决策树的随机森林模型;
基于所述随机森林模型,采用公式
Figure FDA00034348251500000212
计算所述网络安全态势数据集中的特征Xj的重要性评分FISj;其中其中err1 OOB表示随机森林的袋外数据误差;
Figure FDA00034348251500000214
表示对特征Xj加入噪声干扰后计算的袋外数据误差。
5.根据权利要求1所述的方法,其特征在于,所述计算所述筛选后数据集中每条网络流量样本的真实态势值,生成态势值数据集,具体包括:
采用公式
Figure FDA00034348251500000215
计算所述筛选后数据集中每条网络流量样本的真实态势值SA(t);多条所述网络流量样本的真实态势值共同构成所述态势值数据集;其中Ti表示第i条攻击样本的攻击威胁因子;C表示时间段t内的攻击样本数量。
6.一种基于机器学习算法的网络安全态势预测系统,其特征在于,包括:
网络安全态势数据集获取模块,用于获取网络安全态势数据集;所述网络安全态势数据集中包括多条网络流量样本,每条所述网络流量样本具有多个特征;
特征选择和预处理模块,用于基于随机森林对所述网络安全态势数据集中的样本特征进行特征选择和预处理,生成筛选后数据集;
真实态势值计算模块,用于计算所述筛选后数据集中每条网络流量样本的真实态势值,生成态势值数据集;
数据集划分模块,用于根据滑动窗口大小对所述态势值数据集进行划分,划分出训练集样本和测试集样本;
网络安全态势预测模型构建模块,用于基于长短期记忆网络构建网络安全态势预测模型;
模型参数优化模块,用于采用遗传算法对所述网络安全态势预测模型的隐含层神经单元个数进行优化,生成具有最优参数的网络安全态势预测模型;
模型训练测试模块,用于采用所述训练集样本和测试集样本对所述具有最优参数的网络安全态势预测模型进行训练和测试,生成训练好的网络安全态势预测模型;
网络安全态势预测模块,用于采用所述训练好的网络安全态势预测模型进行网络安全态势预测。
7.根据权利要求6所述的系统,其特征在于,所述特征选择和预处理模块具体包括:
重要性评分计算子模块,用于基于基尼指数或基于袋外数据,计算所述网络安全态势数据集中的每个特征的重要性评分;
特征选择子模块,用于根据所述每个特征的重要性评分的大小去除所述网络安全态势数据集中不重要的特征,生成所述特征选择后数据集;
预处理子模块,用于对所述特征选择后数据集进行预处理,生成所述筛选后数据集。
8.根据权利要求7所述的系统,其特征在于,所述重要性评分计算子模块具体包括:
随机森林模型构建单元,用于构建具有n颗决策树的随机森林模型;
基尼指数计算单元,用于采用公式
Figure FDA0003434825150000041
计算决策树中节点m的基尼指数Ginim;其中pmk表示节点m中类别k的比例,K表示类别总数;
节点重要性计算单元,用于根据所述基尼指数Ginim,采用公式
Figure FDA0003434825150000042
计算特征Xj在决策树中节点m的重要性
Figure FDA0003434825150000043
其中Ginil和Ginir分别表示分枝后两个新节点的基尼指数;
决策树重要性计算单元,用于根据所述重要性
Figure FDA0003434825150000044
采用公式
Figure FDA0003434825150000045
计算特征Xj在第i颗决策树的重要性
Figure FDA0003434825150000046
其中M表示第i颗决策树中的节点集合;
随机森林重要性计算单元,用于根据所述重要性
Figure FDA0003434825150000047
采用公式
Figure FDA0003434825150000048
计算特征Xj的重要性
Figure FDA0003434825150000049
重要性评分计算单元,用于采用公式
Figure FDA00034348251500000410
对特征Xj的重要性
Figure FDA00034348251500000411
进行归一化处理,得到特征Xj的重要性评分FESj;其中d为特征总数量。
9.根据权利要求7所述的系统,其特征在于,所述重要性评分计算子模块具体包括:
随机森林模型构建单元,用于构建具有n颗决策树的随机森林模型;
重要性评分计算单元,用于基于所述随机森林模型,采用公式
Figure FDA0003434825150000051
计算所述网络安全态势数据集中的特征Xj的重要性评分FESj;其中其中err1 OOB表示随机森林的袋外数据误差;
Figure FDA0003434825150000052
表示对特征Xj加入噪声干扰后计算的袋外数据误差。
10.根据权利要求6所述的系统,其特征在于,所述真实态势值计算模块具体包括:
真实态势值计算子模块,用于采用公式
Figure FDA0003434825150000053
计算所述筛选后数据集中每条网络流量样本的真实态势值SA(t);多条所述网络流量样本的真实态势值共同构成所述态势值数据集;其中Ti表示第i条攻击样本的攻击威胁因子;C表示时间段t内的攻击样本数量。
CN202111610807.3A 2021-12-27 2021-12-27 一种基于机器学习算法的网络安全态势预测方法及系统 Pending CN114511131A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111610807.3A CN114511131A (zh) 2021-12-27 2021-12-27 一种基于机器学习算法的网络安全态势预测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111610807.3A CN114511131A (zh) 2021-12-27 2021-12-27 一种基于机器学习算法的网络安全态势预测方法及系统

Publications (1)

Publication Number Publication Date
CN114511131A true CN114511131A (zh) 2022-05-17

Family

ID=81548521

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111610807.3A Pending CN114511131A (zh) 2021-12-27 2021-12-27 一种基于机器学习算法的网络安全态势预测方法及系统

Country Status (1)

Country Link
CN (1) CN114511131A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115242441A (zh) * 2022-06-21 2022-10-25 浙江工业大学 一种基于特征选择和深度神经网络的网络入侵检测方法
CN115277159A (zh) * 2022-07-22 2022-11-01 重庆邮电大学 一种基于改进随机森林的工业互联网安全态势评估方法
CN115378653A (zh) * 2022-07-25 2022-11-22 中国电子科技集团公司第三十研究所 一种基于lstm和随机森林的网络安全态势感知与预测方法及系统
CN115567300A (zh) * 2022-09-27 2023-01-03 中国人民解放军军事科学院战略评估咨询中心 一种用于网络安全分析的数据处理方法及装置
CN118504796A (zh) * 2024-07-18 2024-08-16 清华大学 一种城市固废未来产生量的预测方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102185735A (zh) * 2011-04-26 2011-09-14 华北电力大学 一种网络安全态势预测方法
CN107786369A (zh) * 2017-09-26 2018-03-09 广东电网有限责任公司电力调度控制中心 基于irt层次分析和lstm的电力通信网络安全态势感知和预测方法
CN108306894A (zh) * 2018-03-19 2018-07-20 西安电子科技大学 一种基于攻击发生置信度的网络安全态势评估方法及系统
US20190080240A1 (en) * 2017-09-08 2019-03-14 SparkCognition, Inc. Execution of a genetic algorithm with variable evolutionary weights of topological parameters for neural network generation and training
CN109779604A (zh) * 2018-12-17 2019-05-21 中国石油大学(北京) 用于诊断井漏的建模方法及诊断井漏的方法
CN110636066A (zh) * 2019-09-24 2019-12-31 中国民航大学 基于无监督生成推理的网络安全威胁态势评估方法
CN111191683A (zh) * 2019-12-13 2020-05-22 南京邮电大学 基于随机森林和贝叶斯网络的网络安全态势评估方法
CN113065699A (zh) * 2021-03-22 2021-07-02 国家电网有限公司 一种基于进化神经网络的电力信息网安全态势量化方法
CN113259325A (zh) * 2021-04-21 2021-08-13 桂林电子科技大学 基于麻雀搜索算法优化Bi-LSTM的网络安全态势预测方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102185735A (zh) * 2011-04-26 2011-09-14 华北电力大学 一种网络安全态势预测方法
US20190080240A1 (en) * 2017-09-08 2019-03-14 SparkCognition, Inc. Execution of a genetic algorithm with variable evolutionary weights of topological parameters for neural network generation and training
CN107786369A (zh) * 2017-09-26 2018-03-09 广东电网有限责任公司电力调度控制中心 基于irt层次分析和lstm的电力通信网络安全态势感知和预测方法
CN108306894A (zh) * 2018-03-19 2018-07-20 西安电子科技大学 一种基于攻击发生置信度的网络安全态势评估方法及系统
CN109779604A (zh) * 2018-12-17 2019-05-21 中国石油大学(北京) 用于诊断井漏的建模方法及诊断井漏的方法
CN110636066A (zh) * 2019-09-24 2019-12-31 中国民航大学 基于无监督生成推理的网络安全威胁态势评估方法
CN111191683A (zh) * 2019-12-13 2020-05-22 南京邮电大学 基于随机森林和贝叶斯网络的网络安全态势评估方法
CN113065699A (zh) * 2021-03-22 2021-07-02 国家电网有限公司 一种基于进化神经网络的电力信息网安全态势量化方法
CN113259325A (zh) * 2021-04-21 2021-08-13 桂林电子科技大学 基于麻雀搜索算法优化Bi-LSTM的网络安全态势预测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CSDN_LZW: ""随机深林-特征重要性计算方式"", pages 1 - 2, Retrieved from the Internet <URL:https://blog.csdn.net/zjuPeco/article/details/77371645> *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115242441A (zh) * 2022-06-21 2022-10-25 浙江工业大学 一种基于特征选择和深度神经网络的网络入侵检测方法
CN115277159A (zh) * 2022-07-22 2022-11-01 重庆邮电大学 一种基于改进随机森林的工业互联网安全态势评估方法
CN115277159B (zh) * 2022-07-22 2023-05-23 重庆邮电大学 一种基于改进随机森林的工业互联网安全态势评估方法
CN115378653A (zh) * 2022-07-25 2022-11-22 中国电子科技集团公司第三十研究所 一种基于lstm和随机森林的网络安全态势感知与预测方法及系统
CN115378653B (zh) * 2022-07-25 2024-04-23 中国电子科技集团公司第三十研究所 一种基于lstm和随机森林的网络安全态势感知与预测方法及系统
CN115567300A (zh) * 2022-09-27 2023-01-03 中国人民解放军军事科学院战略评估咨询中心 一种用于网络安全分析的数据处理方法及装置
CN118504796A (zh) * 2024-07-18 2024-08-16 清华大学 一种城市固废未来产生量的预测方法及系统
CN118504796B (zh) * 2024-07-18 2024-09-24 清华大学 一种城市固废未来产生量的预测方法及系统

Similar Documents

Publication Publication Date Title
CN114511131A (zh) 一种基于机器学习算法的网络安全态势预测方法及系统
CN110460605B (zh) 一种基于自动编码的异常网络流量检测方法
Araújo et al. Identifying important characteristics in the KDD99 intrusion detection dataset by feature selection using a hybrid approach
CN112887325B (zh) 一种基于网络流量的电信网络诈骗犯罪欺诈识别方法
CN112217787B (zh) 一种基于ed-gan的仿冒域名训练数据生成方法及系统
CN109657147B (zh) 基于萤火虫和加权极限学习机的微博异常用户检测方法
CN109857457B (zh) 一种在双曲空间中学习源代码中的函数层次嵌入表示方法
CN110781406A (zh) 一种基于变分自动编码器的社交网络用户多属性推断方法
CN112351033B (zh) 工控网络中基于双种群遗传算法的深度学习入侵检测方法
CN110166454A (zh) 一种基于自适应遗传算法的混合特征选择入侵检测方法
CN112738014A (zh) 一种基于卷积时序网络的工控流量异常检测方法及系统
CN116015967B (zh) 基于改进鲸鱼算法优化delm的工业互联网入侵检测方法
CN108446562B (zh) 基于禁忌与人工蜂群双向优化支持向量机的入侵检测方法
Ghalehgolabi et al. Intrusion detection system using genetic algorithm and data mining techniques based on the reduction
CN114021738A (zh) 一种基于分布式生成对抗模型的联邦学习方法
CN115242441A (zh) 一种基于特征选择和深度神经网络的网络入侵检测方法
CN112910866B (zh) 一种面向网络入侵检测的特征选择方法
CN107480724A (zh) 一种聚类中心的确定方法、确定系统及一种聚类方法
CN114943866B (zh) 基于进化神经网络结构搜索的图像分类方法
CN114124456B (zh) 综合能源系统安全检测方法、装置、电子设备及存储介质
CN115906080A (zh) 一种以太坊网络钓鱼检测方法、系统、电子设备及介质
CN113672932A (zh) 一种基于自适应熵值权重的电力物联网智能终端可信计算信任值获取方法
CN114048796A (zh) 一种改进型硬盘故障预测方法及装置
Sendhoff et al. Analysis of possible genome-dependence of mutation rates in genetic algorithms
CN115473672B (zh) 一种基于在线交互式web动态防御的防漏洞探测方法

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