📄
概念 📚 software-design-concepts

セキュリティ参考資料

OWASPガイド・セキュアコーディング標準・脅威インテリジェンスなどセキュリティ学習の定番リソース紹介

セキュリティの学習と実践において、信頼できるリソースを継続的に参照することは、個人の経験だけでは得られない体系的な知識の補完に不可欠である。OWASP・NIST・SANSなどの組織が無料で公開しているガイドラインとフレームワークは、実装レビューの基準として使えるだけでなく、セキュリティ要件の定義・開発者教育・コンプライアンス対応においても活用できる。以下に挙げるリソースはセキュリティエンジニア・開発者問わず参照価値が高い定番資料である。

コードレビューで着目するポイント

  • コードレビューにおけるセキュリティ上の懸念をOWASP等の公的なリソースに基づいて客観的に説明できるか
  • セキュリティ要件の定義にASVSのレベルと照合したチェックリストが使われているか
  • 新たに発見された脆弱性クラスについてCWEやCVEで用語を統一して議論できる環境が整っているか

リソース紹介

OWASP Top 10(2021年版・2025年版)

最も影響力のあるWebアプリケーションセキュリティリスクのランキング。2021年版ではアクセス制御の不備(A01)・暗号化の失敗(A02)・インジェクション(A03)・SSRF(A10、新規追加)などが上位に位置する。開発チームの共通セキュリティ語彙として機能し、「A03のリスクに対応するために」という言い方でセキュリティ要件を議論できる。2025年版では新たなリスクカテゴリが加わり定期的に更新されている。参照先: https://owasp.org/Top10/

OWASP ASVS(Application Security Verification Standard)

Webアプリケーションのセキュリティ要件を3つのレベル(L1: 最低限・L2: 標準・L3: 高保証)で定義した検証標準。認証・セッション・アクセス制御・入力検証・暗号化・ログ記録など14のカテゴリに290以上の要件が定義されており、セキュリティ要件の網羅的なチェックリストとして使える。ペネトレーションテストの範囲定義や開発者向けセキュリティ研修の教材としても活用される。参照先: https://owasp.org/www-project-application-security-verification-standard/

OWASP Cheat Sheet Series

特定のセキュリティトピック(SQLインジェクション・XSS・認証・JWT等)ごとに、実装すべき対策をコード例付きで解説する実践的なリファレンス集。各チートシートは1〜2ページ程度にまとめられており、特定の実装を行う際に素早く正しい方法を確認するために使いやすい。開発チームのセキュリティ実装標準として「このチートシートに従う」と規定することで、品質の底上げができる。参照先: https://cheatsheetseries.owasp.org/

NIST SP 800-63(デジタルアイデンティティガイドライン)

米国国立標準技術研究所(NIST)が定義したデジタルアイデンティティ・認証・フェデレーションの標準ガイドライン。SP 800-63B(認証とライフサイクル管理)は特に重要であり、パスワード長の最低要件・侵害済みパスワードの拒否・定期的なパスワード変更強制の廃止・MFAの推奨レベルなど、多くの業界のコンプライアンス要件の基礎となっている。参照先: https://pages.nist.gov/800-63-3/

CWE(Common Weakness Enumeration)

MITREが管理するソフトウェアセキュリティ上の弱点(Weakness)の分類体系。CWE-89(SQLインジェクション)・CWE-79(XSS)・CWE-287(不適切な認証)のように番号で識別でき、CVE(脆弱性の個別事例)とは区別される「脆弱性クラス」として機能する。コードレビューでの指摘やツールのレポートで使われることが多く、IDによる一意の参照が議論の明確化に役立つ。参照先: https://cwe.mitre.org/

Michael Howard / David LeBlanc『Writing Secure Code』第2版(2003年)

Microsoftのセキュリティエンジニアによるセキュアコーディング実践書。バッファオーバーフロー・整数オーバーフロー・権限管理・入力検証など幅広いトピックをWindowsの実装例で解説する。C/C++やWindowsを直接使わない開発者にとっても「なぜこの設計が危険なのか」という脅威の根本理解に役立ち、セキュリティマインドセットを養うために今も参照価値がある古典。

SANS Top 25 Most Dangerous Software Errors

SANSとMITREが共同でまとめた、最も危険なソフトウェアエラーのランキング。CWEの分類と連動しており、各エラーに対して防御策のガイドラインも提供される。OWASP Top 10がWebアプリケーションに特化しているのに対して、SANS Top 25はより広いソフトウェアカテゴリ(組み込み・デスクトップ含む)を対象としている点で補完的な位置付けにある。参照先: https://www.sans.org/top25-software-errors/

参考リソース

  • PortSwigger Web Security Academy (https://portswigger.net/web-security) — XSS・SQLi・SSRFなどを実際に試せる無料の脆弱性学習プラットフォーム
  • HackTheBox / TryHackMe — CTF形式でセキュリティスキルを実践的に鍛えるオンラインプラットフォーム
  • CISA Known Exploited Vulnerabilities Catalog (https://www.cisa.gov/known-exploited-vulnerabilities-catalog) — 実際に悪用が確認された脆弱性のリストと対応期限
  1. 1. 📄アーキテクチャスタイル
  2. 2. 📄ドメインモデリング
  3. 3. 📄モジュール分割と依存管理
  4. 4. 📄データモデリング
  5. 5. 📄API設計
  6. 6. 📄整合性とトランザクション
  7. 7. 📄非同期処理(Queue/Event)
  8. 8. 📄キャッシング
  9. 9. 📄ユーザーリサーチ
  10. 10. 📄情報アーキテクチャ
  11. 11. 📄インタラクションデザイン
  12. 12. 📄UX原則とヒューリスティクス
  13. 13. 📄アクセシビリティ(UX観点)
  14. 14. 📄UXメトリクス
  15. 15. 📄スケーラビリティ
  16. 16. 📄可用性とレジリエンス
  17. 17. 📄オブザーバビリティ
  18. 18. 📄環境・インフラ設計
  19. 19. 📄データマイグレーション
  20. 20. 📄セキュリティ設計原則
  21. 21. 📄データ保護とマルチテナント
  22. 22. 📄LLMセキュリティ
  23. 23. 📄ビジュアルデザイン原則
  24. 24. 📄デザインシステム
  25. 25. 📄コンポーネント設計
  26. 26. 📄スタイリング
  27. 27. 📄状態管理
  28. 28. 📄フロントエンドパフォーマンス
  29. 29. 📄アクセシビリティ(実装観点)
  30. 30. 📄アニメーションとインタラクション
  31. 31. 📄設計原則
  32. 32. 📄デザインパターン(GoF)
  33. 33. 📄エンタープライズパターン
  34. 34. 📄クリーンコード
  35. 35. 📄リファクタリング
  36. 36. 📄型設計とコントラクト
  37. 37. 📄関数型プログラミング概念
  38. 38. 📄エラーハンドリング
  39. 39. 📄テスト戦略と哲学
  40. 40. 📄テスト種別(機能テスト)
  41. 41. 📄テスト種別(UI・ビジュアル)
  42. 42. 📄テスト種別(契約・境界)
  43. 43. 📄テスト種別(非機能テスト)
  44. 44. 📄テストダブル
  45. 45. 📄テスト設計技法
  46. 46. 📄並行処理・マルチスレッド
  47. 47. 📄パフォーマンス最適化
  48. 48. 📄ドキュメント管理
  49. 49. 📄バージョン管理と開発プロセス
  50. 50. 📄脅威モデリング
  51. 51. 📄通信保護(TLS)
  52. 52. 📄暗号化・機密情報管理
  53. 53. 📄認証・セッション管理
  54. 54. 📄認可・アクセス制御
  55. 55. 📄入力バリデーション
  56. 56. 📄インジェクション攻撃
  57. 57. 📄出力エンコーディング
  58. 58. 📄エラーハンドリング(セキュリティ観点)
  59. 59. 📄SSRF(サーバーサイドリクエストフォージェリ)
  60. 60. 📄依存関係管理
  61. 61. 📄設計・実装 参考書籍
  62. 62. 📄セキュリティ参考資料
  63. 63. 📄正規化(データベース正規化)