一种基于网络节点拓扑结构的对抗攻击检测方法和系统转让专利

申请号 : CN202110034275.7

文献号 : CN112733136B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 宣琦朱俊豪单雅璐

申请人 : 浙江工业大学

摘要 :

一种基于网络节点拓扑结构的对抗攻击检测方法,包括以下步骤:S1导入网络并选取节点作为攻击对象;S2计算5种网络拓扑性质:聚类系数、介数中心性、接近中心性、特征向量中心性以及邻居节点平均度值;S4特征向量空间构建;S5利用对抗攻击方法对网络进行攻击;S6在被攻击的网络中提取5种网络拓扑性质并构建向量空间;S7采用机器学习中的分类器模型随机森林,对S4和S6提取的特征向量采用留出法验证,得出分类精度。本发明还提供了基于网络节点拓扑结构的对抗攻击检测系统。本发明利用多种节点在网络中的拓扑性质来检测节点是否被某一对抗攻击方法所攻击,降低了检测算法的复杂度,普遍适用于各类攻击方法,并取得了较高的检测精度。

权利要求 :

1.一种基于网络节点拓扑结构的对抗攻击检测方法,其特征在于,所述攻击检测方法包括以下步骤:

S1:导入网络G=(V,E),其中V表示网络中的节点集合,E表示网络中的连边的集合,设一个网络中共存在N个节点,M条连边;对于这一网络,假设节点μ可能被某种针对节点分类任务的攻击方法所攻击;

S2:在原始网络中计算节点μ的5个网络拓扑性质,5个网络拓扑性质的计算如下:

2.1)计算节点μ的聚类系数,即Clustering Coefficient;聚类系数被用来衡量一个节点的邻居节点之间的联系程度;它被定义为与该节点相连的节点之间实际连接的连边数目与理论上最大连接数之间的比值;节点μ的聚类系数被计算为其中Lμ表示与节点μ连接的邻居节点之间实际存在的连边数量,kμ表示与节点μ连接的邻居节点数量,也被称为节点μ的度;

2.2)计算节点μ的介值中心性,即Betweenness Centrality;介值中心性被用来衡量一个节点的重要性;对于节点μ,该节点的介值中心性被定义为从任一节点到另一节点的最短路径通过节点μ的路径数量与任意两节点之间最短路径数量之和之间的比值,即节点μ的介值中心性被计算为

其中,gst表示节点s和节点t之间的所有最短路径数量,而 则表示从节点s到节点t的最短路径中通过节点μ的路径数量;

2.3)计算节点μ的接近中心性,即Closeness Centrality;接近中心性被用来衡量一个节点与其他节点之间的联系;对于节点μ,它被定义为其他节点到这一节点的平均距离的倒数,即节点μ的接近中心性被计算为

其中,dμj表示为节点j到节点μ的距离,而N为网络中的所有节点的数量;

2.4)计算节点μ的特征向量中心性,即Eigenvector Centrality;特征向量中心性同样被用来表征节点的重要性;不同于介值中心性,特征向量中心性认为一个节点的重要性与其邻居节点的重要性有关,对于节点μ,其特征向量中心性被计算为其中,c是一个预设参数,aμj为一个二值变量,用来表示节点μ和节点j间是否存在连边,若aμj=1则表示节点μ和节点j之间存在连边;反之则表示二者之间无连边;xj为节点j的重要性度量值;

2.5)计算节点μ的邻居节点平均度值,即Average Neighbor Degree;对于任一节点μ,邻居节点度被定义为该节点的邻居节点的平均度值,即其中,kμ表示为节点μ的邻居节点数,即节点μ的度值;N(μ)表示由节点μ的所有邻居节点组成的集合;

S3:特征向量空间构建;将在S2中得到的5个网络结构特征以横向拼接的形式进行特征空间扩展,从而,对每一个节点,可以得到该节点在原始网络中的一个维度为1×5的特征向量, 特征向量中网络拓扑性质的排列顺序是任意的,但此排列顺序一旦确定,对于所有节点的特征向量都应保持这样的排列顺序;

S4:利用网络中的对抗攻击方法针对节点μ进行攻击,获得被攻击的网络;

S5:在攻击后的网络中计算节点μ的5个网络拓扑性质,对被攻击网络中的节点μ计算其网络拓扑性质特征,如步骤S2;计算5个网络拓扑性质后以横向拼接的方式构建节点μ的特征向量 如步骤S3;

S6:采用机器学习中的分类器模型对所有节点利用留出法验证,将所有节点以一定比例划分成训练集和测试集,得出分类精度;将S3和S5中得到的各个节点的特征向量作为输入。

2.根据权利要求1所述的一种基于网络节点拓扑结构的对抗攻击检测方法,所述步骤S2中特征向量中心性计算中,预设参数c被设置为1,每个节点的重要性度量值设置为1。

3.根据权利要求1所述的一种基于网络节点拓扑结构的对抗攻击检测方法,所述步骤S4中所采用的攻击方法,可以选用Nettack、GradArgmax、Meta Gradient attack攻击方法中任意一种进行攻击。

4.根据权利要求1所述的一种基于网络节点拓扑结构的对抗攻击检测方法,所述步骤S6中利用留出法对所有节点的检测效果进行验证,此方法以80%和20%的比例来将节点划分为训练集和测试集;并且选取随机森林作为节点检测的分类器,随机森林中树的数量设置为256,将最小Cost‑Complexity剪枝参数设定为0.05,树的最大深度设置为50。

5.一种基于网络节点拓扑结构的对抗攻击检测系统,其特征在于:包括原始网络图导入模块、原始网络拓扑性质计算模块、原始特征向量构建模块、攻击原始网络模块、被攻击网络拓扑性质计算模块、受攻击后特征向量构建模块、随机森林分类器,原始网络图导入模块向原始网络拓扑性质计算模块和攻击原始网络模块导入网络G=(V,E),原始网络图导入模块由原始网络拓扑性质计算模块向原始特征向量构建模块输出节点μ的聚类系数、节点μ的介值中心性、节点μ的接近中心性、节点μ的特征向量中心性、节点μ的邻居节点平均度值;

攻击原始网络模块向被攻击网络拓扑性质计算模块输出被攻击的网络;被攻击网络拓扑性质计算模块向受攻击后特征向量构建模块输出被攻击网络中节点μ的5个网络拓扑性质特征;原始特征向量构建模块和受攻击后特征向量构建模块分别向随机森林分类器输出各节点的特征向量;

原始网络图导入模块导入网络G=(V,E),其中V表示网络中的节点集合,E表示网络中的连边的集合,设一个网络中共存在N个节点,M条连边;对于这一网络,假设节点μ可能被某种针对节点分类任务的攻击方法所攻击;

原始网络拓扑性质计算模块,在原始网络中计算节点μ的5个网络拓扑性质,5个网络拓扑性质的计算如下:

2.1)计算节点μ的聚类系数,即Clustering Coefficient;聚类系数被用来衡量一个节点的邻居节点之间的联系程度;它被定义为与该节点相连的节点之间实际连接的连边数目与理论上最大连接数之间的比值;节点μ的聚类系数被计算为其中Lμ表示与节点μ连接的邻居节点之间实际存在的连边数量,kμ表示与节点μ连接的邻居节点数量,也被称为节点μ的度;

2.2)计算节点μ的介值中心性,即Betweenness Centrality;介值中心性被用来衡量一个节点的重要性;对于节点μ,该节点的介值中心性被定义为从任一节点到另一节点的最短路径通过节点μ的路径数量与任意两节点之间最短路径数量之和之间的比值,即节点μ的介值中心性被计算为

其中,gst表示节点s和节点t之间的所有最短路径数量,而 则表示从节点s到节点t的最短路径中通过节点μ的路径数量;

2.3)计算节点μ的接近中心性,即Closeness Centrality;接近中心性被用来衡量一个节点与其他节点之间的联系;对于节点μ,它被定义为其他节点到这一节点的平均距离的倒数,即节点μ的接近中心性被计算为

其中,dμj表示为节点j到节点μ的距离,而N为网络中的所有节点的数量;

2.4)计算节点μ的特征向量中心性,即Eigenvector Centrality;特征向量中心性同样被用来表征节点的重要性;不同于介值中心性,特征向量中心性认为一个节点的重要性与其邻居节点的重要性有关,对于节点μ,其特征向量中心性被计算为其中,c是一个预设参数,aμj为一个二值变量,用来表示节点μ和节点j间是否存在连边,若aμj=1则表示节点μ和节点j之间存在连边;反之则表示二者之间无连边;xj为节点j的重要性度量值;

2.5)计算节点μ的邻居节点平均度值,即Average Neighbor Degree;对于任一节点μ,邻居节点度被定义为该节点的邻居节点的平均度值,即其中,kμ表示为节点μ的邻居节点数,即节点μ的度值;N(μ)表示由节点μ的所有邻居节点组成的集合;

原始特征向量构建模块,将原始网络拓扑性质计算模块得到的5个网络结构特征以横向拼接的形式进行特征空间扩展,从而,对每一个节点,得到该节点在原始网络中的一个维度为1×5的特征向量, 特征向量中网络拓扑性质的排列顺序是任意的,但此排列顺序一旦确定,对于所有节点的特征向量都应保持这样的排列顺序;

攻击原始网络模块,利用网络中的对抗攻击方法针对节点μ进行攻击,获得被攻击的网络;

被攻击网络拓扑性质计算模块,利用与原始网络拓扑性质计算模块相同的计算方式计算节点μ的5个网络拓扑性质;

受攻击后特征向量构建模块,以横向拼接的方式构建节点μ的特征向量随机森林分类器,从原始特征向量构建模块和受攻击后特征向量构建模块输入各节点的特征向量,采用机器学习中的分类器模型对所有节点利用留出法验证,将所有节点以一定比例划分成训练集和测试集,得出分类精度。

说明书 :

一种基于网络节点拓扑结构的对抗攻击检测方法和系统

技术领域

[0001] 本发明涉及网络节点拓扑结构和网络中的对抗攻击检测方法和系统,特别是涉及一种基于网络节点拓扑结构的对抗攻击检测方法和系统。

背景技术

[0002] 近年来,深度神经网络在多个领域中都取得了十分出色的效果,例如图像识别、自然语言处理等。如今深度学习已经应用于我们生活中的很多场景,其中部分场景,例如自动
驾驶、欺诈行为检测等都需要深度学习模型有着很高的安全性以及鲁棒性。由此,许多针对
深度神经网络的脆弱性、易受攻击性研究也成为一个热点。例如针对图像识别任务,
Goodfellow等人提出了基于梯度的对抗样本生成方法使得深度神经网络误分类,这些针对
深度神经网络的攻击方法的提出表明了深度神经网络在实际应用中存在着风险。
[0003] 网络在现实生活中有着十分广泛地应用,许多数据都可以被构建为网络数据,例如社交关系网络、金融网络甚至在化学领域,化合物也可以被看作由一个个原子构成的网
络。近年来由于深度学习在各领域展示了强大的能力,因此深度学习也被引入到了网络领
域中,图神经网络也得到了长足的发展。近年来图神经网络如Kipf等人提出的GCN模型、
Jure Leskovec等人提出的GraphSAGE模型等等,在节点分类、链路预测、图分类等任务中取
得了十分卓越的效果。但图神经网络模型同样存在着和其他深度神经网络类似的问题,图
神经网络的鲁棒性和安全性也吸引了许多人的研究。例如在节点分类任务中,Daniel Zü
gner等人提出的Nettack攻击方法、Hanjun Dai等人提出的GradArgmax以及Reinforcement 
Learning Based attack等攻击方法都对图神经网络模型的分类精度造成了很大的影响。
[0004] 因为网络的离散性质,对网络的攻击不像对图像的攻击一样具有连续性。因此,对于网络的攻击常常是对网络结构(如网络的连边)或者对网络的属性(如节点的属性)进行
改变。这样的改变往往是离散的。因此,现有的大多数对网络的攻击方法为了保证攻击的隐
蔽性,仅仅对网络结构、属性做微小的变动,或者保证网络的某一拓扑性质不变来对网络进
行攻击,最终使得深度模型在节点分类、链路预测等任务上出现差错。
[0005] 按照以上的方式来对网络进行攻击的同时保证其隐蔽性的方式相对较为简陋,因此现有的攻击方法存在被检测的风险。对于图对抗攻击的检测工作,现阶段也有少量的检
测方法被提出,例如有Vassilis N.Ioannidis等人提出的GraphSAC以及由Xiaojun Xu等人
提出的针对恶意连边的检测。前者主要通过随机抽取部分节点形成集合然后利用一个网络
层面的准则去过滤含有被攻击节点的集合,而后者主要为基于对抗样本往往会在网络中增
加或删减恶意连边的特征进行检测。
[0006] 在现阶段的研究中,现有的检测方法往往是一套比较复杂的检测算法,在实际应用中实用性不高,并且部分检测方法仅仅针对部分攻击方法,普适性不好。本发明受到现有
网络攻击方法就保持网络部分属性不变的特征的启发,提出了利用网络的多种拓扑属性来
检测网络是否被攻击。这样的检测方式实现简单,在实际应用中实施成本较低,能够对各种
网络节点分类攻击方法进行检测,普适性较好,除此之外此方法也能够达到较高的检测精
度。

发明内容

[0007] 为了能够检测出一个网络是否被某一种攻击方法修改过,本发明提供了一种基于网络拓扑性质的网络攻击检测方法和系统,通过检测网络中的拓扑结构判断一个实际网络
有无被修改。其能够有效地检测出一个实际网络是否被某一种攻击方法所攻击。
[0008] 本发明实现上述发明目的所采用的技术方案如下:
[0009] 一种基于网络节点拓扑结构的对抗攻击检测方法,其特征在于,所述攻击检测方法包括以下步骤:
[0010] S1:导入网络G=(V,E),其中V表示网络中的节点集合,E表示网络中的连边的集合,不妨设一个网络中共存在N个节点,M条连边。对于这一网络,假设节点μ可能被某种针对
节点分类任务的攻击方法所攻击。
[0011] S2:在原始网络中计算节点μ的5个网络拓扑性质,5个网络拓扑性质的计算如下:
[0012] 2.1)计算节点μ的聚类系数(Clustering Coefficient);聚类系数被用来衡量一个节点的邻居节点之间的联系程度;它被定义为与该节点相连的节点之间实际连接的连边
数目与理论上最大连接数之间的比值;节点μ的聚类系数可以被计算为
[0013]
[0014] 其中Lμ表示与节点μ连接的邻居节点之间实际存在的连边数量,kμ表示与节点μ连接的邻居节点数量,也被称为节点μ的度;
[0015] 2.2)计算节点μ的介值中心性(Betweenness Centrality);介值中心性被用来衡量一个节点的重要性;例如对于节点μ,该节点的介值中心性被定义为从任一节点到另一节
点的最短路径通过节点μ的路径数量与任意两节点之间最短路径数量之和之间的比值,即
节点μ的介值中心性可以被计算为
[0016]
[0017] 其中,gst表示节点s和节点t之间的所有最短路径数量,而 则表示从节点s到节点t的最短路径中通过节点μ的路径数量;
[0018] 2.3)计算节点μ的接近中心性(Closeness Centrality);接近中心性被用来衡量一个节点与其他节点之间的联系;如对于节点μ,它被定义为其他节点到这一节点的平均距
离的倒数,即节点μ的接近中心性可以被计算为
[0019]
[0020] 其中,dμj表示为节点j到节点μ的距离,而N即为网络中的所有节点的数量;
[0021] 2.4)计算节点μ的特征向量中心性(Eigenvector Centrality);特征向量中心性同样被用来表征节点的重要性;不同于介值中心性,特征向量中心性认为一个节点的重要
性与其邻居节点的重要性有关,考虑到此因素,对于节点μ,其特征向量中心性可以被计算

[0022]
[0023] 其中,c是一个预设参数,aμj为一个二值变量,用来表示节点μ和节点j间是否存在连边,若aμj=1则表示节点μ和节点j之间存在连边;反之则表示二者之间无连边;xj为节点j
的重要性度量值;
[0024] 2.5)计算节点μ的邻居节点平均度值(Average Neighbor Degree);对于任一节点μ,邻居节点度被定义为该节点的邻居节点的平均度值,即
[0025]
[0026] 其中,kμ表示为节点μ的邻居节点数,即节点i的度值。N(μ)表示由节点μ的所有邻居节点组成的集合;
[0027] S3:特征向量空间构建;将在S2中得到的5个网络结构特征以横向拼接的形式进行特征空间扩展,从而,对每一个节点,我们可以得到该节点在原始网络中的一个维度为1×5
的特征向量,即 特征向量中网络拓扑性质的
排列顺序是任意的,但此排列顺序一旦确定,对于所有节点的特征向量都应保持这样的排
列顺序;
[0028] S4:利用网络中的对抗攻击方法针对节点μ进行攻击,获得被攻击的网络;
[0029] S5:在攻击后的网络中计算节点μ的5个网络拓扑性质,对被攻击网络的中的节点μ计算其网络拓扑性质特征,如步骤S2;计算5个网络拓扑性质后以横向拼接的方式构建节点
μ的特征向量 如步骤S3;
[0030] S6:采用机器学习中的分类器模型对所有节点利用留出法验证,将所有节点以一定比例划分成训练集和测试集,得出分类精度;本例中我们将S3和S5中得到的各个节点的
特征向量作为输入。
[0031] 如上所述,所述步骤S2中特征向量中心性计算中,预设参数c被设置为1,而每个节点的重要性度量值对于不同网络可以设置为不同的值,在没有特别说明的情况下,每个节
点的重要性度量值设置为1。
[0032] 如上所述,所述步骤S4中所采用的攻击方法,可以选用Nettack、GradArgmax、Meta Gradient attack等攻击方法中任意一种进行攻击。
[0033] 如上所述,所述步骤S6中利用留出法对所有节点的检测效果进行验证,此方法以80%和20%的比例来将节点划分为训练集和测试集;并且选取随机森林作为节点检测的分
类器,随机森林中树的数量设置为256,将最小Cost‑Complexity剪枝参数设定为0.05,树的
最大深度设置为50。
[0034] 本发明还提供了一种基于网络节点拓扑结构的对抗攻击检测系统,包括原始网络图导入模块、原始网络拓扑性质计算模块、原始特征向量构建模块、攻击原始网络模块、被
攻击网络拓扑性质计算模块、受攻击后特征向量构建模块、随机森林分类器,原始网络图导
入模块向原始网络拓扑性质计算模块和攻击原始网络模块导入网络G=(V,E),原始网络图
导入模块向原始网络拓扑性质计算模块向原始特征向量构建模块输出节点μ的聚类系数、
节点μ的介值中心性、节点μ的接近中心性、节点μ的特征向量中心性、节点μ的邻居节点平均
度值;攻击原始网络模块向被攻击网络拓扑性质计算模块输出被攻击的网络;被攻击网络
拓扑性质计算模块向受攻击后特征向量构建模块输出被攻击网络中节点μ的5个网络拓扑
性质特征;原始特征向量构建模块和受攻击后特征向量构建模块分别向随机森林分类器输
出各节点的特征向量;
[0035] 原始网络图导入模块导入网络G=(V,E),其中V表示网络中的节点集合,E表示网络中的连边的集合,不妨设一个网络中共存在N个节点,M条连边。对于这一网络,假设节点μ
可能被某种针对节点分类任务的攻击方法所攻击。
[0036] 原始网络拓扑性质计算模块,在原始网络中计算节点μ的5个网络拓扑性质,5个网络拓扑性质的计算如下:
[0037] 2.1)计算节点μ的聚类系数(Clustering Coefficient);聚类系数被用来衡量一个节点的邻居节点之间的联系程度;它被定义为与该节点相连的节点之间实际连接的连边
数目与理论上最大连接数之间的比值;节点μ的聚类系数可以被计算为
[0038]
[0039] 其中Lμ表示与节点μ连接的邻居节点之间实际存在的连边数量,kμ表示与节点μ连接的邻居节点数量,也被称为节点μ的度;
[0040] 2.2)计算节点μ的介值中心性(Betweenness Centrality);介值中心性被用来衡量一个节点的重要性;例如对于节点μ,该节点的介值中心性被定义为从任一节点到另一节
点的最短路径通过节点μ的路径数量与任意两节点之间最短路径数量之和之间的比值,即
节点μ的介值中心性可以被计算为
[0041]
[0042] 其中,gst表示节点s和节点t之间的所有最短路径数量,而 则表示从节点s到节点t的最短路径中通过节点μ的路径数量;
[0043] 2.3)计算节点μ的接近中心性(Closeness Centrality);接近中心性被用来衡量一个节点与其他节点之间的联系;如对于节点μ,它被定义为其他节点到这一节点的平均距
离的倒数,即节点μ的接近中心性可以被计算为
[0044]
[0045] 其中,dμj表示为节点j到节点μ的距离,而N即为网络中的所有节点的数量;
[0046] 2.4)计算节点μ的特征向量中心性(Eigenvector Centrality);特征向量中心性同样被用来表征节点的重要性;不同于介值中心性,特征向量中心性认为一个节点的重要
性与其邻居节点的重要性有关,考虑到此因素,对于节点μ,其特征向量中心性可以被计算

[0047]
[0048] 其中,c是一个预设参数,aμj为一个二值变量,用来表示节点已和节点j间是否存在连边,若aμj=1则表示节点μ和节点j之间存在连边;反之则表示二者之间无连边;xj为节点j
的重要性度量值;
[0049] 2.5)计算节点μ的邻居节点平均度值(Average Neighbor Degree);对于任一节点μ,邻居节点度被定义为该节点的邻居节点的平均度值,即
[0050]
[0051] 其中,kμ表示为节点μ的邻居节点数,即节点i的度值。N(μ)表示由节点μ的所有邻居节点组成的集合;
[0052] 原始特征向量构建模块,将原始网络拓扑性质计算模块得到的5个网络结构特征以横向拼接的形式进行特征空间扩展,从而,对每一个节点,得到该节点在原始网络中的一
个维度为1×5的特征向量,即 特征向量中网
络拓扑性质的排列顺序是任意的,但此排列顺序一旦确定,对于所有节点的特征向量都应
保持这样的排列顺序。
[0053] 攻击原始网络模块,利用网络中的对抗攻击方法针对节点μ进行攻击,获得被攻击的网络;
[0054] 被攻击网络拓扑性质计算模块,利用与原始网络拓扑性质计算模块相同的计算方式计算节点μ的5个网络拓扑性质;
[0055] 受攻击后特征向量构建模块,以横向拼接的方式构建节点μ的特征向量
[0056] 随机森林分类器,从原始特征向量构建模块和受攻击后特征向量构建模块输入各节点的特征向量,采用机器学习中的分类器模型对所有节点利用留出法验证,将所有节点
以一定比例划分成训练集和测试集,得出分类精度。
[0057] 本发明提出了一种基于多种网络节点拓扑结构的对抗攻击检测方法。针对现有检测网络对抗攻击样本方法的弊端,本发明根据现有网络对抗攻击方法大多数仅仅保证网络
中的某一类特征不发生明显的改变而对网络结构进行修改,此方法利用了网络中的多种拓
扑结构信息来检测网络是否被某一种攻击方法所攻击。
[0058] 公开号为CN111882446A的一种基于图卷积网络的异常账户检测方法,将账户依据消费能力进行分组,分组处理之后构建金融网络,然后采用GCN对异常账户进行分类,得到
异常账户和正常账户,应用KNN对异常账户进行识别,找到与该异常账户异常情况最为相似
的现有异常账户。这种检测方法的缺点之一是它仅适用于金融领域,而对于其他的领域并
不适用,适用面小;其次GCN对异常账户的检测并不完全准确,可能导致KNN的识别进一步出
错。相比之下,本发明的有益效果为:这种检测方式受到现有网络对抗攻击中仅保持少量特
征不变的特性的启发,利用多种网络结构特性来对网络是否被攻击进行检测。这样的检测
方法相较现有的其余检测方法较为简单,更易实现,并且不像现有的一些检测方法仅适用
于部分攻击方法,这种检测普遍适用于各种攻击方法,检测范围广,并且在此基础上,此检
测方法保证了较高的检测精度。在大多数情况下能够分辨出一个网络是否被某种攻击方法
所攻击。

附图说明

[0059] 图1是本发明方法的流程图。
[0060] 图2是本发明检测对抗攻击样本的检测效果图。

具体实施方式

[0061] 下面结合说明书附图对本发明的具体实施方式作进一步的详细说明。
[0062] 参照图1,一种基于网络节点拓扑结构的对抗攻击检测方法,本发明以增量攻击方法Nettack为例,其中被攻击的对象为GCN模型在Cora引文网络中的节点分类任务。
[0063] 本发明分为如下几个步骤:
[0064] S1:导入网络G=(V,E),其中V表示网络中的节点集合,E表示网络中的连边的集合。在此实施例中我们导入一个Cora引文网络。在Cora网络中存在2708个节点和5429条连
边,其中每个节点表示一篇论文,若两篇论文存在引用关系则认为二者之间存在一条连边。
我们随机选取若干节点作为被攻击的对象。对于这一网络,假设节点μ可能被某种针对节点
分类任务的攻击方法所攻击。
[0065] S2:在原始网络中计算节点μ的5个网络拓扑性质,5个网络拓扑性质的计算如下:
[0066] 2.1)计算节点μ的聚类系数(Clustering Coefficient);聚类系数被用来衡量一个节点的邻居节点之间的联系程度;它被定义为与该节点相连的节点之间实际连接的连边
数目与理论上最大连接数之间的比值;节点μ的聚类系数可以被计算为
[0067]
[0068] 其中Lμ表示与节点μ连接的邻居节点之间实际存在的连边数量,kμ表示与节点μ连接的邻居节点数量,也被称为节点μ的度;
[0069] 2.2)计算节点μ的介值中心性(Betweenness Centrality);介值中心性被用来衡量一个节点的重要性;例如对于节点μ,该节点的介值中心性被定义为从任一节点到另一节
点的最短路径通过节点μ的路径数量与任意两节点之间最短路径数量之和之间的比值,即
节点μ的介值中心性可以被计算为
[0070]
[0071] 其中,gst表示节点s和节点t之间的所有最短路径数量,而 则表示从节点s到节点t的最短路径中通过节点μ的路径数量;
[0072] 2.3)计算节点μ的接近中心性(Closeness Centrality);接近中心性被用来衡量一个节点与其他节点之间的联系;如对于节点μ,它被定义为其他节点到这一节点的平均距
离的倒数,即节点μ的接近中心性可以被计算为
[0073]
[0074] 其中,dμj表示为节点j到节点μ的距离,而N即为网络中的所有节点的数量;
[0075] 2.4)计算节点μ的特征向量中心性(Eigenvector Centrality);特征向量中心性同样被用来表征节点的重要性;不同于介值中心性,特征向量中心性认为一个节点的重要
性与其邻居节点的重要性有关,考虑到此因素,对于节点μ,其特征向量中心性可以被计算

[0076]
[0077] 其中,c是一个预设参数,此实施例中c被设置为1。aμj为一个二值变量,用来表示节点μ和节点j间是否存在连边,若aμj=1则表示节点μ和节点j之间存在连边;反之则表示二者
之间无连边;xj为节点j的重要性度量值,此实施例中Cora网络中每个节点的重要性度量值
分配为1;
[0078] 2.5)计算节点μ的邻居节点平均度值(Average Neighbor Degree);对于任一节点μ,邻居节点度被定义为该节点的邻居节点的平均度值,即
[0079]
[0080] 其中,kμ表示为节点μ的邻居节点数,即节点i的度值;N(μ)表示由节点μ的所有邻居节点组成的集合;
[0081] S3:特征向量空间构建。将在S2中得到的5个网络结构特征以横向拼接的形式进行特征空间扩展,从而,对每一个节点,可以得到该节点在原始网络中的一个维度为1×5的特
征向量,即 特征向量中网络拓扑性质的排列
顺序是任意的,但此排列顺序一旦确定,对于所有节点的特征向量都应保持这样的排列顺
序;
[0082] S4:利用网络中的对抗攻击方法针对节点μ进行攻击,获得被攻击的网络。此实施例中,所采用的攻击方法为Nettack,并且攻击的对象为GCN节点分类模型;实施对网络的攻
击后获得被攻击的网络;
[0083] S5:在攻击后的网络中计算节点μ的5个网络拓扑性质,对被攻击网络的中的节点μ计算其网络拓扑性质特征,如步骤S2;计算5个网络拓扑性质后以横向拼接的方式构建节点
μ的特征向量 如步骤S3;
[0084] S6:采用机器学习中的分类器模型对所有节点利用留出法验证,将所有节点以一定比例划分成训练集和测试集,得出分类精度。本例中我们将S3和S5中得到的各个节点的
特征向量作为输入。
[0085] 如上所述,所述步骤S2中特征向量中心性计算中,预设参数c被设置为1,而每个节点的重要性度量值对于不同网络可以设置为不同的值,在没有特别说明的情况下,每个节
点的重要性度量值设置为1。
[0086] 如上所述,所述步骤S4中所采用的攻击方法,可以选用Nettack、GradArgmax、Meta Gradient attack等攻击方法中任意一种进行攻击。
[0087] 如上所述,所述步骤S6中利用留出法对所有节点的检测效果进行验证,此方法以80%和20%的比例来将节点划分为训练集和测试集。并且选取随机森林作为节点检测的分
类器,随机森林中树的数量设置为256,将最小Cost‑Complexity剪枝参数设定为0.05,树的
最大深度设置为50。
[0088] 本发明还提供了一种际遇网络节点拓扑结构的对抗攻击检测系统,包括原始网络图导入模块、原始网络拓扑性质计算模块、原始特征向量构建模块、攻击原始网络模块、被
攻击网络拓扑性质计算模块、受攻击后特征向量构建模块、随机森林分类器,原始网络图导
入模块向原始网络拓扑性质计算模块和攻击原始网络模块导入网络G=(V,E),原始网络图
导入模块向原始网络拓扑性质计算模块向原始特征向量构建模块输出节点已的聚类系数、
节点已的介值中心性、节点μ的接近中心性、节点已的特征向量中心性、节点已的邻居节点
平均度值;攻击原始网络模块向被攻击网络拓扑性质计算模块输出被攻击的网络;被攻击
网络拓扑性质计算模块向受攻击后特征向量构建模块输出被攻击网络中节点μ的5个网络
拓扑性质特征;原始特征向量构建模块和受攻击后特征向量构建模块分别向随机森林分类
器输出各节点的特征向量;
[0089] 原始网络图导入模块导入网络G=(V,E),其中V表示网络中的节点集合,E表示网络中的连边的集合,不妨设一个网络中共存在N个节点,M条连边。对于这一网络,假设节点μ
可能被某种针对节点分类任务的攻击方法所攻击。
[0090] 原始网络拓扑性质计算模块,在原始网络中计算节点μ的5个网络拓扑性质,5个网络拓扑性质的计算如下:
[0091] 2.1)计算节点μ的聚类系数(Clustering Coefficient);聚类系数被用来衡量一个节点的邻居节点之间的联系程度;它被定义为与该节点相连的节点之间实际连接的连边
数目与理论上最大连接数之间的比值;节点μ的聚类系数可以被计算为
[0092]
[0093] 其中Lμ表示与节点μ连接的邻居节点之间实际存在的连边数量,kμ表示与节点μ连接的邻居节点数量,也被称为节点μ的度;
[0094] 2.2)计算节点μ的介值中心性(Betweenness Centrality);介值中心性被用来衡量一个节点的重要性;例如对于节点μ,该节点的介值中心性被定义为从任一节点到另一节
点的最短路径通过节点μ的路径数量与任意两节点之间最短路径数量之和之间的比值,即
节点μ的介值中心性可以被计算为
[0095]
[0096] 其中,gst表示节点s和节点t之间的所有最短路径数量,而 则表示从节点s到节点t的最短路径中通过节点μ的路径数量;
[0097] 2.3)计算节点μ的接近中心性(Closeness Centrality);接近中心性被用来衡量一个节点与其他节点之间的联系;如对于节点μ,它被定义为其他节点到这一节点的平均距
离的倒数,即节点μ的接近中心性可以被计算为
[0098]
[0099] 其中,dμj表示为节点j到节点μ的距离,而N即为网络中的所有节点的数量;
[0100] 2.4)计算节点μ的特征向量中心性(Eigenvector Centrality);特征向量中心性同样被用来表征节点的重要性;不同于介值中心性,特征向量中心性认为一个节点的重要
性与其邻居节点的重要性有关,考虑到此因素,对于节点μ,其特征向量中心性可以被计算

[0101]
[0102] 其中,c是一个预设参数,aμj为一个二值变量,用来表示节点μ和节点j间是否存在连边,若aμj=1则表示节点μ和节点j之间存在连边;反之则表示二者之间无连边;xj为节点j
的重要性度量值;
[0103] 2.5)计算节点μ的邻居节点平均度值(Average Neighbor Degree);对于任一节点μ,邻居节点度被定义为该节点的邻居节点的平均度值,即
[0104]
[0105] 其中,kμ表示为节点μ的邻居节点数,即节点i的度值。N(μ)表示由节点μ的所有邻居节点组成的集合;
[0106] 原始特征向量构建模块,将原始网络拓扑性质计算模块得到的5个网络结构特征以横向拼接的形式进行特征空间扩展,从而,对每一个节点,得到该节点在原始网络中的一
个维度为1×5的特征向量,即 特征向量中网
络拓扑性质的排列顺序是任意的,但此排列顺序一旦确定,对于所有节点的特征向量都应
保持这样的排列顺序。
[0107] 攻击原始网络模块,利用网络中的对抗攻击方法针对节点μ进行攻击,获得被攻击的网络;
[0108] 被攻击网络拓扑性质计算模块,利用与原始网络拓扑性质计算模块相同的计算方式计算节点μ的5个网络拓扑性质;
[0109] 受攻击后特征向量构建模块,以横向拼接的方式构建节点μ的特征向量
[0110] 随机森林分类器,从原始特征向量构建模块和受攻击后特征向量构建模块输入各节点的特征向量,采用机器学习中的分类器模型对所有节点利用留出法验证,将所有节点
以一定比例划分成训练集和测试集,得出分类精度。
[0111] 图2展示了本发明在检测攻击样本任务中取得的优良效果。对于在步骤S3以及S5中得到的节点的高维特征向量,利用t‑SNE降维方法将其降至2维的向量,并将其绘制在二
维平面中,图2中的每一个点对应了一个节点的特征向量。其中,黑色的点表示未被攻击上
述方法攻击的节点所对应的特征向量;白色的点表示被攻击方法所攻击的节点对应的特征
向量。从图中可以看出,被攻击的节点提取的特征向量和未被攻击的节点提取的特征向量
可以被明显地区分开,这表示通过此种方法所提取的特征向量可以被用来检测出一个节点
是否被某种网络攻击方法所攻击。
[0112] 如上述为本发明在Cora引文网络数据集以及针对Nettack对抗攻击方法攻击GCN节点分类模型的检测方法的实例介绍。这种检测方式受到现有网络对抗攻击中仅保持少量
特征不变的特性的启发,采用多种网络结构特征来对网络是否被攻击进行检测。这样的检
测方法相较现有的其余检测方法较为简单,更易实现,并且不像现有的部分检测方法仅适
用于部分攻击方法,这种检测普遍适用于各种攻击方法,检测范围广,并且在此基础上,此
检测方法保证了较高的检测精度。显然,本发明不仅适用于上述的仅仅针对于Nettack攻击
方法以及Cora数据集,在不偏离本发明基本精神及不超过本发明实质内容所涉及内容的前
提下可对其做种种变化加以实施。