数据分析师

手机号

验证码

30天自动登录

数据分析师

数据中毒攻击如何破坏机器学习模型

来源:CPDA数据分析师网 / 时间:2021-04-23

大多数社交网络平台,在线视频平台,大型购物网站,搜索引擎和其他服务都具有基于机器学习的某种推荐系统
人们喜欢在播放软件上观看的电影和节目,人们喜欢或在微信上分享的内容,在知乎上的标签和喜欢的内容,消费者在电商上购买或查看的产品,用户在百度搜索中键入的查询都将反馈到这些网站中机器学习模型提出更好,更准确的建议,攻击者试图通过使用虚假帐户来投票,降级,共享或促销某些产品或内容来影响和歪曲这些推荐系统已不是新闻,用户可以购买服务以在地下市场上进行此类操纵,也可以购买用于虚假信息传播假新闻的“巨魔农场”。

从理论上讲如果攻击者了解特定用户如何与系统进行交互
可以精心设计攻击,以针对该用户,并提供诸如视频,恶意应用或冒名顶替者帐户之类的推荐,卓越人工智能中心研究人员在博客中解释道,因此算法操纵可用于多种目的,包括虚假信息,网络钓鱼诈骗,改变公众舆论,宣传不需要的内容以及抹黑个人或品牌。您甚至可以付钱给某人操纵搜索引擎的搜索自动完成功能。

什么是数据中毒?
数据中毒或模型中毒攻击涉及污染机器学习模型的训练数据,数据中毒被认为是完整性攻击,因为篡改训练数据会影响模型输出正确预测的能力,其他类型的攻击可以根据其影响进行类似分类:

机密性,攻击者可以通过向模型提供输入来推断有关训练数据的潜在机密信息
可用性,攻击者伪装其输入以欺骗模型以逃避正确的分类
复制,攻击者可以对模型进行反向工程,以便对其进行复制并在本地进行分析,以准备攻击或利用其自身的经济利益
旨在规避模型的预测或分类的攻击与中毒攻击之间的区别是持久性:对于中毒而言,攻击者的目标是使他们的输入被接受为训练数据,攻击的持续时间也有所不同,因为它取决于模型的训练周期,攻击者可能需要数周的时间才能达到他们的中毒目标。

数据中毒可以在针对依赖用户反馈来更新其学习的分类器的黑盒场景中实现
也可以在攻击者获得对模型及其私有训练数据的访问权的白盒场景中实现,如果训练数据可能在供应链中的某个位置是从多个来源收集的。

数据中毒的例子
在网络安全环境中,目标可能是使用机器学习来检测可能指示可疑活动的网络异常的系统,如果攻击者了解已经建立了这样的模型,则可以尝试缓慢引入会降低该模型准确性的数据点,从而终不再将其想要做的事情标记为异常这也称为模型偏斜,一个真实的例子就是对电子邮件提供商使用的垃圾邮件过滤器的攻击,实际上我们经常看到一些的垃圾邮件发送者小组试图通过报告使过滤器偏离轨道大量的垃圾而非垃圾信息至少有四次恶意大规模企图歪曲我们的分类器。

许多防病毒供应商都使用该服务来扩充自己的数据
尽管已知攻击者可以在野外部署之前先对他们的恶意软件进行测试,从而逃避检测,但他们也可以使用它来进行更持久的中毒,实际上进行了样本中毒攻击,使防病毒供应商将良性文件检测为恶意文件。

没有简单的解决方法
数据中毒的主要问题是不容易修复,根据特定的用途和所有者的喜好,模型会在一定的时间间隔内使用新收集的数据进行重新训练,由于中毒通常会随着时间的流逝以及经过一定数量的训练周期而发生,因此很难判断预测准确性何时开始发生变化,要恢复中毒的影响,就需要对受影响的类进行耗时的历史记录输入分析,以识别所有不良数据样本并将其删除,然后需要重新训练攻击开始之前的模型版本,但是在处理大量数据和大量攻击时,以这种方式进行再培训根本不可行,而且模型永远也不会固定。

学术界现在已经有了一个完整的概念
我认为这真的很酷,还不切实际,但是我们会到达那里,这就是所谓的机器学习,AI开发的语言预测模型,或者需要一次训练模型的费用,如果事后对它进行了毒害和识别,那么找到受毒害的数据并进行重新培训可能会非常昂贵,但是如果我无法学习,如果我只能说“嘿,对于这些数据,取消它们的影响和权重”,那可能是一种便宜得多的防御方式,我认为,针对机器学习的实用解决方案还有很长的路要走,因此是的目前的解决方案是对良好的数据进行重新训练,而这可能很难完成,也可能非常昂贵。

预防和发现
鉴于修复中毒模型的困难,模型开发人员需要专注于可能阻止攻击尝试或在下一个训练周期发生之前检测到恶意输入的措施,例如输入有效性检查,速率限制,回归测试,手动审核以及使用各种统计数据等,检测异常的技术,一小组帐户,IP地址或用户不应占模型训练数据的很大一部分,可以限制接受用户提供的输入数量到训练数据中,或以多大的权重,通过使用暗启动,可以将新训练的分类器与以前的分类器进行比较,以比较其输出-将它们仅分发给一小部分用户,建立一个黄金数据集,任何经过重新训练的模型都必须准确地预测该数据集,这有助于检测回归。

数据中毒只是发生在系统中的称为数据漂移的较大问题的特例
每个人都会因各种原因而获得不良数据,并且有许多关于如何处理数据漂移的研究,以及用于检测运营数据和模型性能的重大变化的工具,包括大型云计算提供商,如果再训练后模型的性能受到重大打击,那么无论是中毒攻击还是仅不良数据批次都可能无关紧要,并且系统可以检测到这一点,如果您要解决此问题,则可以消除针对性的中毒攻击,也可以消除在训练模型时无意中进入数据孔径的不良数据,因此这些工具是一个很好的开始,这种AI风险管理框架已经在业界开始出现。

为了执行数据中毒
攻击者还需要获取有关模型工作方式的信息,因此,尽可能少地泄漏信息并为模型和训练数据提供强大的访问控制非常重要,在这方面,机器学习防御与一般的安全实践和安全性相关联,例如限制权限,启用日志记录以及使用文件和数据版本控制,人工智能和机器学习中的许多安全性都与数据的基本读写权限或对模型,系统或服务器的访问有关,在这种情况下,某些目录中的少量过度许可的数据提供者服务或文件可能会导致中毒攻击。

继续进攻
就像企业针对其网络和系统进行常规渗透测试以发现弱点一样,他们应将其扩展到机器学习上下文,并将机器学习视为大型系统或应用程序安全的一部分,开发人员在构建模型时应该做的显而易见的事情是实际对自己进行攻击以了解如何对其进行攻击,然后通过了解如何对其进行攻击,便可以尝试建立针对这些攻击的防御措施,您的检测将基于您从红色团队中发现的内容,因此当您对模型进行攻击时,您可以了解数据点的外观,然后相应地,您将建立能够丢弃看起来像中毒的数据点。

在无法直接访问模型的情况下
团队设法找到了有关其如何收集数据以创建本地模型副本的足够信息,并测试了针对它的逃避攻击,而没有被实时系统检测到,这样一来他们可以确定虚拟机,数据库,其大小和复制因子的组合,在中的什么时候以及在哪些区域中应从真实系统中请求虚拟机,数据库的组合,以确保机器学习模型极有可能过度配置资源,他们在还托管高可用性服务的物理主机上进行了请求。

利用这些超额配置的资源

他们使用CPU和RAM使用率很高的有效载荷发起了嘈杂的邻居攻击,从而对同样托管在同一硬件上的高可用性服务造成了拒绝服务攻击,这次攻击与任何IT系统上的对手活动都具有惊人的相似性,存在渗透,逃避和执行,终终受到服务可用性的影响。



返回列表