下降|神经网络成“病毒软件”新宿主!国科大最新研究:嵌入恶意软件后,性能下降不足1%( 四 )

实验方案:作者选择在AlexNet的所有层嵌入恶意软件。用sample替换每一层中的神经元,并记录其准确率。由于不同的层具有不同的参数数量,作者使用百分比来表示替换的数量,如下图所示。
下降|神经网络成“病毒软件”新宿主!国科大最新研究:嵌入恶意软件后,性能下降不足1%
文章插图
对于有BN和没有BN的AlexNet,FC.1在所有层都具有出色的性能。可以推断,对于完全连接的层,更接近输出层的层更适合嵌入。
6.如何通过再训练恢复准确率?
实验方案:作者选择了性能与平均准确率相近的sample,并对有和没有BN的模型分别替换了FC.0和FC.1层中的50,100,...,4050个神经元。然后,“冻结”恶意软件嵌入层,并使用相同的训练集重新训练它们1个 epoch。记录重新训练前后测试集上的准确率。对每个模型进行再训练后,提取模型中嵌入的恶意软件,计算恶意软件的SHA-1哈希值,并与原始哈希值进行匹配。
下降|神经网络成“病毒软件”新宿主!国科大最新研究:嵌入恶意软件后,性能下降不足1%
文章插图
结果如上所示,对于完全连接层中没有BN的模型,替换神经元参数后的再训练对模型性能没有明显的改善。
下降|神经网络成“病毒软件”新宿主!国科大最新研究:嵌入恶意软件后,性能下降不足1%
文章插图
对于带有BN的模型,再训练前后的准确率有明显的变化。
因此,如果攻击者使用带有BN和再训练的模型在FC.1上嵌入恶意软件,并希望将模型的准确率损失控制在1%以内,那么将有超过3150个神经元可以替换。这将导致3150×12/1024=36.9MB的恶意软件嵌入。
7.杀毒软件对植入病毒的模型有效么?
实验方案与结果:作者将一些嵌入恶意软件的模型上传到VirusTotal,结果发现:VirusTotal将这些模型识别为zip文件。58个杀毒引擎参与了检测工作,没有发现可疑情况。这意味着该方法可以迷惑传统杀毒软件。
4

如何预防恶意软件攻击?
作者建议在启动模型时,对模型进行检查。由于嵌入的恶意软件将在目标设备上“工作”,因此可以使用静态和动态分析、启发式方法等传统方法对其进行检测和分析。由于攻击者可以发起供应链污染(supply chain pollution)等攻击,因此模型的最初提供者也应该采取措施防止此类攻击。
5

总结
这篇论文发现了一种神经网络模型传递“病毒”的方法。当神经网络的参数被恶意替换时,模型的结构可能保持不变,并且“病毒”在神经元中会被反汇编(disassembled )。由于“病毒”的特征不再可用,它可以躲避普通杀毒软件的检测。
由于神经网络模型对变化具有较强的鲁棒性,因此当配置良好时,其性能不会有明显的损失。实验表明,在对全连通层进行批量归一化的情况下,178MB-AlexNet模型可以嵌入36.9MB的恶意软件,而准确率损失小于1%。
由于神经网络模型对变化具有较强的鲁棒性,因此当配置良好时,其性能不会有明显的损失。实验表明,在对全连接层进行批量归一化的情况下,178MB-AlexNet模型可以嵌入36.9MB的恶意软件,而准确率损失小于1%。在VirusTotal上的实验也证明了,在神经网络上嵌入的“病毒”,具有极强的隐蔽性。