Page 1 of 1

【技術專欄】M2354錯誤注入攻擊(Fault Injection Attack)防護

Posted: 27 Jul 2021, 17:32
by NuvotonMarcom
摘要
就在全球行動運算IP大廠Arm推出它的新隔離技術TrsutZone™不久,駭客界就順勢推出其針對該架構所發表的攻擊,並號稱能夠繞過TrustZone™的保護,姑且不論駭客最終是否能夠靠該破解取得任何實質的資訊或利益,我們所能夠知道的是,駭客所使用的方法,就是一般廣為資訊安全所知的故障注入攻擊方式,由於這種攻擊方式具有簡單、低成本、設備取得容易等優點,所以廣為駭客們所使用,甚至市面上也有專門的套件販售。
既然有攻擊就會有對應的防護,而防護的方法簡單可分為軟體防護與硬體防護。針對故障注入的軟體防護,需要先分析出可能的弱點,並針對這些弱點,進行對應的軟體開發與防護,這對軟體工程人員來說,需要相當專業的資訊安全知識與技能才能夠做到。
而使用具有硬體防護的設備,對錯誤注入攻擊的防護,在軟體開發上則相對簡單很多,由於MCU在設計時,就已經將錯誤攻擊的防護考慮進硬體的設計當中,相當於產品應用中所需的資訊安全專業技術,已經內嵌到硬件裡面了,接下來軟體工程師所需要的就只是打開它們,就能夠很好的防護故障注入攻擊,相對而言輕鬆許多,且最大程度的避免軟體疏失而造成安全漏洞。


錯誤注入攻擊的硬體防護
當產品的執行條件,超出了原本預設的規範,將使產品的運行出錯,如果能夠限縮這樣的執行條件出現在特定的時間,且只持續一段極短的時間,便足以能夠讓產品在執行特定指令的時候出錯,而其它指令又能夠正常的執行,這便是所謂的錯誤注入攻擊,常見的方式,是通過短暫地超出半導體元件運行規範的電壓、頻率來進行攻擊, 因此就防護而言,只要能夠有效地偵測到不正常的電壓與頻率,就可以即時的進行應對,即時阻斷攻擊。
為了保證硬體能夠隨時有效的應對攻擊,偵測硬體必須被獨立於平常工作的電路之外,擁有自己的供電、頻率系統,以避免外來的攻擊同時癱瘓掉偵測電路,除此之外,偵測電路也要能夠直接控制關鍵硬體,使其自動進行必要的保護動作,例如清除記憶體內的秘鑰等,以避免因為錯誤注入產生的軟體錯誤,而無法正常進行被攻擊時的關鍵處置。
Tamper controller attack detection.png
Tamper controller attack detection.png (6.18 KiB) Viewed 3232 times
Figure 1: Tamper偵測來自電壓、頻率的攻擊,並通知CPU與直接觸發Key Store保護機制。

電壓與頻率攻擊與處置
M2354在錯誤注入防護硬體上,涵蓋了各種不同的電壓與頻率攻擊方式,並依此設計了應對的方式,列表如下:
table of voltage frequency attack_TC.PNG
table of voltage frequency attack_TC.PNG (52.03 KiB) Viewed 3232 times
上表中的”預設動作”,可以只是軟體介入,也可以是強制的系統重置或是強制的清除所有Key Store所存儲的秘鑰。


總結
對於微控制器產品而言,錯誤注入攻擊確實是一個簡單、有效又低成本的攻擊,這也造成了這種攻擊經常被駭客所利用,為了保護產品內的重要資訊,對於這種攻擊的防護勢在必行。然而純粹以軟體的方式來進行防護,除了需要有資訊安全專業的工程師外,更必須有一套嚴謹的檢查機制來防止人為的疏漏,相對而言,建構在硬體偵測的防護方式,工程師只要打開所有的硬體防護,設定相應的動作,就可以完整的防止來自於電源與時脈的攻擊,硬體防護要顯得容易得多。
因此,利用M2354的錯誤注入攻擊防護設計,可以讓使用者可以更專心的在產品功能的開上,不用為了資訊安全的保護,增加太多額外的工作,減少了開發防護機制額外增加的時間與成本。