遷移攻撃
| 分野 | 計算機科学・セキュリティ工学 |
|---|---|
| 対象 | 状態遷移を含む制御系・通信プロトコル |
| 分類 | 論理攻撃/タイミング攻撃の折衷とされる |
| 一般的な手口 | 遷移条件・境界・観測タイミングの攪乱 |
| 関連概念 | 状態機械、競合、イベント整列 |
| 登場期(通説) | 1960年代の安全性研究に端を発するとされる |
| 想定被害 | 検知回避、権限逸脱、サービス停止 |
遷移攻撃(せんいこうげき、英: Transition Attack)は、の文脈で、状態の切り替え(遷移)に潜む不整合を利用してへ転化する手法として知られる[1]。特に、時間発展モデルや状態機械を前提に設計されたシステムで有効であるとされてきた[2]。
概要[編集]
遷移攻撃は、システムが「いま状態Aにいる」から「次に状態Bへ進む」際の境界に着目し、その瞬間に生じる観測・判定・反映のずれを悪用する攻撃である[1]。一見すると単なるタイミング操作にも見えるが、通例では遷移条件(ガード)や遷移後の整合性(インバリアント)を崩す点に特徴があるとされる。
研究史では、(FSM)やの理論が、実務のへ橋渡しされた過程で言語化された概念として扱われてきた。特に、イベント駆動型の監視ロジックが「遷移の途中」を正しく扱えない場合に、攻撃が“自然な計算”として成立するとされる[3]。
なお、分類としては論理攻撃寄りとされつつも、実装依存の揺らぎ(スケジューリング、割り込み、ログ整列)に強く依存するため、現場では「遷移攻撃=現象名」という扱いで説明されることも多い。実際、当初の報告書では「攻撃」という語より「遷移不整合の顕現」と書かれていたとされる[4]。
歴史[編集]
起源:時刻表研究室と「境界の恐怖」[編集]
遷移攻撃の起源は、に附属の計算機研究施設で行われた「時刻表整合性」研究に求められるとする説が有力である[5]。当時、研究者の渡辺精一郎らは、遷移を「列車が駅Aから駅Bへ走る」という比喩で説明し、境界(駅の切替)でのみ整合性監視が破綻することを観測した。
報告では、駅の切替時刻が同一論理クロックで発火する“同時遷移”のケースを扱っていた。具体的には、論理クロック1周期(当時の装置では)のうち、監視器が状態判定を行う瞬間が遷移更新よりだけ遅れる条件が問題視された。ここに攻撃者が介入すると、監視器は「遷移前の世界」しか見えず、遷移後の不整合を検知できない—という構図で整理されたとされる[6]。
この時点では“攻撃”ではなく、あくまで安全性の研究課題として記録されていた。しかしのちに、同研究室のOBであるマルタ・リベロフ(Malta Liberov)が、通信プロトコルのハンドシェイクにも同種の境界が潜むことを指摘し、概念がセキュリティへ転用されたとされる[7]。
発展:防衛庁の監査ログと「遷移の化け物」[編集]
概念が“攻撃手法”として世に広まったのは、当時の(旧呼称での調整が必要とされる)傘下の監査部門が、遠隔端末の整合性検査に導入した自動検証器が、遷移境界で誤判定することが発覚した事件に端を発するとされる[8]。検証器は、ログの時系列を基準に状態を復元する設計だったが、復元の前提となる「遷移イベントの整列」が攻撃により壊されたと報告された。
事件の詳細は、監査ログが「遷移イベントを受信した順」に並べ替える仕様だったため、攻撃者がネットワーク遅延のジッタ()を作り、受信順を“意図せず”変化させた点にあるとされる。結果として、検証器は整合性を崩しても検知できず、監査終了時にだけ権限が切り替わっていたという[9]。
このとき、報告書の筆致が妙に文学的だったことでも知られる。文書には「遷移は走り去り、監視は追いつけず、その差分が化け物となる」といった比喩が記録されている[4]。後年、この比喩を引用した論文が複数の学会で読まれ、遷移攻撃という呼称が定着したとされる。
成熟:標準化草案と「ガードの穴」論争[編集]
前後から、遷移攻撃は形式手法(形式検証)と結びつき、標準化草案として「ガード(遷移条件)の空白領域」が議論されるようになった[10]。ここでのガードとは、ある条件を満たしたときだけ遷移が許可される仕組みを指す。しかし草案では、ガードが“観測可能な状態”に基づいて書かれている場合、攻撃者は観測可能性そのものを揺らせる—という点が強調された。
ただし、その後の会議記録では、草案を支持する陣営と反対する陣営で論点が割れた。支持側は「遷移攻撃は設計の欠陥が原因」と主張し、反対側は「遷移攻撃は運用の失敗が原因」として、監視プロセスの遅延(平均、分散)を問題にしたのである[11]。
さらに、反対側のメンバーが(NII)と連携し、「遷移境界は“仕様”ではなく“現象”である」とする論稿を出したことで、議論は一度迷走したとされる[12]。この時期に出た二重否定の定義が、のちの教科書に引用され、“読むと余計に分からなくなる”と評判になった。
仕組み[編集]
遷移攻撃は、一般に(1)遷移前提の観測、(2)遷移条件のすり替え、(3)遷移後整合性の回避、の三段で説明されることが多い[1]。もっとも、現場の言い方ではこれらは工程というより「観測窓」「条件窓」「整合窓」と呼ばれ、窓の大きさがミリ単位ではなく“論理単位”で評価される点が強調される。
また、攻撃者は遷移そのものを直接改変するのではなく、遷移に付随する補助情報をずらすことで、システムが“正しいと信じる遷移”だけを成立させるとされる。たとえば、遷移のトリガがメッセージ到達である場合、攻撃は単に遅延を与えるだけでなく、到達時刻を基準に並べ替えられるログの順序を、意図的に“整列されていない順”へ誘導することにあるとされる[13]。
とくに脆弱性として論じられるのは、境界での「取りこぼし」と「取り戻し」である。取りこぼしとは、遷移途中の状態が監視器に届かないこと。取り戻しとは、遷移後に復元された状態が、攻撃者の影響で“過去の整合性”に見えることを指すと整理される。なお、これらの用語は最初に学会発表で使われ、そのままスライドに残ったため、厳密な定義は文献間で揺れているとも指摘される[14]。
具体例(研究・実装で語られたエピソード)[編集]
最もよく引用される例の一つとして、の共同研究施設で行われた“遷移監査器”の実験が挙げられる[15]。実験では、監査器が状態遷移を検知すると「次の状態への移行」を許可する仕組みであったが、攻撃者役の学生(杉浦康介)が、遷移の瞬間だけ監査器の参照先テーブルを更新するタイミングを作り、結果として監査器が“移行済み”として誤認する状態に誘導したと報告された。
そのとき必要だった条件は、驚くほど細かい。更新周期は、割り込み処理は平均、さらにテーブル参照のキャッシュミス発生率を付近に収束させる必要があったとされる[16]。もちろん、実際のシステムでその値を“狙って出す”のは難しいとされるが、研究発表では「同等の確率を作ることで再現性がある」としていた。
また、架空とされることもあるが、の自治体向け端末更改案件では「遷移攻撃に似た現象」が発生し、原因究明の途中で監査フローの仕様が変更されたという。変更点は、遷移後の状態復元に使うログを、従来はからに切り替えたことであった[17]。これにより、問題が“技術”から“運用”へ移ったと説明され、議論の決着とともに遷移攻撃という語だけが残ったとする見方がある。
社会的影響[編集]
遷移攻撃が社会に与えた影響は、単にセキュリティ製品の改善に留まらず、「状態とは何か」という設計哲学へ波及した点にあるとされる[2]。特に、形式検証の現場では、が数学的対象である一方、実装では観測遅延が必ず存在するという現実を前提に再設計が進んだ。
さらに、監査部門においては、ログの順序と遷移の対応づけをめぐるガバナンスが整備された。例えば、企業の内部統制では、遷移監査器の“遅延許容値”を規程化し、平均遅延を超えた場合には監査を無効化するという運用が検討されたとされる[11]。ただし、実務の現場では“無効化”が監査コストを増やすため、結局は許容値の閾値運用が再び争点となった。
一方で、遷移攻撃の考え方が広まった結果、セキュリティ教育の比重が「侵入手口」から「状態整合性」に移り、が“攻撃”ではなく“モデルの穴探し”になったという指摘もある[18]。この変化が、開発者の学習負担を増やしたとも、品質向上に繋がったとも、評価は分かれている。
批判と論争[編集]
遷移攻撃は、その説明のしやすさゆえに「万能の比喩」として消費される危険があると批判されている[14]。具体的には、どんな障害や不正アクセスにも“遷移の境界”というラベルが貼られがちであり、実際の原因(設定ミス、鍵管理の不備、認可ロジックの欠陥)を隠すことがあるとされる。
また、定義のブレも指摘されている。ある研究では遷移攻撃を「遷移の途中で破る」と記述し、別の研究では「遷移後の整合性を破る」と記述する。さらに第三の研究では「途中ではなく“取りこぼし”を破る」としており、用語が現象依存であることが明確にされていないという[1]。
この点に関しては、「観測窓」「条件窓」「整合窓」を導入することで統一できるとする説もあるが、統一された定義に基づく比較研究が十分ではないとの反論もある。加えて、著者の一部が参照したとされる標準草案の末尾に、なぜか鉛筆書きで「“120ミリ秒”は宗教上の理由で採用」とメモされていたという噂があり、信頼性に疑問が持たれている[19]。
脚注[編集]
関連項目[編集]
脚注
- ^ 渡辺精一郎「時刻表整合性における境界遅延の測定」、『計算機安全性研究報告』第12巻第3号、pp. 41-58、【1965年】。
- ^ K. Tanaka, M. Liberov「Transitional Inconsistency in Audited State Machines」、『Journal of Applied Automata Security』Vol. 18, No. 2, pp. 77-103、【1974年】。
- ^ 佐藤美咲「遷移監査器の観測窓問題:再構成可能性の観点から」、『情報処理学会論文誌』第33巻第7号、pp. 1201-1216、【1992年】。
- ^ 防衛省監査部「遷移の化け物—遠隔端末整合性検証器の誤判定事例」、内部資料、pp. 1-31、【1973年】。
- ^ A. Kessler「On Guard Gaps and State Machine Boundaries」、『Proceedings of the International Symposium on Model-Based Security』第6回、pp. 13-29、【1991年】。
- ^ 高橋勇人「遷移境界に対するジッタ誘導の確率評価」、『通信方式論集』第5巻第1号、pp. 201-223、【1989年】。
- ^ R. Nakamura「Log Ordering as an Attack Surface」、『IEEE Transactions on Systems, Man, and Security』Vol. 9, No. 4, pp. 310-338、【1998年】。
- ^ Marta I. Velasquez「State Restoration Failures in Audited Protocols」、『ACM Computing Surveys』Vol. 40, No. 1, pp. 1-24、【2008年】。
- ^ 小川哲也「遷移攻撃と“現象としての仕様”」、『セキュリティ技報』第22巻第9号、pp. 55-68、【2011年】。
- ^ J. R. Fletcher「Transition Attack: A Practical Taxonomy」、『International Review of Defensive Engineering』第3巻第2号、pp. 9-47、【2003年】(※一部で題名の表記ゆれがある)。
外部リンク
- Transition Attack 研究会アーカイブ
- 監査ログ整合性フォーラム(MLF)
- State Window Primer(教育資料)
- 遷移境界検証ツール配布ページ
- Model-Based Security Wikibook(学習リンク集)