深度學習輔助模板攻擊
背景介紹
過去的十年中,基于機器學習的側信道攻擊已經成為研究側信道攻擊的標準選項,與此同時,模板攻擊慢慢地變成了比較的基準,大多數結果都是機器學習(尤其是深度學習)顯著優于模板攻擊,盡管如此,與深度學習相比,模板攻擊仍然具有一定的優勢,模板攻擊只有幾個超參數需要調優,這使得模板攻擊更容易實現,而深度學習方法往往需要花費大量的時間去找到較優的神經網絡結構。在2022年的CHES會議上,代爾夫特大學和拉德堡德大學的Lichao Wu, Guilherme Perin和Stjepan Picek提出了一種新的將神經網絡和模板攻擊相結合的方法:深度學習輔助模板攻擊[1]。作者使用一種稱為相似學習的深度學習方法來找到最好的數據嵌入(特征選擇),然后用這些數據作為模板的輸入。
實驗使用了兩個數據集,分別為ASCAD和AES_HD,ASCAD分為兩個子數據集,分別為ASCAD_F和ASCAD_R,ASCAD_F數據集包含了50000條用來分析的波形和10000條用來攻擊的波形,這些波形具有相同的密鑰,實驗中每條波形選取4000個特征點,包含了兩個share的信噪比峰值,如圖1(a)所示。ASCAD_R數據集包含了200000條用來分析的波形和100000條用來攻擊的波形,這些波形具有不同的密鑰,同理,實驗中每條波形選擇了4000個特征點,如圖1(b)所示。AES_HD包含了45000條用于分析的波形和5000條用于攻擊的波形,每條波形包含1250個特征點,信噪比如圖1(c)所示。

圖1 三個數據集的信噪比
實驗方法
1、相似學習
作者使用了一種被稱為相似學習的深度學習方法,相似學習屬于有監督的機器學習,其目標是學習一個相似函數,用來度量兩個對象的相似或相關程度。這項任務的一個選擇是使用三元網絡模型通過距離比較來學習有用的數據表示形式。三元組輸入包含三個樣本1:正的、錨點和負的。正樣本和錨定樣本有相同的標簽i,負樣本有跟前兩者不同的樣本。通過使用共享權值對深度網絡進行訓練,深度網絡輸出與其輸入相對應的三個嵌入(Embp、Emba和Embn),并用于三元損失計算,如圖2所示。嵌入表示一個(相對)低維空間,高維向量可以被轉換到這個空間中。理想情況下,嵌入將通過在嵌入空間中放置語義相似的輸入來捕獲一些輸入語義。三元模型旨在提取這些特征,同時擴大它們的類間差異。傳統的三元損失函數定義在式(1)中。

圖2 三元網絡的結構
loss=max(d(a,p)-d(a,n)+margin,0)式(1)
式(1)中d表示兩個特征向量之間的歐氏距離,a、p、n分別代表錨點、正樣本(標簽與錨點相同)、負樣本(標簽與錨點不同),margin是正負對之間的邊距。根據損失函數的定義,可以發現三聯分為三種情況:
- Easy triplets(簡單): d(a, p) + margin < d(a, n).
- Hard triplets(困難): d(a, n) < d(a, p).
- Semi-hard triplets(半困難): (a, p) < d(a, n) < d(a, p) + margin.
顯然,margin(邊界)定義了三種三元類型的界限,當margin為0時,只存在簡單和困難三元組,從特征學習的角度來看,簡單三元組訓練由于p和n容易區分,容易達到較低的損失值,但是,這可能導致模型陷入局部最優,難以區分屬于不同聚類但是歐式距離較近的樣本。困難三元組會導致模型停止學習,semi-hard三元組在合理的范圍內增加了學習的難度,使得提取出的嵌入特征更具代表性。在接下來的所有實驗中,作者均將margin設置為0.4,使網絡能夠為每一對錨點和正樣本選擇一個隨機的半困難負樣本(負樣本位于空白內),并對這些三聯進行訓練。
2、混合距離
根據公式(1),一旦錨的標簽設置好,剩下的樣本可以根據其標簽進行二進制分類:正樣本和負樣本。然而,這些基于嵌入的半困難三元組忽略了底片中標簽的多樣性。實際上,對于具有c類的數據集,負樣本包含c?1類。在所有基于嵌入的半困難三元組中,如果可以使用負樣本的標簽信息找到可能比其他負樣本更接近錨點的負樣本,那么新形成的(半困難)三元組可以包含可能更“困難”的負樣本,從而導致更有效的學習。從分類的角度來看,側重于與相鄰聚類的區分有助于提高分類性能。在側信道分析中,標簽距離與嵌入距離的相關性更強,小的標簽距離往往代表著類似的泄露波形(較小的特征距離),因此,作者優化了距離度量,提出了混合距離的概念,計算方法如式(2)所定義。

在式(2)中,d(ala,blb)表示嵌入a和b之間的歐幾里得距離的平方,對應標簽la和lb (由所使用的泄漏模型確定),d'(.)表示標簽之間的歸一化歐氏距離(范圍從0到1),α是一個需要調優的常數。根據標簽距離,混合距離從d(ala,blb)到d(ala,blb)/α,當α=1時,計算歐式距離的平方。
傳統的計算方式和混合距離計算方式如圖3所示,用a、p和n分別表示錨點樣本、正樣本和負樣本;對應的標簽用下標i、i + 1和i + 2表示。邊緣范圍用粉色突出顯示,如式(1)定義,只有在此范圍內的負樣本才能算作半困難三元組。左圖為傳統方法,其中嵌入距離純粹基于提取的特征,右邊的圖考慮了標簽距離,產生了更大的距離值,因此被推出了邊緣范圍。因此,三元組模型將學習ni+1,它在嵌入方面和標簽方面都是半困難的。

圖3 兩種嵌入距離計算方法
經過正確訓練的三元組模型輸出的嵌入簇之間的距離比原始輸入更大。作者提出的攻擊方案可分為兩個步驟:1)訓練三元模型并提取分析和攻擊軌跡的嵌入特征,2)利用這些嵌入特征發起標準的分析攻擊。攻擊方案的演示如圖4所示。

圖4 三元輔助模板攻擊
攻擊與實現
作者從側信道攻擊性能和三元網絡超參數的影響兩個方面對攻擊方案進行評估,本文限于篇幅,僅展示側信道攻擊性能方面,實驗考慮了HW, HD(對于AES_HD)和ID泄漏模型。訓練epoch被設置為1,這需要大約20秒的訓練時間。實驗以GE達到0所需要的的波形數作為評估攻擊性能的標準,表示為TGEO。
實驗使用最先進的MLP[WPP20]和CNN[ZBHV19, RWPP21, PCP20]模型(SOTAs)對三聯體攻擊的攻擊性能進行基準測試。此外,實驗還考慮了各種降維技術,如PCA、LDA、SOST和自動編碼器(AE),特征大小設置為最優,然后將提取的特征用于模板攻擊。使用TGE0度量的所有數據集的基準測試如圖5、6和7所示,實驗為20次獨立訓練和攻擊。這里“–”表示在給定的攻擊軌跡數量下,GE不會達到零,最好的值用粗體表示。

圖5 使用ASCAD_F數據集測試攻擊性能

圖6 使用ASCAD_R數據集測試攻擊性能

圖7 使用AES_HD數據集測試攻擊性能
作者提出的攻擊方案在圖5所示的單一模型的5個場景中,有4個場景的性能最好,證實了三聯體模型和攻擊方法的通用性和可移植性。另一方面,與PCA和AE相比,標簽信息的使用顯著提高了三元網絡提取特征的質量,從而獲得了更好的攻擊性能。作為三元組攻擊的最后階段的模板攻擊也可以轉換為其他分析攻擊方法。例如,訓練的三元組模型可以用于遷移學習:適應一個或多個隱藏層和一個具有額外訓練周期的預測層也可以打破目標。
此外,實驗測試了去同步數據集上的結果,去同步程度分別為50和100,如圖8、9、10所示,HW和ID泄露模型的攻擊結果用“/”隔開。

圖8 用ASCAD_F數據集的去同步擾動來測試攻擊性能

圖9 用ASCAD_R數據集的去同步擾動來測試攻擊性能

圖10 用AES_HD數據集的去同步擾動來測試攻擊性能
傳統的深度學習方法在時域上的擾動顯著降低了攻擊性能。同時,由于泄漏痕跡不是完全對齊的(在現實環境中很常見),有效的特征變得更難用降維技術提取。另一方面,在只進行一次訓練的情況下,基于三重結構的SOTA方法表現出了攝動彈性:基于三重結構的SOTA攻擊在某些攻擊場景中會破壞目標,而其對應的SOTA攻擊在所有測試用例中都失敗了。
結論
此次介紹的論文研究了如何從側信道泄漏中提取有用的特征,以進行有效的模板攻擊。為了實現這一點,作者使用三元網絡的概念,它的任務是根據輸入軌跡找到一個性能良好的嵌入。作者對三個公開數據集和三個泄漏模型進行了實驗,表明該論文的深度學習輔助模板攻擊可以有效地攻擊目標(即使添加噪聲),顯著減少訓練工作量。三元網絡與其他最新的架構進行對比時,大部分結果都是最優的,并且該網絡可以有效的對抗去同步,此外,作者還探究了多個超參數對該攻擊方案的影響,為今后的研究提供了參考。