将恶意软件嵌入到神经网络中
这次介绍一篇名为“EvilModel: Hiding Malware Inside of Neural Network Models ”的文章。
该文章主要描述了一种隐式的传播恶意软件的方法,通过对神经网络的权重进行修改实现恶意软件的传播。
pipeline本质上,是选取模型中的某些“冗余”的层,对其中的神经元的权重进行替换,对于每一个权重,替换其最后的3位比特位作为恶意软件的某个3个比特,进而实现恶意软件的隐式传输。
这里所提及的冗余,其实是通过测试,查看对正确率的影响程度,选择那些对正确率影响程度比较小的层。
different layer如上图所示,横轴是替换神经元的个数,纵轴是修改后模型的正确率。
这里有一些观察:
- 随着修改的神经元个数越多,正确率受到的影响就越大。
- 更加靠近输入层的神经元,更加适合嵌入恶意软件,影响更小
由于对神经网络权重的修改会降低其原本的正确率,所以作者也探究了重训练的效果,如下图所示:
BN Effect其中,BR表示在重训练之前 (Before),AR则表示在重训练之后 (After)
可以看到,没有带BN (BatchNorm) 层的网络,通过重训练无法回复精度,而带有BN层的则可以通过重训练恢复精度。
网友评论