论文部分内容阅读
深度神经网络(Deep Neural Network,DNN)如今在各种计算平台上受到了广泛应用,忽视或者低估深度神经网络计算平台所可能遭受的硬件风险有可能会给使用者带来巨大的危害。目前,DNN硬件平台上所面临的被动威胁(比如制造工艺上的缺陷,永久性故障以及软错误等)已经受到了学术界与工业界全面的研究。然而,DNN的硬件加速技术使其在能够为边缘设备提供实时的决策与推断的同时也引入了新的安全隐患。即使是以同样的训练数据训练出来的同种架构的神经网络,也存在着专用硬件和软件实现在数据量化、模型压缩、并行性和内存访问方面的差异。这就给予攻击者们新的途径来对DNN的硬件开展攻击,比如将瞬态故障注入到神经网络的计算节点当中,或者将持久故障注入到内存中存储的模型参数中。这些故障注入攻击都可以通过基于时钟或者电源等不依靠网络输入的方法来实现。因此,这些基于硬件的攻击使得当前的基于一些简单如比特翻转的故障模型的脆弱性评估工作显得不够充分与全面。论文研究了目前深度神经网络硬件计算平台上存在的故障攻击,介绍了一种针对硬件故障所开展的软件模拟的新思路,提出了对部署在通用人工智能(Artificial Intelligence,AI)加速器上的神经网络进行脆弱性评估的新型方法。由于目前的通用故障脆弱性评估框架对于具有较高复杂性的新型故障不具备很好的适配性,本文提出了基于硬件特征信息提取的神经网络加速器故障脆弱性评估方法。首先,对运行在硬件加速器上的神经网络进行硬件信息特征提取,该信息特征包括神经网络在正常运行情况下的特征与其在遭受故障攻击时的信息特征;其次,利用提取到的信息特征对故障攻击建模,通过故障分布模拟、故障概率模拟等方法预测故障对实际的神经网络硬件加速器产生的影响。而在脆弱性评估中,论文通过建立的故障模型,利用网格搜索的方法来判断神经网络在面临故障攻击时存在的脆弱性。在论文的具体实现方案中,以Xilinx的Ultra96 FPGA开发板作为硬件平台,搭建了硬件故障注入平台。在软件方面,选用caffe作为深度学习框架,搭建了软件故障模拟平台。选用了时钟毛刺(Clock Glitch)故障这一复杂性较高的特殊故障与位翻转(Bit-Flip)和固定型(Stuck-at)故障这两种通用型故障作为故障研究目标,同时选择两种主流的分类神经网络:VGG16以及Res Net50作为故障注入对象。通过论文的研究与实验结果表明,本文提出的故障模拟框架能够成功克服复杂故障所带来的模拟难度,同时对通用的故障模型(如位翻转故障与固定型故障)能够保持相当高的精度。与同类型的脆弱性评估框架相比,本文首次提出了时钟毛刺故障的软件模拟方法。通过对VGG16以及Res Net50进行的脆弱性评估,成功发现了一些网络结构中潜藏的脆弱性,比如Res Net50中的卷积旁路在面对某些故障时较为脆弱,这些发现有助于研究者们更好地维护神经网络系统的硬件安全性。