?

電磁故障注入攻擊綜述*

2022-01-25 14:11褚濰禹歐慶于
通信技術 2021年12期
關鍵詞:故障注入電磁脈沖瞬態

褚濰禹,歐慶于,付 偉,吳 童

(海軍工程大學,湖北 武漢 430033)

0 引言

故障注入攻擊[1]作為旁路攻擊的一個重要分支,它通過在執行加密算法期間引入故障擾動,來獲得故障密文輸出,進而通過分析獲取密鑰等相關敏感信息。故障注入攻擊的核心目標之一,是在不破壞集成電路功能的情況下實現對其內部重要電路及其數據的翻轉、篡改,所采用的手段主要包括光故障注入[2]、電磁攻擊[3]、溫度變化[4]以及電壓和時鐘毛刺[5]等。

其中,電磁故障注入通過電磁注入探頭上產生的高壓瞬態電磁場,在目標芯片中產生瞬態感應電壓和電流,從而達到引入干擾信號,改變芯片內部邏輯門電壓,并引發數據翻轉等軟故障的目的。與其他故障注入方法相比,電磁故障注入無需去除芯片封裝就能對芯片的局部區域進行攻擊,且當前缺乏有效的防護措施。因此,電磁故障注入近年來被攻擊者廣泛應用[6]。

本文主要從電磁故障原理、攻擊方法、故障模型和防護手段幾個方面進行綜述。研究結果對理解電磁故障注入機理以及后面繼續深入研究電磁故障模型以及防護具有重要意義。

1 電磁故障注入原理

電磁故障注入的基本原理是電磁感應現象。根據法拉利電磁感應閉合電路回路中磁通量的變化產生感應電動勢和電流的現象,可以利用線圈產生變化的電磁場,并通過近場耦合方式在目標芯片中產生感應電動勢和電流,最終達到注入故障的目的。設線圈為線圈匝數為N,其表面積為S,流經線圈的電流為I,通過線圈產生的磁場感應強度為B,線圈表面與磁場線之間的夾角為θ。則該線圈的磁通量φB表示為:

又設線圈中介質的磁導率為μr,線圈的半徑為r,線圈圓心到軸線上點的距離為z,則線圈軸心上一點的磁感應強度可表示為:

當線圈靠近目標芯片時,根據電磁感應定律,目標芯片中產生的感應電動勢可表示為:

將式(2)代入式(3)可得:

由式(4)可知,在線圈匝數N一定的情況下,被攻擊目標上感應電動勢的大小受以下幾個方面的影響:線圈與目標之間的角度θ和距離z;通過線圈的電流變化率dI/dt;線圈的表面積S;線圈中介質的磁導率μr。

此外,為提高注入的精確度,往往需要將電磁探頭放置于目標芯片特定區域上方。電磁探頭產生變化較快的磁場,變化的磁場通過目標內部易受磁場影響的器件而產生感應電動勢和感應電流,進而影響目標的正常工作。

2 電磁故障注入攻擊實施

目前,主要有兩類電磁故障注入方法。第一類是基于瞬態電磁脈沖的故障注入,其通過為線圈兩端施加瞬態的電壓脈沖信號,產生瞬態的電磁場,從而在目標芯片中引入瞬態感應電壓和電流;第二類是利用諧波輻射方式,對目標芯片中關鍵信號線耦合正弦干擾信號,并通過調整耦合信號的頻率達到數據翻轉和篡改目的。

2.1 基于瞬態電磁脈沖的故障注入

電磁脈沖故障注入產生的瞬態電磁場會對待攻擊芯片的內部引入瞬態毛刺信號。典型的電磁脈沖故障注入實驗平臺如圖1 所示,這種類型的電磁故障注入平臺可對執行敏感操作的加密模塊或處理單元注入瞬態故障[7]。該實驗平臺主要組成設備有:一臺個人電腦,一臺高壓脈沖發生器,一個電磁探頭,一個XYZ方向移動平臺,一個待攻擊芯片和一臺示波器。待攻擊芯片放置于XYZ方向移動平臺上,通過個人電腦控制和操作實驗平臺中的各個設備,并使用串口或智能卡讀卡器實現外界與待攻擊芯片之間的通信。

圖1 電磁脈沖注入實驗平臺

Kyechong 等人在文獻[8]中設計并制作了5 種不同尺寸的獨立反相器和一種級聯互補金屬氧化物半導體(Complementary Metal Oxide Semiconductor,CMOS)反相器,研究了來自大功率微波源的電磁干擾對單個和級聯CMOS 反相器靜態特性的影響。他們將功率范圍為0~24 dBm(1.0~251.2 mW),頻率范圍為0.8~3.0 GHz的微波信號直接注入到反相器的輸入端,并分別觀察他們在有微波干擾和無微波干擾下的工作情況。通過試驗他們發現兩種情況下器件的工作情況產生了顯著變化,這種變化是由于在微波干擾下反相器的N 型金屬-氧化物-半導體(N-Metal-Oxide-Semiconductor,NMOS)和P型金屬-氧化物-半導體(P-MOS)的電流驅動能力的不對稱大幅增加,改變了拐點電壓和輸出電壓。此外,他們還觀察到由于跨導(gm)的顯著降低,增益在1.5 μm 制式器件上減少了6~10 倍;在更小的0.5 μm 制式器件上減少了18~24 倍;在微波干擾下器件的敏感性增強。同時噪聲容限嚴重降低了系統的抗噪性,在級聯反相器運行中產生了錯碼。

Dehbaoui 等人[9]研究了在高級加密標準(Advanced Encryption Standard,AES)算法的微控制器和現場可編程邏輯門陣列(Field Programmable Gate Array,FPGA)上進行電磁脈沖故障注入,他們通過脈沖發生器將具有5 ns 恒定的上升和下降過渡時間的低抖動(小于50 ps)電壓脈沖發送到線圈,進行電磁脈沖故障注入。為了確保每次只干擾到目標的一小部分,他們還使用了直徑為500 μm的磁探針。針對微控制器上的故障注入,由于電磁脈沖發生器能夠以納秒的精度改變脈沖的時間,而通過改變脈沖注入時間可以跳過本應在電磁脈沖期間執行的指令,因此可以使AES的整個字節內部出錯。對于FPGA 上的電磁故障注入,他們實現了單比特和多比特故障注入到AES 計算中。通過實驗他們還發現電磁脈沖故障的局部效應,針對不同位置的電磁脈沖故障注入可能會得到不同的結果。

Ordas 等人[10]在電磁脈沖故障注入實驗中發現,電路中的D 觸發器對電磁故障注入特別敏感。他們將不同的電磁脈沖注入到具有640×8 bit的D 觸發器(640 字節)的大型先進先出(First Input First Output,FIFO)FPGA 上,發現在使用瞬態電磁脈沖來進行電磁故障注入實驗時,當電磁脈沖功率達到一定閾值時,可以影響D 觸發器的采樣過程,且當脈沖功率更高時,可觸發D 觸發器的復位或置位信號,從而引發采樣故障。他們還發現D 觸發器對高電平和低電平的敏感性是不同的。在文獻[11]中,他們通過進一步的對D 觸發器的研究,提出了采樣模型。

Elmohr 等人在實驗中探索了電磁脈沖對嵌入式處理器的影響,并在文獻[12]證明,電磁脈沖注入可以導致320 MHz RISC-V 處理器上多條指令的跳過故障,從而使其容易受到更大范圍的攻擊。此外,他們在ARM Cortex M0 和RISC-V 嵌入式處理器上的實驗結果表明:在較低的電源電壓和較高的時鐘頻率下,電磁脈沖注入更容易產生影響。

2.2 基于電磁諧波的故障注入

電磁諧波故障注入能通過電磁耦合對芯片內部模塊引入寄生信號和諧波電流。在進行電磁諧波故障注入時,電磁探頭不需要與芯片接觸,這種攻擊方法很難被芯片內嵌的電壓、時鐘等防護措施檢測到。圖2 為一個典型的電磁諧波注入平臺。該實驗平臺主要由控制平臺、諧波功率注入和數據采集3部分組成,通過個人電腦可實現對整個實驗平臺的操控。與電磁脈沖故障注入實驗平臺不同,電磁諧波故障注入所采用的信號發生器不要求其能產生瞬態的高壓脈沖信號,而是需要其能產生頻率、幅值可調的高頻正弦信號,且產生的正弦信號需經功率放大器后施加于電磁探頭兩端。

圖2 電磁諧波注入實驗平臺

Poucheret 在該平臺上使用一根30 μm 長,探頭兩端直徑分別為200 μm 和10 μm的細鎢桿用來進行電磁諧波故障注入[13]。由于頂端的直徑較小,可以將探頭發射的90%功率集中在距尖端10 μm的直徑范圍內進行局部和密集的注入攻擊。通過對4 個環形振蕩器注入的實驗,結果表明環形振蕩器的頻率與探頭注入的功率呈現正相關關系,隨著探頭注入功率的增加,環形振蕩器的頻率呈現近似線性地增加,進而產生故障。

更進一步,Bayon 使用同樣的設備在FPGA 上分別對4 個由3 個反相器組成的環形振蕩器和真隨機數生成(True Random Number Generator,TRNG)進行了電磁諧波故障注入攻擊[14]。通過對4 個環形振蕩器進行高頻的正弦波,4 個環形振蕩器呈現出相互鎖定的情況并且相位差呈現正弦的趨勢。他們后續在FPGA 上對50 個環形振蕩器組成的TRNG進行了電磁諧波攻擊,實驗表明通過不同頻率的電磁諧波攻擊,可以動態地控制TRNG的輸出偏置。

2.3 兩種故障注入方法的比較

在進行電磁故障注入實驗時,基于瞬態電磁脈沖的故障注入可以對目標芯片進行較為精確地局部瞬態故障注入,特別是芯片內部的數字模塊一般是由時鐘控制的,基于瞬態電磁脈沖的故障注入可以實現可控的方式對數字模塊特定時鐘周期引入故障。而基于電磁諧波的故障注入可以通過電磁耦合引入寄生信號的諧波電流,進而影響目標芯片上時鐘生成器和隨機數發生器等?;陔姶胖C波的故障注入在故障注入時可以在特定的位置注入較強的電磁功率信號而不會引起芯片內部電壓突變,探頭也不需要與芯片直接接觸。表1 總結和比較了兩類電磁故障注入的不同。

表1 兩類電磁故障注入的比較

3 故障分析模型及防護手段

目前學術界對電磁故障注入攻擊的機理仍無定論?,F有的幾種電磁故障注入機理的模型主要為時序故障模型[15]、采樣故障模型[12]、充放電模型[16]以及電源網絡耦合模型[17]。時序故障模型認為電磁脈沖和電源-地面網絡之間的耦合增加了延遲,并最終導致設置時間約束違反。采樣故障模型認為電磁脈沖在D 觸發器的建立時間期間擾亂了數據,在一段時間內暫時改變電路中幾個節點的電壓,在此時間間隔后,芯片迅速恢復到原來的狀態。充放電模型指出電磁脈沖改變了電容的充放電時間,從而產生了故障。電源網絡耦合模型從底層進行建模并指出在電磁脈沖攻擊下,由于閉合的電源電壓端和接地端回路中產生了感應電動勢,從而對電路產生了影響。以上幾個故障分析模型對理解電磁故障注入進攻有一定的幫助,但對故障對芯片的影響還需要進一步探究。

針對電磁故障攻擊的防護,目前還沒有特別有效的手段。Jean-Jacques 提出了幾種通用防護手段[18]。首先是減小電磁場強度,其旨在利用制造芯片的上層金屬層來較大程度降低電磁場的輻射強度;但由于受限于芯片的最大尺寸,所用金屬層的厚度一般不會過大。其次是法拉第籠,將芯片放置于法拉第籠內是防止芯片遭受電磁輻射的有效方法;但是,通常芯片需通過導線與電子設備的其他部分連接來實現通信,這樣就必須在法拉第籠上留下對應的走線孔,而這些孔將會允許特定波長的電磁波逃離法拉第籠,使得法拉第籠的構建較難實現。最后是雙線邏輯,雙線邏輯是指使得每條傳輸關鍵信號的信號線或總線旁邊總有一條與傳輸方向和傳輸信號電平均相反的信號線。當攻擊者試圖進行電磁故障注入時,雙線邏輯的走線所產生的電磁場會相互抵消,通過這樣的方式可以降低導線的電磁輻射并削弱電磁攻擊的強度。

除了通用的防護手段,研究人員也探索了針對特定模型的防護手段。2014 年Zussa 等[19]針對時序故障模型設計了一個電壓故障檢測器,如圖3 所示。在正常信號中增加一小個保護時延用于檢測因故障注入導致的電路中關鍵路徑的時延變化,如果信號通過保護時延后的總時延大于設計的閾值則會觸發警報。實驗表明電磁故障注入時的故障率最高可達32%,而實際產生故障的檢測可以達到91%。Deshpande 等人則設計了雙互補觸發器[20]用于檢測電磁故障注入,如圖4 所示。當電路正常工作時Main-FF(MFF)部分和Shadow-FF(SFF)部分保持互補值,若電磁故障改變了其中一個觸發器的值,使得兩個觸發器的值相同,就會產生警報信號。通過在FPGA上AES-128 進行注入攻擊,他們發現電路的電磁故障注入時故障檢測為7%,產生故障的故障的檢測率可以達到100%。上述針對特定模型的防護手段目前基本只在FPGA 平臺上進行過測試,而且對電磁故障的檢測也沒有全部達到100%,在其他平臺如專用集成電路(Application SpecificIntegrated Circuit,ASIC)等還需要進行進一步測試。

圖3 時序故障模型的電壓故障檢測器

圖4 雙互補觸發器

除了上述幾種,還有一些其他的特定結構的防護手段,在表2 中進行了比較和總結。

表2 幾種特定防護結構的比較和總結

4 未來的研究方向

電磁故障注入作為故障攻擊的一個分支因成本較低、控制性較好,并且攻擊時可以輕易穿透各種物理封閉而受到廣泛關注。盡管目前對電磁故障注入攻擊的研究已經取得了一定的進展,但總體上看還有許多方面值得進一步研究。

4.1 故障模型的進一步細化

雖然目前研究人員提出了不同的故障模型,但各個故障模型并不能全面解釋電磁故障注入攻擊對目標芯片產生的具體影響,下一步可以對現有的模型進行優化,從而更好地探究故障注入對目標芯片的影響。

4.2 對其他微處理器進行攻擊

隨著ARM 及RISC-V 等微處理器的在日常生活中的廣泛應用,其安全性也越來越受到人們的關注。目前已經有部分研究人員進行了相關的電磁故障注入攻擊實驗,并進行了初步的研究。下一步在進行攻擊實驗的基礎上,進行相應的統計實驗及分析。

4.3 對動態隨機存取存儲器等的攻擊

作為計算機系統的主存儲器,動態隨機存取存儲器(Dynamic Random Access Memory,DRAM)中存儲著許多敏感的信息,如系統運行的指令、安全啟動的引導程序等等。隨著網絡與信息安全問題的日漸突出,對DRAM的在現有故障攻擊技術下的安全性研究對計算機系統的安全性具有重要意義。

5 結語

本文綜述了電磁故障的原理和攻擊方法,介紹了不同平臺的實驗結果,并描述了幾種故障模型以及防護策略。在攻擊方法方面介紹了電磁脈沖和電磁諧波兩種方法以及他們典型的實驗平臺,在防護策略方面介紹了幾種通用的防護手段以及應對特定模型而設計的特定結構。其中,對故障模型的研究可以作為下一步的研究方向進行深入探索。

猜你喜歡
故障注入電磁脈沖瞬態
模擬訓練裝備故障注入系統研究
嵌入式系統故障注入技術研究
未來“大殺手”:電磁脈沖武器
未來“大殺手”: 電磁脈沖武器
強電磁脈沖下柴油發動機系統薄弱環節識別
激發態和瞬態中間體的光譜探測與調控
高壓感應電動機斷電重啟時的瞬態仿真
一種多類型總線故障注入系統設計*
美專家鼓動搞“新曼哈頓計劃”
某型自動裝彈機故障注入系統研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合