数据投毒攻击(Data Poisoning Attack)定义为攻击者在机器学习模型的训练阶段,通过向训练数据集中注入少量精心设计的恶意样本(也称为“毒化样本”),从而影响模型的学习过程。这些恶意样本利用模型的训练或微调(fine-tuning)过程,使得模型在测试阶段或部署后的预测阶段表现异常。数据投毒攻击的目的是破坏模型的可用性或完整性,导致模型对于特定的输入产生错误的输出,或者在更广泛的范围内降低模型的准确性和可靠性。

理论模型

数据投毒的威胁模型可以根据攻击者的目标、知识水平和攻击方式来描述。攻击者的目标可以分为有目标和无目标两种。在无目标攻击中,攻击者旨在尽可能地产生模型错误预测,而有目标攻击则专注于特定的测试样本,试图改变模型对其分类结果。攻击者的知识水平对攻击的能力和战略至关重要。白盒攻击者了解目标机器学习系统的任务、算法、数据集和内部工作原理,可以直接访问训练数据和模型权重。黑盒攻击者无法直接访问受害模型和数据集,但可以利用替代数据集和模型来模拟原始系统。灰盒攻击者则对目标模型部分了解。攻击者可以通过修改数据的标签或内容来进行数据投毒。标签修改是指操纵数据的标签,例如将数字1标记为7;数据修改则是修改训练数据的内容,例如向图像中添加噪声。此外,还有数据注入的方式,即向训练集中注入中毒数据,如虚构用户向推荐系统上传信息。数据投毒的建模可看作是一个双层优化模型。外层优化旨在调整中毒样本,使模型在验证集上产生最大损失。内层优化则调整模型参数,使加入中毒样本后的训练损失最小化。通过这种方式,攻击者可以针对模型进行有针对性的攻击,使其在训练或预测时产生错误结果。

攻击方法

基于标签翻转的数据投毒攻击

基于标签翻转的数据投毒攻击是针对有监督机器学习模型的一种常见攻击方式。其核心思想是通过改变训练数据的标签来扰乱模型学习的映射关系,从而损害模型的性能。在这种攻击中,攻击者通常希望以最少的标签翻转达到最大的攻击效果。最早的攻击方法通常是不加章法地随机翻转训练数据的标签,导致模型学习错误的映射关系。例如,在数字识别任务中,将数字1的标签随机更改为7。然而,随机翻转标签的方法并不一定是最有效的,因为它可能需要翻转大量的数据才能对模型产生显著的影响,并且攻击效果也不可控。为了提高攻击的效果和效率,研究者开始探索基于模型梯度信息或生成对抗网络的方法,以选择最具攻击性的样本进行标签翻转,从而在翻转更少的标签的情况下对模型造成更大的影响。

基于优化的数据投毒攻击

基于优化的数据投毒攻击核心在于将攻击目标转化为优化问题,并在特定的约束条件下解决这些问题,以影响机器学习模型的性能。这种攻击方法的关键在于攻击者通过调整中毒样本的特征,使得模型在训练过程中产生最大的误差。通常,攻击者面临两种优化策略:修改标签和修改数据。在修改标签的策略中,攻击者试图找到一组最具有影响力的样本,从而使模型学习产生最大的误差。而在修改数据的策略中,攻击者则尝试在不改变标签的情况下,通过引入噪音或扰动来影响模型的学习过程。为了更好地控制攻击效果,研究者通常引入各种约束条件,例如限制噪音水平、染毒率以及修改数量等。

基于特征碰撞的数据投毒攻击

数据投毒的特征碰撞法是一种用于攻击机器学习模型的方法,其基本原理是通过有意选择或生成具有误导性的样本,使其在关键特征上与正常样本相似但在其他方面有所不同,从而导致模型做出错误的分类决策。攻击者首先需要深入了解目标模型的工作原理,尤其是其特征提取过程。攻击者可能会利用对抗样本生成技术来生成具有误导性的样本,或者有针对性地修改已有样本的特征。这种方法的优势在于攻击者可以有选择地攻击模型的关键特征,从而更有效地干扰模型的预测结果。然而,特征碰撞法也存在挑战和限制,攻击者需要具备深入的专业知识和对模型的理解,并且攻击效果可能受到模型鲁棒性和特征多样性等因素的影响。