Overview
サイドチャネル攻撃(Side-Channel Attack)とは、暗号システムやコンピュータの実装そのものの脆弱性ではなく、動作時に発生する物理的な情報漏洩を利用して秘密情報を窃取する攻撃手法です。処理時間、電力消費、電磁波放射、音響など、システムの「副次的なチャネル」から得られる情報を解析することで、暗号鍵やパスワードなどの機密データを推測します。
この攻撃は暗号アルゴリズム自体の数学的な強度を直接破るのではなく、その実装方法に起因する情報漏洩を悪用する点が特徴です。理論上は完全に安全な暗号方式であっても、実装が不適切であればサイドチャネル攻撃によって秘密鍵が漏洩する可能性があります。
近年ではCPUの投機的実行機能を悪用したSpectreやMeltdownのようなマイクロアーキテクチャレベルのサイドチャネル攻撃が注目を集めており、ハードウェアとソフトウェアの両面からの対策が求められています。IoTデバイスや組み込みシステムの普及により、物理的なサイドチャネル攻撃のリスクも拡大しています。
Details
タイミング攻撃(Timing Attack)
タイミング攻撃は、暗号処理にかかる時間の微小な差異を計測し、秘密鍵の情報を推測する手法です。例えば、RSA暗号の復号処理では、秘密鍵のビット値によって処理時間がわずかに異なる場合があり、大量の計測データを統計的に解析することで鍵を特定できます。ネットワーク越しのリモートタイミング攻撃も可能であり、Webサーバーの応答時間の差異からパスワード比較のロジックを推測する攻撃も報告されています。
電力解析攻撃(Power Analysis)
- SPA(Simple Power Analysis):暗号処理中の電力消費パターンを直接観測し、処理内容を推測する手法。1回の電力トレースから情報を抽出でき、RSAのべき乗剰余演算における乗算とスクワアリングの違いを識別できる
- DPA(Differential Power Analysis):大量の電力トレースを統計的に解析し、ノイズの中から暗号鍵に依存する微弱な信号を抽出する高度な手法。AES、DESなどの共通鍵暗号の鍵回復に有効であり、市販の計測機器で実行可能
電磁波解析攻撃(Electromagnetic Analysis)
コンピュータやICカードが動作する際に放射される電磁波を捕捉・解析する手法です。電力解析と同様の原理ですが、非接触で遠隔から実行できる点が特徴です。特にICカードやスマートカードのようなデバイスでは、数センチメートルの距離から電磁波プローブを使用して暗号鍵を抽出できることが実証されています。
キャッシュサイドチャネル攻撃
CPUキャッシュのアクセスパターンを観測することで、同一プロセッサ上で実行されている他のプロセスの秘密情報を推測する攻撃です。Flush+Reload、Prime+Probe、Evict+Timeなどの手法があり、クラウド環境における仮想マシン間の情報漏洩のリスクとして注目されています。
Spectre / Meltdown
2018年に公開されたSpectreとMeltdownは、現代のCPUの投機的実行(Speculative Execution)機能を悪用するサイドチャネル攻撃です。Spectreはブランチ予測を操作して他プロセスのメモリを読み取り、Meltdownはカーネルメモリの保護を回避してユーザープロセスから特権メモリにアクセスします。Intel、AMD、ARMのほぼすべてのプロセッサが影響を受け、マイクロコードの更新やOSレベルのパッチが必要となりました。
音響解析攻撃(Acoustic Cryptanalysis)
コンピュータのCPU、コンデンサ、ファンなどから発生する音響信号を解析して暗号鍵を推測する手法です。テルアビブ大学の研究チームは、RSA暗号の復号処理中にCPUから発生する超音波帯域の音響を解析し、4096ビットのRSA鍵を抽出することに成功しています。また、キーボードの打鍵音からパスワードを推測する攻撃も研究されています。
Rowhammer攻撃
RowhammerはDRAMの物理的な脆弱性を悪用する攻撃です。メモリの特定の行に繰り返しアクセスすることで隣接する行のビットが反転する現象(ビットフリップ)を利用し、メモリ保護機構を回避して権限昇格やセキュリティバイパスを実現します。Google Project Zeroが2015年に実証し、その後もECCメモリに対する攻撃手法(ECCploit)なども発見されています。
対策技術
- 定時間実装(Constant-Time Implementation):処理内容に関わらず実行時間を一定にし、タイミング攻撃を防止する
- マスキング(Masking):中間値をランダム値でマスクし、電力消費パターンから秘密情報を推測できないようにする
- ノイズ注入:ダミーの演算やランダムな遅延を挿入し、信号対雑音比を低下させて解析を困難にする
- 物理的シールド:電磁波放射を遮蔽するファラデーケージや、タンパー検知機能付きのセキュリティモジュール(HSM)を使用する
Security Measures
- 01定時間アルゴリズムの採用:暗号処理の実装では、秘密データに依存しない定時間(Constant-Time)のアルゴリズムを使用してください。条件分岐やメモリアクセスパターンが秘密鍵の値に依存しないことを検証し、タイミング攻撃のリスクを排除しましょう。
- 02ファームウェア・マイクロコードの最新化:CPU、チップセット、ファームウェアのセキュリティパッチを常に最新の状態に保ってください。Spectre/Meltdown系の脆弱性に対するマイクロコード更新やOS側のカーネルパッチの適用は、マイクロアーキテクチャ攻撃への基本的な防御策です。
- 03ハードウェアセキュリティモジュール(HSM)の利用:暗号鍵の生成・保管・使用をHSMやTPM(Trusted Platform Module)内で行い、物理的なサイドチャネル攻撃から鍵を保護してください。FIPS 140-2/140-3認定のデバイスを選択することが推奨されます。
- 04メモリ分離とプロセス隔離の強化:カーネルアドレス空間配置のランダム化(KASLR)やカーネルページテーブル分離(KPTI)を有効化し、投機的実行攻撃によるカーネルメモリの漏洩を防止してください。仮想化環境ではハイパーバイザーレベルでの分離も重要です。
- 05物理的セキュリティの確保:サーバールームやデータセンターへの物理的なアクセスを厳格に制御してください。電磁波シールドやタンパー検知機構を導入し、電力解析や電磁波解析のための計測機器の接続を防止しましょう。
- 06サイドチャネル耐性の検証テスト:暗号実装のリリース前にTVLA(Test Vector Leakage Assessment)などの統計的検証手法を用いて、サイドチャネル情報の漏洩がないことを確認してください。組み込みデバイスやIoT機器では特に重要な工程です。
Incidents
📋 Spectre / Meltdown 脆弱性の公開(2018年)
2018年1月、Google Project ZeroやGraz工科大学などの研究者らが、現代のCPUに存在するSpectre(CVE-2017-5753、CVE-2017-5715)とMeltdown(CVE-2017-5754)の脆弱性を公開しました。これらはCPUの投機的実行機能を悪用したサイドチャネル攻撃であり、Intel、AMD、ARMの過去20年以上のプロセッサに影響を及ぼしました。
クラウドサービスプロバイダーは緊急のパッチ適用を迫られ、性能低下(最大30%)を伴うカーネルパッチの適用やマイクロコードの更新が世界中で実施されました。この脆弱性はハードウェア設計の根本的な見直しを促し、CPU業界全体のセキュリティ意識を大きく変えるきっかけとなりました。
📋 TEMPEST — NSA の電磁波諜報プログラム
TEMPEST(Telecommunications Electronics Material Protected from Emanating Spurious Transmissions)は、米国国家安全保障局(NSA)が冷戦期から運用してきた電磁波サイドチャネルを利用した諜報プログラムの名称です。コンピュータやディスプレイ、ケーブルなどから放射される電磁波を遠隔から傍受し、処理中のデータを再構成する技術として知られています。
CRTモニターから放射される電磁波を受信して画面表示内容を再現する攻撃(Van Eck phreaking)が1985年にWim van Eckによって公開され、TEMPESTの存在が広く知られるようになりました。現在も政府機関や軍事施設ではTEMPEST対策として電磁波シールドされた施設の使用が義務付けられています。
📋 Hertzbleed — 周波数サイドチャネル攻撃(2022年)
2022年6月、テキサス大学オースティン校とイリノイ大学の研究者らが、IntelおよびAMDのプロセッサに影響するHertzbleed(CVE-2022-24436、CVE-2022-23823)を公開しました。この攻撃は、最新CPUの動的周波数スケーリング(DVFS)機能を悪用し、処理内容に応じたCPU周波数の変動をリモートから観測することで暗号鍵を窃取するものです。
従来の電力解析攻撃は物理的なアクセスが必要でしたが、Hertzbleedは周波数変動が処理時間の差異として現れるため、リモートからタイミング攻撃として実行可能である点が画期的でした。SIKE(Supersingular Isogeny Key Encapsulation)の鍵を完全に抽出できることが実証され、ポスト量子暗号の実装セキュリティに対する警鐘となりました。