一、poisoning attack发生的条件
- 在安全领域的机器学习应用,其数据通常是non-stationary的,也就是数据的分布会随着时间变化;
- 应对这种non-stationary distribution的解决方法有两种:增量算法(incremental algorithm)和定期重训练(periodic retraining);
* In the first case, the model is updated incrementally as new data comes in.
* In the second case, the data is buffered and the model is retrained periodically using the buffered data. (重新训练的条件:固定时间间隔进行训练,或者分类器性能低于预定阈值). - periodic retraining的模型重训练所使用的数据来自对抗性环境,因此给了攻击者可趁之机
[1,2]
,攻击者可以将伪造的数据加入新的训练数据中,使模型再训练后产生倾斜,可能将某些恶意数据认为是正常,从而提高假正率;
二、poisoning attack against SVM
SVM是监督学习算法,使用带有标签的数据集进行学习,它的基本思想是在特征空间中找到区分正负样本的决策边界,因此攻击者在对其实施poisoning attack时,通常使用标签翻转攻击(Adversarial Label Flips Attack)[3,4]
,将翻转标签的数据插入训练集中。
Adversarial Label Flips Attack的方法
- 对于标签翻转攻击,比较简单的方法有:
* 第一种方法是随机翻转标签[4]
,这种方法等同于给训练数据加入噪声
* 第二种方法是找到支持向量附近的数据并翻转标签
* 第三种方法是找到距离支持向量最远的数据并翻转标签 - 另一种方法是
[5]
,选择最大化分类器误差(或false positive rate)的点的组合。这种方法的问题在于,由于数据集大小,在真实环境中选择这样的最优点集合是不可行的。 - Biggio(Poisoning attacks against support vector machines)
[3]
,Xiao (Adversarial label flips attack on support vector machines)[4]
等人提出了更好的寻找翻转点的方法,这些方法试图找到可以最大化SVM的损失函数的点。 在Xiao等人[4]
的工作中,基于损失最大化框架选择一组点,并翻转它们的标签。在Baggio等[3]
的工作中,选择一些数据点,并将它们移动到特征空间中的其他点以使损失最大化。 根据所提出的结果,两种方法都能很好地降低分类准确性。
三、Previous Methods to protect against Poisoning Attack
- 第一种方法是开发抵抗攻击的安全分类器。大多数关于安全分类器算法的的工作都使用了博弈论模型
[6,7]
- 问题被建模为对手和学习者之间的博弈,但是这种方法很难与现有系统集成。 - 第二种方法是使用多种分类器(Biggio等人,Bagging classifiers for fighting poisoning attacks in adversarial classification tasks)
[8]
,将poison data看作outliers并使用一个分类器集合。但是这种方法的缺点在于它使用了3到50个基本分类器,十分耗费资源;此外也没有提出更智能[3,4]
的生成poison data的方法。 - 第三种方法是隐藏分类器的信息。但是已经假设攻击者完全了解分类器。
- Laishram等人(Curie: A method for protecting SVM Classifier from Poisoning Attack)
[9]
根据Biggio和Xiao等人[3,4]
的基于梯度上升的poisoning attack提出保护方法。
四、参考文献
[1] Barreno, M., Nelson, B., Joseph, A.D., Tygar, J.: The security of machine learning. Machine Learning 81(2), 121–148 (2010)
[2] Barreno,M.,Nelson,B.,Sears,R.,Joseph,A.D.,Tygar,J.D.:Canmachinelearning be secure? In: Proceedings of the 2006 ACM Symposium on Information, computer and communications security. pp. 16–25. ACM (2006)
[3] Biggio, B., Nelson, B., Laskov, P.: Poisoning attacks against support vector machines. arXiv preprint arXiv:1206.6389 (2012)
[4] Xiao, H., Xiao, H., Eckert, C.: Adversarial label flips attack on support vector machines. In: ECAI. pp. 870–875 (2012)
[5] Biggio, B., Nelson, B., Laskov, P.: Support vector machines under adversarial label noise. ACML 20, 97–112 (2011)
[6] Bru ̈ckner, M., Kanzow, C., Scheffer, T.: Static prediction games for adversarial learning problems. The Journal of Machine Learning Research 13(1), 2617–2654 (2012)
[7] Bru ̈ckner, M., Scheffer, T.: Stackelberg games for adversarial prediction problems. In: Proceedings of the 17th ACM SIGKDD international conference on Knowledge discovery and data mining. pp. 547–555. ACM (2011)
[8] Biggio, B., Corona, I., Fumera, G., Giacinto, G., Roli, F.: Bagging classifiers for fighting poisoning attacks in adversarial classification tasks. In: Multiple Classifier Systems, pp. 350–359. Springer (2011)
[9] Laishram and V. V. Phoha. Curie: A method for protecting SVM classifier from poisoning attack. arXiv, (2016)