🐕

【論文紹介】深層学習サイドチャネル攻撃におけるデータ不均衡問題の分析と解決法

2023/01/12に公開

せっかくなので読んだ論文を紹介(要約?)していこうと思う.自分のメモ書きに毛が生えたものなので内容の正確性や解説までは期待しないように.
著作権のことはよくわからないので,公開されてる論文であっても画像引用などはとりあえずしないようにする.
文献番号は論文のものをそのまま使う.ここでは参考文献は示さない.
自分にわかるようにしか書いてないので,わからない点も多いと思う.質問や指摘はどしどし募集中.学生さんも気軽に聞いてください


今回の論文

  • Title: Imbalanced Data Problems in Deep Learning-Based Side-Channel Attacks: Analysis and Solution
  • Authors: 東北大
  • Where: IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY
  • Year: 2021
  • URL: https://ieeexplore.ieee.org/document/9464254
    オープンアクセス

要約

  • 深層学習を使ったサイドチャネル攻撃が流行っているが,推定する分布のデータが不均衡な問題があり,攻撃性能に悪影響を与えていた.
  • 先行研究でいくつか対策が提案されているが,それがなぜ有効かなどの分析は行われていない.
  • 本研究ではKLダイバージェンス(距離じゃないけどめんどくさいので距離と呼ぶ)を用いて先行研究の手法を定量的に評価し,また先行研究よりも良い攻撃性能となる鍵尤度を使う手法を提案する.

所感

  • 世界的にも最先端をいっているであろう本間研の研究
  • HW/HDのデータが不均衡で,それを2項係数で割るとよくなるというのはなんとなく経験的に知っていた(やったことあった)が,理論的になんでそれが有効かまで解析しているのですごい
  • 内容としてはSCISでの発表の拡張だが,国内学会で発表した内容もちゃんと論文誌にするという強い意志が見えてすごい
  • 以下はSCISの内容を参考にした部分がかなりある.

1. Introduction

  • 学習時の複雑性を減らすため.DNNの出力はHW/HDで与えられることが多い.[12]
    • 中間値を直接求めようとするとモデル出力の次元は中間値のビット長に対して指数的に伸びる.
    • たとえそうだとしても,基本的な8ビットだとあまり問題にならないだろうと思う.
  • データ不均衡問題[12] (TCHES2019)
    • HW/HDの分布の偏りが悪影響を及ぼす
    • さらにaccuracyやprecisionなどのメトリクスを効かなくする
    • SMOTEによって解決できるかも?
    • ただしSMOTEは線形補間で人工データを増やすため,悪化する場合もある.
  • CER (Cross Entropy Ration)がデータ不均衡問題に有効[14] (TCHES2020)
    • CERは正解鍵のCEと不正解鍵のCEの平均の比
    • CERロスが1以下で無限の波形を使うとSRが1に収束?
    • しかしながらCERがなぜデータ不均衡問題に有効かはわかっていない.(中間値と正解鍵/不正解鍵の独立性は一般にはholdしないから?[15])
  • 本論文の貢献
    • 既存のデータ不均衡問題対策の定量的分析
    • 推論フェイズにおけるデータ不均衡問題の解決法

2. Preliminaries

A. DL-Based Profiling Attacks

  • NNはHW/HDを学習することが多いため,学習時に鍵が何であったかは重要でない.
  • NNの学習=波形xと中間値の真の確率分布p(g(k, m)|x)を推定すること.
    • CE 最小化
  • CE計算には真の確率分布が必要
    • 不可能なので,経験誤差の最小化問題で近似する.
    • つまりNLL (Negative Log Likehood)最小化
    • NLLは学習データが真の分布に従うとき無限データでCEに確率収束する.
    • よって十分なデータがあるならCEはNLLで置き換え可能

B. Imbalanced Data Problem

  • HW/HDのような偏りのある分布はDLの推定に悪影響を及ぼす
  • SMOTEのようなデータ補間はデータが真の分布から生成されていない+真の分布を歪めるため悪影響がある可能性がある.

3.Evaluation of the imbalanced data problem

A. Negative effects of imbalanced data

  • DL-SCAにおける訓練データの特徴
    • SNが高いとは限らない
      • 通常のDLは人間がラベル付けを行う.すなわち分類基準がある程度明確に存在する.
      • DL-SCAは波形からラベルが特定できるとは限らない.実際accuracyが低い場合がある.
      • もしも波形と中間値lが独立なら,p(l|x)p(l)になる
    • HW/HDは2項分布
      • p(l)=Bin(l)
      • したがってSNが悪い時NNが学習すべき分布p(l|x)は近似的にBin(l)といえる
      • 二項分布はひずんでいるのでDL-SCAを難しくしている.
      • 例えば正解ラベルがHW=0のときでもその確率は小さくなる.不正解ラベル4とかは確率が基本的に高い.
  • ある波形に対してすべての鍵候補のHWを求めた場合,結果の分布は当然2項分布になる.偶然正解鍵がHW=0/8とかにあたってしまう場合,尤度は不正解鍵より低くなる.
  • 無限の波形が利用できる場合,すべての鍵候補に対して上の状況になる場合が等確率になるので問題ないが,波形数が少ないと偶然そうなる可能性がある.

B. Quantitative evaluation metric

  • データ不均衡問題の定量的評価のためにKLダイバージェンスを使う.
    • 二項分布と(真の)p(l|x)の距離が近いときはDL-SCAが難しいと言える
    • 真の確率分布ではなくNNによる推定確率q(l|x;\theta)を使う.
    • 波形xの期待値はプロファイリング時の有限の波形で近似
  • 二項分布と(真の)p(l|x)のKL距離が0の時,lxは独立事象であるから原理的にDS-SCAは成功しない.
    • これは本当か?逆に言えば二項分布に近いのが正解鍵では?
  • DL-SCAが成功するときは推定確立分布はone-hot vectorに近くなり,KL距離は大きくなる.

4. Analysis of the CER loss using the KL divergence

  • KLダイバージェンスを用いて,CERがなぜデータ不均衡問題に有効なのか説明する.

  • CERの効率は正解鍵と不正解鍵の中間値が独立であるという過程で評価されている?[14]これは常にはholdしない[15]

    • 言い換えるとほかの影響があるに違いない.
    • CERロスの最小化はKL距離を実質的に増加させることを示す.
  • 提案手法と関係ないの割愛

5. Solving the imbalanced data problem during inference

  • 不均衡データへの対策として,HW/HDの尤度関数ではなく鍵の尤度関数(KNLL)を使う手法を提案.
    • NNの推論は依然としてHW/HDのラベルで行う.NNが直接鍵確率を推論するわけではない.

A. Inference using key-based likelihoods

  • 鍵候補kのときの確率分布pの対数尤度は
KNLL_k(p)=-\frac{1}{N_A}\sum^{N_A}_{j=1}\rm log \it p(k|m_j,x_j)

(攻撃波形数:N_A

  • pm, xの同時確率の下でのkの条件付き確率.本質的なバイアスはない.求めたいものそのものといえる.
  • 次のように式変形する.
\begin{aligned} KNLL_k(p) &= -\frac{1}{N_A}\sum^{N_A}_{j=1}\rm log \it p(k, l_j|m_j,x_j) \\ &=-\frac{1}{N_A}\sum^{N_A}_{j=1} \rm log \it p(k|m_j, l_j, x_j)p(l_j, x_j) \\ &=-\frac{1}{N_A}\sum^{N_A}_{j=1} \rm log \it p(k|m_j, l_j)p(l_j, x_j) \end{aligned}

ここで鍵と波形がラベルと平文の下で条件付き独立と仮定し,p(k|m_j, l_j, x)=p(k|m_j, l_j)
すなわちラベルと平文が分かっていれば波形はあってもなくても鍵確率に影響しない.

  • 上式でp(k|m_j,x_j)=p(k, l_j|m_j,x_j)となっているのは,l_jm_jkから一意に決まるから?
  • \rm log \it p(k, l_j|m_j,x_j)= \rm log \it p(k|m_j,l_j,x_j)p(l_j, x_j)の変形はよくわからないが,A=m_j\cap x_jの同時確率(事象)とし,Aの下でkl_jが条件付き独立とすれば
\rm log \it p(k, l_j|A)= \rm log \it p(k|l_j,A)p(l_j| A)

となり,さらにx_jの下でのl_jm_jの条件付き独立を仮定すればp(l_j| A)=p(l_j| m_j, x_j)=p(l_j|x_j)であるため,一応式変形できる.これらの条件付き独立が妥当かはよくわからない.

  • p(k|m,l)はあるラベルと平文が与えられた時に鍵がkである確率これはつまり2項系数の逆数になるから,HWの尤度関数を2項係数で割るだけでそれは鍵の尤度関数になる.
  • 鍵の尤度はバイアスがないので良い.
  • 図1は鍵推定の様子.
    • (a)がNNの出力であり,HWを推定しているため2項分布に近い形となっている.ここではHW=0が正解ラベルであるにもかかわらず確率が低い.
    • これを2項係数で割ったのが(b)で,正解ラベルであるHW=0の確率が最も高い.この時の和は1にならない.
    • 確率をすべての鍵に分配したものが(c).つまりすべての鍵候補に対して(b)を計算したということ?これが鍵確率であり和は1になる.

B. Relationship to data augumentation

  • SMOTEによりデータ拡張と提案手法の比較
  • SMOTEはminorityラベルのデータからランダムに点を選びその周辺の点との間の点を新たなデータとして追加する.
  • ベイズの定理より
p(l|x)=\frac{p(x|l)}{p(x)}p(l)

である.ここで波形とラベルに関係が薄いとき\frac{p(x|l)}{p(x)}は1に近づき,事後確率として事前確率以上のものが得られなくなる.SMOTEはp(l)の事前確率を強制的に一様分布に歪める手法.

  • 提案手法は上記の両辺をp(l)で除したものになる.

6. Experimental evaluation

A. Experimental setup

  • AES_RDデータセット
    • AES-128
    • 9-bit AVR MCU
    • ランダム遅延対策[22]:ランダムに命令を挿入する.
    • トレーニング25000波形,テスト25000波形
  • ASCADデータセット
    • ATmega8515
    • 1次ブールマスキング
    • 固定鍵セットを使う
    • トレーニング5万波形,テスト1万波形,トレーニング波形の10%はvalidation
  • DLネットワーク
    • [24]のDLモデルを使う.
    • Adam optimizer
    • 学習率0.0001
    • バッチサイズ50
  • 1000回攻撃した際の1次SR,テストデータからランダムに500波形選ぶ
  • Xeon GTX2080

B. Comparison of likelihoods

  • この実験だけASCADの学習率0.005.過学習避けるため
  • 学習時間は5分程度
  • 図2はNLLロスと(2項分布との?)KL距離
    • エポックを重ねるにつれてNLLは下がっているので学習できている.
      • ASCADデータに関しては20エポックでvalidationロスが最小となり,以後徐々に増加しており,過学習を示している.
    • KL距離は増加しているので,学習が進むほど2項分布じゃなくなる.
  • 図3はSR
    • ASCADデータセットでも20エポック以後もSRは伸びているので過学習は悪い影響ばかりではない.
    • 図2(b)は20エポック以後もKL距離が増加しており,データ不均衡問題を解消していると思われる.つまり過学習の影響よりもデータ不均衡問題を解消する影響のほうが強かったといえる.
  • 図3と図3から提案手法は明らかに従来のNLLよりも良い結果

C. Analyzing data augmentation method

  • SMOTEの設定をできるだけ[12]に近づけて行う.
  • 学習は約10分
  • 図5はSMOTEのNLLロスとKL距離
    • 図2と比較するとKL距離はかなり大きくなっており,2項分布から離れていることはわかる.
    • Validationロスも伸びている(若干?).これはvalidation時にSMOTEしていないため?
  • 図6はSMOTEのSR, NLLよりはいいけど提案手法よりは悪い.
    • SMOTEのASCADの結果はエポックが少ないほうがよくなっているように見えるがそれについて言及はない.

D. Comparison of loss functions

  • CERロスとの比較.
  • [14]のCER近似を使う.NLLを100平均?
  • 学習時間は10分~15分
  • 図7はCERロスのKL距離で,かなりきれいにvalidationともに上昇しているように見える
  • 図8はSRで,NLLより明らかに良い.
    • 図7が単調増加しているのに対してSRはそうなっていない.
    • 図9を見ると,AES_RDデータセットの場合100エポック付近ででSRは低下する
    • これはCERの仮定?が間違っているため?[15]
  • 提案手法のほうがSR良い

E. Effect of decreasing the number of trained traces

  • プロファイリング波形を半分,4分の1にしてSRを見る.
  • パラメータ更新回数が一定になるよう,エポック数は2倍,4倍とした
    • 結局エポックがいくつかわからないが,もっともよい結果のエポックを示す?
  • 図10と図11がAES_RDとASCADの結果
    • すべての手法でプロファイル波形数が減るとSRが悪くなっている.
    • 特にSMOTEはかなり悪くなっている.ベースラインより悪いときもある.
    • CERは基本的にベースライン(NLL)よりも良い結果だがAES_RDの6250波形時はベースラインより悪い.
    • 提案手法はASCADの12500波形以外は最高の結果.(それでもかなりいい結果)
    • さらに提案手法は波形数の減少に対してSRの低下がほぼ一定.
    • CERは提案手法とほぼ同等の性能だがAES_RDの6250波形だけ悪すぎる.

Discussion