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

一种基于图卷积神经网络的多步攻击推理方法

文献发布时间:2024-04-18 20:01:23


一种基于图卷积神经网络的多步攻击推理方法

技术领域

本发明涉及网络攻防领域和深度学习领域,具体涉及一种基于图卷积神经网络的多步攻击推理方法。

背景技术

随着信息技术的不断发展,网络攻击也日益复杂和隐蔽。例如,当面对不断更新的新漏洞或攻击模式时,防御者往往无法掌握最新的攻击技术和漏洞信息,以及相应的有效防御策略,以保持与攻击者的平衡,传统的安全防护方法已经不能完全保障网络的安全。现有的网络攻击推理方法有基于平移距离模型和神经网络的单步推理,但推理效果都不是很理想,推理预测的结果可解释性差,也存在无法处理网络攻击数据之间的复杂关系的问题。

为了更好的对网络攻击数据进行推理预测研究,本文提出基于图卷积神经网络的多步攻击推理模型,通过获取网络攻击数据CVE、CWE、CAPEC、ATT的实体关系的特征输入到图卷积神经网络模型进行分类,按照分类结果构建网络安全知识图谱,提取出各个实体以及他们之间的关系来生成三元组,并使用基于路径的多步攻击推理模型进行推理。通过结合图卷积神经网络对数据分类来进行多步推理,对复杂的攻击场景数据进行分类和推理分析,识别和分析这些隐藏的攻击路径和攻击手段,进一步加强安全防御和预防潜在的攻击。

发明内容

本发明为解决网络攻击的推理预测难以识别隐藏的攻击路径和攻击手段以及单步攻击推理可解释性差等问题,提供一种基于图卷积神经网络的多步攻击推理方法。

一种基于图卷积神经网络的多步攻击推理方法,由以下步骤实现:

步骤一、收集网络攻击数据,并获取CVE、CWE、CAPEC、ATT数据的描述信息,构建关系数据表;

步骤二、对所述CVE、CWE、CAPEC、ATT数据的描述信息分别进行文本预处理,获得对应数据的特征向量;

步骤三、将CVE、CWE、CAPEC和ATT的特征向量按照步骤一构建的关系数据表进行组合,并在最后一列标记特征向量所属的APT组织名称,构建网络攻击数据的特征矩阵X;

步骤四、利用步骤一中提取的关系数据表,将同一个APT组织所使用的CVE数据设定为有关系,将有关系的CVE数据构建关系矩阵C;根据所构建的关系矩阵C,构建邻接矩阵A,判断各节点是否有关系,将有关系的节点的邻接矩阵中的元素置1,否则置为0;

步骤五、初始化GCN模型,并将所述特征矩阵X和进行归一化后的邻接矩阵输出GCN模型进行所述GCN模型训练操作;并对训练后的GCN模型进行测试,输出网络攻击数据的分类结果;

步骤六、采用步骤五的分类结果,构建属于不同APT组织的网络攻击知识图谱;

步骤七、将所述网络攻击知识图谱输入至PTransE多步攻击推理模型,最终输出网络攻击推理预测的结果。

本发明的有益效果:本发明所述的基于图卷积神经网络的多步攻击推理方法,通过抽取威胁情报中的实体数据生成网络攻击数据,利用GCN捕捉网络攻击中的复杂拓扑结构信息,包括节点之间的连接和依赖关系,从而更好地理解攻击者的行为模式和攻击路径,进而标记网络攻击数据的APT组织类别。根据分类结果构建网络攻击知识图谱,从而对网络攻击复杂关系进行可视化表示,帮助揭示攻击事件之间的潜在模式和规律。最终通过PTransE多步攻击推理模型寻找步长大于1的推理路径,对复杂的攻击场景数据进行推理分析,识别和分析这些隐藏的攻击路径和攻击手段,深入理解攻击者的行为模式和策略,提供更详尽的攻击行为分析和评估,有助于预测和预防未来可能的攻击行动,加强网络安全防御体系,提升对复杂攻击场景的应对能力。

附图说明

图1为本发明所述的一种基于图卷积神经网络的多步攻击推理方法中GCN模型的流程图;

图2为本发明所述的一种基于图卷积神经网络的多步攻击推理方法中PTransE多步攻击推理模型的流程图;

图3为特征矩阵的示意图;

图4为初始化GCN模型的示意图。

具体实施方式

结合图1至图4说明本实施方式,一种基于图卷积神经网络的多步攻击推理方法,具体包括以下步骤:

步骤1、根据国内外多源异构的威胁情报,如MITRE公司漏洞库、360安全漏洞库、VERIS安全社区等公开发布的威胁报告中收集网络攻击数据的相关描述信息,包含CVE、CWE、CAPEC、ATT四类数据,将其作为软件安全实体;爬取出上述实体之间的相互依赖关系,通过排列组合的形式构建CVE、CWE、CAPEC、ATT关系数据表。

步骤2、对CVE、CWE、CAPEC、ATT的描述信息分别进行文本预处理;以CVE文本处理为例:将描述信息按照实词进行文本分割,设置累加器count来统计分割后的词语数量并按照数量进行由高到低排序,选取前i个词语作为CVE软件安全实体的高频词;CWE、CAPEC、ATT等软件安全实体描述信息的处理同CVE所述。

步骤3、将高频词汇构建成一个词汇表,为每个单词分配一个唯一的索引,用于表示文本数据的特征向量。

步骤4、特征向量的每个维度对应于词汇表中的词语是否存在于这条描述中。如果这条描述中存在哪些词汇,则将哪些维度的特征向量标注为1;如果不存在,则标注为0。具体示例如图3features部分所示。

步骤5、将CVE、CWE、CAPEC和ATT的特征向量按照步骤1构建的CVE、CWE、CAPEC、ATT关系数据表进行组合,并在最后一列标记此条特征向量所属的APT组织名称,构建网络攻击数据的特征矩阵X,如图3所示。所述特征矩阵X为一个N*D的矩阵,N表示节点数量,D表示每个节点的特征维度。

步骤6、利用步骤1中提取的CVE、CWE、CAPEC、ATT关系数据表,将同一个APT组织所使用的CVE数据定为有关系,将这些CVE数据构建关系矩阵C。根据所构建的关系矩阵C,构建邻接矩阵A,判断各个节点是否有关系,并将有关系的节点的邻接矩阵中元素置为1,否则置为0。

步骤7、初始化GCN模型(如图4所示)和参数。初始化GCN底层节点个数、迭代次数epoch、学习速率learning_rate、隐藏节点数Hidden_dim,之后卷积层按照父类Module初始化模型,并定义权重矩阵W和学习偏差bias,最后初始化分类个数和dropout参数。

步骤8、判断迭代次数epoch是否小于预先设定的总次数,如果是,执行步骤9,否则,执行步骤14;

步骤9、将步骤5构建的邻接矩阵A通过

步骤10、在第一层卷积层中应用ReLU非线性激活函数进行非线性变换,得到H

步骤11、第二个卷积层将第一层的输出H

步骤12、通过两层卷积层操作后,利用Softmax函数将模型的输出转换为概率分布,选择最高概率结果作为分类结果;迭代次数epoch加1,返回步骤8。

步骤13、如果迭代次数epoch超过预设总次数,则执行步骤14;否则,执行步骤9。

步骤14、GCN模型输出网络攻击数据的分类结果,并根据分类结果计算测试的准确率accuracy和损失函数loss用于评估该模型在网络攻击数据分类方面的性能。

步骤15、根据步骤14中的分类结果,构建属于不同APT组织的网络攻击知识图谱。

步骤16、根据分类结果构建对应的网络攻击知识图谱,使用neo4j的查询语句抽取出实体关系三元组,并进行训练集和测试集的划分。

步骤17、初始化PTransE多步攻击推理模型;判断是否存在路径置信度文件,如果是,执行步骤19,否则,执行步骤18。

步骤18、采用图结构的深度优先算法(DFS)遍历图中节点寻找推理路径,设置遍历的深度为2,如果没达到步长为2,继续执行深度优先遍历,否则,终止遍历,获得每个节点步长为2的路径以及计算出每条路径的总置信度存入置信度文件。利用式子R(p

步骤19、进行训练以及对实体关系三元组进行向量初始化,判断迭代次数epochs是否小于预设值;如果是,执行步骤20,否则,执行步骤22。

步骤20、生成三元组负样本数据。

利用random随机函数选择一个步骤16中抽取的三元组数据,通过判断随机数tmp_rand是否小于25;如果是,替换三元组尾实体,否则,继续判断随机数tmp_rand是否小于50;如果是,替换三元组头实体,否则,替换三元组中实体之间的关系。例如,假设通过random随机函数选定了三元组数据[CVE-2008-0600,weakness,CWE-20],再生成一个随机数tmp_rand,如果tmp_rand<25,将替换该三元组的尾实体,替换得到[CVE-2008-0600,weakness,CWE-136];如果25≤tmp_rand<50,将替换该三元组的头实体,替换得到[CVE-2013-1584,weakness,CWE-20];如果tmp_rand≥50,将替换该三元组的关系,替换得到[CVE-2008-0600,attack,CWE-20]。每次替换得到的三元组作为负样本数据。

步骤21、步骤20中生成的负样本和正样本通过损失函数loss计算得到实体和关系的向量表示并进行归一化操作;迭代次数epochs加1,返回步骤19。

步骤22、对步骤18中遍历得到的步长为2的路径进行关系组合,组合方式采用两种:关系相加(add)和关系相乘(mul)。

步骤23、进行推理测试。利用能量函数G(h,r,t)=E(h,r,t)+E(h,P,t)计算组合关系与已知元素构成的三元组的能量;其中,E(h,r,t)=||h+r-t||,

式中,h,r,t分别表示步骤16提取的三元组的头实体、关系、尾实体,E(h,r,t)建模了头尾实体间的直接关系关联,E(h,P,t)建模了头尾实体之间通过多步关系路径建立的间接关系关联。

在E(h,P,t)式中,R(p

P(h,t)代表实体h和实体t之间的多条关系路径,具体表示为P(h,t)={p

步骤24、选择能量最高的三元组作为网络攻击数据推理预测的结果,计算测试的模型指标MRR和Hit@10,其中Mean Reciprocal Rank(MRR)为三元组的待预测元素的正确答案在所有候选答案中的排名的平均值,Hits@10为三元组的待预测元素的正确答案排名在前10的比例,用于评估PTransE多步推理模型在网络攻击数据推理预测方面的性能。

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

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

相关技术
  • 球床式高温气冷堆燃料装卸系统及其暂存模块
  • 球床式高温气冷堆燃料装卸系统及其暂存模块
技术分类

06120116548328