FDA: Federated Defense Against Adversarial Attacks for Cloud-Based IIoT Applications

(这里的对抗攻击都有哪儿些 -基于数据 Or -基于模型)

IEEE Transactions on Industrial Informatics, 2020

Abstract

在AI与IoT技术普及下,对抗攻击激增,用于欺骗IIoT应用的深度神经网络。由于偏见的训练数据以及脆弱的潜层(underlying models)模型,对输入的微弱修改足以带来破坏性的结果。虽然,已有的方法在防御恶意攻击上很有前景,但他们大多数只能应对有限的一直攻击类型,这对大规模IIoT的发展是个巨大挑战。为了解决这个问题,我们提出了一个有效的联邦防御方法(FDA3),它能够聚合不同来源对抗样本提供的防御信息。受到联邦学习的启发,我们提出的基于云端的架构能够在工业互联网设备间对多种攻击,实现防御共享。实验结构表明,利用我们方法生成的DNNs,相较于已存在的特定攻击的对抗训练(FGSM、BIM、JSMA、CW2和DeepFool),不仅能够抵御更多恶意攻击,而且能够防御IIoT上的新攻击。

文章中为什么把对抗样本的存在归因于偏见的训练数据以及脆弱的潜层

introduction

深度学习(DL)技术越来越多地应用于安全关键信息物理系统(CPS)和物联网(IoT)领域,如自动驾驶、商业监控和机器人等,这些领域输入的预测正确性至关重要。然而,随着IIoT(IIoT)应用的蓬勃发展,它们不可避免地成为恶意对手[5]、[6]的主要攻击目标。无论对抗性的攻击是有意还是无意,由于训练数据的偏见或过拟合模型,轻微的修改输入往往会使脆弱的物联网应用程序表现出不正确或意外的行为,这可能导致严重的后果。

大多数现有的对抗式攻击专注于生成具有扰动的IIoT输入(对抗样本),以愚弄DNNs这种对抗样本能误导分类器产生错误预测,同时这些扰动无法被人眼察觉。目前提出了许多防御方法来抵抗这些攻击,例如ensemble diversity[8], PuVAE[9],adversarial training。然而,它们中大多数并不适合IIoT应用。主要因为:1)大多数防御方法都只防御一种特定类型的攻击;(2)IIoT应用通常分散在不同的地方,面临各种对抗性攻击。在这种情况下,同一类型的IIoT设备应配置不同的DNNs,以适应不同的环境。当各种新的对抗性攻击出现时,情况变得更糟,因为IIoT设计人员很难快速找到新的解决方案来防御此类攻击。

作为一种分布式机器学习方法,联邦学习(FL)[10]能够在IIoT设备上的大量分散数据上训练高质量的集中化模型。它已经被广泛研究并应用于,解决基于云架构的隐私、所有权和数据位置等基本问题。同时在云架构中,参与设备数量巨大,但互联网连接缓慢或不可靠。基于联邦平均技术[11],FL允许在不暴露存储在IIoT设备上的数据的情况下训练DNN。新DNN的权重在云中使用FL合成,用于构建一个全局模型,然后推回不同的IIoT设备进行预测。然而,到目前为止,没有一种现有的基于fl的方法研究对IIoT应用的对抗攻击的防御。

由于云架构可以通过将物联网设备的部分计算任务卸载到远程云服务器,从而扩展物联网设备处理能力,云计算和物联网的结合正成为一种流行的范式,使大规模智能物联网应用成为可能。在CPS环境下,IIoT设备与云连接[12]。然而,无论云服务器的角色是否用于培训或推断,IIoT设备需要将原始数据发送到云服务器,其中网络延迟和数据隐私问题不容忽视。此外,如果IIoT应用的设备采用相同类型的DNNs,则对抗性攻击的多样性很容易破坏应用的健壮性。因此,如何为大量相同类型的IIoT设备生成健壮的DNN,同时又能保护这些设备的隐私,成为一个挑战。受联邦学习概念的启发,本文提出了一种适用于大规模IIoT应用的有效联邦防御框架FDA。它作出了以下三个主要贡献:
1)出了一种新的针对IIoT设备的对抗训练损失函数,充分考虑了对抗性攻击的多样性。
2)我们提出了一种有效的联邦对抗学习方案,该方案可以得到强壮的DNNs来抵抗广泛的对抗攻击。
3)在基于云架构的基础上,提出了一种面向大规模IIoT应用的新型联邦防御框架。

在两个著名的基准数据集上的实验结果表明,我们提出的方法在IIoT设备上生成的DNN比目前最先进的方法更能抵抗对抗性攻击。此外,所研究的IIoT应用规模越大(是否可以理解为所能接受到的对抗样本信息越全面或者原始信息越多),生成的DNN的鲁棒性越好。本文的其余部分组织如下。第二部分介绍了基于dnn的物联网设计中对抗攻击防御机制的相关工作。第三节详细介绍了我们的联邦防御框架FDA。第四节给出了实验结果,展示了我们方法的有效性和可扩展性。最后,第五部分对全文进行总结。

Related Work

相关工作不展开介绍,主要提几点本人感兴趣的:
1.生成物理的对抗样本欺骗模型——[15-16]
2.介绍了3类防御算法:A-优化目标分类器的梯度B-增加自动编码器C-对抗训练

联邦防御方法

由于隐私信息泄露,攻击者可以从IIoT设备获取DNN模型信息进行攻击。在我们的方法中,在IIoT设备提供的隐私保护机制的帮助下,我们假设模型破解时间比模型更新周期长。在这种情况下,对手总是无法获得IIoT设备使用的模型的最新版本。然而,攻击者可以根据已获得的隐私数据,使用传输攻击(transfer attack)来欺骗DNN模型。本文主要研究如何对威胁模型进行再训练,使其能够抵抗由敌手产生的各种类型的对抗实例。以下小节将介绍我们基于云的联邦防御结构,对设备级别的联邦对抗训练损失函数,以及模型更新和同步细节。

FDA Architecture

需要特别注意Nature Samples与Adversarial samples的工作,在于损失函数吗?

图1详细描述了FDA的框架及其工作流程,其灵感来自于对抗式训练和联合学习方法。我们方法的架构由两部分组成,即IIoT设备及其云服务器。除了预测功能外,存在于物联网设备中的DNN还负责抵御对抗样本的DNN更新。最初,所有设备共享相同的DNN。由于它们部署在不同的环境中,因此可能会遇到不同的输入示例和不同类型的攻击。这种不平衡使得联合学习成为聚合不同防御能力的最佳解决方案。

该云服务器由两个模块组成,即攻击监控模块和联邦防御模型生成模块。攻击监控模块,根据IIoT设备位置或类型,记录其最新的攻击信息。该模块管理了所有报告的攻击方案(即源代码或可执行程序)组成的库。这些信息可以由IIoT设备制造商或第三方机构收集。当攻击监控模块检测到设备受到新的攻击时,会要求设备下载相应的攻击方案,进行对抗训练。与联邦学习类似,联邦防御模型生成模块定期收集设备梯度信息并将其聚合,以获得具有更好鲁棒性的更新模型。然后,该模块将把新形成的模型发送到所有连接的IIoT设备,以实现模型同步。

在IIoT设备的执行过程中,该设备保持一个缓冲区,以保存一组随机收集的高预测置信度自然示例。在特定时期内,所有IIoT设备都需要通过联合学习方式进行重训练和同步。这个过程包括三个步骤。首先,根据云服务器分配的攻击方案,每个设备在本地生成对应的对抗样本,形成一个重训练集,重训练集的元素分别是自然样本和对应的对抗样本。在第二步中,本地对抗训练过程定期将IIoT设备最新获得的梯度信息上传到云服务器,用于模型更新和同步。最后,与联合学习类似,由我们的联合防御方法生成的模型将部署在每个连接的IIoT设备上。注意,当新的物联网设备加入IIoT应用程序时,需要从服务器下载新的模型。由于不同设备的多样性,新模型具有更强的鲁棒性,可以抵抗更多不同类型的攻击。由于云服务器与IIoT设备之间的交互只涉及到梯度信息,因此可以保证IIoT设备的数据私密性。

Loss

在考虑对抗性攻击时,对抗性训练损失函数的定义与传统的损失函数的定义有所不同。现有的对抗训练损失函数大多由正常损失函数和对抗性损失函数[17]两部分组成。它们可以表述为

L ( x , x ^ , y ∣ θ ) = ( 1 − α ) L n o r m a l + α L a d v ( x ^ , y ∣ θ ) \large{L(x,\widehat{x},y|\theta{})=(1-\alpha)L_{normal}{+}{\alpha} L_{adv}(\widehat{x},y|\theta{})} L(x,x ,y∣θ)=(1−α)Lnormal​+αLadv​(x ,y∣θ)

L n o r m a l ( x , y ∣ θ ) {\large}L_{normal} (x,y|\theta) Lnormal​(x,y∣θ) 表示正常损失函数,其中x,y表示自然(正态)样例和模型参数为 θ \theta θ时的分类标签。α值越高,说明对抗性损失函数的权重越大,对整体损失函数的贡献越大。

对于不同的对抗攻击,存在不同的方法来获得最小 L ( x , x ^ , y ∣ θ ) {\large}L(x,\widehat{x},y|\theta) L(x,x ,y∣θ) 的最优 θ \theta θ 。以 L ∞ L_{\infty} L∞​ 范数的FGSM攻击为例,可以利用下面的公式计算最有的 θ \theta θ :

θ ∗ = arg ⁡ min ⁡ θ E x ⊆ D [ m a x ∣ ∣ x ^ − x ∣ ∣ ∞ ≤ ϵ L ( x , x ^ , y ∣ θ ) ] \theta{^\ast} = \underset{\theta}{\arg \min} \underset{x\subseteq{D}}E \left[\underset{||\widehat{x}-x||_\infty{\leq{\epsilon{}}}}{max} L(x,\widehat{x},y|\theta{}) \right] θ∗=θargmin​x⊆DE​[∣∣x −x∣∣∞​≤ϵmax​L(x,x ,y∣θ)]

为了将这个损失函数拓展到更多的范数类型,我们将损失函数扩展如下:

L f e d ( x , x ^ , y ∣ θ ) = 1 N ∑ k = 1 N L ( x k , x ^ k , y k , θ ) {L_{fed}(x,\widehat{x},y|\theta{})=\frac{1}{N}{\sum{}}_{k=1} ^N L \left(x^k,\widehat{x}^k,y^k,\theta{}\right)} Lfed​(x,x ,y∣θ)=N1​∑k=1N​L(xk,x k,yk,θ)
利用算数平均对每个终端设备的损失函数求平均得到全局模型的损失函数,从而找到最合适的参数 \theta ,满足下式:

θ ∗ = a r g m i n θ { E x ⊆ D , x ^ ⊆ D L ∞ [ m a x ∣ ∣ x ^ − x ∣ ∣ ∞ ≤ ϵ L f e d ( x , x ^ , y ∣ θ ) ] + E x ⊆ D , x ^ ⊆ D L 0 [ m a x ∣ ∣ x ^ − x ∣ ∣ 0 ≤ σ L f e d ( x , x ^ , y ∣ θ ) ] + E x ⊆ D , x ^ ⊆ D L 2 [ m a x ∣ ∣ x ^ − x ∣ ∣ 2 ≤ δ L f e d ( x , x ^ , y ∣ θ ) ] + } \theta{^*}=arg\underset{\theta{}}{min}{\left\{\underset{x\subseteq{D},\widehat{x}\subseteq{D_{L\infty{}}}}{E}\left[\underset{||\widehat{x}-x||_\infty{}\leq{\epsilon{}}}{max}L_{fed}(x,\widehat{x},y|\theta{})\right]+\underset{x\subseteq{D},\widehat{x}\subseteq{D_{L0}}}{E}\left[\underset{||\widehat{x}-x||_0\leq{\sigma{}}}{max}L_{fed}(x,\widehat{x},y|\theta{})\right]+\\\underset{x\subseteq{D},\widehat{x}\subseteq{D_{L2}}}{E}\left[\underset{||\widehat{x}-x||_2\leq{\delta{}}}{max}L_{fed}(x,\widehat{x},y|\theta{})\right]+\right\}} θ∗=argθmin​{x⊆D,x ⊆DL∞​E​[∣∣x −x∣∣∞​≤ϵmax​Lfed​(x,x ,y∣θ)]+x⊆D,x ⊆DL0​E​[∣∣x −x∣∣0​≤σmax​Lfed​(x,x ,y∣θ)]+x⊆D,x ⊆DL2​E​[∣∣x −x∣∣2​≤δmax​Lfed​(x,x ,y∣θ)]+}

Federated Defense Model Generation

联合防御方法由两部分组成,即IIoT设备和相应的云服务器。在执行过程中,IIoT设备随机收集一组高可信度的自然实例,并将它们保存在本地内存中。根据云服务器分配的攻击方案,IIoT设备生成对抗样本进行模型再训练。请注意,由于IIoT设备的资源有限(如内存大小、计算能力),云服务器通常只分配有限数量的攻击方案给IIoT设备。与联合学习类似,我们的联合防御方法的对抗训练过程涉及多个epoch,其中一个epoch可能根据用户指定的批大小涉及多个迭代。在我们的方法中,我们考虑每个迭代为一轮,在一轮内,所有IIoT设备将从其本地重新培训的模型获得的梯度信息发送到云服务器,然后云服务器将梯度聚合,并将更新后的模型与所有IIoT设备同步。

算法1介绍了本地IIoT设备对抗训练的细节。请注意,我们假设索引为K的IIoT设备已连接到服务器,并且其模型与最初的服务器相同。在第2步中,该设备尝试随机收集具有高预测置信度的自然实例。步骤3,基于旧模型和云服务器分配的攻击方案,使用传输的攻击获得原始样本的对抗性示例。注意,如果att的基数大于1,步骤3将为Xnat中的每个示例生成不同类型的对抗样本。由于Xnat中的所有样本都是高度可信地收集的,因此第4步试图找出它们的标签。与步骤4类似,步骤5得到所有对抗样本的预测结果。步骤6将Xnat和Ynat增加,将它们复制|att|倍,以进行步骤13-14中的损失函数计算。步骤8-20迭代地与云服务器交互,步骤10-18形成一轮梯度聚合和模型更新。第10步将自然性例子和对抗性例子分批进行划分。步骤11-12分别计算出同一批次中自然和对抗性例子的预测标签。步骤13-15使用式(1)中定义的方程,根据批处理中的性质和对抗性示例计算总体损失函数。步骤16计算梯度信息,步骤17将其发送到云服务器。步骤18使用云服务器发送的聚合梯度信息更新本地模型。注意,sync recv是一个等待云服务器回复的阻塞函数.

步骤6? 为什么要复制对抗样本,重复训练吗?
解答:不是直接的复制过程,而是同一张样本在同种对抗样本下生成不同对抗样本。

Experiments

为了评估我们的方法的有效性,我们在一个基于云的架构上实现了我们的FDA方法,该架构包括一个云服务器和一组连接的IIoT设备。由于我们专注于分类准确性,云服务器和IIoT设备的行为都在一台使用Intel i7-9700k CPU, 16GB内存,NVIDA GeForce GTX1080Ti GPU, Ubuntu操作系统的工作站上进行模拟。我们采用Tensorflow (version 1.12.0)和Keras (version 2.2.4)在我们的框架中构建所有DNN模型。为了验证我们的方法,我们进行了两个案例研究,分别使用LeNet[27]用于MNIST[28]数据集,使用ResNet[29]用于CIFAR10[30]数据集。初始LeNet模型使用来自MNIST数据集的60000个训练示例进行训练,初始ResNet模型使用来自CIFAR10数据集的50000个训练示例进行训练。注意,MNIST和CIFAR10数据集分别有一个包含10000个示例的测试集。我们把它们分成两部分,其中5000个例子用于再训练,剩下的5000个例子用于测试。

Performance Comparison

在第一个实验中,我们考虑了一个IIoT应用程序,该应用程序有10个设备连接到同一个云服务器,用于联邦防御。由于大多数IIoT设备内存有限,我们假设IIoT设备上的DNN模型只能保留100个自然实例用于对抗性训练。我们在实验中考虑了五种众所周知的攻击类型,即FGSM[17]、BIM[15]、JSMA[18]、CW2[19]和DeepFool[20],其中每种类型都用于攻击10个IIoT设备中的2个。为了使对抗训练成为可能,对于每个设备,我们使用分配的攻击方案为100个自然例子分别生成100个对抗例子。注意,这里所有的对抗例子都是由传输攻击生成的,假设初始模型可以获得,而中间的再训练模型不能被恶意的对手访问。与[17]类似,我们将超参数α设为0.5,这表明正常和对抗损失对总损失的贡献相等。

MNTST比较联邦防御与其他对抗训练的差异

CIFAR10比较联邦防御与其他对抗训练的差异

New attack SIMBA

Scalability Analysis

上个实验只研究了一个仅有10台设备的IIoT应用程序。然而,一个典型的IIoT应用程序可能涉及数十个或数百个设备。因此,为了验证我们的方法是否可以应用于大规模IIoT应用,我们进行了第二次实验,以检验我们的方法的可扩展性。
上图显示了随着MNIST数据集上IIoT设备数量的增加,预测精度的趋势。在这个实验中,我们使用FDA来生成IIoT设备的模型。与第一个实验中使用的方案类似,我们考虑了五种攻击类型(即FGSM、BIM、JSMA、CW2、DeepFool)来生成对抗示例。我们假设有五分之一的设备受到了特定类型的攻击。例如,如果一个IIoT应用程序涉及10个设备,那么调查的五种攻击类型中每一种都将有2个设备。我们调查了7种类型的测试样本,其中Nature表示一个包含5000个自然示例的测试集,而其他6个包含5000个示例的测试集都使用攻击类型进行标记。

ending:如果同步结束后,模型相同了,这就是一个数据的大规模整合。

论文阅读-FDA Federated Defense Against Adversarial Attacks for Cloud-Based IIoT Applications相关推荐

  1. 论文阅读 [TPAMI-2022] ManifoldNet: A Deep Neural Network for Manifold-Valued Data With Applications

    论文阅读 [TPAMI-2022] ManifoldNet: A Deep Neural Network for Manifold-Valued Data With Applications 论文搜索 ...

  2. 【论文阅读】Federated Learning应用扩展合集

    2020-MM-Performance Optimization for Federated Person Re-identification via Benchmark Analysis 动机:联邦 ...

  3. 论文阅读笔记——Backdoor Defense with Machine Unlearning

    Backdoor Defense with Machine Unlearning 论文相关 paper地址:https://arxiv.org/abs/2201.09538 preliminarily ...

  4. 【论文阅读】Federated Learning on Non-IID Data Silos: An Experimental Study

    阅读目标: 了解解决异构性问题的角度 了解解决异构性问题的方法 阅读结束回答: 标签.特征.量 FedAvg.FedProx等,并不是我想要的解决复杂异构性的方法 动机:隐私保护和数据条例的出现,导致 ...

  5. 论文阅读笔记--Federated Continual Learning with Weighted Inter-client Transfer

    本文提出了一种新的场景,联邦学习(FL)的每个client各自执行一系列的持续学习(Continual Learning)任务,为了说明这个场景的实际意义,文章给出了这样一个场景: 若干个医院要通过一 ...

  6. 论文阅读:HAD-Net: A Hierarchical Adversarial Knowledge Distillation Network for Improved Enhanced Tumour

    论文获取地址:https://arxiv.org/pdf/2103.16617.pdf 代码开放地址:https://github.com/SaverioVad/HAD_Net 论文摘要: 在许多临床 ...

  7. [paper]Defense against Adversarial Attacks Using High-Level Representation Guided Denoiser

    本文提出了一种防御方法,即由高级特征主导的去噪器 high-level representation guided denoiser(HGD). 标准去噪器具有误差放大效应,在这种效应中,较小的残留对 ...

  8. 论文学习:Feature Importance-aware Transferable Adversarial Attacks

    目录 Introduction Feature Importance-aware Attack(FIA) Experiment Experiment Setup Comparison of Trans ...

  9. [HSI论文阅读] | Deep Feature Extraction and Classification of Hyperspectral Images Based on CNNs

    写在前面 论文: Y. Chen, H. Jiang, C. Li, X. Jia and P. Ghamisi, "Deep Feature Extraction and Classifi ...

最新文章

  1. Camera Lens Coating
  2. mysql删除表命令_MySQL创建和删除表操作命令实例讲解
  3. DevExpress v17.2新版亮点——CodeRush篇(二)
  4. Python基础day02 作业解析【6道 if 判断题、9道 循环题】
  5. 有序数组中查找数字的范围
  6. [剑指offer][JAVA]面试题第[30]题[包含min函数的栈][双栈辅助栈][单栈]
  7. VC++ 6.0(英文正版)安装及其编译注意事项
  8. java dispose事件_Android-在 ViewModel 中使用 AutoDispose2 解决 RxJava 的内存泄露问题
  9. 一般如何调试php程序吗,如何调试PHP程序
  10. 91. php 命名空间(1)
  11. Javascript特效:利用封装动画函数模拟关闭安全管家弹窗
  12. 常见的API接口管理工具
  13. 传统的企业数据总线(ESB)和目前的分布式消息系统有什么区别?两者的关系是?
  14. IDEA控制台设置查找快捷键
  15. 劈开迷雾:蘑菇街搜索架构及搜索排序实践
  16. 7-20 打印九九口诀表
  17. python3GUI--天气预报小工具(附源码)
  18. 基于Socket、OpenCV和MFC实现的网络实时视频监控
  19. Word 文字处理学习笔记
  20. 利用OpenCV读取大华网络摄像头

热门文章

  1. 电子档案目录PDF预览
  2. 【考研计算机组成原理】强化 存储系统大题
  3. python爬虫爬取链家网房价信息
  4. sinx的泰勒展开式
  5. 笔记-备份还原QCN问题答疑,9008救砖刷机包手动制作
  6. 离线安装—Tensorflow教程
  7. visio流程图带公式变模糊 已解决
  8. MBus协议详解(二)
  9. 慎投,5月有4本SCIE期刊被剔除(附SCI/SSCI目录下载)
  10. 你所不知道的粘接强度检测知识大全详解