神经网络的安全隐患:居然可以隐藏恶意软件

深度学习模型拥有数以百万计甚至数十亿计的数值参数,因此可以做很多事情:检测照片中的物体、识别语音、生成文本,甚至隐藏恶意软件。恶意软件隐藏技术 EvilModel 研究人员证明可以将恶意软件隐藏在神经网络图像分类器中以绕过防御措施。这已成为机器学习和网络安全会议讨论的热门话题。

图片

随着深度学习逐渐与我们的日常生活不可分离,安全社区开始思考如何采用新的手段,保护用户免受这类新兴威胁的困扰。


每个深度学习模型都是由多层人工神经元组成,根据层的类型,每个神经元与其上一层和下一层中的所有或部分神经元有所连接。根据深度学习模型在针对任务训练时使用的参数数值不同,神经元间连接的强度也会不同,大型的神经网络甚至可以拥有数亿乃至数十亿的参数。

图片

EvilModel 背后的主要思想是将恶意软件嵌入到神经网络的参数中,使其对恶意软件扫描仪不可见。这是隐写术的一种形式,将一条信息隐藏在另一条信息中的做法。


隐蔽地传递恶意软件和绕过对恶意软件的检测是恶意软件攻击活动来说是非常关键的。现阶段,神经网络模型的可解释性比较差,但具有较好的泛化能力。


通过将恶意软件嵌入到已经训练好的神经网络的神经元中,就可以在不影响神经网络的性能的情况下隐蔽地传输恶意软件。如果模型没有足够的神经元来嵌入恶意软件,攻击者还可以使用未经过训练的模型,因为未经训练的神经元网络有更多的神经元。然后,攻击者可以在用于原来模型相同的数据集来训练模型,这样最终模型就可以得到与原模型相同的性能。

图片

为了验证 EvilModel 的可行性,研究人员在多个卷积神经网络(CNN)中进行了测试。CNN 是个很好的测试环境,首先,CNN 的体积都很大,通常会有几十层和数百万的参数;其次,CNN 包含各类架构,有不同类型的层(全连接层、卷积层)、不同的泛化技术(批归一化、弃权、池化等等),这些多样化让评估各类病毒嵌入设定变得可能;第三,CNN 通常用于计算机视觉类的应用,这些都是恶意因素的主要攻击对象;最后,很多经过预训练的 CNN 可以在不经任何改动的情况下直接集成到新的应用程序中,而多数在应用中使用预训练 CNN 的开发人员并不一定知道深度学习的具体应用原理。

图片

研究中实验用的八个样本病毒都是可以被病毒扫描网站 识别为恶意软件的,一旦样本成功嵌入神经网络,研究人员将模型上传进行扫描。而病毒扫描结果却显示这些模型“安全”,意味着恶意软件的伪装并未暴露。


研究人员又在其他几个架构上进行了相同的测试,实验结果类似,恶意软件都未被成功检测。这些隐匿的恶意软件将会是所有大型神经网络都需要面对的威胁。


研究人员认为,随着人工智能技术的广泛应用,基于人工智能和神经网络的恶意软件等威胁和攻击将成为未来网络攻击的一个主流趋势,也是网络和信息安全威胁防护的新的挑战,意味着我们需要新的方法来应对安全威胁。


在研究人员找到更可靠的手段来检测并阻止深度学习网络中的恶意软件之前,我们必须确立机器学习管道中的信任链。既然病毒扫描和其他静态分析工具无法检测到受感染模型,开发者们必须确保他们所使用的模型是来自可信任的渠道,并且训练数据和学习参数未受到损害。


随着我们在深度学习安全问题方面更深一步的研究,我们也必须对那些用于分析图片或识别语音的、数量庞杂的数据背后所隐藏的东西保持警惕