定义:
投毒攻击是一种通过恶意手段向系统、数据中植入有害元素,从而破坏其正常功能、窃取信息或达成其他恶意目的的攻击方式。其本质是通过篡改训练数据或模型参数,使模型学习到错误模式,导致其在预测时输出错误结果。利用机器学习模型对数据的 “依赖性”,通过注入精心设计的 “毒数据” 破坏模型的泛化能力。
分类:
1.数据投毒攻击
修改现有的样本特征或标签,误导模型学习错误关联。这种攻击可以是无目标的,降低模型整体性能,也可以是有目标的,使模型对特定输入产生错误输出。
攻击手段:
改变数据标签,“猫”改成“狗”等,破坏标签和特征的一致性;
特征篡改,在图像中加入噪声,文本中加入恶意词汇,使模型误判特征;
数据注入,生成大量虚假数据,淹没真实数据,使机器进行错误学习。
2.后门攻击
在数据中植入“触发器”,如图像中的彩色块,文本中的关键字,当模型遇到触发器时,输出特定结果。(也是另一种形式的数据投毒)
攻击步骤:
①设计触发器
②构造样本,将触发特征与目标输出进行绑定
③注入数据进行训练。
3.模型攻击
攻击者通过操纵模型的训练算法或参数,干扰模型的学习过程。攻击者上传篡改后的模型参数,污染全局模型。过程可能不涉及直接篡改训练数据,攻击的焦点是直接针对模型的训练过程。
通常在联邦学习,分布式学习中。
联邦学习中,恶意客户端故意上传偏离真实数据分布的参数。
分布式训练中,攻击者控制部分节点,注入梯度噪声或错误参数。
联邦学习中的投毒攻击:
主要通过客户端的操作来实现。
数据投毒:操纵客户端的本地训练数据来干扰全局模型的训练过程。
后门攻击:恶意客户端在训练数据中加入触发器,将带有后门的本地模型发送给服务器,使得全局模型在聚合过程中继承这些后门。
模型投毒:操纵客户端的本地模型更新来干扰全局模型的训练过程。
防御机制:
数据清洗与异常检测:识别离群样本,过滤毒样本。
数据增强与净化:在数据中添加良性扰动,进行鲁棒性训练。利用无标签数据学习通用特征
进行对抗训练:增强模型抗干扰能力。