软件学报  2021, Vol. 32 Issue (8): 2457-2468   PDF    
基于木马的方式增强RRAM计算系统的安全性
邹敏辉1 , 周俊龙1 , 孙晋1 , 汪成亮2     
1. 南京理工大学 计算机科学与工程学院, 江苏 南京 210094;
2. 重庆大学 计算机学院, 重庆 400044
摘要: 基于新型存储器件RRAM的计算系统因为能够在内存中执行矩阵点乘向量运算而受到广泛的关注.然而,RRAM计算系统的安全性却未受到足够的重视.攻击者通过访问未授权的RRAM计算系统,进而以黑盒攻击的方式来获取存储于RRAM计算系统中的神经网络模型.以阻止此种攻击为目标,所提出的防御方法是基于良性木马,即当RRAM计算系统未授权时,系统中的木马极容易被激活,进而影响系统的输出预测准确性,从而保证系统不能正常运行;当RRAM计算系统被授权时,系统中的木马极难被误激活,从而系统能够正常运行.实验结果表明,该方法能够使未授权的RRAM计算系统的输出预测准确性降低至15%以下,并且硬件开销小于系统中RRAM硬件的4.5%.
关键词: RRAM计算系统    木马    安全    
Enhancing Security of RRAM Computing System Based on Trojans
ZOU Min-Hui1 , ZHOU Jun-Long1 , SUN Jin1 , WANG Cheng-Liang2     
1. School of Computer Science and Engineering, Nanjing University of Science and Technology, Nanjing 210094, China;
2. College of Computer Science, Chongqing University, Chongqing 400044, China
Abstract: Computing systems based on the emerging device resistive random-access memory (RRAM) have received a lot of attention due to its capability of performing matrix-vector-multiplications operations in memory. However, the security of the RRAM computing system has not been paid enough attention. An attacker can gain access to the neural network models stored in the RRAM computing system by illegally accessing an unauthorized RRAM computing system and then carrying on a black-box attack. The goal of this study is to thwart such attacks. The defense method proposed in this study is based on benign Trojan, which means that when the RRAM computing system is not authorized, the Trojan in the system are extremely easy to be activated, which in turn affects the prediction accuracy of the system's output, thus ensuring that the system is not able to operate normally; when the RRAM computing system is authorized, the Trojan in the system are extremely difficult to be activated accidently, thus enabling the system to operate normally. It is shown experimentally that the method enables the output prediction accuracy of an unauthorized RRAM computing system to be reduced to less than 15%, with a hardware overhead of less than 4.5% of the RRAM devices in the system.
Key words: RRAM computing system    Trojan    security    

随着深度学习技术的发展, 神经网络已经在图像识别和自然语言处理方面取得了令人瞩目的成功.然而, 神经网络运算属于数据密集型应用, 它要求在计算单元和内存之间转移大量的数据, 从而对传统的计算与内存相分离的冯诺伊曼计算机体系结构构成了严峻挑战, 特别是对于能耗敏感的计算系统[1, 2].新兴的忆阻器(RRAM)计算系统能够在内存中直接进行运算, 因而在提高神经网络运算能效比上展示出了巨大的潜力.如图 1(a)所示, 一个RRAM计算系统包含了许多个处理单元(PE), 每一个处理单元由一个RRAM交叉开关阵列和外围电路组成.RRAM交叉开关阵列能够以O(1)的时间复杂度在阵列内部执行矩阵点乘序列运算(MVM)[3], 因此消除了矩阵数据移动.神经网络运算主要集中在卷积(Conv)层和全连接(FC)层, 而这两层的运算都可以转化为MVM操作.因此, RRAM计算系统能够提高神经网络运算的能效比.

Fig. 1 Security threat of RRAM computing system 图 1 RRAM计算系统的安全威胁

然而, 随着芯片产业的设计与生产相分离, 设计者设计的芯片可能会被生产厂商过度生产[4].RRAM计算系统芯片同样受到此种威胁.RRAM计算系统芯片的知识产权不仅在于其芯片设计, 而且还包含部署在其中的神经网络模型.一方面, 攻击者通过访问未授权的过度生产的RRAM计算系统芯片, 损害了设计者的权益; 另一方面, 攻击者通过访问未授权的RRAM计算系统, 收集大量的神经网络模型输入和输出, 从而逆向工程训练出一个具有类似功能的神经网络模型[5].神经网络模型可能含有隐私信息, 因此攻击者可能利用这些神经网络模型来造成进一步危害[6].

文献中提出了许多有效的保护芯片的授权使用的方法.总体来说, 这些方法可以分为3类: 逻辑加锁、布局混淆和分离生产.逻辑加锁技术通常是在电路中插入专门的锁电路, 锁电路与额外的密钥输入连接, 只有输入正确的密钥时锁电路才被打开, 例如随机加锁[4]、基于差错分析加锁[7]、基于强干扰加锁[8].布局混淆技术是指在电路中插入一些混淆单元, 来对抗逆向工程的攻击[9, 10].分离生产通常是指将电路分成前端(FEOL)和后端(BEOF), 并交由不同的厂商生产, 从而单独从FEOL或BEOF不能访问电路的完整功能[11, 12].也有文献提出使用硬件木马的方式, 在芯片设计中嵌入木马作为芯片水印来保护芯片的知识产权[13].本文中提出的方法与上述方法均不同, 我们考虑到RRAM计算系统的特性, 提出在系统中嵌入基于神经元级别木马的额外硬件来保护芯片的授权使用.文献中也有提出在神经网络中嵌入木马的方法[14, 15], 但是这些方法需要重新训练整个神经网络, 因此计算开销很大.并且, 本文中所提出的木马是良性木马, 极容易被激活, 与传统的极难被激活的木马不一样.据我们所知, 文献中很少有使用木马的方式保护RRAM计算系统安全性的工作.

文献中也有一些工作提出了保护RRAM计算系统安全性的方法, 例如: 对神经网络模型参数进行加密, 只对授权用户进行解密[16]; 对涉及的数据进行增量加密的方法[17]; 在RRAM交叉开关阵列对中插入一个混淆模块来隐藏阵列行之间的连接关系[18].然而, 本文的威胁模型与这些工作不一样.这些工作的威胁模型是针对白盒攻击, 即攻击者可以读取出存储于RRAM设备的值; 而本文针对的是黑盒攻击, 如第2.2节所述, 即攻击者通过非法访问RRAM计算系统, 获取大量输入输出序列之后逆向工程提取出存储于RRAM计算系统中的神经网络模型的方法.

本文的主要贡献如下:

(1) 首先, 本文展示了神经元级别木马.当木马神经元未激活时, 神经网络模型能够正常运行; 当木马神经元激活时, 神经网络模型的输出准确性受到影响, 从而导致神经网络模型不能够正常运行.

(2) 其次, 本文展示了如何在RRAM计算系统中实现神经元级别木马的嵌入来增强系统的安全.如图 1(b)所示, 木马包括Trigger部分和Payload部分.我们利用RRAM交叉开关阵列中未使用的RRAM列作为Trigger, 使得该木马极容易被触发.我们通过训练木马神经元与其所在网络层的下一层的神经元的突触参数(作为Payload), 使得木马被激活时, RRAM计算系统的准确性受到最大的影响.

(3) 最后, 本文在实际的深度神经网络模型LeNet、AlexNet和VGG16中验证了所提出的木马设计的有效性, 并且展示了木马的硬件开销.

本文第1节介绍本文的威胁模型和动机.第2节用一个示例神经网络介绍神经元级别木马的概念, 并展示该木马对神经网络模型的影响.第3节介绍通用的在RRAM计算系统中实现神经元级别木马的嵌入来增强系统的安全的方法.第4节介绍实验结果.第5节是本文的结论.

1 预备知识、威胁模型和动机 1.1 预备知识

神经网络模型由输入层、输出层和隐藏层组成.隐藏层分为FC层和Conv层, 本文只针对FC层.FC层的计算是MVM运算, 可以描述为

${y_i} = \sum\limits_{i = 1}^m {{w_{ij}} \times {x_i}} , i \in [1, m], j \in [1, n]$ (1)

其中, xi为输入特征值, yi为输出特征值, wij为突触权重, mn分别为参数矩阵的行数和列数.

在RRAM计算系统中, 最基本的硬件是RRAM设备.单个RRAM设备如图 2(a)所示, 其电导值随着其两端的电压或者通过其的电流的变化而变化.RRAM的最大电导值和最小电导值分别以GonGoff表示.RRAM设备的电导值从GoffGon的过程称为SET, 从GonGoff的过程称为RESET.

Fig. 2 Characteristics of RRAM devices and the structure of RRAM crossbar 图 2 RRAM器件特性和RRAM交叉开关阵列的组成

RRAM设备的Ⅰ-Ⅴ特征曲线如图 2(b)所示, 可以看到, RRAM设备的RESET过程具有渐变性.因此, 理论上可以将RRAM的电导值调整到从GoffGon之间的任意电导值.由RRAM硬件组成的交叉开关矩阵结构能够执行MVM操作.如图 2(c)所示, 输入为应用到RRAM交叉开关阵列字线(WL)的电压(V), 输出为在RRAM交叉开关阵列的比特线(BL)累计的电流(I).由于在RRAM计算系统中, 计算中间值为数字信号, 因此需要使用数模转换器(DAC)和模数转换器(ADC)来转化.输入电压、RRAM交叉开关阵列中RRAM的电导值和输出电流满足基尔霍夫定律, 可以表示为

${i_j} = \sum\limits_{i = 1}^m {{g_{ij}} \times {v_i}} , {g_{ij}} \in [{G_{{\rm{off}}}}, {G_{{\rm{on}}}}]$ (2)

其中, gij为与wij对应的RRAM设备的电导值.由于wij可以是正数、负数或者0, 而电导值gij只能为正数, 因此需要用一对RRAM设备$g_{ij}^ + $$g_{ij}^ - $来表示wij, 如式(3)所示.

${w_{ij}} = g_{ij}^ + - g_{ij}^ - $ (3)

$g_{ij}^ + $$g_{ij}^ - $分别接入幅值相同但方向相反的电压, 如图 2(c)所示.

1.2 威胁模型和动机

RRAM计算系统芯片的知识产权不仅在于其芯片设计, 而且还包含部署在其中的神经网络模型.攻击者通过访问未授权的过渡生产的RRAM计算系统芯片, 通过收集大量的输入和输出, 从而逆向工程训练出一个具有类似功能的神经网络模型.本文将提出一种保护机制来防止未授权的RRAM计算系统被正常使用.该防御方法基于良性木马(在本文剩余部分使用简称木马代替), 当芯片启动时, 木马即激活, 此时RRAM计算系统无法正常运行; 只有当输入正确的密钥之后, RRAM计算系统才能够正常运行.

1.3 定义

定义1(神经元激活值). 指神经网络模型中神经元的输入通过激活函数计算后的输出值.

定义2(木马激活概率). 指木马神经元被激活的概率.

2 神经元级别木马

让我们以一个简单的神经网络模型作为示例展示.如图 3所示, 一个简单神经网络, 其功能是将一个4比特的二进制数转换成一个十进制的数.

Fig. 3 An example neural network and inserting a neuron-level Trojan in it 图 3 示例神经网络及在示例神经网络中插入神经元级别木马

该网络模型中只有3层: 一层输入层、一层隐藏层和一层输出层.我们将输入层的4个神经元分别表示为I1, I2, I3和I4, 隐藏层的5个神经元表示为H1, H2, …, H5以及输出层的神经元表示为O1, O2, ..., O16.二进制向量输入被送到输入层, 并且神经元I1, I2, I3和I4分别得到输入向量的第1、第2、第3和第4位.我们选择Sigmoid函数作为H1, H2, …, H5的激活函数.

我们用梯度下降法训练该网络模型的参数, 训练之后, 该网络模型的预测输出准确性如表 1第3列所示, 模型的预测准确率为16/16.

Table 1 Comparison of prediction accuracy of the example neural network model without neuron Trojan orwith neuron Trojan not triggered and the example neural network model with neuron Trojan triggered 表 1 示例神经网络不含木马神经元或者含木马神经元但木马神经元未激活的预测准确率与示例神经网络含有木马神经元并且木马神经激活的预测准确率对比

让我们在这个示例网络模型的隐藏层插入木马神经元T, 如图 3所示, 神经元T通过突触与其所在网络层的下一层的所有神经元O1, O2, ..., O16相连接.为了使得激活的木马神经元T能够影响模型的输出预测准确性, 我们将木马神经元TO1, O2, ..., O16之间的突触权重设置为该层模型参数的取值范围内的随机值.假设我们能通过某种方式激活木马神经元T.当木马神经元T处于未激活状态时, T的输出为0, 结果如表 1的第3列所示, 模型的预测准确率为16/16;当木马神经元T处于激活状态时, T的输出为1, 结果如表 1的最后一列所示(颜色深的单元表示预测输出是错的), 模型的预测准确率大大降低, 仅为5/16.我们可以看到, 激活的木马神经元极大地影响了示例网络模型的功能.

3 在RRAM计算系统中实现神经元级别木马的嵌入来增强系统的安全

本文的目标是以木马的方式增强RRAM计算系统的安全, 即: 当木马未激活时, RRAM计算系统可以正常使用; 当木马激活时, RRAM计算系统不能够正常使用.本节展示了第2节提到的神经元级别木马在RRAM计算系统中的实现.木马的Trigger部分是为了检测木马的输入, 当木马输入满足条件时激活木马; 木马的Payload部分是激活的木马通过连接电路影响系统的运行.

3.1 设计Trigger部分

为了保护RRAM计算系统不被未授权的用户正常访问, 嵌入在RRAM计算系统中的木马默认为允许激活状态, 只有输入了正确的密钥之后, 才能禁止该木马激活.因此, 该木马的Trigger部分必须保证木马能够很容易被激活.如图 4(a)所示, 假设神经网络的第n层和第n+1层均为FC层, 第n-1层、第n层和第n+1层的神经元数量分别为p, qr, 则第n-1层和第n层之间的参数矩阵以及第n层和第n+1层之间的参数矩阵尺寸分别为p×qq×r.$a_v^u$表示第u层第v个神经元的激活值.为了方便讨论, 我们假设所有神经元的bias均为0, 并且所有的激活函数均为Sigmoid函数.如图 4(a)所示, 我们在神经网络模型的第n层插入木马神经元T, 该神经元的激活值用aT表示, 该神经元与第n+1层神经元的突触参数用w1, w2, …, wr表示.

Fig. 4 Embedding neuron-level Trojans in RRAM computing system 图 4 在RRAM计算系统中嵌入神经元级别木马

图 4(b)展示了将图 4(a)的部分神经网络映射到RRAM交叉开关阵列中的方式.图 4(b)中, 虚线框内的RRAM单元是被使用的, 虚线框之外的RRAM单元是空闲的, 空闲的RRAM行的WL输入为0.我们利用图 4(b)中左边RRAM交叉开关阵列中的最后一列中的RRAM单元$g_1^ + , g_1^ - , g_2^ + , g_2^ - , ..., g_p^ + , g_p^ - $作为木马的Trigger, 让我们把这些RRAM单元称为Trigger RRAM单元.Trigger RRAM单元所在列的电流输出用iTri表示, 则有:

${i_{Tri}} = \sum\limits_{i = 1}^p {a_i^{n - 1} \times (g_i^ + - g_i^ - )} $ (4)

为了让该木马神经元极容易被激活, 我们提出使用感应放大器(SA)来取代Trigger RRAM单元所在列的ADC.与ADC不同的是, SA只输出两种结果, 即1或者0.该SA有两个基准电流iref1iref2, 只有当iref1iTriiref2时, SA才输出0.SA输出0的概率为

${\bar P_T} = P({i_{ref1}} \leqslant {i_{Tri}} \leqslant {i_{ref2}})$ (5)

iTri < iref1或者iTri > iref2时, SA输出1.SA输出1的概率为

${P_T} = 1 - {\bar P_T}$ (6)

神经元T的激活值aT可以表示为

$ {a_T} = \sigma ({P_T} \times 1) $ (7)

其中, 激活函数σ

$\sigma (x) = \frac{1}{{1 + {\text{e}^{ - x}}}}$ (8)

请注意, 在本文中, 由式(4)~式(7)可知, 木马神经元T的激活函数的输入只能为1或者0.因此, 本文提出的方法不仅适用于Sigmoid函数, 也适用于其他激活函数, 例如Relu等.由式(4)~式(8)可知, 神经元的激活值aT只能为0或者1:aT为0表示木马神经元未激活; aT为1表示木马神经元激活.当aT为0时, 神经元T通过突触w1, w2, …, wr对第n+1层的神经元没有影响; 当aT不为0时, 神经元T通过突触w1, w2, …, wr对第n+1层的神经元才有影响.然而, 由于RRAM硬件的限制, 神经元T的突触w1, w2, …, wr必须满足:

$ {G_{{\rm{Off}}}} - {G_{{\rm{on}}}} \le {w_i} \le {G_{{\rm{on}}}} - {G_{{\rm{Off}}}}, i \in [1, r] $ (9)

因此, 为了放大神经元T通过突触w1, w2, …, wr对第n+1层的神经元的影响, 我们在系统中嵌入移位寄存器(SR), 如图 4(b)所示.

为了保证木马极容易激活, 由式(5)、式(6)可知, iref1iref2的间距应该足够小.在本文中, iref1iref2均设置为0, 因此, 只有当iTri为0时, T的激活函数输出为0, 木马不激活; 否则, 木马激活.Trigger RRAM单元的状态值可以通过读写电路, 我们可以通过调整RRAM单元的状态来决定木马是否能够被激活.

Trigger RRAM单元处于禁止激活状态: 当iTri$a_i^{n - 1}$为任意值时都为0, 木马不能被激活.由式(4)~式(8)可知, Trigger不能够激活木马神经元T时, Trigger RRAM单元所处的状态为

$\forall i \in [1, p], g_i^ + = g_i^ - $ (10)

Trigger RRAM单元处于允许激活状态: 当iTri$a_i^{n - 1}$为任意值时($a_1^{n - 1}, a_2^{n - 1}, ..., a_p^{n - 1}$均为0除外)都不为0, 木马被激活.Trigger能够激活木马神经元T时, Trigger RRAM单元所处的状态为

$\forall i \in [1, p], {\rm{ }}g_i^ + \ne g_i^ - $ (11)
3.2 设计Payload部分

一旦木马神经元被激活, 如图 4(a)所示, 木马突触就会将其激活率值传递给它所连接的每个神经元.我们将木马突触w1, w2, …, wr映射到图 4(b)中右边RRAM交叉开关阵列中最下两行中的RRAM单元$\hat g_1^ + , \hat g_1^ - ,\hat g_2^ + , \hat g_2^ - ,…,\hat g_r^ + , \hat g_r^ - $中, 让我们把这些RRAM单元称为Payload RRAM单元.为了使得木马神经元激活时, 整个RRAM计算系统不能正常使用, 我们期望通过设置w1, w2, …, wr的值, 使得网络模型所有的输入指向同一个指定输出标签.将突触参数{w1, w2, …, wr}表示为ξ, 用ξ*表示最优参数.假设目标标签预测输出向量是V*, 我们期望在木马神经元激活时, 网络模型的预测输出向量V总是等于向量V*.设计目标是如下目标函数:

${\xi ^*} = \mathop {\arg \min }\limits_\xi |{V^*} - V|$ (12)

损失函数如下所示:

$L = |{V^*} - V| $ (13)

其中, L表示损失量.我们使用梯度下降法来求解ξ*, 梯度通过以下等式计算:

$\Delta = \frac{{\partial L}}{{\partial \xi }}$ (14)

请注意, 我们的方法只需训练木马神经元T与第n+1层神经元连接的r个突触参数, 不需要重新训练整个神经网络的参数, 因此效率很高.

3.3 木马的硬件开销

由上一节可知, 在RRAM计算系统中实现神经元级别木马需要RRAM单元、SA模块和SR模块.

(1) 假设在RRAM计算系统中, 所有的RRAM交叉开关阵列的尺寸均为H×W, 其中, HW分别为RRAM交叉开关阵列的行数和列数.当参数矩阵的尺寸大于RRAM交叉开关阵列的尺寸时, 需要将参数矩阵映射到多个RRAM交叉开关阵列中.假设神经网络的第n层的参数矩阵需要映射到αn×βn个RRAM交叉开关阵列中.当满足条件(15)时, 表示有足够多的空余列容纳Trigger RRAM单元, 此时, Trigger RRAM单元不增加额外的硬件开销:

$ W \times {\alpha _n} \ge q + 1 $ (15)

当不满足条件(15)时, 系统必须多分配βn个RRAM交叉开关阵列, 此时, Trigger RRAM单元增加额外的硬件开销是βn个RRAM交叉开关阵列.

假设神经网络的第n+1层参数矩阵需要映射到αn+1×βn+1个RRAM交叉开关阵列中.当满足条件(16)时, 表示有足够多的空余行容纳Payload RRAM单元, 此时, Payload RRAM单元不增加额外的硬件开销:

$ H \times {\beta _{n + 1}} \ge 2q + 2 $ (16)

当不满足条件(16)时, 系统必须多分配αn+1个RRAM交叉开关阵列, 此时, Payload RRAM单元增加额外的硬件开销是αn+1个RRAM交叉开关阵列.

(2) SA模块的输入是模拟信号, 输出是数字信号.如图 5(a)所示, SA模块可以由两个运算放大器和一个NAND门组成.为了方便估计SA模块的硬件开销, 我们使用现有的模型分别统计组成运算放大器和NAND门所需要的晶体管等元器件的数量.

Fig. 5 SA module and SR module 图 5 SA模块与SR模块

(3) SR模块的目的是为了放大激活的木马神经元的影响.如图 5(b)所示, SR模块由多个D型触发器组成, 例如一个8比特的SR由8个D型触发器组成.同样地, 我们可以根据每一个D型触发器所需要的晶体管等元器件的数量来估计SR的硬件开销.

3.4 整个系统的框架

图 6所示, 神经网络模型在映射到RRAM计算系统之前, 我们先要选择木马要插入在网络模型的位置, 然后根据木马所插入的位置来训练木马突触参数, 之后再将含有木马的神经网络映射至RRAM计算系统中. RRAM计算系统在芯片设计过程中嵌入SA模块和SR模块.请注意, 以上过程是离线的, 即只需要执行一次.

Fig. 6 Overview of the whole system framework 图 6 整个系统的框架概览

除了木马之外, RRAM计算系统还需要嵌入一个授权模块.Trigger RRAM单元默认处于允许激活状态.用户输入正确密钥时, 授权通过, 系统则发出写RRAM指令, 将Trigger RRAM单元调整为禁止激活状态; 否则, 授权不通过, Trigger RRAM单元的状态不变, 仍处于允许激活状态.这个过程是在线的, 即RRAM计算系统每次被使用时都需要进行授权验证操作.为了更好地管理密钥, 授权模块可使用PUF[20]实现给每一颗芯片分配不同密钥.

4 实验结果与分析

我们在LeNet[21]、AlexNet[22]和VGG16这3个实际的神经网络模型中实验了我们的方法.这些模型经过修改, 在Cifar10数据集上进行训练.这3个网络模型均含有3层FC层, 我们分别在每个网络模型的第1层FC层和第2层FC中插入我们所提出的木马.我们使用的RRAM模型的最大电阻值和最小电阻值分别为200kΩ和500Ω[23], RRAM交叉开关阵列的尺寸为256×256.SA模块和SR模块基于45nm工艺模拟.

4.1 木马的极易激活性和极难误激活性

在该组实验中, 首先, 我们展示了本文所提出的木马在Trigger RRAM单元处于允许激活状态时极容易被激活.我们测试了Cifar10的所有10 000张测试图片, 并统计使得木马神经元T激活的输入的数量n1.木马激活概率为$\left( {\frac{{{n_1}}}{{1000}}} \right) \times 100\% $.结果见表 2中第2列和第3列, 木马在3个网络模型中均100%被激活, 表明木马极其容易被激活, 保证了未授权的RRAM计算系统的功能不能够被正常使用.

Table 2 Triggering probability of Trojan in authorized RRAM computing system and the accidentaltriggering probability of Trojan in non-authorized RRAM computing system (%) 表 2 未授权的RRAM计算系统中木马的激活概率和授权的RRAM计算系统中木马的误激活概率(%)

其次, 要保证在授权使用的RRAM计算系统, 所嵌入的木马在Trigger RRAM单元处于禁止激活状态时被误激活的概率极低.同样地, 我们测试了Cifar10的10 000张测试图片, 并统计使得木马神经元T激活的输入的数量n2.木马误激活概率为$\left( {\frac{{{n_2}}}{{1000}}} \right) \times 100\% $.结果见表 2中第4列和第5列, 木马的误激活率为0%, 表明木马极难被误激活, 保证了授权的RRAM计算系统的功能能够被正常使用.

4.2 基于木马的保护方法的有效性

在该组实验中, 我们展示了木马分别处于激活和未激活状态时, RRAM计算系统的输出预测准确性.我们选定训练木马突触的的目标向量V*为(1, 0, 0, …, 0), 即目标标签是Cifar10的第1个标签.木马未激活时, 3个网络模型的预测准确率见表 3.

Table 3 Prediction accuracy of models with Trojan not triggered 表 3 木马未激活时模型的预测准确率

图 7展示了当木马处于激活状态时, 网络模型的预测准确率.我们测试了将木马神经元输出激活值向左移位不同比特数时, 各个模型的预测准确率.可以看到:

Fig. 7 Prediction accuracy of models with left shifting different number of bits of the activation of the triggered Trojan neuron 图 7 激活的木马神经元的激活值向左移不同比特数时, 模型的预测准确率

●   当左移2比特时, 所有模型的预测准确率受到的影响较小, 这是因为激活的木马神经元输出较小;

●   当左移10比特时, 无论木马在第1层FC层还是第2层FC层, 所有模型的预测准确率都低于15%, 即未授权的RRAM计算系统不能正常运行.

4.3 所提出方法的硬件开销

根据第3.3节, 我们评估了所提出的在RRAM计算系统中嵌入的木马所需要的硬件资源开销, 结果见表 4.

Table 4 Hardware overhead of the embedded Trojan compared to that ofthe RRAM crossbars of the RRAM computing system 表 4 RRAM计算系统中嵌入的木马的硬件开销相比于系统中的RRAM交叉开关阵列的硬件开销

我们可以看到, 对于AlexNet和VGG16来说, 无论是将木马插入在模型的第1层FC层还是第2层FC层, 木马所需的硬件开销相比于将网络模型映射到RRAM计算系统中所需的RRAM交叉开关阵列的硬件开销均低于4.5%.请注意, RRAM交叉开关阵列的面积以RRAM交叉开关阵列中RRAM设备的数量来估计.对于LeNet来说, 因为其参数矩阵比较小, 因此可以利用空闲的RRAM单元作为Trigger RRAM单元和Payload RRAM单元, 从而无需额外的RRAM交叉开关阵列资源.LeNet中的木马硬件开销主要来自SA模块和RA模块, 但是这两个模块的面积仅占单个RRAM交叉开关阵列的面积的不到1/10000;并且在RRAM计算系统中, 所有RRAM交叉开关阵列的面积仅占整个系统的面积的不到2%[24].综上所述, 木马的硬件开销占RRAM计算系统的面积不到9/10000.因此可以说, 我们所提出的木马, 在RRAM计算系统中的硬件开销非常小.

5 总结

由于芯片产业的设计与制造相分离, RRAM计算系统系统芯片可能会被过度生产.未授权的RRAM计算系统损害了芯片设计者的利益, 并且容易被攻击者通过黑盒攻击的方法提取出存储在其中的神经网络模型, 而神经网络模型的泄漏和滥用可能会造成更严重的危害.针对此种威胁, 本文提出了一种基于神经元级别木马的方法来防止未授权的RRAM计算系统被正常使用.当用户输入正确密钥时, 嵌入在RRAM计算系统中的木马极难被误激活, 从而保证了授权的RRAM计算系统的正常运行; 当用户输入错误的密码时, 嵌入在RRAM计算系统中的密钥极容易被激活, 从而保证了未授权的RRAM计算系统不能够正常运行.在RRAM计算系统中嵌入神经元级别木马不需要重新训练整个神经网络, 而只需要训练极少数的参数, 因此, 我们的方法的效率很高.最后, 我们在实际的深度神经网络模型LeNet、AlexNet和VGG16中进行了实验, 实验结果验证了所提出方法的有效性, 并且显示所提出的方法的硬件开销很低.在未来的工作中, 我们将考虑在神经网络的Conv层插入我们所提出的木马.

参考文献
[1]
Jiang W, Pan X, Jiang K, Wen L, Dong Q. Energy-Aware design of stochastic applications with statistical deadline and reliability guarantees. IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems, 2019, 38(8): 1413-1426. [doi:10.1109/TCAD.2018.2846652]
[2]
Jiang W, Paul P, Jiang K. Design optimization for security- and safety-critical distributed real-time applications. Microprocessors and Microsystems, 2017, 52: 401-415. [doi:10.1016/j.micpro.2016.08.002]
[3]
Guo XJ, Wang SD. Overview of edge intelligent computing-in-memory chips. Micro/nano Electronics and Intelligent Manufacturing, 2019, 1(2): 72-82(in Chinese with English abstract). https://www.cnki.com.cn/Article/CJFDTOTAL-WNDZ201902011.htm
[4]
Cui XT, Zou MH, Wu KJ. Identifying inactive nets in function mode of circuits. Journal of Computer Research and Development, 2017, 54(1): 163-171(in Chinese with English abstract). https://www.cnki.com.cn/Article/CJFDTOTAL-JFYZ201701015.htm
[5]
Papernot N, Patrick M, Ian G, Somesh J, Berkay C, Ananthram S. Practical black-box attacks against machine learning. In: Proc. of the ASIA CCS. 2017. 506-519.
[6]
Luo B, Liu YN, Wei LX, Xu Q. Towards imperceptible and robust adversarial example attacks against neural networks. In: Proc. of the AAAI. 2018.
[7]
Rajendran J, Zhang H, Zhang C, Rose G, Pino Y, Sinanoglu O, Karri R. Fault analysis-based logic encryption. IEEE Trans. on Computers, 2013, 64(2): 410-424. http://ieeexplore.ieee.org/document/6616532
[8]
Rajendran J, Pino Y, Sinanoglu O, Karri R. Security analysis of logic obfuscation. In: Proc. of the DAC. 2012. 83-89.
[9]
Yu CX, Zhang XY, Liu D, Ciesielski M, Holcomb D. Incremental SAT-based reverse engineering of camouflaged logic circuits. IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems, 2017, 36(10): 1647-1659. [doi:10.1109/TCAD.2017.2652220]
[10]
Yasin M, Sinanoglu O, Rajendran J. Testing the trustworthiness of IC testing: An oracle-less attack on IC camouflaging. IEEE Trans. on Information Forensics and Security, 2017, 12(11): 2668-2682. [doi:10.1109/TIFS.2017.2710954]
[11]
Wang YJ, Chen P, Hu J, Li GF, Rajendran J. The cat and mouse in split manufacturing. IEEE Trans. on Very Large-scale Integration (VLSI) Systems, 2018, 26(5): 805-817. [doi:10.1109/TVLSI.2017.2787754]
[12]
Sengupta A, Patnaik S, Knechtel J, Ashraf M, Garg S, Sinanoglu O. Rethinking split manufacturing: An information theoretic approach with secure layout techniques. In: Proc. of the ICCAD. 2017. 329-336.
[13]
Shayan M, Basu K, Karri R. Hardware Trojans inspired hardware IP watermarks. IEEE Design & Test, 2019, 36(6): 72-79. http://ieeexplore.ieee.org/document/8764416
[14]
Liu YT, Xie Y, Srivastava A. Neural Trojans. In Proc. of the ICCD. 2017. 45-48.
[15]
Kevin E, Evtimov I, Fernandes E, Li B, Rahmati A, Xiao CW, Prakash A, Kohno T, Song D. Robust physical-world attacks on deep learning visual classification. In: Proc. of the CVPR. 2018. 1625-1634.
[16]
Li W, Wang Y, Li H, Li X. p3m: A PIM-based neural network model protection scheme for deep learning accelerator. In: Proc. of the ASPDAC. 2019. 633-638.
[17]
Chhabra S, Solihin Y. i-NVMM: A secure non-volatile main memory system with incremental encryption. In: Proc. of the ISCA. 2011. 177-188.
[18]
Zou MH, Zhu ZH, Cai Y, Zhou JL, Wang CL, Wang Y. Security enhancement for RRAM computing system through obfuscating crossbar row connections. In: Proc. of the DATE. 2020. 466-471.
[19]
Yu SM, Gao B, Fang Z, Yu HY, Kang JF, Wong P. A low energy oxide-based electronic synaptic device for neuromorphic visual systems with tolerance to device variation. Advanced Materials, 2013, 25(12): 1774-1779. [doi:10.1002/adma.201203680]
[20]
Zhao XJ, Zhao Q, Liu YP, Zhang F. An ultracompact switching-voltage-based fully reconfigurable RRAM PUF with low native instability. IEEE Trans. on Electron Devices, 2020, 67(7): 3010-3013. [doi:10.1109/TED.2020.2996181]
[21]
LeCun Y, Bottou L, Bengio Y, Haffner P. Gradient-based learning applied to document recognition. Proc. of the IEEE, 1998, 86(11): 2278-2324. [doi:10.1109/5.726791]
[22]
Krizhevsky A, Sutskever I, Hinton G. ImageNet classification with deep convolutional neural networks. In: Proc. of the NIPS. 2012. 1097-1105.
[23]
Jiang ZZ, Wu Y, Yu SM, Yang L, Song K, Karim Z, Wong P. A compact model for metal-oxide resistive random-access memory with experiment verification. IEEE Trans. on Electron Devices, 2016, 63(5): 1884-1892. [doi:10.1109/TED.2016.2545412]
[24]
Xia LX, Tang TQ, Huangfu WQ, Cheng M, Yin XL, Li BX, Wang Y, Yang HZ. Switched by input: Power efficient structure for RRAM-based convolutional neural network. In: Proc. of the DAC. 2016. 1-6.
[3]
郭昕婕, 王绍迪. 端侧智能存算一体芯片概述. 微纳电子与智能制造, 2019, 1(2): 72-82. https://www.cnki.com.cn/Article/CJFDTOTAL-WNDZ201902011.htm
[4]
崔晓通, 邹敏辉, 吴剀劼. 电路工作模式下惰性节点的确定. 计算机研究与发展, 2017, 54(1): 163-171. https://www.cnki.com.cn/Article/CJFDTOTAL-JFYZ201701015.htm