Webアプリケーション攻撃

OWASP Top 10 おわすぷとっぷてん

Webセキュリティ脆弱性インジェクション認証セキュアコーディングペネトレーションテスト
OWASP Top 10について教えて

簡単に言うとこんな感じ!

Webアプリの「やられやすいワースト10」リストだよ!世界中のセキュリティ専門家が「ハッカーに狙われやすい弱点」をランキングにまとめたもので、これを知っておくだけでセキュリティの発注・確認がぐっとラクになるんだ!


OWASP Top 10とは

OWASP(Open Worldwide Application Security Project) は、Webアプリケーションのセキュリティ向上を目的とした国際的な非営利団体です。その団体が発行している「Webアプリケーションに対する最も重大なセキュリティリスクのトップ10」が「OWASP Top 10」です。数年ごとに改訂され、現在の最新版は 2021年版 です。

このリストは、世界中の企業・政府機関・開発者が「セキュリティ対策のチェックリスト」として活用しています。システムを発注する立場であれば、「OWASP Top 10に対応しているか」という確認を開発会社に求めるだけで、セキュリティの品質担保に大きく役立ちます。

たとえば「個人情報を扱うWebサービスを外注する」場合、納品物に対して「OWASP Top 10の脆弱性診断を実施してください」と要件に盛り込む、というのが実務上の典型的な使い方です。


OWASP Top 10(2021年版)の全項目

順位IDリスク名(日本語)概要
1A01アクセス制御の不備本来見られてはいけいデータに不正アクセスできてしまう
2A02暗号化の失敗パスワードや個人情報が平文や弱い暗号で保存・送信される
3A03インジェクション悪意のあるコマンドをフォームなどから注入される(SQLインジェクション等)
4A04安全でない設計そもそも設計段階でセキュリティが考慮されていない
5A05セキュリティの設定ミスデフォルトパスワードのまま・不要な機能が有効のまま、など
6A06脆弱なコンポーネント古いライブラリやフレームワークの既知の脆弱性を突かれる
7A07認証・認可の失敗ログイン機能の欠陥、セッション管理の不備
8A08ソフトウェアとデータの整合性の失敗更新プログラムの改ざん、CI/CDパイプラインへの不正介入
9A09ログ・監視の失敗攻撃を検知・記録できず、被害が拡大する
10A10サーバーサイドリクエストフォージェリ(SSRF)サーバーを踏み台にして内部システムへ不正アクセスする

覚え方のヒント:「ア・ア・イン・ア・セキ・ライ・ニン・ソフ・ログ・エス」

頭文字を並べると「アアインアセキライニンソフログエス」。呪文みたいだけど、10項目を口に出して読むだけでも頭に残りやすいよ。実務では全部暗記しなくていいので「こういうリストが存在する」「確認基準になる」という認識だけで十分です。

2017年版→2021年版で何が変わった?

  • アクセス制御の不備が1位に浮上(2017年は5位)
  • インジェクションが3位に後退(2017年は1位)
  • 新たに「安全でない設計」「SSRF」が追加
  • 「XXE(XML外部エンティティ)」などはインジェクションに統合

歴史と背景

  • 2001年 — OWASPが設立。Webアプリのセキュリティ問題が急増する時代背景
  • 2003年 — OWASP Top 10の初版を公開。当時はSQLインジェクションが猛威を振るっていた
  • 2010年 — クラウド・スマートフォン普及に対応した改訂
  • 2013年 — セッション管理・認証の問題が上位に
  • 2017年 — XMLインジェクション(XXE)や安全でない逆シリアル化を追加
  • 2021年 — アクセス制御・設計レベルのリスクを重視。ソフトウェアサプライチェーンのリスク(A08)も新登場
  • 現在PCI DSS(クレジットカード業界のセキュリティ基準)や各国政府の調達基準でも参照される国際標準的な指標に

OWASP Top 10 と他のセキュリティ指標の比較

指標運営対象特徴
OWASP Top 10OWASP(非営利)Webアプリ無料・オープン、最も広く参照される
CWE Top 25MITREソフトウェア全般コードレベルの脆弱性分類
PCI DSSPCI SSC決済システムクレカ取扱業者への義務的な準拠要件
IPA 安全なウェブサイト作り方IPA(日本)Webサイト日本語で読める入門向け資料
NIST SP 800-53NIST(米国)政府・企業全般広範なセキュリティ管理策の体系

OWASP Top 10 と攻撃の関係(SVG図解)

OWASP Top 10:攻撃の種類と影響範囲のマップ 攻撃者の入口 A03 インジェクション SQLやコマンドを注入 A05 設定ミス デフォルト設定のまま放置 A10 SSRF サーバー踏み台攻撃 権限・認証の欠陥 A01 アクセス制御の不備 他人のデータを閲覧・改ざん A07 認証・認可の失敗 不正ログイン・なりすまし A02 暗号化の失敗 通信・保存データの盗聴 設計・運用の問題 A04 安全でない設計 設計段階でリスク未考慮 A06 脆弱なコンポーネント 古いライブラリの既知穴 A08 整合性の失敗 サプライチェーン改ざん 横断的リスク(A09: ログ・監視の失敗 — 攻撃を検知できず被害拡大) 攻撃の入口系 権限・認証系 設計・運用系 横断的リスク ※ 2021年版 OWASP Top 10 をカテゴリ別に整理したもの

発注・選定時の実務チェックポイント

システム開発を外注する際、以下の観点でOWASP Top 10を活用できます。

【要件定義時に追記するセキュリティ要件の例】

□ OWASP Top 10(2021年版)の全項目に対して
  脆弱性診断を実施し、報告書を納品すること
□ 高リスク・中リスクの指摘事項はリリース前に修正すること
□ 使用するOSSライブラリの既知脆弱性(A06)を
  SCA(ソフトウェア構成分析)ツールで確認すること
□ ログ設計(A09)について別途レビューを実施すること

発注時に確認すべき3つの質問:

  1. 「OWASP Top 10に対応した脆弱性診断を実施しますか?」
  2. 「診断結果のレポートは納品物に含まれますか?」
  3. 「指摘事項の修正対応はどの範囲まで含みますか?」

関連する規格・RFC

規格・文書内容
OWASP ASVS(Application Security Verification Standard)OWASPが策定するWebアプリの検証基準(Level 1〜3で詳細度を選択)
PCI DSS v4.0クレジットカード決済システムのセキュリティ基準。OWASP Top 10を参照
IPA「安全なウェブサイトの作り方」日本語で読めるWebセキュリティ入門ガイド。OWASP Top 10と重複する内容多数
NIST SP 800-53米国政府の情報セキュリティ管理策。エンタープライズ向けの包括基準
CWE(Common Weakness Enumeration)ソフトウェアの弱点を分類した体系。OWASP Top 10の各項目と対応

関連用語