コンテンツへスキップ

はじめに

WebアプリケーションやAIシステムの開発に携わるなら、『OWASP Top 10』は避けては通れない、最も重要なセキュリティガイドラインです。

これは、世界中の専門家コミュニティ「OWASP」が実際の攻撃データを分析して作成した、「いま本当に危険な脆弱性」のランキングだからです。このリストを知らずに開発を進めることは、建物の耐震基準を知らずに家を建てるようなものかもしれません。

本記事では、【2025年最新版】のOWASP Top 10について、Web・モバイル・AI(LLM)の各分野で何が最も危険視されているのか、その要点とビジネスリスクを徹底解説していきます。

OWASP(Open Web Application Security Project)概要

OWASP (Open Web Application Security Project) は、ソフトウェアのセキュリティ強化を目的とした非営利団体です。開発者、セキュリティ専門家、組織が安全なアプリケーションを構築するための無料のオープンソースツールやリソース、ベストプラクティスを提供しています。代表的なイニシアチブとして、OWASP Top 10やモバイルセキュリティプロジェクト、LLMセキュリティガイドなどが挙げられます。

「セキュリティリスクは絶えず変化しており、OWASPは開発者が新たな脅威に対応できるよう支援します。」

OWASP Top 10(Webアプリ向け)

「OWASP Top 10」は、Webアプリケーションにおける最も重要なセキュリティリスクを特定し、その対策を提示するリストとして広く活用されています。2021年版では下記の10項目が公開されています。

A01: アクセス制御の破壊 (Broken Access Control)

  • 要点: 一般ユーザーが管理者ページにアクセスできたり、他人のプロフィールやデータを閲覧・編集できてしまったりする問題です。
  • ビジネスリスク: 個人情報や機密情報の漏洩、データの改ざん、アカウントの乗っ取りに直結し、企業の信頼を著しく損ないます。

A02: 暗号の失敗 (Cryptographic Failures)

  • 要点: パスワードやクレジットカード情報などが、暗号化されていない、あるいは簡単に解読できる古い暗号方式で通信・保存されている状態です。
  • ビジネスリスク: 大規模な情報漏洩事件の主な原因となり、顧客への損害賠償やブランドイメージの失墜につながります。

A03: インジェクション (Injection)

  • 要点: Webサイトの入力フォームなどに不正な命令文を「注入(インジェクト)」され、データベースを盗み見られたり、破壊されたりする攻撃です。
  • ビジネスリスク: 顧客データベースの全件漏洩や、Webサイトの改ざん、サービス停止といった壊滅的な被害を引き起こす可能性があります。

A04: 安全でない設計 (Insecure Design)

  • 要点: 開発の初期段階(設計段階)で、セキュリティ要件が十分に考慮されていない状態です。例えば、パスワードの変更手順が甘い、などが挙げられます。
  • ビジネスリスク: 後から修正するのが非常に困難でコストがかかる脆弱性を生み出し、根本的なセキュリティ欠陥の原因となります。

A05: セキュリティ設定ミス (Security Misconfiguration)

  • 要点: サーバーやクラウドサービス、フレームワークなどが、初期設定のまま(デフォルトパスワードなど)運用されていたり、不要な機能が有効になっていたりする状態です。
  • ビジネスリスク: 攻撃者にとって格好の侵入口となり、不正アクセスやシステム乗っ取りの足がかりを与えてしまいます。

A06: 脆弱で古いコンポーネント (Vulnerable and Outdated Components)

  • 要点: Webサイトを構築するために利用しているライブラリやフレームワークなどの「部品(コンポーネント)」が、古いバージョンのままで、既知の脆弱性が放置されている状態です。
  • ビジネスリスク: 広く知られた脆弱性を利用されるため、攻撃の標的になりやすく、サプライチェーン攻撃の起点となる可能性があります。

A07: 識別と認証の失敗 (Identification and Authentication Failures)

  • 要点: ログイン機能そのものの不備です。例えば、簡単なパスワードを許可していたり、パスワードを何度も試せる(ブルートフォース攻撃が可能)状態だったりします。
  • ビジネスリスク: 不正ログインやなりすましの直接的な原因となり、ユーザーのアカウントが乗っ取られる被害につながります。

A08: ソフトウェアとデータの完全性の不整合 (Software and Data Integrity Failures)

  • 要点: ソフトウェアのアップデートや、外部から取り込むデータが、本物であるかどうかの検証を怠っている状態です。
  • ビジネスリスク: 偽のアップデートファイルによってマルウェアに感染させられたり、信頼できないデータによってシステム全体が汚染されたりする、サプライチェーンリスクの一種です。

A09: セキュリティログと監視の失敗 (Security Logging and Monitoring Failures)

  • 要点: 不正アクセスや攻撃の試みがあった際に、その記録(ログ)が十分に取られていない、または誰も監視していない状態です。
  • ビジネスリスク: 攻撃に気づくのが遅れ、被害が拡大します。また、インシデント発生後の原因調査や証拠確保が困難になります。

A10: サーバーサイドリクエストフォージェリ (Server-Side Request Forgery – SSRF)

  • 要点: 攻撃者が、脆弱なWebサーバーを「踏み台」にして、本来はアクセスできないはずの社内ネットワークなど、別のサーバーへリクエストを送信させる攻撃です。
  • ビジネスリスク: 外部に公開していない社内システムやデータベースへ不正にアクセスされ、内部情報の窃取や、より深刻な攻撃への足がかりにされる危険性があります。

これらのリスクを軽減するために、最小権限の原則や暗号化の徹底、ペネトレーションテストなど、多角的な対策が必要となります。


OWASP Mobile Top 10(2024年版)

続いて、モバイルアプリ固有のセキュリティリスクに特化した「OWASP Mobile Top 10(2024年版)」を見ていきましょう。2024年版では、以下のリスクが最も注意すべき項目として挙げられています。

M1: 不適切な認証情報の使用 (Improper Credential Usage)

  • 要点: アプリがパスワードやAPIキーのような大事な情報を、スマホ本体の誰でも見れるような場所に保存してしまうことです。
  • ビジネスリスク: ユーザーアカウントの乗っ取りや、サーバーへの不正アクセス、有料機能の不正利用につながります。

M2: サプライチェーンセキュリティの不備 (Inadequate Supply Chain Security)

  • 要点: アプリ開発で使う、外部のライブラリやツール(部品)に脆弱性が潜んでいる状態です。
  • ビジネスリスク: 安全に作ったつもりのアプリが、信頼していた部品のせいでマルウェアに感染したり、情報漏洩の踏み台にされたりします。

M3: 認証・認可の脆弱性 (Insecure Authentication/Authorization)

  • 要点: ログイン機能が甘く、簡単になりすましができたり、一般ユーザーが管理者しか使えない機能を実行できてしまったりする問題です。
  • ビジネスリスク: 不正な送金、他人の個人情報の閲覧・改ざん、サービス全体の信頼失墜につながります。

M4: 入力・出力の検証不備 (Insufficient Input/Output Validation)

  • 要点: ユーザーが入力したデータや、アプリが表示するデータを無条件に信じてしまうことで、予期せぬ動作を引き起こす問題です。
  • ビジネスリスク: アプリのクラッシュ、不正なコードの実行、他のユーザーへの攻撃(XSSなど)を引き起こし、サービスの安定性を損ないます。

M5: 通信の安全性不足 (Insecure Communication)

  • 要点: ログイン情報や個人情報などを、暗号化せずに(HTTPなどで)インターネットに送信してしまうことです。
  • ビジネスリスク: 公衆Wi-Fiなどで通信内容が盗み見られ、個人情報漏洩やアカウント乗っ取り(中間者攻撃)の直接的な原因となります。

M6: プライバシー制御の不備 (Inadequate Privacy Controls)

  • 要点: アプリが必要以上にユーザーの位置情報や連絡先、写真などにアクセスしたり、それらの情報を不適切に外部に送信したりすることです。
  • ビジネスリスク: プライバシー侵害として法的な問題(GDPRなど)に発展したり、”スパイアプリ”として炎上したりする原因になります。

M7: バイナリ保護の欠如 (Insufficient Binary Protections)

  • 要点: アプリのプログラム本体(バイナリ)が無防備な状態で、誰でも簡単に中身を解析・改ざんできてしまうことです。
  • ビジネスリスク: アプリのロジックや知的財産が盗まれたり、不正な機能を追加した海賊版アプリが出回ったりする原因になります。

M8: セキュリティ設定のミス (Security Misconfiguration)

  • 要点: 開発中に使っていたデバッグ機能がONのままだったり、接続するサーバーの設定が甘かったりすることです。
  • ビジネスリスク: 本来隠されているべき情報が漏れたり、攻撃者にシステムの内部構造を把握されたりする手掛かりを与えてしまいます。

M9: 不適切なデータ保存 (Insecure Data Storage)

  • 要点: 個人情報などの重要なデータを、スマホ本体に暗号化せずに平文のまま保存してしまうことです。
  • ビジネスリスク: スマホの紛失・盗難時に、端末から直接データを抜き取られ、情報漏洩につながります。

M10: 暗号化の不備 (Insufficient Cryptography)

  • 要点: 時代遅れの弱い暗号方式を使っていたり、そもそも暗号の使い方を間違っていたりすることです。
  • ビジネスリスク: 「暗号化しているから安全」だと思っていても、簡単に解読されてしまい、結果的に重要な情報が保護できていない状態になります。

OWASP Top 10 for Large Language Model(LLM)

大規模言語モデル(LLM)や生成AIシステムの導入に伴い、OWASPは「OWASP Top 10 for LLM Applications」を公開しています。2025年版では、以下の10項目が主要なリスクとして挙げられています。

LLM01: プロンプトインジェクション (Prompt Injection)

  • 要点: ユーザーが特殊な指示(プロンプト)を入力することで、開発者が意図しなかった命令をLLMに実行させてしまう脆弱性です。LLMが本来従うべき指示を上書きされてしまいます。
  • ビジネスリスク: LLMを通じて機密情報が漏洩したり、不適切なコンテンツ(差別的な発言、ヘイトスピーチなど)を生成させられたりすることで、企業のブランドイメージが著しく損なわれます。

LLM02: 不適切な出力処理 (Insecure Output Handling)

  • 要点: LLMの生成した出力を、検証しないままWebサイトや他のシステムで利用してしまう脆弱性です。出力に悪意のあるスクリプトなどが含まれていると、それが実行されてしまいます。
  • ビジネスリスク: Webサイトの改ざん(XSS)、ユーザーのブラウザ上での不正なコード実行、さらには社内システムへの不正アクセスなど、従来のWebアプリケーションの脆弱性を引き起こす原因となります。

LLM03: トレーニングデータの汚染 (Training Data Poisoning)

  • 要点: 攻撃者がLLMの学習に使うデータ(トレーニングデータ)に、意図的に不正確な情報や偏ったデータを混入させる攻撃です。これにより、LLMの知識そのものが汚染されます。
  • ビジネスリスク: LLMが誤った情報や偏見に基づいた回答を生成するようになり、サービスの信頼性が失われます。また、特定の話題に対して意図的に不利な回答をさせるなど、世論操作に悪用される可能性があります。

LLM04: モデルのサービス拒否 (Model Denial of Service)

  • 要点: 攻撃者が意図的にLLMへ高負荷なリクエストを大量に送りつけ、リソースを枯渇させる攻撃です。これにより、他のユーザーがサービスを利用できなくなります。
  • ビジネスリスク: サービスの停止により、顧客満足度が低下し、機会損失が発生します。また、API利用料などが高騰し、想定外の運用コストが発生する可能性があります。

LLM05: サプライチェーンの脆弱性 (Supply Chain Vulnerabilities)

  • 要点: LLM開発で利用する外部のライブラリ、事前学習済みモデル、データセットなどに脆弱性が含まれている状態です。
  • ビジネスリスク: 信頼していたはずの外部コンポーネントがバックドアとなり、システムへの侵入やデータ漏洩の原因となります。自社のコードが安全でも、サプライチェーン全体のリスク管理が不可欠です。

LLM06: 機密情報の漏洩 (Sensitive Information Disclosure)

  • 要点: LLMが、トレーニングデータに含まれていた個人情報や企業の機密情報などを、意図せず回答として出力してしまう脆弱性です。
  • ビジネスリスク: 個人情報保護法(APPI)やGDPRなどの法令違反に直結します。企業の内部情報や開発中の製品情報が漏洩し、重大なコンプライアンス違反や経済的損失につながります。

LLM07: 不適切なプラグイン設計 (Insecure Plugin Design)

  • 要点: LLMが外部ツール(プラグイン)と連携する際の、権限管理や入力検証が不十分な状態です。例えば、どんな命令でも実行できてしまう強力すぎるプラグインなどが該当します。
  • ビジネスリスク: プラグインが悪用され、意図しないファイルの削除、不正なメール送信、社内システムへの不正アクセスなど、LLMを起点とした深刻なセキュリティインシデントを引き起こします。

LLM08: 過度の自律性 (Excessive Agency)

  • 要点: LLMに与えられた権限や自律性が高すぎることにより、開発者の想定を超えたアクション(例:連続したAPI呼び出し、ファイルの変更など)を実行してしまう状態です。
  • ビジネスリスク: システムに予期せぬ変更を加えたり、大量のAPIコールによって高額な請求を発生させたりと、想定外の行動を取り、管理不能な状態に陥るリスクがあります。

LLM09: 過信 (Overreliance)

  • 要点: 開発者や利用者が、LLMが生成する情報を無条件に信じ込んでしまうことです。LLMはもっともらしい嘘(ハルシネーション)をつくことがあります。
  • ビジネスリスク: LLMが生成した誤った情報や、脆弱性を含むコードをそのまま採用してしまうことで、ビジネス上の意思決定ミスや、新たなセキュリティホールを生み出す原因となります。

LLM10: モデルの盗難 (Model Theft)

  • 要点: 攻撃者が、多額の投資をして開発した独自のLLMモデルそのものや、そのモデルの持つ「重み(パラメータ)」を不正に盗み出すことです。
  • ビジネスリスク: 企業の最も重要な知的財産であり、競争力の源泉であるAIモデルが競合他社に渡ってしまいます。また、盗んだモデルを分析され、新たな攻撃手法を開発されるリスクもあります。

LLM導入時には、プロンプトインジェクション対策やトレーニングデータ保護、サプライチェーン検証などの総合的なアプローチが求められます。


各OWASP Top 10 に共通する脅威の特徴

今回ご紹介した3つのTop 10リストを見ると、「サプライチェーンの脆弱性」や「セキュリティ設定のミス」といった項目が分野を問わず登場していることが分かります。

これは、自社で開発するコードだけでなく、利用するオープンソースやクラウドサービスの設定といった「外部要因」のセキュリティ確保が、現代のアプリケーション開発において極めて重要になっていることを示唆しています。

まとめ:OWASP Top 10 でリスクを低減

さらに詳しく知りたい方は、OWASP公式サイトをチェックしてください。

このように、OWASP Top 10は、私たちが利用するほぼ全てのデジタルサービスに潜むリスクを体系的に示してくれています。これらのガイドラインを活用し、開発の初期段階からセキュリティを組み込む「シフトレフト」(開発の早い段階からセキュリティを考慮する考え方)の考え方を取り入れることが、安全なアプリケーション開発の鍵となります。

OWASPのガイドラインを活用することで、アプリケーション開発におけるセキュリティのベースラインを確立し、サイバー攻撃やデータ漏洩のリスクを大幅に低減できます。ぜひ参考にしてください。


▼自社アプリケーションのセキュリティ、万全ですか?

OWASP Top 10で指摘されているリスクは、専門家による診断なしに発見するのは困難です。弊社では、お客様のWebアプリケーションやモバイルアプリが抱える脆弱性を洗い出す「脆弱性診断サービス」や、より実践的な「ペネトレーションテスト」をご提供しています。

投稿者プロフィール

イシャン ニム
イシャン ニム
Offensive Security Engineer
15年以上の実績を持つ国際的なホワイトハッカーで、日本を拠点に活動しています。「レッドチーム」分野に精通し、脆弱性診断や模擬攻撃の設計を多数手がけてきました。現在はCyberCrewの主要メンバーとして、サイバー攻撃の対応やセキュリティ教育を通じ、企業の安全なIT環境構築を支援しています。
主な保有資格:
● Certified Red Team Specialist(CyberWarFare Labs / EC-Council)
● CEH Master(EC-Council)
● OffSec Penetration Tester(Offensive Security)


Page Top

Copyright © CyberCrew inc. All rights reserved.