从攻击者以及防御者角度详谈比特位翻转对AI安全的影响

一、 前言

如今众多领域均能看到AI的影子。在AI技术中,深度学习因其较高的准确率,更灵活的弹性使得其成为代表。然而随着各个行业对准确率要求的不断提高,对高质量数据要求的不断提升,现如今的模型已经呈现越来越大的趋势,传统的小机器已经没有办法训练如此庞大的模型(许多模型一次要训练上万轮,并且需要数月)。所以一个准确率高,鲁棒性好的模型是要耗费大量的资源来换取的。此外,这些训练好的模型会被部署到各个领域为行业提供精准的服务。可想而知,深度学习模型的安全是非常重要的。如果人脸识别模型被肆意篡改,那么有人脸门禁、人脸支付就立刻失效;自动驾驶领域中如果模型被篡改,那么路上行驶的车就无法识别特殊情况,从而带来严重的安全后果。本稿首先为读者介绍深度学习特征后,之后进一步归纳出了一些攻击手段,并从攻击者的角度去阐述了如何对模型进行攻击,之后又切换为防御者角度并提出两种解决方案,以供读者学习。

二、 背景知识

鉴于许多读者有可能对深度学习了解较少,我这里用一些篇幅做一个简短介绍。深度学习可以分为训练与推理两个过程,训练是指通过投喂大量数据集从而使得模型具有分类或者回归的能力。而训练好的模型则可用于推理,即真正的用来做事情。比如扔进来一张图片,模型能告诉你这是什么类别。而模型类似于y = kx + b这样的公式,图片为输入x,k以及b需要我们训练出来合理的数值,从而使得y更准备。深度学校模型中的参数均是采用浮点数的形式,即32位Float。而我们知道,IEEE 754中浮点数中可以分为1位符号位,8位指数位以及23位尾数位。其中指数位表示的范围很大,尾数位用于细粒度的精度。而在推理的过程中,数值对最终结果的影响是非常巨大的,比如将y = kx+b中的k乘100倍,那经过公式计算出的数值将会变的非常大,从而影响最终的分类效果(这里就是我们本文的攻击的最核心的本质点)。

此外我们再介绍一下我们攻击场景的基本知识点:Rowhammer是一个常见的比特位翻转攻击-“Rowhammer比特翻转攻击是指利用临近内存单元之间电子的互相影响,在足够多的访问次数后让某个单元的值从1变成0,反之亦然。这种攻击可以在不访问目标内存区域的前提下使其产生数据错误。该攻击与操作系统和软件无关,纯粹是硬件上的漏洞导致的”[1] 。而该漏洞其实会随着DRAM的不断更新而变得越来越严重,举例来说:这几年的内存容量正在大幅度上涨,所以存储比特位的电容器也就越来越小,排列越来越近。要防止相邻的电容之间相互干扰,难度也就变得更大。如果能够快速、反复访问一排电容,相邻行的电容更容易产生干扰错误和所谓的“比特位翻转”,也就是0变成1[2]。如图1一样,红色的部分是被攻击区域,蓝色为攻击者区域,通过对蓝色区域的多次访问,红色区域会产生比特翻转的情况,从而修改内存数据。

图1 比特翻转Rowhammer示意图

三、 攻击方案

根据前言以及背景,我们在这一章节总结一下我们的具体攻击方案并探究其造成的危害。通过比特位翻转,我们通过修改现有的精度较高的模型的某些位,从而使得该模型丧失分类或者回归的能力,然而这里有一些问题需要我们讨论:(1)模型的参数如此多,修改哪些位能够使得作恶人付出的代价最小且达成的效果最好呢?(2)模型中究竟存在多少参数能够对模型精度产生巨大的影响呢?(3)比特位翻转0到1与1到0的效果一致吗?原因又如何?下面我们根据实验的结果进行一些讲解,从而加深读者对AI模型特征的理解。

首先我们需要定义一个指标,即对模型精度的影响程度。在AI领域,提升少量百分比就是一个很好的进步,所以我们在这里定义如果模型精度降低百分之10,那么就算该模型收到了巨大的影响。针对问题1,我们进行了以下实验:我们选取了19种不同的深度学习模型+数据集,并且对其中的参数进行了比特位翻转测试。

图2 模型易受攻击参数个数测试效果图

MNIST数据集比较小,且他对应的模型相对都比较小,所以对于这些模型,我们对其所所有的参数均进行测试(例如B中21840个参数)。其中SV表示测试数据集的个数(对号为百分之十,X表示数据集全部用于测试);SB表示对参数的哪一部分(某一位?指数部分?亦或是全部位)进行测试;SP表示取多少参数;我们在这组测试的逻辑可以这样叙述:以MNIST中B(ase)为例,对该模型我们使用全部数据集进行测试(SV为X),并且对模型中所有21840个参数(SP为X)的所有位均进行测试(SB为X),如果该参数中存在某些位的改变使得整个模型的精确度下降10%,那么就可以说明该参数是易受攻击的,即攻击者就会有较高的概率把该模型击垮。所以最右侧的Ratio代表了其比例。对于CIFAR10数据集下的模型,这里只测试了其浮点数的指数位(8位);对于ImageNet,由于模型太大了,测试所有的位数不现实,所以只改变了浮点数的最高位指数位,并且抽样其中的20000个参数进行测试。从图2的最右侧能够看出,几乎所有的模型都存在将近一半的参数是易受攻击的,这对于攻击者来说是个好事。

此外,为了搞清楚比特翻转的位置对模型精度的影响,同样对各个位做了测试。这里不进行图表展示。简单来说就是指数位最高位影响是最大的(第31位),然后由于深度学习模型中第30~28位一般均为1,所以翻转后为0并不会使得该参数变为易受攻击的,所以这些位可以选择不进行翻转攻击。此外,27、26同样影响精度。所以总结来说,作为攻击者要尽量的攻击第31位,27、26位。后面的位数由于代表的数值太小,对浮点数的整体影响不大,所以可以选择放弃。

对于特定翻转类别来说,这里需要探究一下0到1以及1到0的区别。这里我们要清楚,1到0代表把原来的数值绝对值变小,而0到1表示变大,所以很直观的来看,把数变大会使得我们的模型计算的结果变的非常大,比如我把第31位从0变成1,那我这个数值整体会增加一个非常大的量。然而又由于深度学习本身的归一化影响,里面的很多数据都是处于-1到1之间,所以基本上较高指数位的值均是0,所以这里很少有1到0的情况。总结来说,攻击者需要尽量对最高位的0变为1,从而会使得参数爆炸增长。

我们现在站在攻击者的角度总结一下攻击,即由于模型中的参数有将近一半的概率会对最终的精度产生影响,所以我们不需要刻意的挑选模型的攻击参数;第二,我们在攻击参数的时候,尽量选择指数考前的位置,从而能够使得参数变化非常剧烈;第三,我们尽量将原本为0的数据改为1,从而增加原本参数的值,从概率上增加攻击的成功率。

四、 防御方案

攻击同样需要防御方案,这里我们根据上面的内容总结一下对应的防御措施。这里有两种方案可以作为参考:(1)使用特定的激活函数从而限定参数的范围;(2)使用低精度的参数代替32位浮点数。简单来说,深度中激活函数包括很多种类,有的种类并不会限定数据输出的范围,从而使得数据变化范围非常大,较大的范围使得模型弹性非常差,稍微一点点改变就使得模型最终的精度变差。通过例子来说,这里可以使用类似RELU-6来将数据限定在6以内,从而代替无限制的RELU,从而使得模型具有较好的弹性;第二使用16位或者8位的数据代替32位浮点数。例如8位最多的变化为128,而不是浮点数的38次方。上述两种方法均可以缓解攻击。此外,除了从模型的角度入手,我们也要加强硬件安全,比如我们在云环境下去避免Rowhammer的干扰,从而使得攻击者无法改变其他用户的数据bit,从根部上遏制攻击。

五、 总结

本文通过实验,以攻击者、防御者两个角度阐述了比特位翻转攻击对AI模型的危害,希望本文能为相关研究者提供一些防御思路,不要让我们辛辛苦苦训练出来的模型被恶意篡改,从而导致严重的经济以及信用后果。

六、 参考引用

[1] https://blog.csdn.net/u013806583/article/details/53103714

[2] https://www.freebuf.com/column/133871.html

论文源:Terminal Brain Damage:
Exposing the Graceless Degradation in Deep Neural Networks Under Hardware Fault Attacks

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,686评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,668评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,160评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,736评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,847评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,043评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,129评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,872评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,318评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,645评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,777评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,861评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,589评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,687评论 2 351

推荐阅读更多精彩内容