分类 深度学习 下的文章

摘要

本篇文章做了以下三项工作:

  • 探究高斯噪声扰动对面部提取器的影响
  • 发现可以通过使用新方法生成DeepFakes来绕过现有检测器
  • 发现可以利用数据毒化、后门攻击来绕过DeepFake分类器

第二点现在基本算是共识,所以接下来主要谈1、3两点。

实验设置

  • 数据集来源:FaceForensics++和DFDC
  • 受害模型:对于选择开源的面部提取器Dlib,deepfake检测器选择XceptionNet

面部提取器攻击

攻击方式:向图像帧中每个通道的每个像素都施加均值为0,标准差为$\sigma$的随机高斯噪声。然后通过Dlib提取器提取人脸。如果Dlib输出结果为NULL,说明攻击成功。

这个设置其实对Dlib有利,因为Dlib有可能受噪声影响从而输出不正确的图像

当随着$\sigma$的增加,Dlib的性能逐渐下降,拐点在$\sigma = 0.2$的位置。对于DFDC数据集,Dlib性能下降相比其他数据集快得多。性能下降更快的原因作者认为是FaceForensics++数据集的人脸可能更好提取。

image-20230515093658722

数据毒化攻击

数据毒化攻击主要是对模型训练集进行修改,从而改变模型的性能表现。文章共提到两种数据毒化攻击:标签反转攻击与后门攻击。

标签反转攻击:顾名思义,就是修改训练样本的标签值。real->fake与fake->real。结果如下图。

image-20230515094541579

可以发现当翻转标签比例达到37.5%时,人脸分类器的准确度也仅仅下降了7%。这可能是因为训练数据集的大量冗余,只要具有正确标签的训练人脸图像比具有翻转标签的训练人脸图像足够多,就可以学习准确的人脸分类器。

当翻转比例达到50%时,分类器基本将所有输入都认为是真实图像。

后门攻击:使用棋盘网格作为触发器,嵌入到deepfake样本中,并将标签改为real。具体来说,棋盘格嵌入在图像右下角,大小占比为图像大小的0.1%,具体如下图所示。

image-20230515095239955

攻击效果见下图。当毒化比例在5%时,分类器就已经将所有测试图像都认为是真实的。

image-20230515095022684

讨论

本节作者讨论了几种针对对抗样本的防御以及它们各自的缺陷。

对抗训练与随机平滑可以实现对对抗样本的鲁棒性;集成模型则可以抵御后门攻击。不过随机平滑与集成模型目前来看本身准确率就不高,并且当对抗样本扰动足够大时,仍然可以逃避检测。

下图则是对DeepFake技术的一个分类树,个人觉得有一定参考价值就贴在这了。

image-20230515095520551

总结

这篇文章个人认为亮点主要在于提出对面部提取器的攻击(虽然实验部分好像太随便了)。数据毒化也是一个思路,但是真实攻击场景下这种攻击的可行性应该不是很高。

摘要

这篇工作使用对抗性扰动来增强deepfake图像并绕过常见的deepfake检测器。使用FGSM和C&W L2 Attack在黑/白盒场景下进行测试。探测器在未扰动的deepfake上实现了超过95%的准确率,但在扰动的deepfake上的准确率低于27%。文章还探索了对deepfake检测器的两项改进:Lipschitz正则化以及深度图像先验

对抗扰动生成

FGSM这里就掠过不谈了,C&W $L_2$ Attack挺感兴趣的可以查看【学习笔记】对抗攻击:基于优化的CW攻击方法 - 知乎 (zhihu.com)

具体来说,论文使用的CW攻击设置如下。

首先是目标函数$f(x)$,选择

$$ f(\mathbf{x}^{\prime})=\operatorname*{max}(\operatorname*{max}_{i\neq y}\{\mathbf{Z}(\mathbf{x}^{\prime})_{y}-\mathbf{Z}(\mathbf{x}^{\prime})_{i}\},-\kappa). $$

其中$Z(x)_y$指模型将x识别为真实类别y的概率(softmax前),$Z(x)_i$则是识别成目标类别i的概率。$\kappa$则是目标类别概率大于真实类别概率的阈值。

同时为了更好优化图像x,采用变量转换。原先是对x进行优化,现在转而优化$\omega$,而新图像$x'$表示为

$$ {\bf x}^{\prime}=\frac{1}{2}(\operatorname{tanh}(\omega)+1) $$

优化$\omega$的方法如下

$$ \omega^{*}=\arg_{\operatorname*{min}}\{||{\bf x}^{\prime}-{\bf x}||_{2}^{2}+c\,f({\bf x}^{\prime})\} $$

最终对抗样本则可以表示为

$$ {\bf x}_{adv}=\frac{1}{2}(\operatorname{tanh}(\omega ^*)+1) $$

攻击效果如下图。

image-20230515102803962

Lipschitz正则化

Lipschitz正则化主要是约束了检测器相对于输入的梯度。具体做法是在损失函数后多加一项

$$ J_{a u g}({\bf x},{\bf y},\theta)=J({\bf x},{\bf y},\theta)+\frac{\lambda}{C N}\sum_{i=1}^{C}||\nabla_{x}Z({\bf x})_i||^{2}. $$

其中C是目标类别的总数,N是输入向量的维度,$\lambda$控制正则化的强度。结果如下图,虽然准确率有一定提升,但是提升不大。

image-20230515103147795

深度图像先验

深度图像先验,简单来说就是在输入之前训练一个CNN网络,这个网络负责输入图像的重建,将重建后的图像输入deepfake检测器中。这种重建有可能滤掉攻击者施加的对抗性扰动。

关于实验的具体设置,选择MSE作为重建损失,而关于generative CNN的具体网络结果没有提及。

实验效果如下图,可以看到随着训练轮数增加,分类器性能从好到逐渐变差。性能变差的主要原因在于CNN非常容易过拟合,训练到后期DIP图像重建发生过拟合从而影响分类器。观察以下四幅图片,发现在轮数为6500左右时分类器可以达到不错的性能。

image-20230515103832149

总结

这篇攻击主要探讨了deepfake检测器的防御方式,第一种是通过Lipschitz正则化限制模型关于输入的梯度变化;第二种基于图像重建来消除扰动。但是两种方式都具有局限性,例如Lipschitz正则化对于对抗样本的鲁棒性不足(性能提升不够明显),而图像重建对于训练轮数有较大限制。

摘要

论文地址: 2304.11670] Evading DeepFake Detectors via Adversarial Statistical Consistency (arxiv.org)

本文主要提出了一种针对DeepFake检测器的统计一致性攻击(StatAttack):选择DeepFake检测器的一些统计敏感性特征(natural degradations,例如图片的曝光、模糊以及噪声),然后使用对抗性的方法将这些特征加入到Fake图片中,减小真图和假图之间的特征分布差异,从而欺骗检测器。

对抗训练中,因为注意到自然图像和DeepFake图像中的统计差异和两种图像之间的分布偏移成正相关,所以使用分布偏移感知损失(MMD,最大均值差异)来作为训练的损失函数。

最后文章还提出了一个攻击效果更好的MStatAttack,实际上就是在StatAttack基础上给各个增加的统计特征赋予权重(动态调整),并多次迭代。

实验方面,文章在四个基于空间的检测器和两个基于频率的检测器分别测试了白盒、黑盒攻击的效果。

攻击原理

下图两列分别展示了DeepFake检测器A、B的决策边界,对于不同的检测器,由于网络结构、训练方式的不同,决策边界往往不同。因而限制住了对抗样本的迁移性,即攻击特定检测器生成的对抗样本大概率无法攻击其他检测器。

本文希望找到不同检测器之间的一块公共的嵌入区域,如果对抗样本落入这块区域,那么它对于这些检测器都具有欺骗性。下图第二行形象地展示了这个过程。

image-20230514103641073

统计差异

根据一些前人的工作得知:自然图像和GAN生成图像在频域和空间域上都存在差异。例如McCloskey表明两者存在亮度统计差异,GAN只能生成有限光强的图像,无法生成饱和或曝光不足的区域。Durall表明两者存在频率信息的统计差异,GAN会在图片上留下规律的高频痕迹(high-frequency artifacts)。

作者认为通过降低刚刚提到的自然图片与DeepFake图片之间频域/空间域差异(他称这个过程为自然退化,natural degradation),可以让DeepFake在检测器眼里更加真实。

这也意味着攻击原理中提到的公共区域是由这些统计特征指示的,换句话说作者认为不同检测器都能学习到自然图像和Fake图像之间的这些统计差异

自然退化

作者提出了三个方向降低上文提到的统计差异。

  • 改变曝光:通过调整图像局部区域中的亮度值,改变DeepFake的亮度分布,模拟饱和或曝光不足的区域,从而使亮度分布与自然图像分布相似。

    image-20230514105802382

  • 添加模糊:通过低通滤波器去除DeepFake中的高频分量,减少频域中的统计差异。

    image-20230514105805737

  • 添加噪声:通过添加随机噪声,去除图像频谱图中的regular artifacts。

    image-20230514105808068

这三种扰动都是通过对抗的方式生成的。每种方式都有可学习的参数,然后使用MMD Loss去优化。

我的理解是一种物理模拟,作者先假设检测器通过这种统计差异区分真假,也就意味着它学习到自然样本这些特征的分布(真实分布),通过增加可学习的物理变换,并利用GAN去优化参数,从而使扰动后的Deepfake在这些特征上的分布更逼近真实分布。

改变曝光

改变曝光采用的是Gao的adversarial exposure generation model,模型包括两部分,产生曝光的多项式模型和保持曝光自然的平滑公式。

$$ P_e(X^{fake})=\log^{-1}(\tilde X^{fake} + \tilde E) $$

其中$E$是曝光生成模型,$X^{fake}$是DeepFake图像,$\tilde ·$是对数操作。个人理解对数操作也实现保持曝光自然的平滑。

在$E$中有两个可学习参数$\alpha,φ$,用于优化曝光的生成。这里作者说为了让曝光更加自然,可以在损失函数加入下列平滑方程来约束参数值。(类似$L_2$正则)

$$ S(\alpha,φ) = -\lambda_a||a||_2^2 - \lambda_φ||\nabla φ||_2^2 $$

其中$\lambda_a,\lambda_φ$是超参数,用于调节曝光强度与平滑性之间的平衡。

添加高斯模糊

通过给图片添加高斯模糊,从而减少DeepFake中的高频分量。与普通高斯模糊不同,这里将高斯核设计成可学习的参数。这样允许在图像在不同位置自适应添加扰动。具体来说,首先生成一副和原图大小一致的标准偏差图$\sigma$ ,$\sigma$越大图片越模糊。通过$\sigma$也可以反推高斯核的值。例如第i个像素对应的高斯核为

$$ {\bf H}_{i}(u,v)=\frac{1}{2\pi\left(\sigma_{x_{i},y_{i}}\right)^{2}}e x p\left(-\frac{u^{2}+v^{2}}{2\pi\left(\sigma_{x_{i},y_{i}}\right)^{2}}\right) $$

其中u和v表示高斯核内的点与高斯核中心像素$(x_i,y_i)$的相对坐标。随后可以计算高斯模糊后的图像

$$ P_{b}(\mathbf{X}^{\mathrm{fake}})=\sum_{i\in{\cal{N}}(i)}g(\mathbf{X}_{i}^{\mathrm{fake}},k)*\mathbf{H}_{i} $$

其中$\cal{N}(i)$表示$X^{fake}$中的所有像素,$g(X^{fake},k)$表示在图中第i个像素附近,包括于半径为k的高斯核内的范围。

优化参数时,通过loss函数的反向传播更新标准偏差图$\sigma$,那么每个像素对应的高斯核也被更新。最后通过优化后的高斯核对Deepfake施加像素级别的高斯模糊。

添加噪声

这部分和以往工作一致,往DeepFake中添加随机噪声$N_a$。通过最小化Loss对$N_a$进行更新。

$$ P_{n}(\mathbf{X}^{\mathrm{fake}})=\mathbf{X}^{\mathrm{fake}}+\mathbf{N}_{a} $$

StatAttack

StatAttack应用上述的三种方法,得到最终的扰动图像

$$ P_{\theta}(\mathbf{X}^{\mathrm{fake}})=P_{n}(P_{b}(P_{e}(\mathbf{X}^{\mathrm{fake}}))) $$

其中$P_{\theta}(X^{fake})$包括以下优化参数$\{\alpha,φ,\sigma,N_a\}$

损失函数本文使用的是最大均值差异(MMD),这是一个统计学的概念。具体是通过随机变量的矩来确定两个数据分布的距离。具体可以看这篇统计知识(一)MMD Maximum Mean Discrepancy 最大均值差异 - 知乎 (zhihu.com)

$$ M M D[F,p,q]=\operatorname*{sup}_{||f||_{H}\leq1}E_{p}[f(x)]-E_{q}[f(y)] $$

文章解释了为什么使用MMD作为损失函数。之前提到过GAN生成的图像在高频分量的能量较大,通过高斯模糊可以滤去高频信息。而随着高频信息的过滤(参数体现为$\sigma$的增大),统计量MMD也呈下降的趋势。并且MMD是端到端可微的,所以作者认为可以通过MMD指导损失。

image-20230514131946798

综上,优化目标可以表示成

$$ \begin{array}{c}{{a r g\,\mathrm{min}\mathrm{J}_{M M D}\left(P_{\theta}\,\left(\chi^{\mathrm{{fake}}}\right)\,,\,\chi^{\mathrm{{real}}}\right)}}\end{array}+S(\alpha,φ),||N_a||_p \leq \epsilon $$

这里限定了$N_a$的$L_p$范数,同时也提到了使用约束项强制$N_a$具有稀疏性,所以这里应该p=1

StatAttack可以总结为下图,首先对DeepFake施加之前提到的三种退化,接下来在检测器的全局池化层上收集自然图像和DeepFake的特征分布,并计算它们的MMD Loss,通过反向传播更新自然退化的参数$\{\alpha,φ,\sigma,N_a\}$,最后将更参数后的结果应用在DeepFake,从而欺骗DeepFake检测器。

image-20230514133012992

Multi-layer StatAttack

MStatAttack相比于StatAttack,主要多了以下两点改进:

  • 单层退化拓展到多层退化
  • 使用自适应权重调整每种退化的占比

image-20230514133605483

单层扰动可以表示为

$$ \mathbf{X}_{p_{k}}^{\mathrm{fake}}=w_{e_{k}}P_{e}(\mathbf{X}_{p_{k-1}}^{\mathrm{fake}})+w_{b_{k}}P_{b}(\mathbf{X}_{p_{k-1}}^{\mathrm{fake}})+w_{n_{k}}P_{k}({\bf X}_{p_{n-1}}^{\mathrm{fake}})+w_{{X}_{k}}{\bf X}_{p_{k-1}}^{\mathrm{fake}} $$

这里四个权重值需要做softmax,保证权重总和为1,防止图像混合过程中给的强度溢出。

实验结果

实验设置

  • 数据集:总共收集了四种数据集,包括面部合成、属性替换、身份交换三种类型

    image-20230514145332584

  • 受害者模型:四种基于空间的检测器(ResNet50,EfficentNet-b4,DenseNet,MobileNet),两种基于频率的检测器(DCTA,DFTA)

    image-20230514145631383

  • 评估手段:攻击成功率(ASR)与图像质量度量(BRISQUE)
  • Baseline Attack:PGD 与 FGSM,以及两种SOTA可迁移攻击MIFGSM与VMIFGSM

攻击效果

1.攻击基于空间的四个检测器

image-20230514150057940

其中红、黄、蓝颜色标识攻击成功率的前三名。

2.攻击基于频率的四个检测器

image-20230514150307995

3.消融实验

image-20230514150410392

上表表明:对于基于空间的检测器,噪声和曝光两种操作对其影响较大;对于基于频域的检测器,主要受曝光和高斯模糊的影响。

总结

这篇工作以自然图像与DeepFake图像之间存在的统计差异为出发点,通过添加对抗性扰动弥补这种差异,达到欺骗检测器的效果。

具体来说,文章选择了三种方式(添加曝光、模糊、噪声)弥补deepfake在空间域/频域的缺陷,每种方法都具有可学习的参数,参数由$MMD Loss$指导更新。$MMD Loss$可以感知并量化两张图片的统计差异(例如高频分量的多少)。基于以上思想,文章提出了StatAttack和MStatAttack,MStatAttack相比于StatAttack多了权重适应和多层退化。

最后文章在4个数据集上对6种检测器进行白盒/黑盒测试,同时横向对比了PGD/MIFGSM等其他攻击方式。通过消融实验也得出不同退化对于不同类型检测器的攻击效果。

论文地址:https://dl.acm.org/doi/abs/10.5555/3495724.3496802

摘要与引言

目前针对深度神经网络对抗脆弱性的研究进展迅速(如对抗样本、鲁棒性检验等)。现有的攻击需要内部访问(如受害者模型架构,参数或训练集)或外部访问(查询受害者模型)。然而在许多场景中,这两种访问都可能是不可行的或成本昂贵的。本文研究了无框对抗的例子,其中攻击者既不能访问模型信息或训练集,也不能查询模型。相反,攻击者只能从与受害者模型相同的问题域中收集少量示例。这种更强大的威胁模型大大扩展了对抗性攻击的适用性

实验表明,在prototypical auto-encoding models上制作的对抗样本可以很好地转移到各种图像分类和人脸验证模型中。在www.example.com拥有的商业名人识别系统上clarifai.com,此方法将系统的平均预测准确率显著降低到仅15.40%,这与从预训练的Arcface模型中转移对抗样本的攻击相当

No-box攻击相比于现在基于查询或转移的黑盒攻击来说,攻击条件更为严格:攻击者既不能访问大规模的训练数据,也无法查询模型,只能通过从同一问题域中收集少量的辅助样本。

文章的亮点在于基于无框攻击的假设,提出了在少样本(few-shot)情况下训练"替代"模型的方法。具体来说有三种训练机制:1)估计每张旋转图像的正视图;2)估计每个拼图的正确组合;3)原型图像重建。这三种策略中,前两种属于自监督学习(Self-Supervised Learning),第三种属于监督学习。结果是第三种基于图像重建的训练方式效果最好。

image-20230419161843065

替代模型采用的是编码器-解码器架构的image-to-image auto-encoding models;模型预测时,首先将样本重建,通过判断重建后的样本与样本库之间的相似性确定其类别

制作对抗样本则采用在"替代"模型上应用I-FGSM方法(源码中还使用了PGD)。最后在编码器输出上还使用了ILA

ILA aims to enlarge intermediate-level perturbations in the direction of guiding examples,by maximizing projections on their mid-layer representations

训练策略

目标:假设良性样本$x_0$被扰动,使得被错误分类到其他标签中。我们的目标是在一个小型的数据集$\textstyle{\mathcal{X}}:=\{(x_{i},y_{i})\}_{i=0}^{n-1}$上训练一个判别(替代)模型,包括扰动的实例$x_0$。我们首先考虑仅涉及两个类的数据集,即,$y_i ∈ \{0,1\}$。在本文中,如果没有其他说明,限制n ≤ 20,从而满足few-shot的条件。

对于传统监督学习来说,比如交叉熵损失+Softmax的分类DNN,少样本训练很容易带来过拟合的问题。模型的train loss会很快下降收敛,但是valid loss下降到一定程度就进入平台期(极端一点来说,就是模型记住了每张训练集图像,并没有从训练集中学到有用的特征拿来分类)。

虽然可以通过数据增广、权重衰退、BN层等正则化手段弥补少样本的不足,但是在无框假设下这些手段还是不能很好地训练替代模型。(毕竟才20张图片,实在是太少了)

下图是传统监督学习(以VGG/Resnet为例)在小型数据集的表现,第二行加入了各种正则化手段,基本没什么效果。(最近打比赛深刻认识到数据质量/数量的重要性

image-20230419163902518

在传统监督学习效果有限的情况下,作者采用了image to image方法,它在建模数据的内部分布比较成功,可能适合无框攻击的假设。在这种情况下,作者提出了他的受害者替代模型:编码器-解码器架构的image-to-image auto-encoding models。并在此基础上提出了三种训练策略(传统的交叉熵损失在这里不适用)。

Reconstruction from chaos

前两种方法属于自监督学习。一个是预测图像旋转角度,另一个是拼图重建,这两种方法已经证明可以提高DNN的辨别能力。这两个人物的学习目标可以表述为:

$$ {\cal L}_{\mathrm{rotation/jigsaw}}={\frac{1}{n}}\sum_{i=0}^{n-1}\left|\right|\mathrm{Dec}(\mathrm{Enc}(T(x_{i})))-x_{i}|^{2} $$

其中$T(.)$指旋转操作或裁剪拼接操作。虽然学习任务仍然是无监督的,但pretext information(前置任务的语义信息)是与内容相关的,应该有利于分类。

Prototypical image reconstruction

原型图像重建是一种监督学习。具体策略是:鼓励模型重建特定类的原型,例如输入属于1类的样本,模型的输出应该更靠近1类的图像。形式化上是最小化以下公式

$$ {\cal L}_{\mathrm{prototypical}}=\frac{1}{n}\sum_{i=0}^{n-1}((1-y_{i})||\mathrm{Dec}(\mathrm{Enc}(x_{i}))-x^{(0)}||^{2}+y_{i}||\mathrm{Dec}(\mathrm{Enc}(x_{i}))-x^{(1)}||^{2}) $$

其中$x^{(0)}∈ {x_i|y_i = 0}$和$x^{(1)}∈ {x_i|y_i = 1}$是分别是从两个类中随机选择的图像原型。这种训练策略迫使模型必须区分具有不同标签的样本,从而达到分类的效果。上式采用的是一个编码器的情况,其实也可以将模型拓展到多个解码器,将在实验中提及。

模型分类

当使用训练好的模型分类时,由于模型输出同样是张图片,所以无法使用softmax等基于概率的分类方法。这里借鉴无监督学习的思想,首先将预测样本输入模型得到重建图像,通过比对重建图像与样本库每张图片的距离(如欧式距离或余弦距离),将最接近的那张图像的标签作为预测值。形式化表示为

$$ \hat{y}=\arg\mathrm{min}||\mathrm{Dec}(\mathrm{Enc}(x))-x^{(y)}||. $$

通过这种预测方法,实验证明它相比于传统的监督学习方法更少收到过拟合的影响,并且在此基础上生成的对抗样本更具有迁移性

对抗样本生成

image-to-image auto-encoding models采用基于梯度的攻击如I-FSGM、PGD来生成对抗样本。形式化来说就是最大化下式

$$ L_{\mathrm{adverarial}}=-\log p(y_{i}|x_{i})\quad{\mathrm{where}}\quad p(y_{i}|x_{i})={\frac{\exp{(-\lambda||\mathrm{Dec}(\mathrm{Enc}(x_{i}))}-{\tilde{x}_{i}}||^{2})}{\sum_{j}\exp{(-\lambda||\mathrm{Dec}(\mathrm{Enc}(x_{i}))-{\tilde{x}}_{j}}||^{2})}} $$

其中$\lambda$是缩放因子,使用I-FSGM时取$\lambda=1$.其中$\tilde{x}_{i}$是正类样本,$\tilde{x}_{j}$是负类样本。上式的含义就是最大化对抗样本与正样本之间的距离,最小化对抗样本与负类样本之间的距离。在encoders输出后,还结合了ILA进行攻击。ILA通过最大化中间层表示的投影,在指导样本的方向上扩大中间层的扰动。(不是很了解)

总结来说,首先对模型应用基于梯度的基线攻击(例如I-FGSM)最大化$L_{adversarial}$,然后对编码器的输出执行ILA

实验

论文在两个任务上进行了实验,图片分类与人脸识别。

对于图像分类,我们基于良性ImageNet图像,在最大扰动($L_\inf$)不大于0.1或0.08的约束下制作对抗样本。这些图像是从ImageNet验证集中选择的。从一半的ImageNet类中随机选择了5000张图像(即,500个类和每个类10个图像)来生成对抗样本。

对于人脸验证,首先在LFW数据集上攻击开源模型,最大扰动不超过0.1,然后使用clarifai.com拥有的商业系统进行测试。我们从LFW的400多个身份中随机抽取了2110张图像,这些图像保证尚未用于训练所有相关的受害者模型。

实验配置

  • 采用CycleGAN 的生成器作为替代模型,即上文提到的auto-encoding models
  • 使用来自两个类的不超过20个图像(即n ≤ 20)来训练每个替代模型,并在此基础上执行像I-FGSM的基于梯度的基线攻击。
  • 训练策略总结为两个无监督(根据旋转拼图的重构)和一个受监督的(原型重建)训练机制。其中旋转只考虑了四个方向:0°、90°、180°和270°;对于拼图,将原始图像均匀地切割成四个图块,然后进行洗牌。
  • 所有模型都使用ADAM进行了最多15000次迭代的训练,固定学习率为0.001。如果在每个小训练集上达到性能平台期,训练可以提前停止。
  • 替代模型训练结束,首先运行基线攻击(I-FGSM)进行200次迭代,然后再迭代100次运行ILA。对于所有实验,λ简单地设定为1。其中I-FGSM的优化步长为1/255(ImageNet和LFW都一样)。

对比模型

共对比了以下四种模型做替代模型的效果。

  • naive †:是传统监督学习的Resnet,使用数据增强和正则化进行训练
  • naive ‡:是无监督学习的自动编码器(网络架构和原型重建一致,但是只使用旋转和拼图两种无监督学习的训练方式)
  • Beyonder:是大规模预训练的模型,甚至可能与受害者模型共享数据集(传统基于迁移的黑盒攻击)
  • Prototypical:论文中提到的基于图像重建的监督学习方法

攻击模型

在以下模型上测试了对抗样本的迁移性与攻击成功率。

在ImageNet上测试了非常不同的受害者模型,包括带BN的VGG-19 、Inception v3 、ResNet-152 、DenseNet 、SENet 、广域ResNet(WRN)、PNASNet和MobileNet v2。

对于人脸验证,我们采用了FaceNet 和Cosface。

实验效果

首先是Prototypical模型的训练效果。观察loss可知,相比于之前的迅速收敛,这里Test Loss还有下降的趋势,可以说受到过拟合的影响较小Test的精度较传统VGG来说也有所提升

image-20230419174540572

还对比了不同解码器数量的Prototypical模型表现,当使用多个解码器时,模型预测的标签表示为

$$ \hat{y}=\mathrm{arg\space min}\,\frac{1}{K}\sum_{k=0}^{K-1}||\mathrm{Dec}_{k}{\big(}\mathrm{E}\mathrm{n}{\mathrm{c}}{\big(}x{\big)}{\big)}-x_{k}^{(y)}|| $$

其效果与单个解码器相比也有提升。受害者模型的预测精度如下图,可以发现$Prototypical*$产生的对抗样本平均攻击效果最好

image-20230419175222358

对于人脸验证攻击,展示了不同攻击方式下受害者模型的ROC曲线。可以发现有时候基于图像重建的方式甚至效果比大规模的预训练模型Beyonder还好。

image-20230419175631482

对于人脸验证的对抗样本生成,对抗损失需要稍作修改,因为一对面孔通常通过计算嵌入空间中的余弦相似度来进行比较。

image-20230419175741619

结论

文章考虑了一个现实的威胁模型来执行对抗攻击,基于无框的假设,查询模型和大规模训练、获取受害者模型的内部信息等方式都被禁止。

文章设法使用有限的数据来训练模型(few-shot),基于这些数据可以制作可转移的对抗样本。具体提出了无框设置中的替代模型训练的不同机制(3种)。其中表现最好的是有监督的图像重建,它产生的对抗样本可以很好地转移到各种先进分类器上。

这种基于few-shot和Self-Supervised Learning的方法的有效性在图像分类和人脸验证上进行了测试。实验结果表明,该方法的性能优于传统的监督学习方法,有时甚至可以与传统基于黑盒的攻击(共享训练集)相媲美

摘要 & 引言

PCR-Auth: Solving Authentication Puzzle Challenge with Encoded Palm Contact Response | IEEE Conference Publication | IEEE Xplore

生物识别技术已被广泛应用为用于用户认证的个人可识别数据。然而,现有的生物特征认证易受生物特征欺骗的影响。一个原因是它们很容易被观察到,并且容易受到物理伪造的影响。例如,人体的表面图案,如指纹和面部。一个更重要的问题是,现有的认证方法完全建立在生物特征的基础上,这些特征几乎永远不会改变,并且可以被诸如人类声音之类的对手获得或学习。

为了解决生物特征认证固有的安全问题,本文提出了一种新型基于声学提取的手握生物特征,这种特征每个用户的手的几何形状,体脂率,和握力有关。并且这种特征无需特意表现出来,只需要抓住手持设备就可以使用。

基于这种特征文章开发了一个challenge-response的生物认证系统,它由一对生物编码器和解码器构成。首先根据挑战序列对超声信号进行编码(抵御重放攻击),并提取生物特征码作为本次认证的输入响应。然后通过基于卷积神经网络的算法对生物特征码进行解码并验证用户,该算法不仅检查编码的正确性(通过信噪比判断),而且还验证每个生物特征数字所呈现的生物特征。在移动的设备上的大量实验表明,系统达到97%的准确率来区分用户和拒绝100%的重放和合成攻击。(数字码为6位时)

image-20230416203041398

背景与系统模型

手掌接触响应

手持设备的普通声学声音可以在手持设备抓握设备时区分使用者的手掌。具体来说,手持设备的扬声器产生激励信号$s(t)$后,一部分信号以直接路径传播到达麦克风(结构传播或近表面空气传播),而其他部分信号则经过更复杂的反射路径,如上图所示。用户的抓握手在它们的传播路径中影响这些信号。此外,扬声器的声音引起设备表面以相同的频率振动,这用作第二声源并产生相同频率及其谐波的声音。当与手接触时,装置表面振动被阻碍,从而导致声音的改变。所有这些受手影响的声音在被麦克风接收时都携带了一定的生物特征信息。

文章将抓握手对扬声器声音的影响建模为系统响应$H(f)$,那么麦克风接收到的信号$\hat S(f)=H(f)S(f)$。其中$S(f)$是扬声器发出的频率为$f$的原始声音。$H(f)$可以分割成三个分量:直接路径传播、反射传播、表面振动传播三种信号。

$$ \hat S(f)=H_d(f)S(f)+H_r(f)S(f)+H_v(f)S(f) $$

由于反射传播和表面振动传播更慢,引入相位与振幅后公式转变为

$$ \hat S(f)=|H_d(f)|S(f)+|H_r(f)|S(f)e^{j2\pi ft}+|H_v(f)|S(f)e^{2\pi f\tau} $$

其中t和$\tau$是与直接路径信号相比,反射信号和表面振动声音的附加传播时间。值得注意的是,所有的振幅衰减因子和相位变化也与信号的频率f有关。这种频率选择性的性质促使我们使用具有更丰富的频谱点的信号来捕获用户的手抓握生物特征的更高分辨率。同时使用不同的组合的频率来提取动态生物特征的CR认证,可以抵御重放攻击。即使敌手窃听一次认证过程,也很难通过重用先前的数据来欺骗新的认证。

综上,可以将手掌接触反应(PCR)定义为

$$ pcr = <H_d,H_r,H_v,F> $$

其中F为信号频率,另外三个与F有关的信号分量来描述抓握手的生物特征

经过实验发现,不同用户的PCR时频图确实存在差异,利用时间和频率的信息,以实现有效的用户认证。如下图所示,直接路径传播的信号出现在麦克风数据前25 ms(深色区域),在扬声器声音停止播放之后,扬声器声音反射和其诱发的表面振动声音变得显著。它们在75 ms后降低超过20dB。因此,文章建议利用0 − 75 ms的声音进行抓握手掌检测。值得注意的是,25 - 75 ms范围内的声音是扬声器声音的残余,相比于直接路径信号更难伪造。(换句话说这段时间内的手掌特征更加丰富)

image-20230416211835053

系统模型

系统模型如图4所示,它是CR协议和PCR编码/解码模块的集成。认证过程在用户和PCR-Auth之间进行。为每个用户创建PCR解码器$D_{user}\{\}$,其在注册阶段使用用户的所有手部抓握生物特征进行预训练

每次挑战(登录)都需要一个唯一的PCR代码进行验证。当用户发送认证请求时,PCR-Auth生成OTC代码(即随机数)。手持设备使用其自己的扬声器播放OTC编码的刺激信号,与此同时,麦克风记录信号编码后的刺激信号$E_{OTC}\{pcr\}$。接下来,PCR-Auth应用PCR解码器Duser{}来验证PCR码并进行生物认证,其通过$D_{user}\{E_{OTC}\{pcr\}\}$来检查生物特征和编码序列

image-20230416212208310

生物编码与PCR码

PCR编码器的基本思想是利用PCR的频率选择性,通过使用不同频率的短刺激信号脉冲,我们获得n个非重叠PCR区间,并将它们映射到十进制和十六进制值(n = 10或16)作为编码单元(也可以表示更复杂的字符串)。PCR编码器$E_{OTC}\{\}$根据OTC代码选择序列中的信号脉冲。接下来,PCR码由编码信号提取为m位OTC的生物特征表示,如

$$ E_{OTC}\{PCR\}={pcr_1,pcr_2,...,pcr_m} $$

其中i = 1,2,…m是指第i个PCR数字。

image-20230416214535424

PCR解码器$D_{user}\{\}$在注册阶段利用用户的所有n种PCR数字(其实就是n种频段的线性调频信号)进行训练。在认证期间,PCR解码器首先检查PCR数字是否全部处于由OTC码索引的正确频率(利用OTC码进行滤波后判断SNR,如果频段不同则信噪比会很低),然后分别验证每个PCR数字呈现的生物特征(利用卷积神经网络)。成功验证的PCR数字重建一个OTC数字。通过将具有n个编码单元的用户手持生物特征编码成m位PCR码,我们的生物特征编码技术基于与现有生物特征CR方法相同的训练策略将生物特征响应域从n指数地扩展到$n^m$ 。因此,用户不需要周期性地用新的生物特征重新填充响应池

image-20230416214827659

关于PCR解码器的具体实现,文章提到的是使用短时傅里叶变换

$$ {\cal D}T S T F(t,f)=\sum_{\tau=t}^{t+T-1}s(\tau)w(\tau-t)e^{-j2\pi f\tau} $$

其中t和f是时间和频率索引,$w(t)$是长度为T的窗函数。然后,在坐标$(t,f)$处的2D图像(频谱图)的每个像素被计算为:

$$ s p e c t r o g r a m(t,f)=|D T S T F T(t,f)|^{2} $$

认证流程

每次发起认证请求时,应用首先获取麦克风访问权限。PCR编码器首先通过对照声压级(SPL)阈值检查超声波频带来检测设备是否处于有意的超声波干扰下,如果没有检测到专用超声,则PCR编码器生成OTC,并且基于OTC的刺激信号,调制器相应地选择超声脉冲将用户手持生物特征编码成PCR代码。

麦克风数据是PCR解码器的输入,PCR解码器首先执行数据预处理以降噪、同步和分段音频数据。预处理的数据通过通道滤波从音频中提取PCR数字。具体来说,我们推导出谱图来在时域和频域中描述PCR码。OTC控制的信道滤波器根据OTC所索引的信道设置截止频率以提取每个PCR数字未正确编码的PCR数字在这里会被滤除(其SNR也会降低)。最后把获得的PCR数字被发送到基于CNN的PCR解码器以进行验证,该模型的训练数据包括用用户本身的PCR响应,还有同一组测试人员的PCR。

这里模型的训练过程存在问题,本来应该是类似异常检测的单分类问题,作者将其转化为了二分类问题(User or NoUser)。这是不符合逻辑的,毕竟真正使用认证系统时只有用户本身的数据。当然作者在后面解释了训练时会使用“负类样本库”,但是个人感觉只是一种退而求其次的做法。

基于CNN的PCR解码器利用一个具有五个卷积层的CNN模型来从其频谱图中解码每个PCR数字,得到CNN得分(其实也就是返回每个数字是否是用户的概率)。文章进一步开发了一种基于聚类的方法,通过整合CNN得分和所有PCR数字的SNR来验证PCR代码。在此基础上计算PCR码的欧氏距离,并使用一个阈值区分用户的集群和验证用户,既检查用户的生物特征和编码序列。只有当PCR代码成功恢复OTC代码时,才授予访问权限。

简单来说,就是将m个PCR数字对应的概率组合起来作为特征向量(例如4个数字,每个数字对应2个概率,拼接得到的CNN分数长度为8),用聚类的方式来划分用户/非用户,从而提高认证的准确性。其中不同类之间的距离简单采用PCR码概率的欧氏距离。可以推断使用的聚类方法是KMeans,因为这里用户区域和非用户区域有明显的团簇特征;其次可视化聚类效果应该使用了PCA主成分分析类似的降维方式。(复现时采用了TSNE)

image-20230302164438250

网络复现

复现了CNN-Based PCR Verification部分的CNN网络以及基于无监督聚类的身份认证。相比于原始网络,加入了残差连接(虽然最后不可避免地出现了过拟合现象);聚类则采用KMeans++进行用户的区分;聚类可视化使用TSNE降维CNN-Score;通过dataloader的shuffle实现了OTC的随机化...代码暂不开源

下图为论文提到的CNN网络结构

image-20230424102004724

以下两图是复现中对于聚类认证的可视化,第一幅每个样本颜色代表真实便签、第二幅是聚类产生的标签,可以发现两者基本一致。

image-20230424105949929

image-20230424110113287

攻击手段

  • 假冒攻击:敌手使用自己的手来欺骗PCR-Auth。这种情况编码序列的频段被确保是正确的,并且敌手期望进一步模仿受害者的生物特征。有知识的模仿攻击者具有受害者如何抓握设备的先验知识,使得他/她可以在拥有设备时模仿合法用户抓握手的姿势;进一步考虑一个知识渊博的假手攻击者,他使用硅胶假手来模仿受害者的手,具有更大的自由度
  • 重放攻击:敌手窃听了受害者的认证数据,并试图使用相同的数据来欺骗新的一轮认证。为了进行攻击,对手需要使目标设备静音,并使用第二个扬声器来重放先前的声音。这种类型的攻击仅旨在呈现用户的生物特征。但是难处是预测开始录音的精确时间,这个时间段很短
  • 监听合成攻击:假设敌手可以通过监听声道捕获OTC,并立即将之前的PCR数字拼接成正确的序列。还假设对手可以获得受害者的所有PCR数字,实现攻击完全自由,这可能是通过窃听注册过程或存储的生物特征数据的泄露。然而,实施这一攻击仍然具有挑战性。如果在等待窃听所有OTC数字之后播放合成的声音,将被认证系统拒绝,因为麦克风在扬声器声音停止之后立即关闭,伪造响应无法及时生成。
  • Dos攻击:拒绝服务(DoS)攻击旨在通过专用超声波覆盖PCR-Auth的工作频率来导致身份验证错误和拒绝

实验部分

基本分析

  • 线性调频信号持续时间是系统设置的一个重要因素,较短的持续时间允许PCR-Auth在固定的时间内编码更多数字,即增加OTC数字的长度;但是持续时间越短将导致用户的PCR分辨率会降低,从而削弱生物特征。实验首先将调频信号带宽固定为100Hz,再测试从5ms到500ms的持续时间。实验发现,持续时间等于或大于10ms时PCR才能被准确区分。并且当信号持续时间从5ms改变到10ms时,准确度性能从80%快速增加到92.5%。在10ms之后,准确率增长趋势较慢。使用20ms和500ms信号时,分别达到93%和95%的准确度。这证实了使用短持续时间信号提取PCR的可行性。
  • 调频信号的带宽同样是一个重要参数。实验固定线性调频脉冲的持续时间为10ms,并测试将带宽从100Hz加到4kHz。我们观察到,当带宽大于100Hz时,用户的PCR被准确地区分。在此基础增加带宽,性能增长缓慢。例如,在100Hz、200Hz、350Hz和500Hz下的准确度性能为92.5%、95.2%、98%、98.7%。当带宽低于100Hz时,性能急剧下降。结果证实了使用窄带信号区分PCR的可行性。

image-20230424145249795

  • 设备如果配备双麦克风,那么两个麦克风同时接收信号并解码、PCR认证系统准确率更高。在选定的10个频段内,麦克风1可以达到78.9%的准确率,麦克风2可以达到85.0%的准确率。两个麦克风同时使用时可以达到91.3%的准确率。

image-20230424145932309

PCR聚类认证表现

这部分实验作者比较了传统认证器和基于聚类认证方法之间的性能。当编码数字长度为1时,两种方式性能一致;随着编码长度增加,传统认证器准确率逐渐下降,而聚类认证甚至性能有所提高。

image-20230424150212859

因为传统认证器是累计认证的方法,例如4位数字的PCR代码,每个数字的准确率为0.9,那么传统认证器的准确率为$0.9^4=0.6561$;而聚类认证之所以性能有所提高,原因可以总结为三点:

  • 编码长度增加,系统得到的用户生物特征更加丰富;
  • 不同信道处的PCR编码捕获不同方面的生物特征(提高了特征多样性);
  • 基于聚类的方法利用了PCR数字之间的连接和约束。(引入无监督学习)

不同设备的性能表现

作者测试了系统在六种不同的智能手机型号,共涉及15名参与者时的性能。首先系统在六个设备上都实现了低FAR(错误接受率)、FRR(错误拒绝率)。结果表明,PCR-Auth在大多数手持设备上具有良好的认证表现。

image-20230424151245455

攻击抵御性能

对于重放攻击:随着编码数字的增加,FAR逐渐降低。编码一位数字时FAR为10%,编码长度大于等于4时,FAR可以忽略不计。

编码一位数字时FAR为10%,相当于在10个频段里碰撞某个特定频段。

image-20230424152134105

对于监听-合成攻击:当麦克风延迟在25%时,FAR达到最高的4.8%.不过当编码长度增加时,FAR会明显下降。

image-20230424153015538

对于超声/Dos攻击,由于认证系统在认证之前会使用50dB SPL作为阈值检测DoS攻击(相当于30cm的超声波传输距离)。当使用正常移动设备登录时,如果超声波SPL大于阈值,则PCR-Auth将通知用户潜在的DoS攻击,并建议用户改变位置以重新启动PCR-Auth。

总结

本篇工作开发了一个基于结构声的生物认证系统。系统工作基本流程为:

  • 根据随机挑战序列(抵御重放攻击)对高频信号进行编码并通过扬声器播放;
  • 利用麦克风接收携带生物特征(PCR)的响应结构声,将结构声预处理后作为本次认证的输入响应;
  • 通过基于卷积神经网络的算法对生物特征码进行解码,验证每个PCR数字所呈现的生物特征得到CNN Score;
  • 验证用户时,首先检查编码的正确性(在物理层面通过SNR进行判断),再对上一步得到的CNN Scores进行聚类操作,实现用户/非用户的认证;

文章的亮点首先是引入手掌接触响应(PCR)的概念,并通过神经网络对这种复杂的反应进行解码;其次是通过聚类这种无监督学习方式增强了认证的TAR,本人复现时发现单聚类操作甚至可以提高接近10%的准确率;最后是信道编码时,根据PCR的频率敏感性选出了特定的10个频段,并且OTC数字进行随机化,有效地抵御了重放攻击。