人工智能时代前沿技术社区

首页 > 人工智能 > 热点

漫谈在人工智能时代网络入侵检测器的安全风险之二逃逸攻击

在本篇,我们将梳理针对逃逸攻击的一些安全防御措施,以供读者参考。

作者: | 2020-09-06 23:12:01

c0a0126254ef42354bb3d7c2f960de10.png-wh_651x-s_71270281.png

引言

在本篇,我们将梳理针对逃逸攻击的一些安全防御措施,以供读者参考。

鲁棒性评估机制

面对如此多的逃逸攻击方法,相关安全人员需要合理地评估网络入侵检测器的鲁棒性,进而对检测器进行安全加固。在逃逸攻击的环境下,给定一个基于机器学习的网络入侵检测器,然后给定一个特定的入侵流量,即原始样本,如果该入侵流量周围的变异流量通过检测器后分类结果都是一致的,那么就认为该入侵流量在它的局部空间内是鲁棒的。与其它机器学习的应用场景类似,网络入侵检测器的鲁棒性也可以用以下几种方法来评估:

(1)上边界评估。对于鲁棒性的定义,原始样本存在一个最小的扰动半径,使半径内所有变种样本被正确预测,而半径外的变种样本被误判,该最小扰动半径的大小被定义为对抗距离。对抗距离的上边界可以理解为对于实际对抗距离大于这个上边界的样本, 存在一种扰动使得其可以变为一个对抗样本。这一类的评估通常通过设计算法去构造扰动更小的对抗样本来实现, 因此大部分是与攻击方法相关的评估方式。

(2)下边界评估。受限于对抗距离上边界的评估通常依赖于特定的攻击方式, 有许多研究把目标转向了对抗距离下边界的评估。对抗距离下边界的评估目标是寻找一个下边界, 使得小于该边界距离的扰动都无法使得原样本被转化为对抗样本。可证明的下边界不依赖于特定的攻击方法, 因此更具普适性, 也更适合作为鲁棒性评估的指标。

(3)其它评估的方法。现阶段, 对抗环境下大部分模型的鲁棒性评估指标都是基于范数的,但是该范数有时并不适合用以度量输入流量的之间的差异,并且一些逃逸攻击并非通过该范数来生成对抗样本。因此一些学者提出其它鲁棒性评估指标,如样本间Wasserstein距离、扰动敏感距离等。这些指标极大地提升了鲁棒性评估的灵活性。

防御机制

对检测器进行鲁棒性评估后,安全人员下一步的工作是制定合理的防御机制以应对逃逸攻击。目前存在以下两种选择:

(1)被动防御。这是一种比较常见的防御机制,攻击者通过对检测器进行分析,不断尝试发现合适的攻击策略,进而实施最优的攻击;而安全人员又会尽快地对出现的新的对抗样本进行分析,尽可能地更新检测器,典型的更新方法有重新收集数据进行训练或者加入新的特征来检测最新出现的攻击。如此攻击和防御的过程循环交替进行,形成一种竞赛。

(2)主动防御。这个过程与被动攻击基本一致,只是开展攻防技术竞赛的双方主体都是安全人员。在部署设计好的检测器之前,安全人员通过假设存在敌手来对检测器进行渗透。首先通过逃逸攻击的敌手模型假设具体的敌手目标、知识、能力和策略,进而找出特定敌手模型下检测器可能存在的缺陷和攻击威胁,然后再提出合适的措施加入检测器的设计。

常见的防御方法

在抵抗逃逸攻击时,安全人员可以从提升网络入侵检测器的鲁棒性、减小对抗样本对检测器的影响两个方面入手。目前,研究人员已提出多种防御方法,主要包括修改检测器的分类模型、添加附加的模型、修改训练阶段的输入样本、修改测试阶段的输入样本等四类。一些常见的方法与分类如表2所示,下面我们对其进行简要介绍。

(1)防御蒸馏。该方法采用了知识迁移的思想,将原始分类模型学到的信息迁移到小型网络模型中,从而实现了梯度遮掩。防御蒸馏可以有效抵抗一些基于梯度的逃逸攻击,然而研究表明,在未知模型函数或黑盒攻击的情况下,例如当采用C&W方法发动攻击时,该防御方法失效。

(2)正则化。该方法是指在训练过程中对分类模型的目标函数进行惩罚输出,从而使模型的输出对输入的敏感性降低。深度压缩网络的防御方法与这类方法的思想类似,它则是在训练过程中通过使用压缩自编码来添加平滑惩罚项,从而使模型的输出更加平滑。这类方法可以显著提高检测器的鲁棒性,但可能在一定程度上会使检测器的效果变差。

(3)防御全局扰动。该方法在分类模型前添加了额外的处理层,并对该层进行训练使得该层拥有还原全局扰动的对抗样本的能力。然而这种方法只能抵抗针对模型的全局扰动,不能防御其它方法产生的对抗样本。

(4)基于生成对抗网络的防御。该方法利用生成对抗网络来增强检测器的鲁棒性。它包括两个机器学习模型,一个作为检测器,一个用于生成对抗样本,然后通过两个模型博弈来不断训练检测器。该方法可以有效抵抗对抗攻击,但是如果生成对抗网络自身没有得到适当的训练和挑战,那模型会受到原始输入样本和对抗样本的影响。

(5)检测对抗样本。该类防御方法只需要识别出输入样本是否为对抗样本。目前研究人员提出了多种检测方法,例如基于统计的检测、基于局部本征维度的检测、Feature Squeezing等。然而这类方法一般没有提供检测为对抗样本后的响应方案,而且也会降低检测器的准确率。

(6)对抗训练。该方法是将各个方法生成的对抗样本放入原模型中进行训练,通过修改训练样本集来提升分类模型的鲁棒性。除了经典的对抗训练,目前存在许多优化的对抗训练方式,例如集成对抗训练、层叠对抗训练,取得不错的防御效果。然而该方法只能加入由已知攻击方法生成的特定类型的对抗样本,缺乏泛化能力。另外,当检测器的数据集规模较大时,该方法的训练成本较高。

(7)数据压缩。该方法是通过修改测试阶段的样本集来减小对抗样本的对抗扰动对分类模型的影响,例如对多条流量的输入样本进行压缩处理,形成一条输入样本后再让检测器进行判断。数据压缩的优点是不需要修改模型、计算量小实现简单,但是会对检测器准确率产生一定的影响。

总 结

机器学习模型在网络入侵检测领域中有着出色表现,但是也带来了逃逸攻击的安全风险。逃逸攻击的敌手模型多样,攻击策略繁多。面对复杂的对抗环境,安全人员仍需加强对网络入侵检测器的测试评估、不断发展和完善安全防御技术,以此把握攻防博弈的主动权,从而让“机器学习+网络安全”走得更远。