LEMNA: Explaining Deep Learning based Security Applications
LEMNA:Local Explanation Method using Nonlinear Approximation
Abstract
- 虽然深度学习在各个领域显示出巨大潜力,但缺乏透明度限制了其在security 或者 safety-critical领域的应用。现有研究试图开发可解释技术,为每个分类决策提供可解释性。不幸的是,当前的方法是针对非安全任务(例如,图像分析)而优化的。他们的关键假设在安全应用中经常被打破,导致可解释的保真度较差。
- 在这篇文章中,我们提出LEMNA,一种专用于安全应用的高保真解释方法。给定一个输入数据样本,LEMNA生成一小组可解释的特征来解释输入样本是如何分类的。核心思想是使用简单的可解释模型来粗略估计复杂深度学习决策边界的局部区域。本地可解释模型是专门设计的,用于(1)处理特征相关性,以便更好地与安全应用程序一起工作(例如,二进制代码分析);以及(2)处理非线性局部边界以提高解释保真度。我们使用两个流行的深度学习安全应用程序(恶意软件分类器和用于二进制逆向工程的函数启动检测器)来评估我们的系统。大量评估表明,与现有方法相比,LEMNA的解释具有更高的保真度。此外,我们展示了LEMNA的实际用例,以帮助机器学习开发人员验证模型行为,排除分类错误,并自动修补目标模型的错误。
1 Introduction
- 近年来,深度神经网络在构建安全应用方面显示出巨大的潜力。到目前为止,研究人员已经成功地应用深度神经网络为恶意软件分类[2,16,21,48,68],二进制逆向工程[15,52,71]和网络入侵检测[24,62]训练分类器,所有这些都达到了极高的准确率。
- 尽管深度学习在各个领域显示出巨大的潜力,但安全从业者担心深度学习模型缺乏透明度,因此在安全和安全关键领域犹豫是否广泛采用深度学习分类器。更具体地说,深层神经网络很容易包含数十万甚至数百万个神经元。该网络一旦经过大规模数据集的训练,就能提供很高的分类精度。然而,网络的高度复杂性也导致模型的低“可解释性”。很难理解深度神经网络如何做出某些决定。缺乏透明度是建立信任模型或有效排除分类错误的主要障碍。
- 为了提高深层神经网络的透明度,研究人员开始研究解释分类结果的解释方法。现有的工作大多集中在非安全应用上,如图像分析或自然语言处理(NLP)。图1a显示了一个例子。在给定一幅输入图像的情况下,解释方法通过指出对最终决策影响最大的特征来解释分类结果。常见的方法包括在网络中运行前向传播[17,19,32,76]或后向传播[3,50,53]来推断重要特征。更先进的方法[34,45]在没有分类器细节知识的“黑盒子”环境下产生解释。基本思想是使用线性模型来粗略估计局部决策边界,以推断重要特征。
- 不幸的是,现有的解释方法不能直接应用于安全应用。首先,大多数现有方法是为图像分析设计的,它更喜欢使用卷积神经网络(CNN)。然而,CNN模型在安全领域并不太受欢迎。诸如二进制逆向工程和恶意软件分析之类的安全应用程序要么具有高级特征依赖性(例如,二进制代码序列),要么需要高可伸缩性。因此,递归神经网络(RNN)或多层感知器模型(MLP)被更广泛地使用[15,21,52,68]。到目前为止,没有一种解释方法在RNN行之有效。第二,现有的方法仍然受到低解释保真度的困扰,正如我们在Sec. 5中的实验所验证的那样。这对于图像分析来说可能是可以接受的,但是在安全应用中可能会导致严重的问题。例如,在图1a中,突出显示的像素并不完全准确(特别是在边缘区域),但足以提供直观的理解。但是,对于安全应用,例如二进制分析,错误地突出显示一个字节的代码可能会导致严重的误解或解释错误。
图1:机器学习解释的例子:(a)由于突出显示的像素,图像被分类为“橙色”;(二)由于关键词突出,该句被归类为“负面情绪”。
**Our Designs.**在本文中,我们寻求开发一种新颖、高保真的安全应用解释方法。我们的方法在黑盒环境下工作,并引入专门的设计来解决上述挑战。给定一个输入数据实例x和一个分类器,如RNN,我们的方法旨在识别对x的分类有重要贡献的一小部分特征。这是通过在x附近生成目标分类器的决策边界的局部近似来实现的。为了显著提高近似的保真度,我们的方法不再假设局部检测边界是线性的,也不假设特征是独立的。这是现有模型[34,45]做出的两个关键假设,在安全应用中经常被违反,导致解释保真度差。取而代之的是,我们引入了一种基于混合回归模型[27]的新方法来近似非线性局部边界