一种基于网络节点拓扑结构的对抗攻击检测方法和系统转让专利
申请号 : CN202110034275.7
文献号 : CN112733136B
文献日 : 2022-03-18
发明人 : 宣琦 , 朱俊豪 , 单雅璐
申请人 : 浙江工业大学
摘要 :
权利要求 :
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个网络拓扑性质;
受攻击后特征向量构建模块,以横向拼接的方式构建节点μ的特征向量随机森林分类器,从原始特征向量构建模块和受攻击后特征向量构建模块输入各节点的特征向量,采用机器学习中的分类器模型对所有节点利用留出法验证,将所有节点以一定比例划分成训练集和测试集,得出分类精度。
说明书 :
一种基于网络节点拓扑结构的对抗攻击检测方法和系统
技术领域
背景技术
驾驶、欺诈行为检测等都需要深度学习模型有着很高的安全性以及鲁棒性。由此,许多针对
深度神经网络的脆弱性、易受攻击性研究也成为一个热点。例如针对图像识别任务,
Goodfellow等人提出了基于梯度的对抗样本生成方法使得深度神经网络误分类,这些针对
深度神经网络的攻击方法的提出表明了深度神经网络在实际应用中存在着风险。
络。近年来由于深度学习在各领域展示了强大的能力,因此深度学习也被引入到了网络领
域中,图神经网络也得到了长足的发展。近年来图神经网络如Kipf等人提出的GCN模型、
Jure Leskovec等人提出的GraphSAGE模型等等,在节点分类、链路预测、图分类等任务中取
得了十分卓越的效果。但图神经网络模型同样存在着和其他深度神经网络类似的问题,图
神经网络的鲁棒性和安全性也吸引了许多人的研究。例如在节点分类任务中,Daniel Zü
gner等人提出的Nettack攻击方法、Hanjun Dai等人提出的GradArgmax以及Reinforcement
Learning Based attack等攻击方法都对图神经网络模型的分类精度造成了很大的影响。
改变。这样的改变往往是离散的。因此,现有的大多数对网络的攻击方法为了保证攻击的隐
蔽性,仅仅对网络结构、属性做微小的变动,或者保证网络的某一拓扑性质不变来对网络进
行攻击,最终使得深度模型在节点分类、链路预测等任务上出现差错。
测方法被提出,例如有Vassilis N.Ioannidis等人提出的GraphSAC以及由Xiaojun Xu等人
提出的针对恶意连边的检测。前者主要通过随机抽取部分节点形成集合然后利用一个网络
层面的准则去过滤含有被攻击节点的集合,而后者主要为基于对抗样本往往会在网络中增
加或删减恶意连边的特征进行检测。
网络攻击方法就保持网络部分属性不变的特征的启发,提出了利用网络的多种拓扑属性来
检测网络是否被攻击。这样的检测方式实现简单,在实际应用中实施成本较低,能够对各种
网络节点分类攻击方法进行检测,普适性较好,除此之外此方法也能够达到较高的检测精
度。
发明内容
有无被修改。其能够有效地检测出一个实际网络是否被某一种攻击方法所攻击。
节点分类任务的攻击方法所攻击。
数目与理论上最大连接数之间的比值;节点μ的聚类系数可以被计算为
点的最短路径通过节点μ的路径数量与任意两节点之间最短路径数量之和之间的比值,即
节点μ的介值中心性可以被计算为
离的倒数,即节点μ的接近中心性可以被计算为
性与其邻居节点的重要性有关,考虑到此因素,对于节点μ,其特征向量中心性可以被计算
为
的重要性度量值;
的特征向量,即 特征向量中网络拓扑性质的
排列顺序是任意的,但此排列顺序一旦确定,对于所有节点的特征向量都应保持这样的排
列顺序;
μ的特征向量 如步骤S3;
特征向量作为输入。
点的重要性度量值设置为1。
类器,随机森林中树的数量设置为256,将最小Cost‑Complexity剪枝参数设定为0.05,树的
最大深度设置为50。
攻击网络拓扑性质计算模块、受攻击后特征向量构建模块、随机森林分类器,原始网络图导
入模块向原始网络拓扑性质计算模块和攻击原始网络模块导入网络G=(V,E),原始网络图
导入模块向原始网络拓扑性质计算模块向原始特征向量构建模块输出节点μ的聚类系数、
节点μ的介值中心性、节点μ的接近中心性、节点μ的特征向量中心性、节点μ的邻居节点平均
度值;攻击原始网络模块向被攻击网络拓扑性质计算模块输出被攻击的网络;被攻击网络
拓扑性质计算模块向受攻击后特征向量构建模块输出被攻击网络中节点μ的5个网络拓扑
性质特征;原始特征向量构建模块和受攻击后特征向量构建模块分别向随机森林分类器输
出各节点的特征向量;
可能被某种针对节点分类任务的攻击方法所攻击。
数目与理论上最大连接数之间的比值;节点μ的聚类系数可以被计算为
点的最短路径通过节点μ的路径数量与任意两节点之间最短路径数量之和之间的比值,即
节点μ的介值中心性可以被计算为
离的倒数,即节点μ的接近中心性可以被计算为
性与其邻居节点的重要性有关,考虑到此因素,对于节点μ,其特征向量中心性可以被计算
为
的重要性度量值;
个维度为1×5的特征向量,即 特征向量中网
络拓扑性质的排列顺序是任意的,但此排列顺序一旦确定,对于所有节点的特征向量都应
保持这样的排列顺序。
以一定比例划分成训练集和测试集,得出分类精度。
中的某一类特征不发生明显的改变而对网络结构进行修改,此方法利用了网络中的多种拓
扑结构信息来检测网络是否被某一种攻击方法所攻击。
异常账户和正常账户,应用KNN对异常账户进行识别,找到与该异常账户异常情况最为相似
的现有异常账户。这种检测方法的缺点之一是它仅适用于金融领域,而对于其他的领域并
不适用,适用面小;其次GCN对异常账户的检测并不完全准确,可能导致KNN的识别进一步出
错。相比之下,本发明的有益效果为:这种检测方式受到现有网络对抗攻击中仅保持少量特
征不变的特性的启发,利用多种网络结构特性来对网络是否被攻击进行检测。这样的检测
方法相较现有的其余检测方法较为简单,更易实现,并且不像现有的一些检测方法仅适用
于部分攻击方法,这种检测普遍适用于各种攻击方法,检测范围广,并且在此基础上,此检
测方法保证了较高的检测精度。在大多数情况下能够分辨出一个网络是否被某种攻击方法
所攻击。
附图说明
具体实施方式
边,其中每个节点表示一篇论文,若两篇论文存在引用关系则认为二者之间存在一条连边。
我们随机选取若干节点作为被攻击的对象。对于这一网络,假设节点μ可能被某种针对节点
分类任务的攻击方法所攻击。
数目与理论上最大连接数之间的比值;节点μ的聚类系数可以被计算为
点的最短路径通过节点μ的路径数量与任意两节点之间最短路径数量之和之间的比值,即
节点μ的介值中心性可以被计算为
离的倒数,即节点μ的接近中心性可以被计算为
性与其邻居节点的重要性有关,考虑到此因素,对于节点μ,其特征向量中心性可以被计算
为
之间无连边;xj为节点j的重要性度量值,此实施例中Cora网络中每个节点的重要性度量值
分配为1;
征向量,即 特征向量中网络拓扑性质的排列
顺序是任意的,但此排列顺序一旦确定,对于所有节点的特征向量都应保持这样的排列顺
序;
击后获得被攻击的网络;
μ的特征向量 如步骤S3;
特征向量作为输入。
点的重要性度量值设置为1。
类器,随机森林中树的数量设置为256,将最小Cost‑Complexity剪枝参数设定为0.05,树的
最大深度设置为50。
攻击网络拓扑性质计算模块、受攻击后特征向量构建模块、随机森林分类器,原始网络图导
入模块向原始网络拓扑性质计算模块和攻击原始网络模块导入网络G=(V,E),原始网络图
导入模块向原始网络拓扑性质计算模块向原始特征向量构建模块输出节点已的聚类系数、
节点已的介值中心性、节点μ的接近中心性、节点已的特征向量中心性、节点已的邻居节点
平均度值;攻击原始网络模块向被攻击网络拓扑性质计算模块输出被攻击的网络;被攻击
网络拓扑性质计算模块向受攻击后特征向量构建模块输出被攻击网络中节点μ的5个网络
拓扑性质特征;原始特征向量构建模块和受攻击后特征向量构建模块分别向随机森林分类
器输出各节点的特征向量;
可能被某种针对节点分类任务的攻击方法所攻击。
数目与理论上最大连接数之间的比值;节点μ的聚类系数可以被计算为
点的最短路径通过节点μ的路径数量与任意两节点之间最短路径数量之和之间的比值,即
节点μ的介值中心性可以被计算为
离的倒数,即节点μ的接近中心性可以被计算为
性与其邻居节点的重要性有关,考虑到此因素,对于节点μ,其特征向量中心性可以被计算
为
的重要性度量值;
个维度为1×5的特征向量,即 特征向量中网
络拓扑性质的排列顺序是任意的,但此排列顺序一旦确定,对于所有节点的特征向量都应
保持这样的排列顺序。
以一定比例划分成训练集和测试集,得出分类精度。
维平面中,图2中的每一个点对应了一个节点的特征向量。其中,黑色的点表示未被攻击上
述方法攻击的节点所对应的特征向量;白色的点表示被攻击方法所攻击的节点对应的特征
向量。从图中可以看出,被攻击的节点提取的特征向量和未被攻击的节点提取的特征向量
可以被明显地区分开,这表示通过此种方法所提取的特征向量可以被用来检测出一个节点
是否被某种网络攻击方法所攻击。
特征不变的特性的启发,采用多种网络结构特征来对网络是否被攻击进行检测。这样的检
测方法相较现有的其余检测方法较为简单,更易实现,并且不像现有的部分检测方法仅适
用于部分攻击方法,这种检测普遍适用于各种攻击方法,检测范围广,并且在此基础上,此
检测方法保证了较高的检测精度。显然,本发明不仅适用于上述的仅仅针对于Nettack攻击
方法以及Cora数据集,在不偏离本发明基本精神及不超过本发明实质内容所涉及内容的前
提下可对其做种种变化加以实施。