本文是将深度学习取证技术与对抗攻击结合起来,提出了一种反取证框架,
在白盒场景中,如果攻击者完全了解调查者的摄像机模型识别网络,我们直接将该网络纳入生成器的对抗性训练策略
在黑盒场景中,如果攻击者无法获得摄像机模型分类器的内部细节,可以构建一个替代网络来模拟它的决策,然后利用替代网络来对抗性的训练生成器。
攻击基于CNN的相机模型分类器来评估攻击性能,实验结果表明不管在黑盒和白盒都可以欺骗过CNN
本文的灵感来源于GAN,对于白盒攻击,将基于CNN的摄像机模型分类器的识别结果直接纳入生成器的训练过程,在黑盒攻击下,利用替代网络来模拟基于CNN的摄像机模型分类器。本文的算法是使生成器和替代网络同时进行自适应训练,使生成器和替代网络在训练过程中增强彼此的性能
本文主要的贡献:
- 通过移除鉴别器来重新设计白盒攻击的框架,本文实验结果表明与传统GAN中的鉴别器不同,在本文框架中加入鉴别器并不有助于提高生成器在反法医攻击中的性能。
- 提出了一种新的反取证攻击框架,能够执行目标和非目标攻击。在黑盒攻击方面设计了一个可以有效表示多个基于CNN的相机模型分类器的替代网络,提出了一种同时训练生成网络和替代网络 的训练策略,使两个网络协同工作以实现黑盒攻击。
- 在黑盒和白盒场景下,成功攻击了三种基于CNN的相机模型识别方法;设计了两个不同的替代网络,调查了训练黑盒攻击所需的训练数据的数量。
利用GAN的结构来构建一个生成器,它可以合成图像中的法医痕迹来欺骗相机模型识别CNN分类器。,用我们想攻击的相机模型识别CNN分类器来替代鉴别器
为了引导生成器在保持图像内容的同时合成法医痕迹,设计了如下图的反法医攻击框架:
在白盒攻击场景中,攻击者可以访问调查者的摄像机模型识别CNN分类器,所以我们直接将调查者预训练的CNN分类器包含在我们的攻击中,以指导生成器的训练。我们注意到,由于缺少识别器,我们设计的反取证攻击框架不是GAN。
预先训练好的CNN分类器将生成的图像作为输入,反馈给生成器的训练过程。训练生成器通过保留图像内容和产生误导CNN分类器的取证信息来欺骗CNN分类器。
生成器
图3显示了我们的生成器的三个不同功能块的架构。该生成器由一个合成的颜色滤波器阵列(CFA)块、两个ConvBlocks(我们将其定义为一组遵循相同结构的CNN层序列)和一个特征映射缩减块组成。
ConvBlock:
特征映射约简块
CFA块作用是去除图像真实捕获相机模型留下的马赛克信息。
ConvBlocks不仅可以合成新的马赛克痕迹,还可以引入CNN分类器学习的高度复杂和复杂的法医信息来识别相机模型。
每个ConvBlock由两个卷积层组成,其中有N个卷积滤波器,核大小为3 × 3,然后是一个卷积层,有N个卷积滤波器,核大小为1 × 1。
每个ConvBlock末尾的1 × 1卷积层有助于学习不同特征映射之间的相关性,提高了生成器的学习能力。
为了生成最终的伪图像,我们设计了一个特征映射缩减块,将第二次卷积块产生的128个特征映射转换为三层彩色图像。如图4所示,特征映射缩减块由一个stride为1的卷积层和3个核大小为3 × 3的卷积滤波器组成,其次是ReLU激活函数。
生成器的损失函数
原始图像与生成的伪图像之间的感知损失
分类损失,它度量生成的图像的性能,用以欺骗CNN分类器
为了保证生成的图像与原始图像内容相同,不存在视觉伪影,我们采用原始图像与生成图像的绝对平均差作为感知损失:
I表示原始图像, G(I)表示生成的图像
为了进行有目标攻击将分类损失设计为生成图像的CNN分类器输出与目标相机模型图像的理想输出之间的距离,通过最小化这种损失,生成的图像被强制匹配目标相机模型。
对于生成的图像G(I), CNN分类器的输出是一个softmax向量C(G(I)),代表每个类的概率。对于特定的目标相机模型t, CNN分类器的理想输出应该是一个具有所有0但在位置t只有一个1的热向量。然后我们将分类损失定义为softmax输出C(G(I))和一个热向量之间的交叉熵损失
黑盒场景下:
框架
该框架主要由三个组成部分组成:生成器G,替代网络S,调查者相机模型识别分类器的输入输出api。
生成器的架构与白盒攻击相同。
分类损失为:
黑盒攻击成功的关键:训练生成器欺骗替代网络的同时,还要能欺骗CNN
替代网络:在替代网络选择上,选择了深度残差网络ResNet和密集连通卷积网络DenseNet
在构建替代网络时,我们采用ResBlock和DenseBlock,因为它们易于训练(梯度可以通过短连接反向传播),并且有潜力训练具有足够学习能力的深度网络来表示CNN分类器。我们注意到,在有足够的学习能力和合理的训练复杂度的情况下,还有其他可能的方法来构建替代网络,从而有效地表示黑匣子CNN分类器。
ResBlock Substitute Network
从一个包含64个特征映射的卷积层开始,内核大小为5,然后是一个ReLU激活层。三个相同的ResBlock堆叠在一起,每个ResBlock后面都有一个最大池层。
resblock的结构
每个ResBlock有六层:卷积(64个卷积滤波器,内核大小3×3),批处理规范化,ReLU激活,然后是前三层的重复。每个最大池化层的内核大小为3×3,步长为2。最后一个池化层之后是两个全连接层,大小分别为1,000和200,具有ReLU激活功能。最后全连接层输出替代网络的分类结果。
DenseBlock Substitute Network
我们的DenseBlock替代网络如图10所示,首先是一个卷积层(2k特征映射,内核大小为5,步长为2),然后是三个DenseBlock。每个DenseBlock有5个瓶颈层,一个过渡层用来连接两个DenseBlock。图8显示了瓶颈层(左)和过渡层(右)的架构。最后一个DenseBlock的输出经过了批处理规范化、ReLU激活和全局平均池化,然后是一个全连接层。
替代网络的训练:
与生成器同时训练替代网络,替代网络的训练数据既包括生成器未改变的训练图像,也包括生成器输出的生成图像。
如图5所示,对于每一个训练步骤,当生成器以一小批未经修改的图像作为输入,产生生成的图像时,我们查询CNN分类器,对未经修改的图像和生成的图像都进行标记。然后我们将未修改的和生成的图像一起作为一个小批量输入到替代网络中,并使用CNN分类器中的标签来训练替代网络。即训练生成器欺骗替代网络,而替代网络利用生成器的训练图像和输出图像逐步学习CNN分类器的决策边界。我们对发电机和替代网络进行交替训练,直到替代网络的损耗较低,发电机对替代网络进行愚弄
对攻击性能的评价:
PSNR:被攻击patch与原始patch之间的峰值信噪比
SSIM:结构相似指数
STAR:成功目标攻击率
SUAR:成功非目标攻击率