第1部 設計・アーキテクチャ
第1章 中級・上級への地図
入門を終えたあなたが、次にどこへ向かうのか。この章は本コース全体の地図であり、中級・上級で通用する「考え方の型」を最初に共有します。
🎯 この章で学ぶこと
- 入門との違い — 「対策の暗記」から「リスクに基づく設計判断」へ
- 攻撃者視点(レッド)と防御者視点(ブルー)の往復
- 中上級で使い倒す3つの原則(リスクベース・多層防御・前提の明示)
- 本コースの全体像と、各章のつながり
1.1 中級・上級とは何が違うのか
入門では「SQLインジェクションはプレースホルダで防ぐ」のように、脅威と対策が1対1で結びついた知識を積み上げてきました。これは必須の土台です。しかし実務では、次のような1対1では答えの出ない問いに直面します。
- 「この新機能、どこにリスクがあり、どこまで対策すべきか?」(設計判断)
- 「限られた予算で、どの対策から手をつけるか?」(優先順位)
- 「侵入された前提で、被害をどう小さくするか?」(回復力)
中級・上級のセキュリティとは、こうした問いに対して根拠を持って判断し、他者に説明できる力のことです。正解は文脈(守る資産・想定する攻撃者・許容できるリスク)によって変わります。だからこそ、判断の枠組みを持つことが決定的に重要になります。
絶対に破られないシステムは作れません。セキュリティとは、リスクをゼロにする活動ではなく、許容できる水準まで下げ、残ったリスクを理解した上で受け入れる(またはコストと引き換えに減らす)活動です。この「トレードオフを引き受ける」姿勢が、初級と中上級を分ける最大の分岐点です。「やるかやらないか」ではなく「どこまでやるか」を語れるようになりましょう。
1.2 攻撃者視点と防御者視点の往復
優れた防御は、優れた攻撃の理解から生まれます。セキュリティの実務者は、2つの視点を意識的に行き来します。
| レッド(攻撃者視点) | ブルー(防御者視点) | |
|---|---|---|
| 問い | どうすれば侵入・悪用できるか? | どうすれば防ぎ、検知し、復旧できるか? |
| 思考 | 1つでも穴があればよい | すべての穴を塞ぐ必要がある |
| 成果物 | 攻撃シナリオ、PoC、診断報告 | 対策設計、検知ルール、対応手順 |
| 本コースの章 | 第2章・第4章・第6章 | 第3章・第5章・第7〜10章 |
攻撃側は「1つでも穴があれば勝ち」、防御側は「すべてを守って当然、1つ漏れれば負け」という非対称な戦いです。この非対称性こそが、後述する「多層防御」と「侵害前提」の設計思想を生みます。攻撃を学ぶのは攻撃するためではなく、攻撃者より先に自分の弱点を見つけるためです。
1.3 中上級で使い倒す3つの原則
原則1 — リスクベースで考える
すべてを同じ強度で守るのは不可能で、非効率です。リスク = 発生可能性 × 影響度で対策の優先順位を決めます。顧客の個人情報を扱うDBと、社内の掲示板とでは、かけるべきコストが違って当然です。「守る対象の価値」を見極めることが、あらゆる判断の起点になります(第2章の脅威モデリングで具体化します)。
原則2 — 多層防御(Defense in Depth)
入門でも触れたこの原則を、中上級では設計の初期段階から織り込みます。「入口(WAF)」「認証」「認可」「暗号化」「監視」「バックアップ」——どれか1層が破られても、次の層が食い止める。1つの対策に依存しない構成を、意図的に作ります。
原則3 — 前提を明示する(Assume Breach)
現代のセキュリティ設計は「境界を守れば安全」という前提を捨て、「すでに侵入されている」前提で設計します。これがゼロトラスト(第3章)の根底にある発想です。「もし攻撃者が社内ネットワークにいたら、この設計は何を守れるか?」と自問する癖をつけましょう。
入門で学んだ機密性・完全性・可用性(CIA)は、暗記用語ではなく設計をレビューするチェック軸です。新しい機能を見たら「この機能で、C・I・Aのどれが、どんな脅威にさらされるか?」と3方向から点検する。中上級ではCIAをこう使います。
1.4 本コースの歩き方
本コースは3部構成で、実務の流れに沿っています。
- 第1部 設計・アーキテクチャ(第1〜3章) — 作る前に守りを設計する。脅威モデリングと、認証・認可の正しい組み立て方
- 第2部 攻撃と防御の実践(第4〜6章) — 実際の攻撃手法とその防ぎ方。Web、暗号、ネットワークの一段深い話
- 第3部 検知・対応・運用(第7〜10章) — 破られた後に勝つ。ログ・検知、インシデント対応、クラウド、開発プロセスへの組み込み
各章は独立して読めますが、原則(1.3)は全章を貫きます。「この対策は、どの原則の現れか?」を意識しながら読むと、知識が構造化されて定着します。
本コースには実際に試せる例が登場します。検証用の環境(自分のPC上の仮想マシンやコンテナ、ローカルに立てた「やられ役」アプリ、公開されている合法な学習用プラットフォーム)を用意してください。本番環境や他者のシステムで試すことは絶対に避けてください。技術は同じでも、対象を誤れば犯罪になります。
1.5 前提知識の自己チェック
次の問いに詰まりなく答えられれば、本コースを読み進める準備ができています。曖昧なものがあれば、入門コースの該当章に戻ると効果的です。
| 確認したいこと | 入門コースの対応章 |
|---|---|
| 機密性・完全性・可用性の違いを例で説明できる | 第9章 |
| 認証と認可の違いを説明できる | 第9章 |
| SQLi・コマンドインジェクションの原因と対策を言える | 第10章 |
| XSS・CSRF・セッション管理の基本がわかる | 第11章 |
| ハッシュと暗号化の違い、パスワードの正しい保存を知っている | 第12章 |
まとめ
- 中上級とは「対策の暗記」ではなく「リスクに基づく設計判断と説明」ができること
- 完璧な安全はない。セキュリティはトレードオフを引き受ける営み
- 攻撃者視点と防御者視点を往復し、攻撃者より先に弱点を見つける
- 3原則(リスクベース・多層防御・侵害前提)が全章を貫く
- 検証は必ず自分の環境で。前提知識に不安があれば入門へ戻る
練習問題
「わが社はファイアウォールを導入したので、社内システムは安全です」という主張には、本章のどの原則から見て問題があるでしょうか。反論を組み立ててください。
解答を見る
原則2(多層防御)と原則3(侵害前提)の両方に反しています。ファイアウォールは境界防御の1層にすぎず、それだけに依存する構成は「1層破られたら終わり」です。フィッシングでマルウェアを送り込まれたり、正規のVPN経由で侵入されたりすれば、ファイアウォールは無力です。「攻撃者がすでに社内にいる前提」で、認証・認可・監視・セグメンテーション・バックアップといった層を重ねる必要があります。
あなたの会社に予算がつき、次の3つのどれか1つに投資できるとします。①全社員へのフィッシング訓練 ②最新の高価なファイアウォール ③顧客DBの暗号化とアクセス監視。リスクベース(原則1)の考え方で、判断に必要な「追加で知りたい情報」を3つ挙げてください。
解答を見る
正解は1つではありませんが、リスク = 発生可能性 × 影響度を評価するために、たとえば次のような情報が必要です。
- 守る資産の価値・影響度 — 顧客DBにはどんな情報が何件あり、漏えい時の被害(法的責任・信用・賠償)はどれほどか
- 現状の弱点と発生可能性 — 過去のインシデント傾向、フィッシングの被害実績、既存対策の穴はどこか
- 各投資でどれだけリスクが下がるか — その対策が「実際に起きやすい脅威」に効くのか(高価でも効かなければ無駄)
「高価だから」「流行だから」ではなく、自社で最も起きやすく被害の大きい脅威に効くものを選ぶ——これがリスクベースの判断です。
「攻撃手法を学ぶこと」は、防御者にとってなぜ有益なのでしょうか。逆に、学ぶ上で守るべき一線は何ですか。
解答を見る
有益な理由:攻撃者がどう考え、どこを突くかを理解して初めて、効果的な防御と検知を設計できます。攻撃の解像度が上がれば、「攻撃者より先に自社の弱点を見つける」ことができます。守る側は全ての穴を塞ぐ必要があるため、攻撃者の発想を借りて穴を探すのが最も効率的です。
守るべき一線:検証は必ず自分が管理する環境・許可された対象・学習用の合法な環境に限ること。無許可のシステムへの試行は、目的が学習でも不正アクセス禁止法などに触れ得ます。知識の使い道が、初級と上級を分けるのではなく、倫理が専門家と犯罪者を分けます。