掌桥专利:专业的专利平台
掌桥专利
首页

一种网络攻击分类的图卷积神经网络解决方法

文献发布时间:2024-04-18 19:59:31


一种网络攻击分类的图卷积神经网络解决方法

技术领域

本发明涉及网络攻防领域和深度学习领域,具体涉及一种网络攻击分类的图卷积神经网络解决方法。

背景技术

随着大数据、云计算、人工智能等网络信息技术的不断发展,网络攻击的方式也在逐渐成熟。与此同时,国家、企业和个人的网络安全也面临着严峻的挑战。而互联网上的大多数攻击都是渗透攻击,如APT28攻击,为了达到攻击目的,可能会针对特定系统和软件,组织多种攻击方式,逐步在系统中渗透。传统的防御手段如入侵检测、入侵防御在面对大规模渗透攻击时略显不足,因此整合已有攻击信息显得十分重要。而图卷积神经网络的兴起,为实现网络攻击分类提供了一种新思路。

在传统的机器学习中,通常利用特征工程提取特征,需要人工选择和提取与任务相关的特征,但特征工程是一个耗时且困难的过程,不适用于复杂的高维数据或大规模网络,并且无法捕获网络中的潜在模式。

在传统的分类方法中,如决策树、支持向量机、逻辑回归等不适用于网络数据中节点之间的关系和连接结构的分析,无法充分利用图数据的信息。

发明内容

本发明为了解决现有的机器学习方法在处理网络时需要手动提取特征和传统的分类方法可能无法适应动态变化的网络结构等问题,提供一种网络攻击分类的图卷积神经网络解决方法。

一种网络攻击分类的图卷积神经网络解决方法,由以下步骤实现:

步骤一、收集CVE、CWE和CAPEC数据库中的条目并作为软件安全实体,爬取CVE、CWE、CAPEC之间的关系,并确定与CWE相关的CVE和CAPEC的描述文本,根据词频确定各自的特征词,根据所述各自的特征词获得CVE、CWE、CAPEC特征矩阵;

步骤二、将步骤一获得的CVE、CWE、CAPEC特征矩阵按照CVE、CWE、CAPEC顺序组合,并在最后一列标记CVE标签类别,形成CVE的标签向量,最终作为GCN模型的特征数据;

步骤三、利用CWE和CVE之间的关系,形成关系数据;读取GCN模型的特征数据,将CVE的特征词转化成键值对形成特征矩阵,将标签向量转化成标签独热码,利用索引字典给节点名编号;

步骤四、读取关系数据,利用索引字典给边编号并构建边的邻接矩阵,将邻接矩阵转化成转置且对称的矩阵,将特征矩阵和邻接矩阵归一化;

步骤五、将特征数据划分为训练集、验证集和测试集;将特征矩阵、标签向量和邻接矩阵转化为GCN模型输入的向量形式;

步骤六、初始化GCN模型,构造优化器模型对象optimizer、epoch训练模型、两层卷积积层操作;最终输出每个CVE是某个类别的概率,将同类的CVE附于同类别的标签;

步骤七、输出训练集、验证集和测试集的准确率accuracy和最大似然损失函数loss,实现对模型的验证。

本发明的有益效果:本发明所述的方法,利用图卷积神经网络(GCN)在网络攻击分类中具有卓越的性能,具体优点如下:

1.结合图结构和节点特征:GCN能够有效地结合图结构信息和节点特征,通过卷积操作在节点之间传播特征。这种结合使得模型能够全面理解节点与其周围节点的关系,从而更好地捕捉攻击行为在网络拓扑中的传播和影响。

2.适用性广泛:GCN模型适用于不同类型的图数据,可以用于不同网络结构和拓扑的攻击分类。它能够处理各种网络环境,包括社交网络、通信网络、物联网等,因此具有广泛的适用性。

3.自动特征学习:GCN可以自动从图数据中学习到合适的特征,无需大量的人工特征工程。这减少了模型设计和特征选择的工作,使模型更具通用性。

4.高准确性:GCN模型在网络攻击分类任务中通常表现出较高的准确性。它能够更好地捕捉网络拓扑结构和攻击的模式,从而更准确地分类攻击。这使得GCN成为网络安全领域中一种强大的工具,有助于准确检测和分类各种类型的网络攻击。

附图说明

图1为本发明所述的一种网络攻击分类的图卷积神经网络解决方法中对词频F进行判断的流程图。

具体实施方式

结合图1说明本实施方式,一种网络攻击分类的图卷积神经网络解决方法,具体包括以下步骤:

步骤1、将CVE、CWE和CAPEC数据库中的条目视为软件安全实体,其中,CVE是特定的安全实体,CWE和CAPEC代表抽象的安全概念。有些CWE可以查询到相关的CVE和CAPEC,利用网页爬取出带有CVE、CAPEC的CWE,并爬取CVE、CWE、CAPEC之间的关系,例如CWE22实例有CVE-2019-20916、CVE-2022-31503、CVE-2022-24877等,相关攻击模式有CAPEC-126、CAPEC-64、CAPEC-76、CAPEC-78和CAPEC-79。最后,爬取出CWE22:CVE-2019-20916、CVE-2022-31503、CVE-2022-24877……;CAPEC-126、CAPEC-64、CAPEC-76、CAPEC-78和CAPEC-79。之后把所有与CWE相关的CVE和CAPEC的描述根据词频确定出各自的特征词。例如将CWE描述放入一个文本文件中,利用python将读取文件并将文件进行分词,之后统计词频,从高到低排序,然后取前i个词作为CWE的特征词。将与CWE相关的CVE和CAPEC利用同样方法确定特征词。

步骤2、利用CVE、CWE、CAPEC之间的关系构建CVE、CWE、CAPEC特征向量(独热码)形成特征数据。利用步骤1统计词频中的分词的方式将CVE描述分开,之后统计词频转换为特征词。

步骤3、读取和CWE有关的CVE和CAPEC数据(也包括CWE数据),处理CWE、CVE、CAPEC的描述文本并对其进行分割,将分割后的数据统计词频F从高到低排序。

步骤4、分别将CWE、CVE和CAPEC对应的F执行下面操作。

步骤5、判断F是否在变量i之前,如果在i之前,执行步骤6;否则执行步骤7。

步骤6、判断词频F的词是否是CWE的描述,若是,就将该词确定为CWE的特征词之后对下个词执行步骤5;否则执行步骤8。

步骤7、将前i个词确定为对应数据集的特征词之后跳出循环。

步骤8、判断词频F的词是否是CVE的描述,若是,就将该词确定为CVE的特征词之后对下个词执行步骤5;否则确定该词为CAPEC的特征词接着对下个词执行步骤5。

步骤9、直到所有CWE、CVE、CAPEC确定了各自的特征词,并整理出CWE、CVE和CAPEC特征矩阵。

步骤10将CVE、CWE和CAPEC特征矩阵按照CVE、CWE、CAPEC顺序组合起来,并在最后一列标记CVE标签类别,形成CVE的标签向量,这就是GCN模型的特征数据。

步骤11、利用CWE和CVE之间的关系,将有相同CWE的CVE联系在一起,并去掉重复的,最后形成关系数据。

步骤12、读取特征数据,将CVE的特征词转化成键值对形成特征矩阵,标签向量利用字典等方法转化成标签独热码,之后利用索引字典给节点名编号。

步骤13、读取关系数据,利用索引字典构建节点的邻接矩阵;将邻接矩阵转化成转置且对称的矩阵,将特征矩阵和邻接矩阵归一化。

步骤14、将GCN模型的特征数据划分为训练集、验证集和测试集。将特征矩阵、标签向量和邻接矩阵转化为GCN模型输入的向量形式。

步骤15、初始化GCN模型:首先在GCN层初始化底层节点个数、隐层节点个数,之后传到卷积层按照GraphConvolution的父类Module的初始化方式进行初始化,并利用Parameter函数定义权重(W)和bias(偏置)。在GCN中,每个节点都与其邻居节点有连接权重,这些权重在图卷积操作中用于加权邻居节点的特征以更新目标节点的表示。偏置可以用于每个节点的线性变换,通常添加到节点的特征表示上,以产生节点的最终表示。最后初始化分类个数和dropout参数。

步骤16、通过构造优化器模型对象optimizer,用来保存当前状态,并根据计算得到梯度更新参数,该优化器是用于训练GCN模型的工具,以便让模型能够学会从图数据中提取有用的信息。之后利用time包中的time()函数记录当前时间戳。

步骤17、通过epoch训练模型,模型输入为特征矩阵X和邻接矩阵A,之后进入GCN模型前向传播函数,表达式如下所示:

其中,GCN每一层通过邻接矩阵A和特征矩阵H

步骤18、进行第一层卷积层操作,通过执行图卷积(GraphConvolution)中的前向传播(Forward)得到AXW再利用ReLu激活函数得到ReLu(AXW)。

其中,GraphConvolution是在图结构上执行卷积操作,更新图中节点表示,以捕捉节点之间的关系。Forward表示前向传播过程,即通过该操作将输入数据传递到下一层的过程。在Forward操作中,GraphConvulution会将图中的节点特征传递给下一层,并经过一系列数学操作来计算节点的新表示。AXW表示A乘以X乘以W,这是一种线性操作,它将节点特征通过权重矩阵进行线性组合,并考虑了图的结构。ReLu(AXW)表示将线性变换的结果AXW应用于ReLu激活函数,这个激活函数引入非线性性质,使得网络能够学习更复杂的特征和表示。

步骤19、通过第二层卷积层的Forward得到AReLu(AXW)W再利用softmax激活函数得到softmax(AReLu(AXW)W),如以下表达式所示:

其中,X是输入的特征矩阵,A是邻接矩阵,0是第一个卷积层,1是第二个卷积层,softmax函数可表示每个节点属于各个类别的概率。

步骤20、输出为一个向量表示每个CVE是某个类别的概率,最后将同类的CVE附于同类别的标签。

步骤21、重复上述步骤验证GCN模型,最终输出训练集、验证集和测试集的accuracy和loss。accuracy表示准确率,loss表示最大似然损失函数。

上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

相关技术
  • 一种用于控制车辆自适应巡航车距的方法及车用跟随行驶控制装置
  • 一种多智能体编队跟踪控制方法及系统
  • 一种多智能体编队控制方法及系统
  • 用于求得将要驶过的轨迹和/或实施行驶干预的车辆系统的运行方法、控制系统的运行方法和机动车
  • 一种智能语音车锁及其控制系统和控制方法
  • 一种针对智能车群的编队行驶控制方法及系统
  • 一种针对智能车群的编队行驶控制方法及系统
技术分类

06120116521530