セキュリティの考え方 — 何をどう守るかの原則

上級の解説は準備中のため、上級の内容を表示しています。

概要 — まず全体をつかむ

中級ではCIAと設計原則を並べました。上級では、なぜ一点の強化では守れず「設計思想」が要るのかを、攻撃者視点の洗い出し(脅威モデリング)・原則の束ね方・リスクの見積もりという順で掘り下げます。

詳細 — 1段階ずつ追う

攻撃者の目で洗い出す — 脅威モデリングとSTRIDE

守る側はつい「自分の作ったものは正しく使われる」と考えます。しかし攻撃者は想定外の使い方を探します。この視点の差を埋めるのが脅威モデリング ※1 です。設計の段階で「ここはどう攻められ得るか」を体系的に列挙し、対策を先回りで組み込みます。

代表的な枠組みが STRIDE ※2 で、脅威を6つに分類して漏れを防ぎます。

  • Spoofing(なりすまし) — 別人・別システムを装う。守りは認証
  • Tampering(改ざん) — データやコードを勝手に書き換える。守りは完全性(ハッシュ・署名)
  • Repudiation(否認) — やったことを「やっていない」と言い張る。守りは監査ログ
  • Information Disclosure(情報漏えい) — 見えてはいけないものが漏れる。守りは暗号とアクセス制御
  • Denial of Service(サービス妨害) — 使えなくする。守りは冗長化・レート制限
  • Elevation of Privilege(権限昇格) — 与えた以上の権限を奪う。守りは認可の境界

STRIDEの6分類は、そのままCIAと対応づきます。なりすまし・改ざんは完全性と真正性、情報漏えいは機密性、サービス妨害は可用性、という具合です。

アニメーション『CIA三要素』を開く
CIA守るべき“性質”の3軸機密性Confidentiality見られない守り方:暗号化完全性Integrity改ざんされない守り方:ハッシュ・署名可用性Availability使いたいとき使える守り方:冗長化・バックアップこの3つが「何を守るのか」の軸。対象や脅威は、この3軸のどれかに効く

登場人物メモ:

  • ※1 脅威モデリング — 設計段階で「どんな攻撃があり得るか」を洗い出し、対策を先回りで組み込む作業。作ってから塞ぐより安く確実
  • ※2 STRIDE — 脅威を6種類に分けて列挙するための頭字語。分類があることで「考え忘れ」を減らせる

なぜ列挙が要るのか。人は「思いつく脅威」しか守れません。枠組みで機械的に6分類を当てることで、発想に頼らず抜けを潰す——これが脅威モデリングの狙いです。

設計原則を束ねる — 多層防御・最小権限・職務分掌

中級で挙げた原則は、単独ではなく互いを補う一組として働きます。攻撃者の動き(不正アクセス の侵入・昇格・横展開)を、各原則がどこで止めるかで見ると腑に落ちます。

  • 多層防御(defense in depth) — 予防・検知・対応を層で重ね、1つ破られても次で止める。1枚の壁ではなく複数の関門
  • 最小権限(least privilege) — 各人・各プログラムに仕事に必要な最小限だけ。奪われても被害が権限の範囲に留まり、権限昇格や横展開の燃料を断つ
  • 職務分掌(SoD ※1) — 1つの重要業務を単独で完結させない。申請者と承認者を分けるなど、単独犯行と見逃しの両方を抑える
  • フェイルセーフ/フェイルセキュア — 壊れたときの倒れ方を設計で決める。安全優先(非常時は開ける)か保全優先(施錠して遮断)かを、守る対象で選ぶ
アニメーション『多層防御(層で守る)』を開く
Webのセキュリティ=層で守る(多層防御)👁 運用(ログ・監視)🛡 エッジWAF・レート制限で入口をふるいにかける🔒 通信TLS/HTTPS で暗号化(盗み見・改ざんを防ぐ)🔑 アプリ認証・認可・入出力の扱い🗄 データ保存時暗号・最小権限リクエスト各層を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文字の頭字語で答えてください。