パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

x86 CPUに新たなサイドチャネル脆弱性「Hertzbleed」が見つかる。リモートでも攻撃可能」記事へのコメント

  • by Anonymous Coward

    > 「計算処理の実行時間が消費電力に依存する」
     
    あたりまえやん。なぜこれで暗号化キーがわかるのか...
    よくこんなこと思いつくなぁ。すごい。

    • by Anonymous Coward on 2022年06月16日 15時25分 (#4270502)

      ものすごく単純なところだと、「入力されたパスワード」と「正しいパスワード」が等しいかどうかを、

      for(int i = 0; i < パスワード長; i ++){
              if(入力されたパスワード[i] != 正しいパスワード[i]){
                      return false;
              }
      }
      return true;

      みたいな処理で判定していると「1文字目からいきなりが外れ」と「1文字目はセーブで2文字目が外れ」だと、
      後者の方が、ちょっとだけ処理に時間が掛かる。CPU時間をより多く消費する。

      通らないのを前提に、1文字目の可能性を全パターン試して、1個だけ結果が帰って来るのが遅かったら、それが1文字目と確定する。
      1文字目を揃えて、同じように2文字目の全パターンを試して、3文字目を試して、とやってくと、最終的にはパスワード全部が分かる。

      というところまでが前回までのあらすじで、今回はリモートでCPUの周波数の変動でその違いを観察できるって話かな。
      攻撃対象のサーバとそこそこ重たい通信をしつつ、それとは別途、パスワードかなにかをクラックするための通信を始める。
      クラック用の方の通信であれこれデータを投げつけると、その処理の仕方によってはCPUの周波数が高まって、
      そこそこ重たい方の通信速度が変動して観察できる、とかそういう。

      親コメント
      • by Anonymous Coward

        パスワード比較でforの中にreturnがあるようなのはそもそも普通に脆弱性ですね。

        消費電力量を測定できるような環境下で、ALUへの入出力に応じて(例えば変化するビットの数に依存して)消費電力が変化することを利用して
        測定結果から内部の情報がばれることがあるのが前回までのあらすじ。

        今回は、消費電力が高くなると発熱が大きくなり、クロックが低下することを利用して消費電力量測定を不要としたのが大きい。

        • by Anonymous Coward

          >今回は、消費電力が高くなると発熱が大きくなり、クロックが低下することを利用して消費電力量測定を不要としたのが大きい。

          惜しい。
          最近の CPU は温度だけでなくて、CPU の消費電力を直接見ていて、消費電力が少ないと、自動的にオーバークロックで動作する。このオーバークロックで速くなった部分を観測している。発熱による温度変化は間接的で緩やかだけど、最近の CPU は消費電力に敏感に反応してクロックを変えるので、観測しやすい。

        • by Anonymous Coward

          基本は効率犠牲に失敗内容別にコストが変動しないように設計すると思うが
          鍵を扱う処理または回路の設計に必要な要件がまた増えちまうなぁ……

UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア

処理中...