M2354错误注入攻击(Fault Injection Attack)防护

电子说

1.3w人已加入

描述

摘要(Abstract)

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

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

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

错误注入攻击的硬件防护

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

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

ARM

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

  审核编辑:汤梓红
 
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分