# サイドチャネル攻撃 ## 定義 サイドチャネル(side channel)とは、通信のために設計・意図されていない媒体を通じて情報が偶発的に漏れる経路であり、意図的な漏洩経路である隠れチャネル(covert channel)と対をなす概念である。*Security Engineering* 第3版第19章は、サイドチャネルを(1) 伝導・放射される電磁信号(Emsec/Tempest)、(2) 単一デバイス内・デバイス間の電力・タイミング・共有資源を介した漏洩、(3) 投機的実行やキャッシュを悪用するマイクロアーキテクチャ的サイドチャネル(Meltdown/Spectre、→ [[投機的実行とマイクロアーキテクチャサイドチャネル(Meltdown・Spectre)]])、(4) 音響・光学・熱・加速度センサなど環境を介した漏洩、(5) ピザ配達数の変化のような社会的文脈を介した漏洩、という5分類で整理する。冷戦期のTempest対策への過剰投資、1996〜98年のPaul Kocherによるタイミング解析・差分電力解析(DPA)の発見がスマートカード業界に強いた数年の遅延、そして2018年以降のMeltdown/Spectreという3つの実害を伴う事件を軸に、非侵襲(non-invasive、デバイスに触れない)攻撃としての性格を持つことが強調される。攻撃者がデバイスを物理的に破壊・改造する必要がないため、DPAのように改造端末を通じて無警戒な利用者のカードを大量に侵害するといった、経済的にスケールする脅威になりうる。(Source: [[@2020__Wiley__Security Engineering 3e - Chapter 19 Side Channels]] ch.19 §19.1, §19.4.2) ## 横断的知見 - **耐タンパ性の議論(第18章)が「侵襲的・半侵襲的攻撃への防御」に閉じていたのに対し、本概念が扱う非侵襲的サイドチャネルは、封止やパッケージそのものに触れずにデータを引き出せる点で根本的に異なる脅威モデルを要求する**: [[耐タンパ性]] は第18章のHSM・セキュアチップの防御(spring-loaded switch、potting、tamper-sensing membrane)を、侵襲的・半侵襲的攻撃者を想定して構築すると説明し、DPA・タイミング解析・光学的解析などの非侵襲的攻撃は「次章に譲る」と明言していた。本章(第19章)が実際に示す差分電力解析・タイミング解析・電磁解析は、封止を一切破壊せずデバイスの外側から観測するだけで鍵を抽出できるため、耐タンパ性が前提とする「攻撃者はパッケージに物理的にアクセスし破壊する」という脅威モデルの外側にある攻撃面を構成する。両章を合わせると、ハードウェアセキュリティは侵襲的攻撃への物理的対抗策(第18章)と、非侵襲的攻撃へのアルゴリズム的・回路的対抗策(マスキング、ブラインディング、ランダム化クロッキング。本章)という、互いに独立した2つの防御層を必要とすることが分かる。(Source: [[@2020__Wiley__Security Engineering 3e - Chapter 18 Tamper Resistance]] ch.18 §18.5.3, [[@2020__Wiley__Security Engineering 3e - Chapter 19 Side Channels]] ch.19 §19.4.1, §19.4.2) - **第9章が指摘した「隠れチャネルは根絶不可能」という多層セキュリティ(MLS)の教訓は、本章のマイクロアーキテクチャ的サイドチャネルによって、軍事システムに閉じた問題から民生CPU全体の問題へと拡大したことが具体的に裏づけられる**: [[多層セキュリティ(MLS)]] は、Lampson(1973)が指摘した隠れチャネル(covert channel、highプロセスがlowプロセスへ意図的に信号を送る経路)について、米国防総省の目標ですら帯域を1bps程度に抑えるにとどまり根絶は不可能に近いと述べ、2018年以降のMeltdown・Spectre・Foreshadowを「MLSが前提としてきた分離の保証をハードウェアの層で揺るがす」隠れチャネルの一種として位置づけていた。本章は、これらの攻撃が実際にはキャッシュ状態や投機的実行の痕跡という**意図せず生じるサイドチャネル**(隠れチャネルのように意図的に埋め込まれた経路ではない)を悪用する点で、MLSが想定した「high/lowプロセス間の意図的な信号伝達」より広い脅威であることを明らかにする。すなわち、MLSの想定した隠れチャネルの脅威モデルは、本章のマイクロアーキテクチャ的サイドチャネルによって、意図的な情報伝達の当事者がいなくても分離が破られるという、より悲観的な結論へ更新される。(Source: [[@2020__Wiley__Security Engineering 3e - Chapter 9 Multilevel Security]] ch.9 §9.6.3, [[@2020__Wiley__Security Engineering 3e - Chapter 19 Side Channels]] ch.19 §19.4.5) ## 未解決の問い - Tempest対策(ゾーンシステム、Soft Tempest)は冷戦後に「過剰投資だった」と総括されているが、同じ「予算配分の誤り」という構造が、Meltdown/Spectre以降のマイクロアーキテクチャ的サイドチャネル対策の投資判断にも当てはまるのかは、本章単独では判断できない——後者は攻撃コストが年々下がり続けている点でTempestと非対称である可能性がある。 - サイドチャネルの5分類(電磁・デバイス内外・マイクロアーキテクチャ・環境・社会)のうち、社会的サイドチャネル(§19.6)だけは本章内で「詳細は第11章(推論制御)に譲る」とされ、他の4分類ほど掘り下げられていない。推論制御・匿名化の失敗という既存concept群との統合的な整理はまだ行っていない。 - Reardonらの調査(2019年、Google Playアプリの0.07%のみが実際にサイドチャネルを悪用)が示す「理論上の脆弱性と実際の悪用の乖離」は、本章が詳述するタイミング・電力解析(スマートカード業界を実際に2〜3年遅らせた)のような実害あるサイドチャネルとは対照的である。どのような条件がサイドチャネルを「学術的関心にとどまる」ものから「実害を伴う」ものへ転化させるのかは、本章の記述だけでは一般化できない。 ## 関連 - ソース: [[@2020__Wiley__Security Engineering 3e - Chapter 19 Side Channels]](§19.1-§19.7) / [[@2020__Wiley__Security Engineering 3e - Chapter 18 Tamper Resistance]](§18.5.3) / [[@2020__Wiley__Security Engineering 3e - Chapter 9 Multilevel Security]](§9.6.3) - 概念: [[耐タンパ性]](侵襲的攻撃への防御との対比) / [[多層セキュリティ(MLS)]](隠れチャネルとの対比) / [[投機的実行とマイクロアーキテクチャサイドチャネル(Meltdown・Spectre)]](本概念の一系統を詳述) - 実体: [[Paul Kocher]](タイミング解析・DPAの発見者) / [[Markus Kuhn]](Soft Tempest・光学サイドチャネルの研究者) ## 出典 - Ross Anderson, *Security Engineering: A Guide to Building Dependable Distributed Systems*, 3rd Edition, John Wiley & Sons, 2020, Chapter 19. - Ross Anderson, *Security Engineering: A Guide to Building Dependable Distributed Systems*, 3rd Edition, John Wiley & Sons, 2020, Chapter 18, §18.5.3. - Ross Anderson, *Security Engineering: A Guide to Building Dependable Distributed Systems*, 3rd Edition, John Wiley & Sons, 2020, Chapter 9, §9.6.3.