poisoning attack

一、poisoning attack发生的条件
  1. 在安全领域的机器学习应用,其数据通常是non-stationary的,也就是数据的分布会随着时间变化;
  2. 应对这种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. (重新训练的条件:固定时间间隔进行训练,或者分类器性能低于预定阈值).
  3. 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)