一種針對物理側信道監視器的對抗性攻擊
背景介紹
嵌入式系統由于計算能力受限、缺乏對安全功能的硬件支持等原因,檢測其中的惡意代碼通常很有挑戰性。物理側信道監視器利用微控制器產生的物理現象(如功耗或電磁輻射)來監控程序執行中的惡意行為,尤其適用于工業控制系統中關注安全的嵌入式系統。
一般認為物理側信道監視器能提供高級別的安全性。物理側信道監測器由物理側信道采集模塊與異常檢測器兩部分組成,信號收集模塊在程序執行期間收集物理側信道信號,異常檢測器基于收集的信號預測程序的狀態(例如,正常或異常、惡意或良性)。
基于以上信息,盡管側信道監控系統會造成許多攻擊障礙,羅格斯大學的Yi Han、Matthew Chan、Zahra Aref等人在USENIX 2022上提出了一種針對側信道監控系統的對抗性攻擊,通過注入特殊設計的匯編級惡意程序,使其產生的側信道信號可以逃避側信道監視器的檢測[1]。
已有工作
學術界和工業界都采用了物理側信道監測器來監測系統的安全性。與傳統的基于軟件的監視器相比,物理側通道監視器的主要優勢在于它們是氣隙式的,這意味著它們是在受監控系統的外部實現的。這提供了隔離和單獨的攻擊面,減少了可用攻擊向量的數量[2]。
物理側信道監測器通常使用數據驅動模型進行訓練,工作流程如下圖所示。

程序開始時注入惡意程序的功率信號
信號收集模塊在程序的正常執行期間采集物理側信道信號,該信號代表程序的可能行為和控制流的廣泛子集。異常檢測器將收集的側信道信號作為模型的訓練集,一旦模型被訓練到足夠高的精度,將進入監測階段。在系統運行期間,監視器會監測系統的控制流,將監測的側信道信號作為異常檢測器的輸入并返回關于系統是執行良性代碼還是惡意代碼的響應。
因此,若攻擊者將惡意程序注入良性程序,當程序運行惡意程序時對應的側信道信號將被側信道監視器識別并警報。最近,羅格斯大學的Yi Han等人提出了一種針對側信道監控系統的對抗性攻擊,通過注入特殊設計的匯編級惡意程序,使其產生的側信道信號可以逃避側信道監視器的檢測[1]。
實驗內容
作者使用帶有ARM Cortex M4微處理器的W308T-STM32F3進行實驗,采樣率40MHz的Chipwhisperer-Lite CW1173 oscilloscope進行信號采集,嵌入式系統運行一個為機器人手臂執行路徑規劃任務的程序。
下面兩張圖顯示了典型循環控制程序和監視器收集的相應功率信號的高度簡化示例。該信號表示路徑規劃程序的執行軌跡:執行哪些指令、執行哪些分支以及遵循哪些控制流程。

典型循環控制程序的簡化示例

典型循環控制程序對應的功率信號
異常檢測器將掃描周期的功率側信道作為輸入并輸出置信度分數。置信度分數指示輸入信號對應于良性程序的執行的可能性。在置信度分數上設置閾值(實驗中為0.9),置信度分數低于該閾值表示對嵌入式系統的攻擊。
檢測器本身使用數據驅動模型,該模型訓練了在正常系統操作期間一段時間內收集的電源側信道信號。對手想要對機器人手臂執行數據注入攻擊,例如,更改路徑規劃算法的輸入。通過這種方式,它們可以改變程序的內部狀態,從而改變輸出驅動,從而導致不希望的手臂行為或損壞。對手還想發動隱蔽攻擊,即攻擊不應造成無意中可觀察到的效果。為了實現這一點,對手可能會選擇將惡意程序注入良性程序。
下圖中的信號在開始時注入了惡意程序。該信號輸入側信道監視器,產生的置信分數0.77低于閾值0.9。因此,異常檢測器返回惡意代碼響應并觸發警報。

程序開始時注入惡意程序的功率信號
作者提出將惡意程序分成獨立的部分,并進行位置優化實現對抗性攻擊。首先,實驗中將訓練一個替代性檢測器,代替被攻擊設備中的異常檢測器被攻擊;然后進行程序分析,對惡意程序進行預處理;最后通過蒙特卡洛樹搜索算法找到最優逃避樣本。通過上述過程,惡意程序被分成若干個塊并插入特定位置,如下圖所示。

程序開始時注入惡意程序的功率信號
在程序特定位置注入惡意程序塊時的功率信號如下圖所示,此時側信道監視器輸出的置信度為0.99,即運行了惡意程序但未被監視器檢測到。

在程序特定位置注入惡意程序塊時的功率信號
實驗結果
作者在五種具有代表性的控制系統軟件中分別進行了虛假數據注入、驅動輸出覆蓋、控制參數攻擊、數據記錄、保密信息披露五種攻擊,并同時考慮時間、頻率特性與三種流行的時間序列模型(BiLSTM、BiRNN、HMM)來構成檢測器。
首先在同一臺設備上進行了攻擊,結果如下圖所示,所有的置信度分數都顯著高于檢測閾值,且對于一些較弱的探測器,置信度分數要高得多。這意味著所提出的攻擊可以找到高可信度的回避樣本。

同一設備攻擊的實驗結果
嘗試進行跨設備攻擊,即在同款設備1上進行攻擊優化,在設備2上進行實際攻擊。結果如下圖所示,分數略低,但仍處于可接受的高水平,也高于檢測閾值,這意味著所提出發攻擊在跨設備下非常有效。

跨設備攻擊的實驗結果
考慮一個更具挑戰性的場景,在這種情況下,對手甚至不知道模型,因此他需要利用不同模型之間的可遷移性。即攻擊者必須優化一個模型,然后攻擊另一個模型,這個表代表了每對模型之間的置信度得分。如下圖所示,所提出的攻擊可以很好地跨同一類型模型的不同架構、同一模型族的不同類型模型進行遷移。

跨模型攻擊的實驗結果
總結
本論文使用對抗性代碼注入和優化技術(如蒙特卡洛樹搜索),成功注入特殊設計的匯編級惡意程序,使其產生的側信道信號可以逃避側信道監視器的檢測。即利用側通道監控中使用的數據驅動模型的漏洞,發現了惡意行為但可逃避檢測的敵對程序。
本文的實驗結果表明了這種攻擊在檢測器模型和硬件實現中是魯棒的。在幾個代表性程序上,本文評估了對流行的ARM微控制器平臺的攻擊,證明了這種攻擊的可行性,并強調對側通道監視器進行進一步研究的必要性。