[MCU] 新塘M2354错误注入攻击(Fault Injection Attack)防护

火辣西米秀   2022-2-8 08:48 楼主

摘要(Abstract)

就在全球行动运算IP大厂Arm推出它的新隔离技术TrsutZone™不久,黑客界就顺势推出其针对该架构所发表的攻击,并号称能够绕过TrustZone™的保护,姑且不论黑客最终是否能够靠该破解取得任何实质的信息或利益,我们所能够知道的是,黑客所使用的方法,就是一般广为信息安全所知的故障注入攻击方式,由于这种攻击方式具有简单、低成本、设备取得容易等优点,所以广为黑客们所使用,甚至市面上也有专门的套件贩卖。

既然有攻击就会有对应的防护,而防护的方法简单可分为软件防护与硬件防护。针对故障注入的软件防护,需要先分析出可能的弱点,并针对这些弱点,进行对应的软件开发与防护,这对软件工程人员来说,需要相当专业的信息安全知识与技能才能够做到。

而使用具有硬件防护的设备,对错误注入攻击的防护,在软件开发上则相对简单很多,由于MCU在设计时,就已经将错误攻击的防护考虑进硬件的设计当中,相当于产品应用中所需的信息安全专业技术,已经内嵌到硬件里面了,接下来软件工程师所需要的就只是打开它们,就能够很好的防护故障注入攻击,相对而言轻松许多,且最大程度的避免软件疏失而造成安全漏洞。

错误注入攻击的硬件防护

当产品的执行条件,超出了原本预设的规范,将使产品的运行出错,如果能够限缩这样的执行条件出现在特定的时间,且只持续一段极短的时间,便足以能够让产品在执行特定指令的时候出错,而其它指令又能够正常的执行,这便是所谓的错误注入攻击,常见的方式,是通过短暂地超出半导体组件运行规范的电压、频率来进行攻击, 因此就防护而言,只要能够有效地侦测到不正常的电压与频率,就可以实时的进行应对,实时阻断攻击。

为了保证硬件能够随时有效的应对攻击,侦测硬件必须被独立于平常工作的电路之外,拥有自己的供电、频率系统,以避免外来的攻击同时瘫痪掉侦测电路,除此之外,侦测电路也要能够直接控制关键硬件,使其自动进行必要的保护动作,例如清除内存内的秘钥等,以避免因为错误注入产生的软件错误,而无法正常进行被攻击时的关键处置。

  Tamper-controller-attack-detection.png

Figure 1: Tamper侦测来自电压、频率的攻击,并通知CPU与直接触发Key Store保护机制。 

电压与频率攻击与处置

M2354在错误注入防护硬件上,涵盖了各种不同的电压与频率攻击方式,并依此设计了应对的方式,列表如下: 

侦测方式

一般状况

受攻击状态

保护方式

使用EADC侦测VDD

1.62V ~ 3.6V

1.62V ~ 3.6V以外的电压

软件介入

高电压侦测

VDD < 4.0V

VDD >= 4.0V

硬件中断并触发默认动作

低压突破侦测

使用者设定容错范围

超出设定的容错范围

硬件中断并触发默认动作

VBAT电压侦测

RTC正常运作

VBAT低电压

硬件中断并触发默认动作

掉电侦测

LDO_CAP在预设的高低压界线内

LDO_CAP超出预设的高低压界线之外

硬件中断并触发默认动作

高速外部频率失效侦测

频率源稳定并持续

频率源消失

硬件自动切换内部频率源

低速外部频率失效侦测

频率源稳定并持续

频率源消失

硬件自动切换内部频率源

高速外部频率监测

频率落于默认范围内

频率超出默认范围

由中断来通知软件介入

低速外部频率监测

频率落于默认范围内

频率超出默认范围

硬件中断并触发默认动作

上表中的”默认动作”,可以只是软件介入,也可以是强制的系统重置或是强制的清除所有Key Store所存储的秘钥。

总结

对于微控制器产品而言,错误注入攻击确实是一个简单、有效又低成本的攻击,这也造成了这种攻击经常被黑客所利用,为了保护产品内的重要信息,对于这种攻击的防护势在必行。然而纯粹以软件的方式来进行防护,除了需要有信息安全专业的工程师外,更必须有一套严谨的检查机制来防止人为的疏漏,相对而言,建构在硬件侦测的防护方式,工程师只要打开所有的硬件防护,设定相应的动作,就可以完整的防止来自于电源与频率的攻击,硬件防护要显得容易得多。

因此,利用M2354的错误注入攻击防护设计,可以让使用者可以更专心的在产品功能的开上,不用为了信息安全的保护,增加太多额外的工作,减少了开发防护机制额外增加的时间与成本。

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复