中級ではCIAと設計原則を並べました。上級では、なぜ一点の強化では守れず「設計思想」が要るのかを、攻撃者視点の洗い出し(脅威モデリング)・原則の束ね方・リスクの見積もりという順で掘り下げます。
上級の解説は準備中のため、上級の内容を表示しています。
概要 — まず全体をつかむ
詳細 — 1段階ずつ追う
攻撃者の目で洗い出す — 脅威モデリングとSTRIDE
守る側はつい「自分の作ったものは正しく使われる」と考えます。しかし攻撃者は想定外の使い方を探します。この視点の差を埋めるのが脅威モデリング ※1 です。設計の段階で「ここはどう攻められ得るか」を体系的に列挙し、対策を先回りで組み込みます。
代表的な枠組みが STRIDE ※2 で、脅威を6つに分類して漏れを防ぎます。
- Spoofing(なりすまし) — 別人・別システムを装う。守りは認証
- Tampering(改ざん) — データやコードを勝手に書き換える。守りは完全性(ハッシュ・署名)
- Repudiation(否認) — やったことを「やっていない」と言い張る。守りは監査ログ
- Information Disclosure(情報漏えい) — 見えてはいけないものが漏れる。守りは暗号とアクセス制御
- Denial of Service(サービス妨害) — 使えなくする。守りは冗長化・レート制限
- Elevation of Privilege(権限昇格) — 与えた以上の権限を奪う。守りは認可の境界
STRIDEの6分類は、そのままCIAと対応づきます。なりすまし・改ざんは完全性と真正性、情報漏えいは機密性、サービス妨害は可用性、という具合です。
アニメーション『CIA三要素』を開く
登場人物メモ:
- ※1 脅威モデリング — 設計段階で「どんな攻撃があり得るか」を洗い出し、対策を先回りで組み込む作業。作ってから塞ぐより安く確実
- ※2 STRIDE — 脅威を6種類に分けて列挙するための頭字語。分類があることで「考え忘れ」を減らせる
なぜ列挙が要るのか。人は「思いつく脅威」しか守れません。枠組みで機械的に6分類を当てることで、発想に頼らず抜けを潰す——これが脅威モデリングの狙いです。
設計原則を束ねる — 多層防御・最小権限・職務分掌
中級で挙げた原則は、単独ではなく互いを補う一組として働きます。攻撃者の動き(不正アクセス の侵入・昇格・横展開)を、各原則がどこで止めるかで見ると腑に落ちます。
- 多層防御(defense in depth) — 予防・検知・対応を層で重ね、1つ破られても次で止める。1枚の壁ではなく複数の関門
- 最小権限(least privilege) — 各人・各プログラムに仕事に必要な最小限だけ。奪われても被害が権限の範囲に留まり、権限昇格や横展開の燃料を断つ
- 職務分掌(SoD ※1) — 1つの重要業務を単独で完結させない。申請者と承認者を分けるなど、単独犯行と見逃しの両方を抑える
- フェイルセーフ/フェイルセキュア — 壊れたときの倒れ方を設計で決める。安全優先(非常時は開ける)か保全優先(施錠して遮断)かを、守る対象で選ぶ
アニメーション『多層防御(層で守る)』を開く
登場人物メモ:
- ※1 SoD(Separation of Duties/職務分掌) — 権限や作業を複数人に分け、1人だけでは重要操作を完結できないようにする仕組み。不正に「共謀」という高いハードルを課す
一点を最強にしても、そこを避けて別の弱点を突かれれば終わりです。だから「最強の一枚」ではなく、重ねて・分けて・倒れ方まで決める——原則は束ねてこそ効きます。
攻撃面を減らしゼロトラストで固める
守る面が広いほど、守りきるのは難しくなります。ここで効くのがアタックサーフェス(攻撃面)の最小化です。
- 使わない機能・ポート・アカウントを止める — 存在しないものは攻撃されない。既定で無効から始め、必要な分だけ開ける
- 公開範囲を絞る — 外に晒す入口を減らし、内部向けは内部に閉じる
- 依存を減らす — 余計な部品は、その分だけ穴になり得る
そのうえで、境界の内側すら無条件には信じないのがゼロトラストです。従来の「外は危険・中は安全」という境界防御は、一度内側に入られると無防備でした。ゼロトラストはネットワーク上の位置ではなく、アイデンティティと文脈でアクセスを都度検証します。
- 「社内ネットワークだから」を理由に信頼しない
- 誰が・どの端末で・何に・いつアクセスするかを毎回確かめる
- 最小権限と組み合わせ、通った後も必要な範囲しか触れない
攻撃面の最小化が「入口を減らす」なら、ゼロトラストは「入口を通った後も油断しない」。この2つで、突破されても被害が広がりにくい土台を作ります。
リスクを見積もる — 資産×脅威×脆弱性
守りには限りある予算と時間しかありません。だから「何から先に守るか」を決める物差しが要ります。それが リスク=資産×脅威×脆弱性 という見立てです。
- 資産 — 守る対象の価値(顧客データ・信用・止められない業務)
- 脅威 — それを狙う攻撃者や事象の起こりやすさ
- 脆弱性 — 突かれ得る弱さ(設定ミス・古い部品・人の油断)
3つの掛け算とみなすのが肝です。どれか一つでも小さくできれば、リスク全体が下がります。脆弱性を完全にゼロにはできなくても、資産を分けて価値を下げる・脅威にさらす面を減らす、という別の因子で全体を抑えられる。「全部を最高強度で」ではなく「大事なものほど厚く」が現実解なのは、この掛け算から導かれます。
なぜ一点の強化では足りないか
- 最強の一枚は迂回される — 攻撃者は正面ではなく弱い脇を突く。だから重ねる(多層防御)
- 底上げには限界がある — どれだけ固めても一番弱い所は残る。突破される前提で、被害を封じ込める設計に投資する
- 人と運用が土台 — 技術は最後の一枚。教育・手続き・鍵管理が崩れれば、いくら暗号を固めても意味がない
- 設計思想が要るのはなぜか — 個別の対策は「思いついた脅威」しか塞げない。脅威モデリング・原則の束ね・リスクの見積もりという枠組みがあってはじめて、発想に頼らず穴を潰せる
関連する知識
理解度チェック
そのまま解けます(成績は保存されません)。無料アカウントを作ると、学習の記録と進捗の山登りが始まります。
問1. リスクを「資産×脅威×脆弱性」の掛け算として捉える利点は?
問2. 脅威モデリングの枠組み「STRIDE」は何のためのものか?
問3. STRIDEの「R(Repudiation/否認)」への主な守りとして本文が挙げるのはどれ?
問4. STRIDEの「Elevation of Privilege(権限昇格)」を主に防ぐのはどれ?
問5. 「職務分掌(SoD)」の説明として正しいのはどれ?
問6. ゼロトラストの考え方として正しいのはどれ?
問7. STRIDEの「T」に当たる、データやコードを勝手に書き換える脅威を日本語で答えてください。
問8. 攻撃者の視点で脅威を6種類に分類し、洗い出しの抜け漏れを防ぐ枠組みを英字大文字6文字の頭字語で答えてください。