© 2025 Keito
技術ブログとポートフォリオ
Webアプリケーションの最も重大なセキュリティリスク10項目を学習し、 安全なアプリケーション開発の知識を身につけよう
A01:2021 - Broken Access Control
アクセス制御は、ユーザーが意図された権限を超えて行動できないようにポリシーを強制します。不適切な実装により、認可されていないユーザーがリソースにアクセスできる脆弱性です。
A02:2021 - Cryptographic Failures
以前は「機密データの露出」として知られ、暗号化に関連する失敗に焦点を当てています。これにより機密データが露出する可能性があります。
A03:2021 - Injection
信頼できないデータがコマンドやクエリの一部としてインタープリタに送信される際に発生する脆弱性です。SQLインジェクション、NoSQLインジェクション、OSコマンドインジェクションなどが含まれます。
A04:2021 - Insecure Design
2021年の新しいカテゴリで、設計とアーキテクチャの欠陥に関連するリスクに焦点を当てています。実装の問題ではなく、設計段階での根本的なセキュリティの欠如を指します。
A05:2021 - Security Misconfiguration
セキュリティの設定ミスは、安全でないデフォルト設定、不完全なセットアップ、または誤って設定されたシステムから生じる最も一般的な問題です。
A06:2021 - Vulnerable and Outdated Components
既知の脆弱性を持つコンポーネントを使用することで、アプリケーションが攻撃を受けやすくなります。ライブラリ、フレームワーク、その他のソフトウェアモジュールが含まれます。
A07:2021 - Identification and Authentication Failures
ユーザーの身元確認、認証、セッション管理は、認証関連の攻撃から保護するために重要です。パスワード攻撃、セッションハイジャック、多要素認証の回避などが含まれます。
A08:2021 - Software and Data Integrity Failures
ソフトウェアとデータの整合性の失敗は、整合性違反から保護されていないコードとインフラストラクチャに関連します。CI/CDパイプライン、自動更新、信頼できないソースからのコードなどが含まれます。
A09:2021 - Security Logging and Monitoring Failures
ログとモニタリングがなければ、侵害を検出できません。不十分なログとモニタリングにより、攻撃者はシステム内で検出されずに活動を継続できます。
A10:2021 - Server-Side Request Forgery (SSRF)
SSRFの脆弱性は、Webアプリケーションがユーザー指定のURLを検証せずにリモートリソースを取得する際に発生します。内部ネットワークへの攻撃や機密情報の取得に悪用されます。
各リスクの原因と影響を深く理解し、なぜ危険なのかを把握する
安全な環境で実際に脆弱性を再現し、攻撃手法を体験する
学んだ対策を実際のコードに適用し、セキュアな開発を習慣化する