一种可重构卷积神经网络加速器及硬件木马防护方法

文档序号:37191076发布日期:2024-03-01 13:00阅读:17来源:国知局
一种可重构卷积神经网络加速器及硬件木马防护方法

本发明涉及神经网络加速器安全防护领域,具体涉及一种可重构卷积神经网络加速器及硬件木马防护方法。


背景技术:

1、如今,卷积神经网络已被广泛用于处理一系列任务,如图像分类、人脸识别、医疗诊断等。由于卷积神经网络(cnn)模型通常有数百兆的参数,每次推理都涉及数十亿次的计算。为了加快推理速度,降低推理过程中的功耗,学术界和工业界出现了大量的cnn加速器,其中,可重构卷积神经网络加速器(可重构cnn加速器)就是其中很重要的一种cnn加速器。

2、可重构cnn加速器的安全性非常重要,但实际中有时会受到硬件木马的攻击,导致运算结果错误。在集成电路供应链上,硬件木马可以由攻击者在ip供应商、soc集成等环节植入可重构cnn加速器。硬件木马包括触发器和有效载荷,触发器接收信号并根据信号决定是否触发硬件木马,如果被触发,有效载荷被激活后将执行特定的任务,如修改结果或使芯片无法工作。在正常情况下,硬件木马系统与非木马系统一样正常运行,只有在硬件木马被触发时才会出问题,所以木马攻击具有良好的隐蔽性。目前,出现了各种针对cnn加速器的硬件木马攻击,比如通过修剪乘累加器或添加逻辑门修改激活函数来修改运算单元(process element,pe)的计算结果;修改可重构的片上互联结构(ri)的输入选择信号来改变数据通路;通过提供预先存储的非法输入数据来修改分类结果等。

3、近年来,关于提高cnn加速器的性能和能效的研究很多,但关于cnn加速器的可靠性的研究还比较少。而在硬件安全问题中,硬件木马是最重要的攻击手段之一。事实上在集成电路(ic)供应链中,硬件木马可由ip供应商、soc集成等环节被攻击者植入。因此,针对可重构cnn加速器的硬件安全研究非常重要。

4、现存的应对硬件木马的攻击的技术方案大多存在局限性。有些方案并不专门针对可重构cnn加速器中植入的硬件木马的攻击。有些方案只能检测到木马的存在,但不能消除木马的有害影响。有些方案需要一个被认为是绝对安全模块,这种模块事实上是十分难以获得的。而大多数针对植入cnn加速器的硬件木马提出的方案都无法阻止硬件木马的触发。


技术实现思路

1、为了解决上述现有技术的问题,本发明提供一种可重构卷积神经网络加速器及硬件木马防护方法,不仅能检测植入cnn加速器的硬件木马的存在,还能消除硬件木马的危害,可以防止硬件木马触发,而且不需要一个被认为是绝对安全模块。

2、本发明通过以下技术方案实现:

3、一种面向可重构卷积神经网络加速器的硬件木马防护方法,包括:

4、s1,在可重构卷积神经网络加速器运行过程中,输入数据按照随机的排列进入pe阵列的pe中,使得每个pe的输入是随机的;

5、s2,收集片上互联结构中相对位置相同的互联选择信号数值,选出出现次数最多的互联选择信号数值作为投票表决结果,比较各互联择信号数值与投票表决结果是否一致,若不一致,将不一致的互联择信号数值纠正为投票表决结果;

6、s3,通过比较pe中乘加器的输入输出检测pe是否有硬件木马触发,通过比较pe中relu模块的输入输出检测pe是否有硬件木马触发;当检测结果为pe有硬件木马触发时,记有硬件木马触发的pe为pei,将除pei和与pei同组的pe外的其他pe停止运行一个周期,在停止运行的周期内,除pei外的其它pe保存运算结果并作为下一个周期的输出,pei的运算任务由与pei同组的pe完成并将所得运算结果作为pei下一个周期的输出;其中,预先将pe阵列中执行相同卷积运算的pe进行分组。

7、优选的,s3中,通过比较pe中乘加器的输入输出检测pe是否有硬件木马触发,具体是:如果被检测的乘法器的两个输入都不为o,输出为0,说明pe中乘法器被植入了硬件木马且硬件木马触发。

8、优选的,s3中,通过比较pe中relu模块的输入输出检测pe是否有硬件木马触发,具体为:假设硬件木马对relu模块输入数据的第三位进行攻击,

9、如果relu模块输入数据的最高位inn-1=0,则检测结果由下式决定:

10、

11、如果relu模块输入数据的最高位inn-1=1,则检测结果由下式决定:

12、detect=out2

13、当inn-1=0时,如果in2≠out2,则表示有硬件木马触发;

14、当inn-1=1时,如果out2=1,则表示有硬件木马触发。

15、优选的,所述一组pe中包含4个pe。

16、一种可重构卷积神经网络加速器,包括:一级输入调度模块、pe阵列、片上互联结构、互联检测模块、乘加器检测模块、relu模块检测模块;所述pe阵列包含多个pe和二级输入调度模块,所述pe中包含乘加器和relu模块;

17、所述一级输入调度模块,用于将输入数据按照随机的排列进入pe阵列的pe中,使得每个pe的输入是随机的;

18、所述互联检测模块,用于收集片上互联结构中相对位置相同的互联选择信号数值,选出出现次数最多的互联选择信号数值作为投票表决结果,比较各互联择信号数值与投票表决结果是否一致,若不一致,将不一致的互联择信号数值纠正为投票表决结果;

19、所述乘加器检测模块,用于通过比较乘加器的输入输出检测pe是否有硬件木马触发;

20、所述relu模块检测模块,用于通过比较pe中relu模块的输入输出检测pe是否有硬件木马触发;

21、所述二级输入调度模块,用于将pe阵列中的pe进行分组,当乘加器检测模块和/或relu模块检测模块的检测结果为pe有硬件木马触发时,记有硬件木马触发的pe为pei,将除pei和与pei同组的pe外的其他pe停止运行一个周期,在停止运行的周期内,除pei外的其它pe保存运算结果并作为下一个周期的输出,pei的运算任务由与pei同组的pe完成并将所得运算结果作为pei下一个周期的输出。

22、优选的,所述互联检测模块包括投票表决模块和纠正模块;

23、所述投票表决模块,用于收集片上互联结构中相对位置相同的互联选择信号数值,选出出现次数最多的互联选择信号数值作为投票表决结果;

24、所述纠正模块,用于比较各互联择信号数值与投票表决结果是否一致,若不一致,将不一致的互联择信号数值纠正为投票表决结果。

25、进一步的,所述纠正模块内嵌在片上互联结构中。

26、进一步的,所述纠正模块包括比较器和二选一的多路选择器;

27、所述比较器,用于比较各互联择信号数值与投票表决结果是否一致;

28、所述多路选择器,用于采用投票表决结果替换与投票表决结果不一致的互联择信号数值作为输出。

29、优选的,所述乘加器检测模块设置在乘加器中。

30、优选的,所述relu模块检测模块设置在relu模块中。

31、与现有技术相比,本发明具有如下的有益效果:

32、本发明提出的针对植入动态可重构卷积神经网络加速器的常见硬件木马攻击的防护方法,包括防止触发硬件木马的“pe空间随机化”方案、检测和纠正片上互联内硬件木马的投票表决方案和检测pe内硬件木马的检测方案,对可重构cnn加速器进行了全方面的针对硬件木马攻击的防护,大大增强可重构cnn加速器对抗硬件特洛伊木马的能力,提高了人工智能系统的安全可靠性。实验仿真证明了所提出的硬件木马防护方案的有效性。而且所提保护方案的硬件开销较低,足以接受。

33、本发明可重构卷积神经网络加速器,包含了防止硬件木马触发的一级输入调度模块、检测和纠正片上互联内硬件木马的互联检测模块、检测pe内硬件木马的乘加器检测模块和relu模块检测模块,对可重构cnn加速器进行了全方面的针对硬件木马攻击的防护,大大增强可重构cnn加速器对抗硬件木马的能力,提高了人工智能系统的安全可靠性。实验仿真证明了所提出的硬件木马防护方案的有效性。而且所提保护方案的硬件开销较低,足以接受。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1