0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

針對M2351系列故障注入攻擊的軟件防護措施

jf_pJlTbmA9 ? 來源:jf_pJlTbmA9 ? 作者:jf_pJlTbmA9 ? 2023-08-11 14:57 ? 次閱讀

摘要 (Abstract)

微控制器產(chǎn)品在設(shè)計之初,就會設(shè)定相應(yīng)的產(chǎn)品規(guī)格以規(guī)范產(chǎn)品的執(zhí)行條件,確保產(chǎn)品可以完成默認(rèn)的任務(wù)。然而,若執(zhí)行條件可不完全依照產(chǎn)品規(guī)格的情況下,就有可能會讓系統(tǒng)無法如預(yù)期的方式運作,這樣的特性,經(jīng)常被惡意攻擊者,運用做為尋找系統(tǒng)漏洞的工具,藉此繞過預(yù)設(shè)的安全機制或取得受保護的資料。這方法之所以被攻擊者經(jīng)常使用,其根本原因不外乎相關(guān)攻擊設(shè)備簡單、容易取得且成本低廉,并且其攻擊具有一定的效果。本篇文章將介紹常見的故障注入攻擊方式及其原理,并提出在不增加硬件成本下最有效益的軟件防護方法,來防護這些攻擊。

透過Fault Injection攻擊可以做到什么 — 以硬件加解密引擎運作為例

當(dāng)產(chǎn)品的執(zhí)行條件,超出了原本預(yù)設(shè)的規(guī)范,將使產(chǎn)品的運行出錯,如果能夠限縮這樣的執(zhí)行條件出現(xiàn)在特定的時間,且只持續(xù)一段極短的時間,便足以能夠讓產(chǎn)品在執(zhí)行特定指令的時候出錯,而其它指令又能夠正常的執(zhí)行。也就是說,透過Fault Injection,可以讓特定指令的執(zhí)行失效,例如讓加密硬件系統(tǒng)錯誤的執(zhí)行讀取密鑰的任務(wù),使其加載空白密鑰 (zero key)來加密數(shù)據(jù),如此一來只要再使用空白密鑰,就能將密文還原成明文。

wKgZomTSGfiABRWuAABHCtIbvfw713.png

Skip Instruction Attack

wKgZomTSGfuAP4LNAACRtyNY-5U009.png

Zero Key Attack

常見且低成本的Fault Injection方式

Fault Injection攻擊手段通??蓞^(qū)分為侵入式攻擊和非侵入式攻擊。

侵入式攻擊所影響的是產(chǎn)品功能永久性的故障和異常,這手段通常是透過高精密的儀器對產(chǎn)品內(nèi)部電路或數(shù)據(jù)做修改和破壞,因此所需的硬件成本和技術(shù)門坎都很高。

非侵入式攻擊則是在產(chǎn)品運行中,注入攻擊,使其短暫的影響產(chǎn)品當(dāng)下運作行為,造成異?;蚬δ芄收?,這類攻擊手段常見的方式為攻擊產(chǎn)品輸入電壓和頻率。因為這樣的攻擊是針對電壓及頻率且持續(xù)時間短暫,我們稱之為Voltage Glitch攻擊與Clock Glitch攻擊。這兩種攻擊方式,只需具備可以產(chǎn)生對voltage和clock訊號干擾的硬設(shè)備即可達(dá)成,因此實現(xiàn)所需成本比侵入式攻擊低上許多,也更容易取得和實現(xiàn)。

wKgaomTSGf2AP7b1AADJZ8QqWi0159.png

Voltage Glitch Attack

因為Voltage Glitch和Clock Glitch的攻擊都可以造成產(chǎn)品執(zhí)行時,跳過某些指令或是影響某些操作的輸出結(jié)果, 本章節(jié)接下來將以Voltage Glitch攻擊范例來說明常見的Fault Injection影響。

Voltage Glitch 對TrustZone?配置設(shè)定的攻擊

在具備TrustZone?技術(shù)的微控制器產(chǎn)品中,都會具有Secure Attribution Unit (SAU)控制單元,

用來將微控制器的所有資源,設(shè)置為Secure和Non-secure區(qū)域,目的是為了透過隔離Secure與Non-secure區(qū)域的方式,來保護Secure區(qū)域中的資源。

在針對TrustZone?技術(shù)的攻擊中,攻擊者會企圖透過讓SAU的設(shè)置無效化,來瓦解這樣的隔離保護機制,此攻擊主要是在系統(tǒng)程序配置SAU屬性時進行Voltage Glitch的攻擊, 讓系統(tǒng)執(zhí)行指令出現(xiàn)錯誤,造成SAU配置和系統(tǒng)原先規(guī)劃的不一致,以期在這當(dāng)中尋找到可利用的漏洞。

我們以試圖攻擊M2351微控制器在配置SAU過程中設(shè)定 Non-secure區(qū)域為例,整個M2351的Flash內(nèi)存大小為512KB,如果規(guī)劃其中的Secure 空間大小為256KB,那么剩下的256KB空間,就屬于Non-secure ,其在內(nèi)存空間中的地址如下圖:

wKgZomTSGf6AUw4SAAAbq4cVOIA775.png

TrustZone? Secure, Non-secure Partition。

在這樣的內(nèi)存配置下, Secure代碼與Non-secure代碼被遠(yuǎn)遠(yuǎn)的區(qū)隔開來,實現(xiàn)了TrustZone?的硬件隔離,而想要進行這樣的隔離配置,實際上所需要的設(shè)置有三個部分,一個是SAU的配置設(shè)定,一個是Flash Non-secure Boundary的設(shè)定,最后則是編譯代碼需要的設(shè)置。

SAU的配置,主要在指定Non-secure區(qū)域的起始地址與結(jié)束地址,這里設(shè)定的范圍是由0x10040000到0x1007FFFF,至于其它未定義的區(qū)域,則默認(rèn)為Secure區(qū)域。

Flash Non-secure Boundary的設(shè)定,是指Flash內(nèi)存空間中,由哪里開始要劃分給Non-secure使用,在這里其設(shè)定為0x40000,表示Flash后面的256KB,將劃歸給Non-secure使用,其余則是給Secure使用。Flash Non-secure Boundary的設(shè)定,是一出廠就設(shè)置好的,不會再改動 。

由Figure3可知,Secure區(qū)域跟Non-secure區(qū)域是分開的,因此在編譯時,Secure代碼與Non-secure 代碼的RO Base就必定不同,也就是Secure的RO Base必須落在0x0到0x3FFFF的范圍,而Non-secure的RO Base則是要落在0x10040000到0x1007FFFF的范圍內(nèi),這里我們設(shè)定Secure RO Base為0x0,Non-secure RO base為0x10040000。

上述的三種設(shè)置,其中只有SAU的設(shè)置,會在系統(tǒng)運作中進行,因而有機會被Voltage Glitch攻擊,如果系統(tǒng)在寫入SAU區(qū)域設(shè)置時,遭到攻擊,就有可能造成指令執(zhí)行失敗,因而使得SAU的設(shè)置不正確,也就是設(shè)置 SAU Non-secure Region的起始地址 0x10040000這行指令執(zhí)行失敗,這將造成SAU Non-secure Region的實際設(shè)定為 0x0,則系統(tǒng)的內(nèi)存規(guī)劃將變成如下圖所示:

wKgaomTSGf-ANiVOAAAeHUm1Eik824.png

Secure, Non-secure Partition after Attack SAU Setting.

注意在Non-secure Region起始地址被竄改成0x0的情況下,0x0至0x0003_FFFF內(nèi)存的屬性并不會真的被改成Non-secure,這是因為另一個固定的屬性設(shè)置單元Implementation Defined Attribution Unit (IDAU)所造成的影響,在SAU于0x0到0x0003_FFFF設(shè)置為Non-secure的情況下,最終的0x0到0x0003_FFFF的屬性將依照較嚴(yán)格的IDAU設(shè)置,這表示,即使成功的攻擊SAU,讓Non-secure 起始地址設(shè)定為0x0,仍然無法讓原來的Secure 區(qū)域改變?yōu)镹on-secure區(qū)域,而是變成IDAU設(shè)置的Non-secure callable 區(qū)域,而Non-secure callable區(qū)域,其本質(zhì)上仍是屬于Secure區(qū)域的一部分。

另外,雖然成功的攻擊SAU后,會讓大部分的Secure區(qū)域,轉(zhuǎn)變?yōu)镹on-secure callable區(qū)域,但是因為這些區(qū)域缺乏SG (Secure Gateway)指令的緣故,Non-secure code是無法任意用Non-secure callable方式呼叫這區(qū)域的指令的。

值得注意的是,M2351微控制器SAU最多總共有8個區(qū)域可以設(shè)定, 可是這8個區(qū)域的范圍,是不允許重迭的,重迭區(qū)域的設(shè)定,將導(dǎo)致該重迭區(qū)域強制為Secure屬性,也就是說,若是原來的設(shè)定中,本來就有劃定0x3F000至0x3FFFF為Non-secure callable區(qū)域,而因為此區(qū)域跟被攻擊后的SAU區(qū)域0x0到0x1007FFFF重迭了,將使得0x3F000至0x3FFFF這個區(qū)域的設(shè)定直接成為Secure區(qū)域,這將造成所有的Non-secure callable API無法被Non-secure code呼叫。

因此,單純的攻擊SAU設(shè)置,并無法為Non-secure code取得額外的權(quán)限,甚至?xí)ピ究梢院艚蠳on-secure callable API權(quán)限,所以即使成功的攻擊了SAU的設(shè)置,也并無法形成一個有效的攻擊,不會有任何Secure區(qū)域信息的泄漏或被Non-secure code取得任何的Secure權(quán)限。

Voltage Glitch對AES加密的攻擊

此攻擊方式主要是在代碼執(zhí)行AES加密相關(guān)處理時,使用Voltage Glitch攻擊其運作,使其產(chǎn)生錯誤的密文。執(zhí)行AES加密的基本流程如下圖所示, 最終會產(chǎn)生密文 :

wKgaomTSGgGAG6a_AAAM_jnMftk820.png

AES Encrypt Procedure.

例如在輸入 AES Key操作時被Voltage Glitch攻擊,可能出現(xiàn)輸入密鑰的動作被忽略或是輸入錯誤的密鑰值。如果是輸入密鑰的動作因為攻擊而沒有實際上的密鑰值輸入,那么接下來的加密過程,就會直接使用其緩存器內(nèi)原來的值,通常這會是一組全部為0的密鑰值,所以對于最后加密過后的秘文,只要使用全0的密鑰來解密,就可以還原出正確的原文了。

wKgZomTSGgKAb3zgAAAmzmQKXSw241.png

Zero Key Fault Injection Attack.

另一種狀況是在原文已知道情況下,攻擊者利用Voltage Glitch造成輸入錯誤的密鑰,然后加密過后,得到對應(yīng)的密文,以此重復(fù)多次,攻擊者就可以根據(jù)原文、正確密鑰加密后的密文、各種錯誤密鑰加密后的密文,經(jīng)過Differential Fault Analysis (DFA) 差分故障分析方法,就可以還原出正確的密鑰。

wKgZomTSGgOAIMdgAABH_KTJ7zo294.png

Use Fault Injection to get N Encrypted Text for DFA.

如何透過軟件來防護這些攻擊

由上述幾個采用Voltage Glitch攻擊的例子可以發(fā)現(xiàn),攻擊者需要在正確的時間點,進行Fault Injection攻擊,才有一些機會得到其想要達(dá)成的目的,因此讓攻擊者無法輕易的了解系統(tǒng)內(nèi)部運作的時序,將會是一個有效的防護,最簡單的方法就是建立不可預(yù)測的系統(tǒng)時序和處理流程, 讓攻擊者不容易找到合適的攻擊時間點,也不容易持續(xù)攻擊到同一個關(guān)鍵運行點,而這可以透過隨機延遲和隨機變化處理流程的順序來實現(xiàn)。

wKgaomTSGgWAMPvsAAAyW9_gcRk527.png

Add Random Delay

wKgZomTSGgaAL-MdAABWuWMABv0372.png

Change Execution Procedure Randomly

但是只要無法擋住攻擊的來源,攻擊者總會達(dá)成他們所要的攻擊目的。如果軟件可以偵測到系統(tǒng)可能被攻擊, 則可透過對應(yīng)的處里程序?qū)⒐魮p害程度降到最低。

本章節(jié)將依據(jù)前一章節(jié)提到的故障攻擊范例來說明軟件解決方案, 并實現(xiàn)可偵測出系統(tǒng)是否被攻擊以及對應(yīng)的處理。

關(guān)鍵設(shè)置攻擊防護

在先前所舉TrustZone?設(shè)定攻擊的例子中,我們知道攻擊者企圖利用跳過SAU配置指令來影響Secure與Non-secure區(qū)域范圍的設(shè)置,企圖擴大Non-secure區(qū)域范圍,藉此取得存取Secure資源的機會。雖然在之前的描述中提到,因為Secure與Non-secure范圍設(shè)置,除了SAU,還需要搭配IDAU,所以單純的攻擊SAU,并無法取得有效的權(quán)限,但這里我們?nèi)匀粸檫@樣的攻擊提出對應(yīng)的策略,讓攻擊者連SAU的設(shè)置都無法攻擊成功。

這個防護最主要原理,是偵測異常的SAU配置,并做復(fù)原SAU配置的處理, 讓針對SAU設(shè)置的攻擊無效化。

首先要偵測出異常的SAU設(shè)置,可針對所有的SAU設(shè)置進行冗余檢查。

Step 1. 紀(jì)錄有效的系統(tǒng)SAU設(shè)定值:

系統(tǒng)SAU設(shè)定值已預(yù)先被定義在partition_M2351.h內(nèi),需要將這些設(shè)定值預(yù)先記錄下來, 可供后續(xù)步驟的使用。

Step 2. 計算出有效的系統(tǒng)SAU設(shè)定值總和 :

將有效的SAU相關(guān)設(shè)定例如: RBAR, RLAR和CTRL等設(shè)定值全部加起來做運算, 會得到一個Checksum值。

Step 3. 將有效的SAU設(shè)定值寫入對應(yīng)的SAU region :

將partition_M2351.h內(nèi)定義有效的SAU設(shè)定值和屬性寫入各自的SAU區(qū)域內(nèi)。

Step 4. 讀出全部有被寫入SAU region的設(shè)定值, 并做加總運算

Step 5.判斷寫入SAU是否正確 :

在此比對Step 2和Step4計算出來的總和值是否一致,便可得知在寫SAU設(shè)定值是否因遭到攻擊而產(chǎn)生異常的設(shè)定結(jié)果。

上述步驟Step 1,2,4,5是針對偵測攻擊所加的步驟, 而Step 3則是原來沒有加防護代碼時的SAU設(shè)置。如下圖所示,

wKgaomTSGgiAPy9DAABTzaR7GGU649.png

Fault Injection Countermeasure Flow.

接下來,偵測到錯誤后,必須要讓系統(tǒng)能夠自行回復(fù),所以需要重復(fù)Step3的步驟再次寫入SAU設(shè)定。

防護Zero Key攻擊與AES加密攻擊

Zero Key攻擊與SAU設(shè)置攻擊類似,都是讓軟件寫入動作失效,也就是讓系統(tǒng)無法寫入正確地密鑰到運算單元中,因而使用默認(rèn)的空白數(shù)據(jù),據(jù)此產(chǎn)生使用 空白密鑰的效果。

對AES加密運算的攻擊, 目的是影響密鑰的加載使其加密出錯誤的密文,然后攻擊者透過分析大量不同的錯誤密文和正確密文的關(guān)系, 透過DFA分析方法推導(dǎo)出系統(tǒng)內(nèi)使用的加密密鑰后, 再解密密文, 便可得到明文數(shù)據(jù)。

因此AES加密攻擊的防護重點是讓軟件可以知道AES加密運算過中有受到攻擊,避免使用到空白或錯誤的密鑰,并且不能將被攻擊后產(chǎn)生的密文回報給攻擊者,使其有機會進行DFA分析。

攻擊者再攻擊密鑰的加載前,需要先精確的定位到特定的時間點,因為配置密鑰與輸入明文的程序,是可以互換的,軟件可以在這個部分進行隨機的次序調(diào)換,如此可以增加攻擊者定位密鑰加載時間點的難度。

wKgaomTSGgqANr2aAAAaesniAMI343.png

Random change the plaintext, Key input procedure.

由于對AES運算的攻擊,重點在于使其密鑰的加載出錯,無論是Zero Key或是大量錯誤的Key,所以只要在加載密鑰之后,再針對緩存器中的密鑰做檢查,即可保障密鑰輸入的正確性,而且如果運算中有使用到DMA的話,DMA的Source, Destination與Transfer Count都應(yīng)該也納入檢查。

而加密運算使用密鑰時的攻擊,則可在加密完成后,直接把密文用同一把密鑰解密,并與原來的明文做比對,即可驗證在加密過程中是否有任何出錯。

整個防護對策流程圖如下:

wKgZomTSGguAHF4uAABvJw1OczE568.png

AES Key Fault Injection Countermeasure Flow.

總結(jié)

對于微控制器產(chǎn)品而言,F(xiàn)ault Injection確實是一個簡單、有效又低成本的攻擊, 只是要能夠完整的取得有用的成果,攻擊仍然必須能夠精確的定位安全設(shè)定、密鑰加載、加密運算的關(guān)鍵時序,這對并不熟悉微控制器內(nèi)部運行的程序的惡意攻擊已屬不易,而且軟件也可以利用隨機的延遲與程序交錯等方式,更加深定位的困難度。

即使攻擊者精確找到關(guān)鍵位置,只要軟件多一道自我校驗程序,就可以讓攻擊的難度急遽增加,因此對于系統(tǒng)中的關(guān)鍵設(shè)置、密鑰加載部分,增加相應(yīng)的防護會是一個很值得做的事。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7552

    瀏覽量

    151417
  • 硬件
    +關(guān)注

    關(guān)注

    11

    文章

    3328

    瀏覽量

    66218
  • 新唐
    +關(guān)注

    關(guān)注

    0

    文章

    133

    瀏覽量

    14213
收藏 人收藏

    評論

    相關(guān)推薦

    新唐NuMicro M2351系列是市場上首批以Arm Cortex-M23為內(nèi)核的微控制器

    新唐NuMicro? M2351 系列實現(xiàn)PSA Functional API Certification,并提供兼容于PSA標(biāo)準(zhǔn)的相關(guān)軟件,此軟件具備高度可配置性,特別適合應(yīng)用于硬件
    發(fā)表于 06-10 17:16 ?2023次閱讀

    PXI故障注入開關(guān)模塊應(yīng)用于故障注入測試

    重新創(chuàng)建故障測試的能力,甚至是開發(fā)和采取矯正措施也有很有限制的。在任何的經(jīng)過升級或者校驗過的程序中的一個主要的優(yōu)點是能夠快速地創(chuàng)建測試的能力。 在設(shè)備的工具路徑信號和注入實時電氣故障
    發(fā)表于 03-05 09:39

    Nuvoton M2351的XOM怎么創(chuàng)建Keil Libarary?

    NuMicro? M2351:世界首顆推出符合 Arm? Platform Security Architecture (PSA) Level 1 認(rèn)證以 Arm? Cortex-M23 為內(nèi)核
    發(fā)表于 09-17 09:05

    NuMicro M2351的Thread參考設(shè)計方案

    物聯(lián)網(wǎng)世界的通訊標(biāo)準(zhǔn)介紹NuMicro M2351的 Thread 參考設(shè)計方案
    發(fā)表于 03-03 06:31

    新唐對應(yīng)四大物聯(lián)網(wǎng)安全攻擊的保護措施

    、外圍裝置及功能,搭配微控制器本身提供的安全開機引導(dǎo)程序確認(rèn)運行軟件的完整性及合法性,可以防范軟件攻擊事件。 而防篡改、防故障注入和側(cè)信道攻擊
    發(fā)表于 08-21 08:14

    M2351常見的故障注入攻擊方式及原理

    攻擊具有一定的效果。本篇文章將介紹常見的故障注入攻擊方式及其原理,并提出在不增加硬件成本下最有效益的軟件防護方法,來
    發(fā)表于 08-25 08:23

    NuMicro M2351系列微控制器的安全特色與應(yīng)用

    硬件安全和軟件安全功能。有了這些好處,客戶可以輕松的進行 IoT 節(jié)點設(shè)備的安全設(shè)計。除了 TrustZone 技術(shù)和 Nuvoton 安全微控制器平臺之外,NuMicro M2351 系列還配備了
    發(fā)表于 08-28 06:24

    運行時軟件故障注入器的設(shè)計與實現(xiàn)

    針對實際故障診斷中難以有效獲得故障現(xiàn)場信息的問題,提出通過在軟件運行時注入故障的方式獲取
    發(fā)表于 04-06 08:40 ?19次下載

    分布式星載系統(tǒng)故障注入研究

    基于軟件故障注入是對星載計算機系統(tǒng)可靠性進行的一種評測技術(shù)。本文首先提出了用軟件方法進行的故障注入系統(tǒng),并提出故障注入模型;其次闡述了由本
    發(fā)表于 12-23 12:06 ?17次下載

    新唐科技NuMaker-PFM-M2351主板概述

    NuMaker-PFM-M2351開發(fā)板以NuMicro? M2351微控制器為核心。NuMicro? M2351系列微控制器系列以Arm?
    的頭像 發(fā)表于 11-20 17:37 ?2492次閱讀
    新唐科技NuMaker-PFM-<b class='flag-5'>M2351</b>主板概述

    新唐科技M2351 系列介紹

    NuMicro M2351系列專注于物聯(lián)網(wǎng)安全的TrustZone技術(shù)微控制器系列 物聯(lián)網(wǎng)時代的興起使人們對物理世界與數(shù)字系統(tǒng)整合的認(rèn)知隨之提升,在日常生活的數(shù)字化帶來效率提升和經(jīng)濟效益的同時
    的頭像 發(fā)表于 02-04 15:53 ?1922次閱讀
    新唐科技<b class='flag-5'>M2351</b> <b class='flag-5'>系列</b>介紹

    新唐科技NuMaker-PFM-M2351參數(shù)介紹

    和TrustZone技術(shù),可將傳統(tǒng)的固件安全性提升至更完整的軟件安全防護。 M2351系列微控制器運行頻率可高達(dá)64 MHz,內(nèi)建512KB雙區(qū)塊(Dual Bank)架構(gòu)閃存 (Fl
    的頭像 發(fā)表于 02-07 09:38 ?1283次閱讀
    新唐科技NuMaker-PFM-<b class='flag-5'>M2351</b>參數(shù)介紹

    面向AES算法的電壓故障注入攻擊方法

    密鑰的未知字節(jié)長度。結(jié)合注入故障后輸出的錯誤密文,可通過窮舉猜測的方式恢復(fù)初始密鑰未知字節(jié)。攻擊測試結(jié)果表明,通過該方法執(zhí)行一次有效故障注入攻擊
    發(fā)表于 06-08 14:16 ?6次下載

    利用M2354的錯誤注入攻擊防護設(shè)計防護

    的信息或利益,我們所能夠知道的是,黑客所使用的方法,就是一般廣為信息安全所知的故障注入攻擊方式,由于這種攻擊方式具有簡單、低成本、設(shè)備取得容易等優(yōu)點,所以廣為黑客們所使用,甚至市面上也有專門的套件販賣。 既然有
    的頭像 發(fā)表于 11-02 09:46 ?1520次閱讀
    利用<b class='flag-5'>M</b>2354的錯誤<b class='flag-5'>注入</b><b class='flag-5'>攻擊</b><b class='flag-5'>防護</b>設(shè)計<b class='flag-5'>防護</b>

    【技術(shù)干貨】M2354 錯誤注入攻擊 (Fault Injection Attack) 防護

    攻擊就會有對應(yīng)的防護,而防護的方法簡單可分為軟件防護與硬件防護。
    發(fā)表于 02-08 15:55 ?3次下載
    【技術(shù)干貨】<b class='flag-5'>M</b>2354 錯誤<b class='flag-5'>注入</b><b class='flag-5'>攻擊</b> (Fault Injection Attack) <b class='flag-5'>防護</b>