🎯 この章で学ぶこと

  • 入門との違い — 「対策の暗記」から「リスクに基づく設計判断」へ
  • 攻撃者視点(レッド)と防御者視点(ブルー)の往復
  • 中上級で使い倒す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トライアドを「設計の採点基準」に使う

入門で学んだ機密性・完全性・可用性(CIA)は、暗記用語ではなく設計をレビューするチェック軸です。新しい機能を見たら「この機能で、C・I・Aのどれが、どんな脅威にさらされるか?」と3方向から点検する。中上級ではCIAをこう使います。

1.4 本コースの歩き方

本コースは3部構成で、実務の流れに沿っています。

各章は独立して読めますが、原則(1.3)は全章を貫きます。「この対策は、どの原則の現れか?」を意識しながら読むと、知識が構造化されて定着します。

⚠️ 手を動かす場所を用意する

本コースには実際に試せる例が登場します。検証用の環境(自分のPC上の仮想マシンやコンテナ、ローカルに立てた「やられ役」アプリ、公開されている合法な学習用プラットフォーム)を用意してください。本番環境や他者のシステムで試すことは絶対に避けてください。技術は同じでも、対象を誤れば犯罪になります。

1.5 前提知識の自己チェック

次の問いに詰まりなく答えられれば、本コースを読み進める準備ができています。曖昧なものがあれば、入門コースの該当章に戻ると効果的です。

確認したいこと入門コースの対応章
機密性・完全性・可用性の違いを例で説明できる第9章
認証と認可の違いを説明できる第9章
SQLi・コマンドインジェクションの原因と対策を言える第10章
XSS・CSRF・セッション管理の基本がわかる第11章
ハッシュと暗号化の違い、パスワードの正しい保存を知っている第12章

まとめ

練習問題

問題 1-1

「わが社はファイアウォールを導入したので、社内システムは安全です」という主張には、本章のどの原則から見て問題があるでしょうか。反論を組み立ててください。

解答を見る

原則2(多層防御)と原則3(侵害前提)の両方に反しています。ファイアウォールは境界防御の1層にすぎず、それだけに依存する構成は「1層破られたら終わり」です。フィッシングでマルウェアを送り込まれたり、正規のVPN経由で侵入されたりすれば、ファイアウォールは無力です。「攻撃者がすでに社内にいる前提」で、認証・認可・監視・セグメンテーション・バックアップといった層を重ねる必要があります。

問題 1-2

あなたの会社に予算がつき、次の3つのどれか1つに投資できるとします。①全社員へのフィッシング訓練 ②最新の高価なファイアウォール ③顧客DBの暗号化とアクセス監視。リスクベース(原則1)の考え方で、判断に必要な「追加で知りたい情報」を3つ挙げてください。

解答を見る

正解は1つではありませんが、リスク = 発生可能性 × 影響度を評価するために、たとえば次のような情報が必要です。

  • 守る資産の価値・影響度 — 顧客DBにはどんな情報が何件あり、漏えい時の被害(法的責任・信用・賠償)はどれほどか
  • 現状の弱点と発生可能性 — 過去のインシデント傾向、フィッシングの被害実績、既存対策の穴はどこか
  • 各投資でどれだけリスクが下がるか — その対策が「実際に起きやすい脅威」に効くのか(高価でも効かなければ無駄)

「高価だから」「流行だから」ではなく、自社で最も起きやすく被害の大きい脅威に効くものを選ぶ——これがリスクベースの判断です。

問題 1-3

「攻撃手法を学ぶこと」は、防御者にとってなぜ有益なのでしょうか。逆に、学ぶ上で守るべき一線は何ですか。

解答を見る

有益な理由:攻撃者がどう考え、どこを突くかを理解して初めて、効果的な防御と検知を設計できます。攻撃の解像度が上がれば、「攻撃者より先に自社の弱点を見つける」ことができます。守る側は全ての穴を塞ぐ必要があるため、攻撃者の発想を借りて穴を探すのが最も効率的です。
守るべき一線:検証は必ず自分が管理する環境・許可された対象・学習用の合法な環境に限ること。無許可のシステムへの試行は、目的が学習でも不正アクセス禁止法などに触れ得ます。知識の使い道が、初級と上級を分けるのではなく、倫理が専門家と犯罪者を分けます