论文部分内容阅读
近年来,机器学习在网络空间安全领域得到了广泛的应用,尤其是在入侵检测和恶意代码检测场景中。研究人员往往更关注网络空间安全领域基于机器学习的安全检测系统的检测性能,而忽略了由于机器学习算法自身的脆弱性所带来的安全隐患。对抗样本的出现吸引了越来越多的研究人员关注机器学习算法自身的安全性。通过向原始输入中加入精心设计的扰动而生成的对抗样本,能使目标分类器产生错误甚至是对手指定的输出结果。网络空间安全作为一个安全关键性的领域,对抗样本的存在严重阻碍了机器学习在该领域的深入应用。当前对抗样本生成研究主要集中于计算机视觉领域,网络空间安全领域的对抗样本生成研究还处于起步阶段。并且,当前对于对抗样本的成因还没有明确的数学解释,所以还无法构建有效的对抗样本防御方法。通过开展网络空间安全中对抗样本的生成研究,一方面可以为解释对抗样本的形成原因提供理论支撑,并为后续构建有效的对抗样本防御技术提供灵感和思路;另一方面还能通过“以攻代防”的方式保障网络空间安全领域基于机器学习的安全检测系统的安全。因此,开展网络空间安全领域对抗样本的生成研究既具有理论价值又具有实践意义。本文在现有的对抗样本生成研究基础上,结合网络空间安全领域各个场景的特点,梳理并总结了在网络空间安全领域生成对抗样本时需要解决的关键问题,并给出了相应的解决方案。本论文的主要研究内容和贡献如下:(1)本论文首先系统地梳理了网络空间安全各个应用场景中输入数据的类型,在此基础上提炼出了在网络空间安全中生成对抗样本时需要解决的主要问题:1)网络空间安全中基于机器学习的安全检测系统的输入可能是离散值,可能是连续值,也可能是离散值和连续值的组合。因此,在生成对抗样本的过程中,需采取措施保持离散值特征的离散性;2)网络空间安全领域生成的对抗扰动不能破坏输入的原始功能,从而保证所生成对抗样本的有效性,所以在网络空间安全领域,通常只能扰动原始输入的非功能性特征。针对这两点,本论文在设计用于网络空间安全各个应用场景的对抗样本生成方法时,都根据相应场景的特点给出了相应的解决方法。(2)针对主流的基于生成对抗网络的黑盒攻击方法存在的不足,本文提出了一种新的更适合于基于机器学习的安卓恶意代码检测系统对抗鲁棒性评估的黑盒对抗样本生成方法,该方法通过在受限的特征空间中穷举搜索能使目标系统产生错误分类的对抗特征来生成对抗样本,因此被称为暴力枚举攻击方法。相较于基于生成对抗网络的黑盒攻击方法,暴力枚举攻击方法原理更简单,更易于实现,且避免了基于生成对抗网络方法的繁琐的训练过程,能更高效地生成对抗样本。暴力枚举攻击方法以确定的方式生成对抗样本,因此攻击性能更稳定。本文在主流的DREBIN安卓恶意代码数据集上验证了所提出方法的有效性,实验结果表明暴力枚举攻击方法在主流的机器学习分类器上的攻击性能要优于基于生成对抗网络的攻击方法。(3)主流白盒对抗攻击方法在网络入侵检测场景中的攻击性能通常不太理想,本论文提出了三种新的对抗攻击强化方法,用于强化主流白盒攻击方法在网络入侵检测场景中的攻击性能。所提出的强化方法采用统一的底层架构,屏蔽了被强化算法的底层细节,通过统一的接口来高效地提升不同类型的白盒攻击方法的攻击性能。本论文在NSL-KDD入侵检测数据集上验证了所提出的方法的有效性,实验结果表明本文提出的三种对抗攻击强化方法能有效提高常见的基于梯度的白盒对抗攻击方法在网络入侵检测场景下的攻击性能。本文还评估了三种强化方法生成的强化对抗样本在不同类型的机器学习分类器之间的可传递性。(4)基于机器学习的主机入侵检测系统的输入通常为离散值向量。主流的白盒对抗攻击方法通常只支持生成微小的连续值扰动。为了能更好地评估基于机器学习的主机入侵检测系统对对抗样本的鲁棒性,本论文提出了一种新的用于生成离散值对抗扰动的白盒对抗样本生成方法,该方法通过在计算扰动的过程中对其进行离散化来保持生成的对抗样本的离散性。由于该方法每次对原始输入添加对抗扰动后,被扰动的特征都会从一个状态直接进入另一个状态,因此该方法被称为迭代阶跃方法。本文在ADFA-LD主机入侵检测数据集上,比较了迭代阶跃方法与主流的白盒对抗攻击方法在常见机器学习分类器上的攻击性能,实验结果表明迭代阶跃方法在常见机器学习分类器上的攻击性能要优于主流的白盒对抗攻击方法。此外,本文还比较了迭代阶跃方法生成的对抗样本和主流的白盒攻击方法生成的对抗样本在不同类型分类器之间的可传递性。