セキュリティ レッスン1
セキュリティの基本
脅威モデル、CIA三要素、攻撃の種類と防御の考え方を学ぼう
CIA三要素(情報セキュリティの3原則)
情報セキュリティの目標は、以下の3つの要素を守ることです。 これらを CIA三要素 と呼びます。
Confidentiality(機密性)
許可された人だけが情報にアクセスできること。暗号化やアクセス制御で守る。
Integrity(完全性)
情報が不正に改ざんされていないこと。ハッシュやデジタル署名で検証する。
Availability(可用性)
必要なときに情報やサービスにアクセスできること。DDoS対策や冗長化で守る。
脅威モデル(Threat Model)
脅威モデルとは、システムに対してどのような攻撃が想定されるかを 整理・分析するフレームワークです。「何を守るか」「誰から守るか」「どう守るか」を明確にします。
脅威モデルの基本ステップ:
1. 資産の特定
- ユーザーの個人情報(メール、パスワード)
- 決済情報(クレジットカード番号)
- セッション情報(ログイン状態)
2. 脅威の特定
- 外部攻撃者(ハッカー)
- 内部犯行者(従業員)
- 自動化された攻撃(ボット)
3. 脆弱性の分析
- 入力値の検証不足 → SQLインジェクション
- 出力のエスケープ不足 → XSS
- 認証の不備 → セッションハイジャック
4. 対策の実装
- 入力バリデーション
- 出力エスケープ
- HTTPS の強制
- 適切な認証・認可代表的な攻撃の種類
Webアプリケーションに対する主要な攻撃手法を知っておきましょう。
インジェクション攻撃
SQLインジェクション、コマンドインジェクションなど。悪意のあるコードを注入する。
クロスサイトスクリプティング(XSS)
悪意のあるJavaScriptをWebページに埋め込み、ユーザーの情報を盗む。
CSRF(クロスサイトリクエストフォージェリ)
ログイン中のユーザーに意図しないリクエストを送信させる。
DDoS攻撃
大量のリクエストでサーバーを過負荷にしてサービスを停止させる。
セキュリティの基本原則
- 最小権限の原則:必要最小限の権限だけを付与する
- 多層防御:1つの防御が突破されても他の層で守る
- 入力は常に信頼しない:ユーザーからの入力はすべてバリデーションする
- セキュリティ・バイ・デザイン:設計段階からセキュリティを考慮する
- フェイルセーフ:エラー時は安全な状態にフォールバックする
OWASP Top 10
OWASP(Open Web Application Security Project)が発表する、 Webアプリケーションにおける最も危険なセキュリティリスクのランキングです。 開発者なら必ず知っておくべきリストです。
OWASP Top 10 (2021):
1. アクセス制御の不備
2. 暗号化の失敗
3. インジェクション(SQL, XSS等)
4. 安全でない設計
5. セキュリティの設定ミス
6. 脆弱で古いコンポーネント
7. 認証の不備
8. ソフトウェアとデータの整合性の不備
9. セキュリティログと監視の不備
10. サーバーサイドリクエストフォージェリ(SSRF)まとめ
- CIA三要素(機密性・完全性・可用性)が情報セキュリティの基本
- 脅威モデルで「何を」「誰から」「どう」守るかを明確にする
- インジェクション、XSS、CSRFなど主要な攻撃手法を理解する
- 最小権限・多層防御・入力検証などの基本原則を守る
- OWASP Top 10 を定期的に確認し、最新の脅威に備える