首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基于数据驱动的针对支持向量的攻击

导读

机器学习可以解决很多现实生活中的问题,比如人脸识别,翻译,漏洞检测等等。尤其是在大数据时代,机器学习更是可以替代人工做出推理的不可缺少的工具之一。但是传统的机器学习算法没有考虑安全问题,换言之,绝大多数的机器学习的模型的建立都是在理想情况下来开发的,即模型的开发过程中不考虑有没有对手。但是现实生活中,我们设计的模型很可能面临一个恶意的对手,并且对手可能通过不同的途径获得模型的一些信息,比如模型的算法,参数,甚至内部结构。这就导致机器学习本身很容易受到攻击,包括训练时收到攻击和预测的时候被攻击。因此设计一个安全的机器学习模型是非常有必要的。

面临的问题

要想设计一个安全的机器学习的模型,我们首先要对模型可能面临的攻击有一个全面的了解。一般而言,机器学习模型包括三个方面的安全性:保密性,完整性和可用性。保密性是指一个安全的机器学习模型必须保证信息不能泄露给未被授权的用户。完整性是指一个安全的机器学习模型必须保证其功能是完整的,预测的结果是准确可靠的。可用性是指一个安全的机器学习模型要具有实用性。

在本文中,我们主要讨论针对训练集的完整性攻击。即研究对手如何通过修改现有的训练数据甚至额外添加很少的数据来破坏训练完整性。该方法在支持向量机中得到了广泛的研究,比如Biggio等人对如何污染支持向量机的训练集给出了证明[2]。考虑到算法中预测误差是以损失函数的凸点衡量的,Biggio等人提出通过梯度上升法找到对推理产生影响最大的一组点,然后假设该点可以污染增量学习的支持向量机的训练集,从而破坏支持向量机训练的完整性。但是实验证明如何选择有效的初始攻击点是一个开放的问题,这也给我们提供了从另外一个角度研究支持向量机安全的可能性,即如何选择有效的初始攻击点和如果针对支持向量机发动有效的攻击?

解决方案

Liu等人[1] 提出了一个基于数据驱动的梯度上升法来攻击支持向量机中的支持向量。因为在一个数据集中,大部分的数据在支持向量机的训练中起不到作用,因为攻击支持向量具有研究意义。该研究不但缩小了攻击数据的选择范围(种子数据)同时也提高了攻击的效率。

该方法有以下几点不同于Biggio的算法:第一,Liu等人提出的新的攻击方法在通过梯度上升法找到影响推理的最大的一组点的过程中,除了最大化损失函数外[2],还考虑到了最小化间隔[3],这样找到的攻击点不但能使损失函数最大同时也能使间隔最小;第二,新的攻击方法不用主动修改类标,模型会生成一个能使攻击达到最大化的样本;第三,在本文在,损失函数的计算是基于训练数据而不是测试数据,从而使攻击更具有实用性;第四,本文提出的算法是直接攻击支持向量的而不是攻击整个训练集,从而使攻击范围进一步缩小。

图1给出了算法流程:首选随机选择一个支持向量作为初始迭代点(攻击的对象),然后通过梯度上升法迭代该初始点,同时更新模型的参数,新的参数参与下一次迭代攻击点的计算,如此循环直到损失函数不变或者间隔不再变化。

图1. 算法流程

实验验证

为验证攻击的有效性,本文作者在多组数据了做的实验,包括人工生成的数据和现实生活中的数据(网络流量数据,垃圾邮寄数据,手写体数字识别数据集,推特数据)。本短文仅给出部分结果,更多的实验结果请参考文章[1]。

图2展示了本文提出的攻击支持向量的算法(MMMHL)和攻击训练集的算法(MHL)在人工生成的数据上的实验结果比较。为了公平起见,两个算法都是选择支持向量作为初始点作为迭代对象。可以看到本文提出的MMMHL在攻击一个到三个支持向量的时候,决策边界均有变化,尤其是攻击三个支持向量的时候,决策边界就有了明显的改变。而基于随机攻击训练样本的算法MHL则效果不够明显。这说明在人工生成的数据上直接攻击支持向量机比随机攻击训练样本更有效。

图2. 人工生成的数据上实验结果比较-MMMHL: Liu et al.算法; MHL: Biggo et al. 算法

图3展示了本文提出的攻击支持向量的算法(MMMHL)和攻击训练集的算法(MHL)在网络流量数据上的实验结果比较。实验过程是基于随机选择初始攻击点。即对于MMMHL,我们是随机选择支持向量作为初始点,通过迭代来生成最终的攻击点。而对于MHL,我们是随机从训练集中选择一个点作为初始点通过迭代来生成最终的攻击点。我们可以看出当攻击的数据的数量从2个到8个时候,MMMHL有明显的效果,准确率从大约82%下降到54%,检测率从大约67%下降到30%左右。这说明了在现实生活中的数据上攻击支持向量的是有效果的。

图3. 基于网络流量数据的攻击结果展示

总结

本文作者正对支持向量机的安全性从数据驱动的角度进行了研究,分析了如何通过攻击支持向量机的训练集以影响其完整性。作者给出了如何通过梯度上升法攻击支持向量机的支持向量而不是整个训练集。同时,实验结果验证了攻击的有效性。

最后,值得指出的是该算法可以拓展应用到其他模型中比如神经网络等,以便来研究更复杂的模型的安全性,因为理论上来讲任何能用到凸优化的模型都可以用本文的思路找到有效的攻击点。

文章出处

Liu, Shigang, Jun Zhang, Yu Wang, Wanlei Zhou, Yang Xiang, and Olivier De Vel. "A Data-driven Attack against Support Vectors of SVM."In Proceedings of the 2018 on Asia Conference on Computer and Communications Security, pp. 723-734. ACM, 2018.

参考文献

[1] Liu, Shigang, Jun Zhang, Yu Wang, Wanlei Zhou, Yang Xiang, and Olivier De Vel. "A Data-driven Attack against Support Vectors of SVM."In Proceedings of the 2018 on Asia Conference on Computer and Communications Security, pp. 723-734. ACM, 2018.

[2] Biggio, Battista, Blaine Nelson, and Pavel Laskov. "Poisoning attacks against support vector machines."in29th Int'l Conf. on Machine Learning (ICML), 2012, pp. 1807–1814.

[3] Mei, Shike, and Xiaojin Zhu. "Using Machine Teaching to Identify Optimal Training-Set Attacks on Machine Learners."AAAI. 2015.

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190104G04K5500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券