G.O.S.S.I.P 阅读推荐 2022-10-20 LoneNeuron

admin 2022年10月30日02:10:311 66 views字数 4068阅读13分33秒阅读模式
学习和使用过机器学习的小伙伴有没有遇到过这样的场景:当你想要使用深度学习来解决一个问题,上网一搜发现,已经有大神针对同样(或者类似)的问题设计和训练好了DNN模型,并且慷慨地和大家共享了。是的,问卷调查显示,95%的科研人员、工程师和学生,都曾经下载和使用过来自互联网的开源深度神经网络模型。然而,在这些来源不明的第三方模型背后,有着怎样的安全隐患呢?今天由堪萨斯大学High Assurance and Secure Systems (HASS) 研究中心为我们介绍 ,为我们介绍他们发表在今年CCS的最新工作LoneNeuron: a Highly-effective Feature-domain Neural Trojan using Invisible and Polymorphic Watermarks
G.O.S.S.I.P 阅读推荐 2022-10-20 LoneNeuron
背景介绍
随着机器学习的广泛应用以及业务化,个人和小型机构很难负担大型模型训练所需要的高额的数据和算力成本。深度学习模型供应链随之发展起来:各式各样的预训练好的模型被共享在互联网上,用户可以下载以后直接使用,或者使用自己的小规模数据对模型进行微调(finetune)。然而,伴随着第三方模型带来的便利,供应链的各个环节也可能暴露安全隐患。基于数据和参数污染的后门攻击(data and weight poisoning attacks)已在现有的工作中展现了优秀的攻击能力。然而,机器学习模型的源码和架构层级的安全则是一个方兴未艾的课题。
在这项工作中,作者首次对机器学习供应链中的源码和架构安全开展了大规模的调查研究,并提出了一种新的基于源码和架构的特征域木马(feature domain Trojan)攻击。仅需加入一个神经元(少量的参数和几行代码)就能植入一个强大且隐秘的后门。这种攻击不仅能在模型方面保证百分之百的攻击成功率、正常用户任务准确率的零损害和高度的鲁棒性,而且能实现木马触发器(水印)的动态性、多态性和高度视觉隐蔽性。
G.O.S.S.I.P 阅读推荐 2022-10-20 LoneNeuron
图1.机器学习模型供应链
研究动机
归功于共享平台(如Github,ModelZoo)上的丰富的开源预训练模型,机器学习系统的部署能够通过模型复用得到极大简化。然而,直接调用或者微调开源模型会带来恶意代码/架构的风险。共享平台的安全接口和现有的代码扫描工具也无法从功能上检测出隐晦的机器学习模型漏洞,例如神经网络木马(Neural Trojan)。更糟糕的是,论文中的调查显示,用户在借助开源模型时往往疏于彻底解读和分析模型的代码与模块。尽管95%参与调查的用户都使用第三方模型,过半数的研究人员和绝大多数的普通用户更关注于模型表现和泛化能力,而不是代码的合理性。即使是信息安全研究人员(AB类信息安全会议的文章作者),也仅有55%的受访者表示会手动审查第三方模型的源代码。这给携带恶意代码或架构的模型的部署和传播提供了可乘之机。
攻击模型
作者提出一种针对机器学习模型架构的攻击。假设攻击者能够在某个时候控制并简单修改受害模型的源代码。攻击者可以存在于机器学习供应链(图1)上的任何环节。例如,恶意的源模型发布者,被入侵的共享平台,重打包(repackaging)攻击者,用户端的内部威胁等。这种攻击模型的攻击面更广,攻击方式更简单和灵活。攻击者不必局限于入侵或污染(往往是严格保护的)大型模型的原始发布者(比如Google和Facebook),而可以针对供应链上的任何一个弱势环节。
LoneNeuron设计
虽然模型的逻辑和架构上的篡改可以给攻击者提供更大的空间,但是简单的攻击会带来各种各样的缺陷,比如暴露于检测或和无害样本的碰撞。理想攻击应该具有如下性质:
  1. 普适性:任何模型和样本都可用于攻击。
  2. 灵敏性和特异性:具有水印的样本应该以很高的概率触发木马,而不具有水印的正常样本不会意外触发木马(碰撞)。
  3. 动态性和多态性:对于不同的样本,水印是自适应的。对于同一个样本,水印可以是多态的。
  4. 视觉上的隐蔽性:水印在视觉上不可见,带有触发水印的测试样本能够通过人工检查。然而,传统的神经网络被设计来“学习”稳定的可视特征,因此,本质上很难让它们可靠地识别不可见的水印特征。
  5. 对抗检测和防守的鲁棒性。

在这篇论文中,作者设计了一个单一神经元来响应特征域中的信号。如图2所示,攻击者在第一层卷积层之后植入一个全连接单元,该单元能识别部分特征值的特定位串联组成的模式(trigger pattern),被激活后向少量显著特征输出扰动,最终促使模型决策指向攻击者选定的标签。
G.O.S.S.I.P 阅读推荐 2022-10-20 LoneNeuron
图2. LoneNeuron攻击图解
该攻击主要由五个步骤组成:
  1. 木马植入:本文植入一个由几行代码实现的ReLU激活函数的神经元。代码本身完全由PyTorch原生运算和函数实现,看起来与普通的深度学习代码并无二致。
  2. 定义特征域模式:在第一个卷积层以后的特征域定义一个N比特的二进制字符串,作为LoneNeuron的激活特征。
  3. 多态水印生成:根据特征域模式,通过欠定方程组逆推像素域的水印触发器,从而对任意输入图片进行微量修改以植入像素域水印。欠定方程组的特性决定了同一个特征域模式会对应海量的像素域水印。
  4. 训练样本生成:根据攻击模型不同,攻击者可采用白盒/灰盒数据。在白盒攻击中,攻击者使用极少量的干净样本(0.004%~0.37%)。在灰盒攻击中,攻击者仅使用随机高斯噪声样本。
  5. 木马训练:攻击者冻结除LoneNeuron(木马神经元)以外的模型参数,用植入水印的样本和目标标签,训练木马神经元的输出扰动。目标损失函数由分类损失和权重正则化组成。

攻击评估
首先,论文针对图像分类网络和语音识别分别评估了攻击效能。对于图像分类,论文选择了五个不同任务的数据集(MNIST,GTSRB,CIFAR10,ImageNet,LFW)和三类不同的神经网络:(1)最受欢迎的经典模型如ResNet,VGG等。(2)新兴的高性能模型如EfficientNet,Transformer等。(3)用于简单任务的简化版AlexNet。如表1所示,在所有的图像数据集和模型中,LoneNeuron都达到了100%的成功率。同时,LoneNeuron也是第一个在Vision Transformer模型上实现的高效攻击。对于语音识别,论文选择了Deep Speech2作为宿主模型以及CMU AN4和Librispeech两个数据集。LoneNeuron分别达到了73.9%和75.4%的攻击成功率。
G.O.S.S.I.P 阅读推荐 2022-10-20 LoneNeuron
表1. LoneNeuron在图像分类的攻击表现
其次,论文从两个方面评估了图像触发器的隐蔽性:数值指标和人工测试。在数值指标方面,携带水印触发器的攻击样本在MSE,SSIM,SAM以及LPIPS四个指标上的表现见表2。例如,针对EfficientNet,在一千万个随机选取的来自ImageNet攻击样本中,和原样本的结构相似度(SSIM)最低值为0.9999。在人工测试方面,论文选取了九种现有的机器学习攻击,在三个数据集上生成了攻击图片,并邀请参与人员对攻击图片和原图进行有参照的平行比较。在回收的213份问卷调查(4,230个标记)中,被成功区分的LoneNeuron攻击样本的比例是4.5%,远低于其它的神经网络攻击样本。同时,实验对象在使用两幅完全相同图像的对照组的误报率是4.3%。这说明LoneNeuron的后门触发器(水印)在视觉上和原始图像几乎不可区分。
G.O.S.S.I.P 阅读推荐 2022-10-20 LoneNeuron
表2. LoneNeuron水印触发器的图像指标
LoneNeuron攻击的一大特征是水印的动态性和多样性。也就是说,同一个特征域的模式,对于不同的攻击载体图片,生成的水印是不同的;即使是对于同一幅载体图片,也可以生成大量的不同水印。实验表明,当特征域模式为32位或更长的时候,一千万幅正常图像也不会与水印产生碰撞而误触发木马,这意味着正常用户的任务表现不会受到任何影响。效率方面,对于所有数据集和模型,对每个样本生成1000个不同水印的平均用时低于2s。同时,这些生成的像素域水印可以完美通过全部15项NIST随机性测试。也就是说,水印本身不具备任何统计规律,防御者即使截获了大量的含水印的攻击图片,也无法通过统计分析或是使用机器学习算法来识别水印。
论文评估了LoneNeuron的对抗鲁棒性。作者选取了九种现有的后门防守和检测方法来测试LoneNeuron:(1)基于输入样本分析和清洗的防守:STRIP和Februus;(2)网络模型分析和剪枝:Neural Cleanse,ABS和ANP;(3)动态分析:NeuronInspect,ULP,MNTD和SCAn。实验结果表明,LoneNeuron能够成功绕过现有的后门检测和防护。最后,论文还讨论了LoneNeuron对于一般意义的防护措施(如图片压缩,剪枝)的鲁棒性。
总结
本文通过调查发现从业者普遍缺少对第三方机器学习模型的安全性的警惕。通过代码和架构和污染,攻击者可以设计出十分精巧的满足很多优良特性的神经网络后门攻击。比如,本文提出的LoneNeuron攻击,通过插入单个简单的神经元,就能实现一个具有极高普适性,灵敏性和特异性的攻击。攻击使用视觉上完全不可见的随机多态水印,从数据和模型两个层面完美规避现有的神经网络木马检测工具和恶意样本检测/清洗工具。最后,文章强调,代码和架构污染攻击还没有被充分地研究,也缺乏针对机器学习模型的代码扫描工具和测试基准。
在互联网时代,用户已经理解来源不明的软件背后的安全隐患,各种恶意软件检测和防御工具也已经发展成熟并且广泛部署。然而,机器学习模型里的代码却一直被认为简单且无害,因此从未得到应有的关注度。随着神经网络供应链的发展,AI/ML模型开源社区的进一步成熟,第三方模型的广泛使用,其中的安全和隐私问题值得更加深入的探讨和研究。


论文下载:
https://www.ittc.ku.edu/~bluo/download/liu2022ccs.pdf

原文始发于微信公众号(安全研究GoSSIP):G.O.S.S.I.P 阅读推荐 2022-10-20 LoneNeuron

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年10月30日02:10:31
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   G.O.S.S.I.P 阅读推荐 2022-10-20 LoneNeuronhttp://cn-sec.com/archives/1362354.html
评论  1  访客  1
    • Eddy 0

      可以使用什么技术将选定的位替换为 Ki 位?

    发表评论

    匿名网友 填写信息