基于随机类和图拓扑特征的图注入攻击

文档序号:34945713发布日期:2023-07-29 01:49阅读:52来源:国知局

:图对抗攻击是指在图数据上的对抗攻击。这个领域的研究主要是为了保证图数据的安全性,防止恶意攻击者通过对图数据进行修改来欺骗模型,从而达到其不正当的目的。目前,这个领域的研究主要集中在对抗攻击和防御措施方面。对抗攻击主要是指通过对图数据进行修改来欺骗模型,从而达到其不正当的目的。而防御措施则是为了保证模型的安全性,防止恶意攻击者通过对图数据进行修改来欺骗模型。

背景技术

0、
背景技术:

1、图神经网络(gnn)作为图结构数据深度学习模型的推广,在涉及关系信息的任务中取得了巨大成功。特别是,gnn的出现在节点分类、社交推荐和药物设计等各种图应用中都实现了不错的表现。尽管如此,gnn被证明天生就容易受到对抗性攻击,或者对输入进行小的故意扰动。由于攻击行为对网络性能的影响十分显著,且对于攻击本身是不可预知的,探索gnn在攻击者下的脆弱性并揭示攻击模式对于提高gnn在修改图上的鲁棒性和任务性能至关重要。

2、先前的研究表明,对输入图的现有拓扑或节点特征进行适度更改,即图修改攻击(gma,graph modification attack),会显着降低gnn的性能。早期对gnn的攻击通常遵循图修改攻击(gma)的设置,给定一个具有属性的输入图,对手可以直接修改节点之间的连接它的边和现有节点的属性。然而,在现实场景中,对手获得修改现有数据的权限往往是不现实的。以社交网络为例,对于网络中的用户,直接去修改他们的特征,例如,修改个人信息,删除或发出帖子,还有改动用户间的连接关系,添加新的关注等,是十分困难的。需要去窃取他人的账号才能做到,所消耗的成本极大,而且还会存在网络安全问题。但向现有的网络中注入新的节点和链接,如注册新的账号,去关注其他人,是很容易就可以做到的,这就为在现实世界实现图攻击提供了基础。

3、因此最近人们越来越关注图注入攻击(gia,graph injection attack),攻击者只需注入少量恶意节点即可执行攻击。目前的图注入攻击主要由两部分组成,(1)选择原图中的节点进行注入,(2)为已注入的节点生成特征,这样可以有效的降低算法的复杂度,使其可以应用于规模更大的图上,本发明主要对第一部分进行改进以提高攻击的性能。早期的图注入攻击通过训练模型来寻找受害节点,计算成本高,不适用于太大规模的图;近期的诸如策略采用启发式的方法来选择注入节点,可以有效降低复杂度,但存在数据集间效果不均衡的问题,对数据集本身的拓扑结构比较敏感。

4、为了改进已有注入策略的缺陷,本发明提出了联合注入攻击(jgia,joint graphinjection attack),首先通过拓扑结构和节点特征构造节点脆弱性评分,与以往的只通过拓扑结构构建评分的方法不同,本发明将特征也结合到其中,因为对于模型的训练,除了原始图的邻接矩阵,特征矩阵也是影响输出的重要一环,这也是结合两者用于评价受害者节点的原因。之后进一步将随机类引入原有策略,通过随机方法来弥合针对性选择上的不足。


技术实现思路

0、
技术实现要素:

1、为了改进已有注入策略的缺陷,本发明提出了联合注入攻击(jgia,joint graphinjection attack),首先通过拓扑结构和节点特征构造节点脆弱性评分。之后进一步将随机类引入原有策略,通过随机方法来弥合针对性选择上的不足。分批次将攻击节点注入到原始图中,随后优化节点的特征以实现图注入攻击。最终在注入少量节点的情况下实现对原始图分类准确率的大幅下降。

2、算法具体过程如下:

3、(1)顺序注入

4、采用一种顺序注入的策略来迭代地选择一些最易受攻击的目标。对于注入节点数|vatk|,通过参数λseq控制注入的轮数,每轮注入节点数为bseq=|vatk|/λseq。

5、(2)基于图拓扑和特征的注入

6、使用余弦相似度来表示节点特征之间的相似关系,如

7、

8、其中,xu、xv分别表示节点u和v的特征向量。同时,通过图拓扑来判断节点的易攻击性。

9、综上,本发明基于图拓扑和特征提出了一种受害节点脆弱性评分方法(tfi,graphtopology and feature based injection),具体公式如下:

10、

11、其中,n(v)表示节点v的一阶邻居节点(不包括节点v本身),dv,du分别表示节点v和u的度数,λ1、λ2是权重参数,用来调整两项之间的比例。sv越大,节点被gia攻击的可能性就越大。

12、(3)基于随机类的注入

13、基于类的随机注入方法(rci,random class injection)先将受害节点按类别进行划分,对于每个攻击节点vatk∈vatk,随机先择一个类yr∈y,随后在限制的注入量内,将该节点的边全部随机连接到之前选中的类中,若随机到的受害节点重复则跳过重新随机。

14、(4)训练模型

15、使用图卷积网络(gcn)作为图分类器。双层gcn的方程定义为:

16、

17、其中表示归一化邻接矩阵,表示将单位矩阵in添加到邻接矩阵a。是对角矩阵,其对角线元素为w(0)和w(1)分别是gcn第一层和第二层的权重。采用relu(0,a)=max(0,a)。

18、(5)特征生成

19、完成了节点注入之后,接下来要为注入节点生成特征以提高攻击的影响力。具体来说,给定一个模型m,一个修改过的邻接矩阵a′,之后要优化特征矩阵x′来降低模型的预测m(a′,x′)。

20、使用负对数似然函数作为损失函数,具体如下:

21、

22、其中,pv是m正确分类v的概率,yv是节点v的真实标签。

23、对于每一轮的特征优化,需要对生成特征的范围进行限制,让其尽可能与原始的特征大小没有太大出入。应用clamp对优化流程加以限制

24、

25、(6)联合注入攻击

26、将上述两种注入选择方法相结合,本发明提出了联合图注入攻击(jgia)。在联合的过程中,尽可能保留两种方法各自的优势,并以此构造了以下四种结合策略。

27、1、jgia-rc(random class based jgia),对于每一个注入节点,随机选取一个类yr,在之后的注入中,在类yr中随机选择受害者节点进行连接或是依次选择此类中脆弱性最高的节点进行连接。

28、2、jgia-tf(graph topology and feature based jgia),对于每一个注入节点,依次选取脆弱评分最高的受害节点,将该节点与攻击节点直接连接或在已选择受害节点的类内随机抽取节点进行连接,如果随机节点已经被攻击,则跳过重新随机。

29、3、jgia-el(edge level jgia),对于每一轮注入,通过比例系数rc和rd来将受害者节点集划分为tc和td两个集合,td是评分最高的前个节点,tc是剩余的受害节点。对于每一个注入节点,随机选取一个类yr,之后在集合td内按照得分由高到低的顺序的选取节点连接或是在集合tc内根据yr随机抽取类内节点进行连接。

30、4、jgia-nl(node level jgia),对于每一轮注入,依旧将受害者节点集划分为集合tc和td。随后按照比例将攻击节点划分为vc和vd。对于vc中的每个节点,随机选取一个类yr,之后在集合tc内根据yr随机抽取类内节点进行连接;对于vd中的每个节点,在集合td内按照得分由高到低的顺序的选取节点连接。

31、(7)算法流程

32、确认注入的轮数λseq,计算每轮注入节点数bseq=|vatk|/λseq。

33、通过邻接矩阵a和特征矩阵xu计算脆弱性得分sv,随机抽取类yr。

34、根据不同策略注入攻击节点。

35、通过模型m优化注入节点的特征。

36、更新图。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1