【Attack】针对GNN-based假新闻检测器
Attacking Fake News Detectors via Manipulating News Social Engagement
- Abstract
- Motivation
- Contributions
- Formulation
- Methodology
- Attacker Capability(针对挑战1)
- Agent Configuration(针对挑战3)
WWW’23, April 30-May 4, 2023, Austin, TX, USA.
Markov game, Deep Q-learning, Graph Neural Network
- 马尔科夫链博弈(Markov game)是指一个包含多个智能体(agents)的博弈过程,其中每个智能体的行动和状态演变是基于马尔科夫链的。马尔科夫链是指一个状态转移过程,未来的状态仅依赖于当前状态,与过去的状态无关。在博弈中,每个智能体的决策和行动都受到系统当前状态的影响,而系统状态的演变则遵循马尔科夫链的性质。
- DQN 使用 Q-learning 的更新规则,通过最小化 Q 函数的均方差损失来调整神经网络的参数。这涉及到使用目标网络计算目标 Q 值,然后更新主网络的参数以逼近这个目标。
Abstract
本文提出了第一个针对基于图神经网络(GNN)的假新闻检测器的对抗性攻击框架。具体来说,我们利用多代理强化学习(multi-agent reinforcement learning, MARL)框架来模拟社交媒体上欺诈者的对抗行为。研究表明,在现实世界中,欺诈者相互协调,分享不同的新闻,以逃避假新闻检测器的检测。因此,我们将我们的MARL框架建模为一个马尔可夫博弈,其中包含bot, cyborg, crowd worker agents。然后我们使用deep Q-learning(DQN)来搜索最大化奖励的最佳策略。
Motivation
真实世界的虚假信息活动为攻击模拟带来了三个不小的挑战:
1、为了在社交媒体上推广假新闻时逃避检测,malicious actor只能操作受控制的账户来分享不同的社交帖子,然而,大多数以前的GNN对抗攻击工作假设所有节点和边都可以被扰动,这是不切实际的。(也就是说,以前的对抗攻击方法假设可以对网络中的任何部分进行修改,但是比如在社交媒体上,malicious actor只能操作一部分受控制的账户进行虚假信息分享,而不能直接修改其他用户的节点和边。)
2、一些已部署的GNN模型用于虚假新闻检测,但由于这些模型的grey-box特性以及针对异构用户-帖子图的不同模型架构,以前的梯度优化攻击方法可能无法直接应用于这些模型。
3、各种协调的malicious actors参与了错误信息活动。不同类型的malicious actors具有不同的能力、预算和风险偏好。例如,关键的意见领袖比社交bot更大的影响力,但培养成本更高。
为了模拟分享不同帖子的欺诈者的真实行为,我们利用深度强化学习框架,通过修改分享帖子的用户的连接来翻转目标新闻节点的分类结果。
Contributions
- 第一个从社会参与(social engagement)的角度探索基于GNN的假新闻检测器的鲁棒性的工作。
- 利用MARL框架对基于GNN的假新闻检测器进行有针对性的攻击,以模拟真实世界的虚假信息活动。具体来说,我们将欺诈者建模为具有不同成本,预算和影响力的代理人。
- 实验结果表明,本文提出的MARL框架可以有效地翻转GNN预测结果。我们讨论了基于GNN的假新闻检测器的漏洞,并提供了攻击策略和对策的见解。
Formulation
攻击方法的目标:通过操纵受控恶意社交媒体用户帐户来分享新帖子,从而翻转目标社交帖子的GNN分类结果。
请注意,我们假设攻击者只能通过控制恶意用户共享新闻帖子来扰乱图,而不能删除现有的共享新闻帖子。
攻击目标正式定义为:
(最大化目标社交帖子的错误分类率)
U c U_c Uc:受控用户
E a E_a Ea:操纵边
V t V_t Vt:目标新闻帖子的集合
G G G:干净图
E ′ E^{'} E′是扰动边的集合
Δ u Δ_u Δu:受控用户的预算
Δ e Δ_e Δe:修改边的预算
Methodology
Attacker Capability(针对挑战1)
(1)直接攻击
假设有一个用户 𝑢 ∈ 𝑈𝑐 和一个目标新闻 𝑣 ∈ 𝑉𝑇。如果 (𝑢, 𝑣) ∉ 𝐸,也就是说,在图中用户和目标新闻之间没有直接的边,那么通过让用户分享目标新闻,直接在用户和目标新闻之间创建一条边,就构成了直接攻击。
在实际场景中,如果一个被控制的用户之前分享了很多来自可信来源的内容,那么当这个用户分享了一篇虚假新闻时,通过创建直接边,就能够影响图结构,使得图神经网络(GNN)可能更倾向于认为这篇虚假新闻是可信的。这是因为通过直接边的添加,这个虚假新闻似乎与一个以前被认为可信的用户有了直接关联。
总的来说,直接攻击的要点是直接改变图结构中节点之间的边,以影响图神经网络的预测结果。
(2)间接攻击
对于用户 𝑢 ∈ 𝑈𝑐 和目标帖子 𝑣 ∈ 𝑉𝑇,如果存在边 (𝑢, 𝑣) ∈ 𝐸(即用户和目标新闻之间有直接边),则进行间接攻击。在这里,攻击是通过控制用户 𝑢 来分享 𝑣 ′ ∉ 𝑉𝑇 来实施的,即用户分享了不属于可信源的内容。即,利用图神经网络(GNN)的邻居聚合机制,通过改变目标帖子的邻居来对目标帖子施加影响。
在实际场景中,如果一个被控制的用户之前分享了一篇虚假新闻,为了误导GNN对目标虚假新闻的预测,可以让这个用户分享一些来自可信来源的帖子。由于间接攻击不直接修改控制用户和目标新闻帖子之间的边,所以相对于直接攻击来说更不容易察觉。(洗白,不知道能不能这么说)
Agent Configuration(针对挑战3)
不同代理有不同的代价,比如bot user便宜但是能产生的影响也小一点,相反crowd workers昂贵但是对目标帖子的影响力更强。对不同的malicious actors group进行建模,单代理RL框架不适用,因此本文提出了multi-agent reinforcement learning(MARL)。
具体来说, 定义了三个代理。根据用户分享的新闻数量来划分用户账户:
(1)Agent1(Social Bots):由自动化程序注册并完全控制的社交机器人已被证明参与许多作品的假新闻传播。第一代理控制机器人用户,并且它具有低成本和高预算。我们随机选择数据集中只有一个连接的用户来代表新创建的机器人用户。
(2)Agent2(Cyborg Users):半机械人用户由人类注册,部分由自动化程序控制。人类和机器人之间的功能轻松切换为机器人提供了传播假新闻的独特机会。由于这些用户被归类为人类,因此他们通常具有更多的历史约定(即,与其他帖子的联系)。在我们的数据集中,我们随机选择连接数超过10的用户来代表受损用户。半机械人代理的成本、预算和影响介于其他两种代理之间。
(3)Agent3(Crowd Workers):人群工作者通常成本很高,因为他们每次活动都有报酬。同时,他们的影响力最大。我们选择了拥有20多个连接的用户,其中100%的用户连接到真实的新闻帖子,以代表人群工作者。
攻击框架:
使用MARL执行间接目标攻击的结果与几个基线进行比较。实验重复五次,并报告平均成功率:
由于attacker受限的能力,MARL只和随机边、随机节点、单代理这五个baselines进行比较,而不将基于特征和梯度的攻击作为baselines。
在Politifact和Gossipcop数据集中,不同类型的代理对假新闻的间接攻击性能。GAT、GCN和GraphSAGE上的性能分别以蓝色、红色和绿色标记:
尽管我们从实验中得到了一些有希望的结果,但本文有两个主要的局限性:1)这项工作只采用了一个简单的启发式选择用户的动作聚合。2)Q网络的搜索空间相当大,导致在像Gossipcop这样的大型数据集上的计算成本很高。
相关文章:

【Attack】针对GNN-based假新闻检测器
Attacking Fake News Detectors via Manipulating News Social Engagement AbstractMotivationContributions FormulationMethodologyAttacker Capability(针对挑战1)Agent Configuration(针对挑战3) WWW’23, April 30-May 4, 20…...

APIcloud 【现已更名 用友开发中心】 iOS发版 应用程序请求用户同意访问相机和照片,但没有在目的字符串中充分说明相机和照片的使用。
iOS 审核时 提示 首次安装软件 获取相机 相册 提示信息 怎么修改 我们注意到你的应用程序请求用户同意访问相机和照片,但没有在目的字符串中充分说明相机和照片的使用。 为了解决这个问题,修改应用信息中的目的字符串是合适的。相机和照片的Plist文件&a…...
记一次弱口令之后引发的获取服务器权限
文章目录 一、漏洞原因二、漏洞成果三、漏洞利用1、管理员权限2、信息泄露3、服务器权限4、数据库权限5、 PHPMyadmin后台管理系统四、总结五、免责声明一、漏洞原因 由于网站登录口未做双因子校验,导致可以通过暴力破解获取管理员账号,成功进入系统;由于未对个人信息进行脱…...

AJAX入门Day01笔记
Day01_Ajax入门 知识点自测 如下对象取值的方式哪个正确? let obj {name: 黑马 }A: obj.a B: obj()a 答案 A选项正确 哪个赋值会让浏览器解析成标签显示? let ul document.querySelector(#ul) let str <span>我是span标签</span>A: ul.innerText str B: ul…...
spring boot 环境变量问题
org.yaml.snakeyaml.scanner.ScannerException: while scanning for the next token found character that cannot start any token. (Do not use for indentation) in reader, line 4, column 13: active: spring.profiles.active 添加 以下依赖即可 <!-- 解决环…...

Javaweb开发 利用servlet+jsp+jdbc+tomcat数据库实现登录功能
前言:很久没更新了,今天给大家分享一个Java web的小案例,是一个登录页面,利用Login控制类和JDBC连接数据库,并判断用户名密码是否正确,项目最终部署在Tomcat上。 先看效果 正文 一、前期工作 1.首先我们…...

flutter下拉列表
下拉列表 内容和下拉列表的标题均可滑动 Expanded: 内容限制组件,将其子类中的无限扩展的界面限制在一定范围中。在此使用,是为了防止下拉列表中的内容超过了屏幕限制。 SingleChildScrollView: 这个组件,从名字中可…...
ElastaticSearch -- es深度分页 searchAfter
searchAfter深度分页 es一次只能查1万条数据,如果超过1万,会报错如下: "reason": {"type": "query_phase_execution_exception","reason": "Result window is too large, from size must be …...

【2021集创赛】Arm杯二等奖-基于Arm核的智慧病房手势识别方案
团队介绍 参赛单位:上海交通大学 队伍名称:芯灵手巧 指导老师:王琴、景乃锋 参赛队员:林圣凯、林新源、莫志文 总决赛奖项:二等奖 1.项目概述 1.1 选题背景 我们的选题背景是考虑到很多卧床病人不便于独自向医护人…...
通过注解统计接口调用耗时
要通过注解统计接口调用耗时,可以按照以下步骤进行操作: 首先,在您的项目中引入一个AOP(面向切面编程)框架,比如Spring AOP或AspectJ。这些框架可以帮助您在方法执行前后插入额外的逻辑。 创建一个自定义的…...

Oracle-动态sql学习笔记,由易至难讲解七个例子
本文章的内容来源于对oracle课堂上讲的内容做出的笔记 静态sql和动态sql 静态sql: 静态 SQL 是在编译时写死的 SQL 语句,即在程序编写阶段,SQL 语句已经被固定下来。 特点: 1.预编译: SQL 语句在程序编译时就会被…...

Kafka 的应用场景
Kafka 是一个开源的分布式流式平台,它可以处理大量的实时数据,并提供高吞吐量,低延迟,高可靠性和高可扩展性。 Kafka 最初是为分布式系统中海量日志处理而设计的。它可以通过持久化功能将消息保存到磁盘,并让消费者按…...

保驾“双十一” 博睿数据助力电商零售迎高峰无烦忧
如果说“双十一”大战的A面是由天猫、京东、拼多多、唯品会等电商平台,以及一些MCN机构、头部主播拉动的一系列购物狂潮,那么B面则是零售、物流、制造、银行保险等全产业链面对海量流量之下,以强大的心力、脑力与体力应对流量增加和交易陡增的…...
F.binary_cross_entropy、nn.BCELoss、nn.BCEWithLogitsLoss与F.kl_div函数详细解读
提示:有关loss损失函数详细解读,并附源码!!! 文章目录 前言一、F.binary_cross_entropy()函数解读1.函数表达2.函数运用 二、nn.BCELoss()函数解读1.函数表达2.函数运用 三、nn.BCEWithLogitsLoss()函数解读1.函数表达…...
后端接口性能优化分析
👏作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家📕系列专栏:Spring源码、JUC源码🔥如果感觉博主的文章还不错的话,请👍三连支持&…...
【ceph】ceph集群中使用多路径(Multipath)方法
本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》:python零基础入门学习 《python运维脚本》: python运维脚本实践 《shell》:shell学习 《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战 《k8…...

Xshell+Xftp通过代理的方式访问局域网内网服务器
最近在部署项目时遇到只有1台服务器拥有公网ip,其它服务器只有局域网ip,当然其它服务器可以正常访问网络,例如如下模型。之前访问其它几台服务器,都是先通过登录公网IP服务器,然后在Xshell里面执行ssh远程连接…...
对盒子中的材料进行计数
背景 在做AI算法分析项目的时候,有时候需要我们使用影像分析结合机器学习算法对某些材料盒中的材料进行数目计数,通过自己的分析,给出以下两种解决问题的思路。 1.图像处理方法对材料计数 要使用图像处理方式对盒子中的材料进行数目分析&a…...

科技驱动固定资产管理变革:RFID技术的前沿应用
在当今激烈竞争的商业环境中,企业固定资产管理面临挑战,而RFID技术正以其独特特性和功能性彻底改变资产管理方式。本文将深入探讨RFID技术在固定资产管理中的革命性作用,并解析其应用带来的创新和便利。 RFID技术概述: RFID系统作…...
Django路由层之有名分组和无名分组、反向解析、路由分发、伪静态的概念、名称空间、虚拟环境、Django1和Django2的区别
【1】无名分组 无名分组:就是把正则中小括号里噩匹配到的内容以位置参数的形式传递给视图函数 url(r^test/(\d)$,view.text) get请求的第一种方式: http://127.0.0.1:8000/test/?a1&b2 get请求的第二种方式: http://127.0.0.1:8000/test…...

7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...
在 Spring Boot 项目里,MYSQL中json类型字段使用
前言: 因为程序特殊需求导致,需要mysql数据库存储json类型数据,因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...

Sklearn 机器学习 缺失值处理 获取填充失值的统计值
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...

2.3 物理层设备
在这个视频中,我们要学习工作在物理层的两种网络设备,分别是中继器和集线器。首先来看中继器。在计算机网络中两个节点之间,需要通过物理传输媒体或者说物理传输介质进行连接。像同轴电缆、双绞线就是典型的传输介质,假设A节点要给…...

Spring AOP代理对象生成原理
代理对象生成的关键类是【AnnotationAwareAspectJAutoProxyCreator】,这个类继承了【BeanPostProcessor】是一个后置处理器 在bean对象生命周期中初始化时执行【org.springframework.beans.factory.config.BeanPostProcessor#postProcessAfterInitialization】方法时…...

EasyRTC音视频实时通话功能在WebRTC与智能硬件整合中的应用与优势
一、WebRTC与智能硬件整合趋势 随着物联网和实时通信需求的爆发式增长,WebRTC作为开源实时通信技术,为浏览器与移动应用提供免插件的音视频通信能力,在智能硬件领域的融合应用已成必然趋势。智能硬件不再局限于单一功能,对实时…...