机器学习中对抗性攻击的简介

238 阅读3分钟

对抗性机器学习使用可获得的模型信息来发动恶意攻击。这种对抗性攻击试图通过向模型提供虚假数据来阻碍分类器在某些任务上的表现。

这类攻击的最终目的是欺骗模型,使其泄露敏感信息,做出错误的预测,或使其堕落。

大多数关于对抗性机器学习的研究都是在图像识别领域完成的,其中图像被篡改,导致分类器做出错误的预测。

对抗性攻击产生虚假数据来欺骗分类器。这种输入是故意设计的,以导致ML模型出错。它们是有效数据的损坏版本,作为机器的视觉幻觉发挥作用。

当攻击者能够访问目标模型并知道其架构和参数时,它被称为白盒攻击。

另外,当攻击者对目标模型的访问权为零,只能通过观察其输出来工作时,它被称为黑箱攻击。

不同类型的对抗性攻击

投毒攻击 发生在ML系统的训练阶段。他们通过操纵现有数据或打上不正确的标签来 "污染 "或 "毒害 "ML模型的训练数据。这样的黑客很可能对不断重新训练的模型起作用。例如,强化学习模型可能每天或每两周训练一次,给黑客多次机会将欺骗性数据引入训练数据。

逃避攻击是最普遍的(也是研究最多的)对抗性攻击,发生在模型已经被训练之后。这些攻击往往更实用,因为它们是在部署阶段进行的。它们涉及不知不觉地改变模型用于预测的数据(而不是训练数据),使其看起来合法,但做出错误的预测。这些攻击往往是在试验和错误的基础上发起的,因为攻击者事先不知道什么数据操作会最终破坏ML系统。

逃避攻击常常与计算机视觉有关。攻击者可以修改图像,欺骗模型做出不正确的预测。这是因为图像识别模型已经被训练成将某些类型的像素与预定变量相关联。如果像素以一种特定的方式被重新裁剪(例如添加一层不易察觉的噪音),就会导致模型改变其预测结果。这对医学成像系统构成了威胁,因为它们可能被骗将良性痣归类为恶性。

模型窃取攻击是针对已经训练好的模型。攻击者检查黑盒机器系统的结构和训练数据,然后可以用来重建模型或提取模型训练的潜在机密数据。这种攻击的动机通常是为了经济利益。

如何防止对抗性攻击

对抗对抗性攻击的一个潜在方法是训练ML系统,通过在其训练过程中加入对抗性例子,提前学习对抗性攻击可能的样子。

另一种方法是定期修改ML模型用来分类数据的算法,从而创造一个 "移动目标 "来保持算法的保密性。

ML系统的开发者应该意识到与之相关的风险,并为交叉检查和验证信息制定安全措施。此外,为了预先避免陷阱,他们应该经常尝试腐蚀他们的模型,以预先发现尽可能多的缺点。