【技術干貨】M2354 錯誤注入攻擊 (Fault Injection Attack) 防護
摘要
就在全球行動運算IP大廠Arm推出它的新隔離技術TrsutZon不久,黑客界就順勢推出其針對該架構所發(fā)表的攻擊,并號稱能夠繞過TrustZon的保護,姑且不論黑客最終是否能夠靠該破解取得任何實質的信息或利益,我們所能夠知道的是,黑客所使用的方法,就是一般廣為信息安全所知的故障注入攻擊方式,由于這種攻擊方式具有簡單、低成本、設備取得容易等優(yōu)點,所以廣為黑客們所使用,甚至市面上也有專門的套件販賣。
既然有攻擊就會有對應的防護,而防護的方法簡單可分為軟件防護與硬件防護。針對故障注入的軟件防護,需要先分析出可能的弱點,并針對這些弱點,進行對應的軟件開發(fā)與防護,這對軟件工程人員來說,需要相當專業(yè)的信息安全知識與技能才能夠做到。
而使用具有硬件防護的設備,對錯誤注入攻擊的防護,在軟件開發(fā)上則相對簡單很多,由于MCU在設計時,就已經將錯誤攻擊的防護考慮進硬件的設計當中,相當于產品應用中所需的信息安全專業(yè)技術,已經內嵌到硬件里面了,接下來軟件工程師所需要的就只是打開它們,就能夠很好的防護故障注入攻擊,相對而言輕松許多,且最大程度的避免軟件疏失而造成安全漏洞。
錯誤注入攻擊的硬件防護
當產品的執(zhí)行條件,超出了原本預設的規(guī)范,將使產品的運行出錯,如果能夠限縮這樣的執(zhí)行條件出現(xiàn)在特定的時間,且只持續(xù)一段極短的時間,便足以能夠讓產品在執(zhí)行特定指令的時候出錯,而其它指令又能夠正常的執(zhí)行,這便是所謂的錯誤注入攻擊,常見的方式,是通過短暫地超出半導體組件運行規(guī)范的電壓、頻率來進行攻擊, 因此就防護而言,只要能夠有效地偵測到不正常的電壓與頻率,就可以實時的進行應對,實時阻斷攻擊。
為了保證硬件能夠隨時有效的應對攻擊,偵測硬件必須被獨立于平常工作的電路之外,擁有自己的供電、頻率系統(tǒng),以避免外來的攻擊同時癱瘓掉偵測電路,除此之外,偵測電路也要能夠直接控制關鍵硬件,使其自動進行必要的保護動作,例如清除內存內的秘鑰等,以避免因為錯誤注入產生的軟件錯誤,而無法正常進行被攻擊時的關鍵處置。
Figure 1: Tamper偵測來自電壓、頻率的攻擊,并通知CPU與直接觸發(fā)Key Store保護機制。
電壓與頻率攻擊與處置
M2354在錯誤注入防護硬件上,涵蓋了各種不同的電壓與頻率攻擊方式,并依此設計了應對的方式,列表如下:
上表中的”默認動作”,可以只是軟件介入,也可以是強制的系統(tǒng)重置或是強制的清除所有Key Store所存儲的秘鑰。
總結
對于微控制器產品而言,錯誤注入攻擊確實是一個簡單、有效又低成本的攻擊,這也造成了這種攻擊經常被黑客所利用,為了保護產品內的重要信息,對于這種攻擊的防護勢在必行。然而純粹以軟件的方式來進行防護,除了需要有信息安全專業(yè)的工程師外,更必須有一套嚴謹?shù)臋z查機制來防止人為的疏漏,相對而言,建構在硬件偵測的防護方式,工程師只要打開所有的硬件防護,設定相應的動作,就可以完整的防止來自于電源與頻率的攻擊,硬件防護要顯得容易得多。
因此,利用M2354的錯誤注入攻擊防護設計,可以讓使用者可以更專心的在產品功能的開上,不用為了信息安全的保護,增加太多額外的工作,減少了開發(fā)防護機制額外增加的時間與成本。
編輯:zzy 最后修改時間:2021-12-27