OWASP(Open Worldwide Application Security Project)は、組織が信頼できるセキュアなアプリケーション向けソフトウェアを設計、開発、調達、運用、保守できるよう支援することに取り組むオープンコミュニティです。その活動には、コミュニティ主導のオープンソースソフトウェアプロジェクトや、地域および世界規模のカンファレンスが含まれます。世界各地に数百の支部があり、数万人のメンバーが参加しています。
OWASPが重要な理由
OWASPは、Webアプリケーションのセキュリティリスクに対する認識を高めるうえで重要な役割を果たし、増大するWebアプリケーションセキュリティの課題に対処するための有用なリソース、ツール、ドキュメント、ベストプラクティスを提供しています。OWASPは、開発者、セキュリティ担当者、組織が潜在的な脅威を理解し、セキュリティのベストプラクティスを導入できるよう支援します。
OWASPは、最も重大なWebアプリケーションセキュリティリスク10項目と、それらを軽減するための効果的なプロセス、手順、制御策のリストを管理しています。また、OWASPは、APIセキュリティリスクのトップ10も提供し、APIの開発と保守に携わる人々への啓発を図るとともに、一般的なAPIセキュリティ上の弱点に対する認識を高めています。
The OWASPコミュニティでは、個人や組織に対し、プロジェクトやリソースへの貢献を呼びかけています。こうした協働と調査に基づくアプローチにより、メンバーの知識と専門性を結集し、包括的で最新のリソースを提供しています。
アプリとAPIの両方に共通するセキュリティリスクがあります。セキュリティソリューションを実装する際には、これらのリスクを考慮する必要があります。たとえば、次のようなものがあります。
- 脆弱な認証/認可制御
- 設定ミス
- ビジネスロジックの悪用(クレデンシャルスタッフィング、アカウント乗っ取り)
- サーバーサイドリクエストフォージェリ(SSRF)。
OWASP Top 10アプリケーションセキュリティリスク
The OWASP Top 10は、最も重大なWebアプリケーションセキュリティリスクをまとめた、広く認知されているリストです。開発者、セキュリティ担当者、組織が、重大なWebアプリケーションセキュリティリスクの特定と軽減に向けた取り組みの優先順位を決定する際の指針となります。
あるリスクがOWASP Top 10リストに含まれていても、必ずしもすべてのWebアプリケーションにおけるそのリスクの蔓延度や深刻度を示すものではありません。また、Top Tenは特定の順序や優先度に基づいて順位付けされているわけではありません。
2021年版のOWASP Top 10 Webアプリケーションセキュリティリスクは次のとおりです。
- アクセス制御の不備。 この脆弱性は、アクセス制御と認可が十分に適用されていないために、攻撃者が許可されていない機能やデータにアクセスできる場合に生じます。原因の1つとして、安全でない直接オブジェクト参照(IDOR)が挙げられます。これは、内部オブジェクトへの直接参照として使用されるユーザー入力を、アプリケーションが検証または認可しない場合に発生する可能性があります。また、機能レベルのアクセス制御が欠如している場合にも発生することがあります。これは、アプリケーションが最初の認証または認可の段階でのみアクセス制御を検証し、その後の機能や処理全体で一貫して適用しない場合です。Webアプリケーションファイアウォール(WAF)は、アクセス制御を監視して適用し、機密性の高いオブジェクトやリソースへの不正アクセスを防ぐことで、こうした攻撃からの保護に役立ちます。
- 暗号化の失敗。このリスクは、転送中および保存中の機密データが十分に保護されていない場合に発生します。暗号化の失敗は、データ侵害、機密情報への不正アクセス、EU一般データ保護規則(GDPR)などのデータプライバシー規制や、PCIデータセキュリティ基準(PCI DSS)などの金融関連基準への違反につながる可能性があります。こうした失敗は、安全でない暗号化ストレージ、平文でのデータ保存、または安全でない鍵管理によって発生する可能性があります。また、脆弱な鍵生成や乱数生成、暗号プロトコルの欠陥に起因する情報漏えいによっても、このリスクが生じる可能性があります。
- インジェクション攻撃。インジェクションの脆弱性は、攻撃者が信頼できないデータや悪意のあるデータをコマンド言語またはクエリ言語に挿入した場合や、ユーザーが入力したデータをアプリケーションが検証、フィルタリング、サニタイズしなかった場合に発生し、悪意のあるコマンドが意図せず実行される原因となります。このリスクカテゴリーには、NoSQL、OSコマンド、LDAP、およびSQLインジェクション攻撃が含まれるほか、クロスサイトスクリプティング(XSS)も含まれます。クロスサイトスクリプティングでは、攻撃者がJavaScriptなどの悪意のあるクライアント側スクリプトを、他のユーザーが閲覧するWebページに挿入します。その結果、ログイン認証情報、個人データ、セッションCookieなどの機密情報が盗まれる可能性があります。WAFは、受信リクエストを検査してフィルタリングすることで、反射型(非持続型)、格納型(持続型)、ドキュメントオブジェクトモデル(DOM)ベースのXSSを含む悪意のあるコードインジェクションの試行を検知してブロックし、アプリケーションへの到達を防ぐのに役立ちます。
- 安全でない設計。これは、セキュリティ制御の欠如や不備、アーキテクチャ上の欠陥として現れるさまざまな弱点を含む、広範なカテゴリーです。こうした欠陥は、本質的に安全でないプロセスに依存するようアプリケーションが設計されている場合や、特定の攻撃を防ぐために必要なセキュリティ制御が実装されていない場合に生じる可能性があります。脅威モデリング、セキュア設計パターン、リファレンスアーキテクチャの活用を拡大することで、これらのリスクを軽減できます。
- セキュリティの設定ミス。 Webアプリケーションのフレームワーク、プラットフォーム、サーバー、セキュリティ制御のハードニングが不十分な場合、不正アクセスや機密情報の漏えいなどのセキュリティ脆弱性につながる可能性があります。また、クラウドサービスの権限が適切に設定されていない場合や、未使用のポート、サービス、アカウント、権限など、不要な機能がインストールまたは有効化されている場合にも、セキュリティの設定ミスによるリスクが生じる可能性があります。主要なクラウドプロバイダーではデフォルトのセキュリティ態勢が異なるうえ、アーキテクチャの分散化が進み、マルチクラウドファブリック全体に広がっているため、WebアプリとAPIのいずれにおいても、設定ミスは重大なリスクとなります。
- 脆弱で古いコンポーネント。 ライブラリ、フレームワーク、プラグインなど、古い、パッチ未適用、または脆弱なコンポーネントを使用すると、アプリケーションが既知のセキュリティ上の欠陥にさらされ、悪用されるリスクが高まる可能性があります。こうしたリスクは、オペレーティングシステム(OS)、Web/アプリケーションサーバー、データベース管理システム(DBMS)、アプリケーション、API、すべてのコンポーネント、ランタイム環境、ライブラリなど、サポート対象外または古いソフトウェアによって生じることがあります。システムの基盤となるプラットフォーム、フレームワーク、依存関係を修正またはアップグレードするための、リスクに基づく対策を組織が適時に講じていない場合、既知のリスクに数日から数週間にわたって不必要にさらされることになるため、こうした脅威は特に危険です。複雑なソフトウェアサプライチェーンとCI/CDパイプラインによる自動化は、脆弱なソフトウェアがITスタックに組み込まれるリスクを高めます。WAFは、脆弱性の悪用を防ぐための重要な暫定対策として機能します。
- 識別と認証の不備。認証、アイデンティティ、セッション管理の脆弱性により、攻撃者がユーザーアカウント、パスワード、セッショントークンを侵害したり、安全でないセッション処理を悪用したりする可能性があります。これらの領域に不備があると、クレデンシャルスタッフィングなどの自動化された攻撃を許す可能性があります。多くの人がパスワードを使い回したり、デフォルトのパスワード、脆弱なパスワード、広く知られたパスワードを使用したりするため、パスワード関連の脆弱性がこうしたリスクの最も一般的な原因となっています。セッション管理の問題も認証関連の攻撃につながる可能性があります。特に、ログアウト時や一定期間操作がない場合に、ユーザーセッションや認証トークンが適切に無効化されない場合は、そのリスクが高まります。OWASP Top 10、API Security Top 10、Automated Threatsの各プロジェクトで詳述されているように、認証制御を回避する攻撃は、WebアプリとAPIの両方にとって増大するリスクです。
- ソフトウェアとデータの整合性の不具合。これらの脆弱性は、アプリケーションコードやインフラストラクチャが、データやソフトウェアの整合性侵害を防止できないことに起因します。アプリケーションが、信頼できない提供元、リポジトリ、CDNのプラグイン、ライブラリ、モジュールに依存している場合に発生する可能性があります。また、検証されていないソフトウェア更新、機密データの変更、CI/CDパイプラインの変更時にも発生する可能性があります。攻撃者が独自の更新プログラムをアップロードし、それが配布され、すべてのインストール環境で実行される可能性があります。アプリケーションが信頼できないシリアル化データを受け取り、その有効性を確認せずに使用する安全でないデシリアライゼーションも、このリスクカテゴリーに含まれます。これにより、リモートコード実行(RCE)や権限昇格などの攻撃が可能になります。
- セキュリティのログ記録と監視の不備。ログ記録と監視が不十分だと、セキュリティインシデントを適時に検知して対応することが妨げられ、攻撃や不正な活動の特定と緩和が困難になる可能性があります。たとえば、ログイン、ログイン失敗、高額取引などの監査対象イベントが特定または記録されない場合や、アプリケーションが進行中の攻撃をリアルタイムで検知できない場合があります。
- サーバーサイドリクエストフォージェリ(SSRF)。この脆弱性は、アプリケーションがリモートリソースからデータを取得する前に、ユーザーが入力したURLを検証またはサニタイズしない場合に発生します。攻撃者はこの欠陥を悪用し、ファイアウォールなどの防御策で保護されているアプリケーションであっても、悪意のあるWebサイトにアクセスさせることができます。また、標的となるリソースがクラウドメタデータサービスやバックエンドAPIなどの他のシステムと信頼関係にある場合にも、この攻撃が発生する可能性があります。攻撃者は信頼されたサービスにリクエストを送信し、機密情報を抽出したり、不正な操作を実行したりできます。SSRFの緩和に役立てるには、最小権限でアクセスできるようにシステムを設計し、WAFを使用してセキュリティポリシー内でUniform Resource Identifier(URI)パラメーターを明示的に定義し、それらにアクセスできるホストを許可または拒否します。
2021年版OWASP Top 10では、従来の2017年版OWASP Top 10から一部の新しいカテゴリーと名称の変更が反映されています。変更点には、2017年版のリスク脅威であるXML外部エンティティ(XXE)を2021年版の「セキュリティの設定ミス」カテゴリーに統合したことや、2017年版の「クロスサイトスクリプティング(XSS)」を2021年版の「インジェクション」カテゴリーに追加したことが含まれます。2017年版のリスクである「安全でないデシリアライゼーション」は、現在、2021年版の「ソフトウェアとデータの整合性の不具合」カテゴリーに含まれています。
その他のOWASP刊行物
OWASPは現在、293件のプロジェクトを支援しています。その中には、OWASPおよびアプリケーションセキュリティ全体に戦略的価値をもたらす、以下の16件のOWASP Flagshipプロジェクトが含まれます。
- OWASP Amass Project,は、オープンソースの情報収集と能動的な偵察の手法を用いて、情報セキュリティ担当者による攻撃対象領域のネットワークマッピングと外部資産の検出を支援するツールを開発しています。
- OWASP Application Security Verification Standard Project (ASVS)は、Webアプリケーションの技術的なセキュリティ制御をテストするための基準を提供するとともに、セキュアな開発に必要な要件の一覧を開発者向けに提供しています。
- OWASP Cheat Sheet Series,は、アプリケーション開発者や防御担当者向けに、実践しやすいグッドプラクティスのガイドをまとめて提供するために作成されました。多くの開発者やアプリケーションにとって実践が難しい詳細なベストプラクティスではなく、大多数の開発者が実際に導入できるグッドプラクティスを提供することを目的としています。
- OWASP CycloneDXは、サイバーリスクの低減に向けた高度なサプライチェーン機能を提供する、フルスタックの部品表(BOM)標準です。
- OWASP Defectdojoは、テンプレート作成、レポート生成、メトリクス、基本的なセルフサービスツールを提供することで、テストプロセスを効率化するオープンソースの脆弱性管理ツールです。
- OWASP Dependency-Check,は、プロジェクトの依存関係に含まれる公開済みの脆弱性の検出を試みるソフトウェア構成分析(SCA)ツールです。特定の依存関係に共通プラットフォーム一覧(CPE)識別子があるかどうかを確認します。識別子が見つかった場合、関連する共通脆弱性識別子(CVE)エントリへのリンクを含むレポートを生成します。
- OWASP Dependency-Trackは、組織がソフトウェアサプライチェーンのリスクを特定し、低減できるインテリジェントなコンポーネント分析プラットフォームです。
- OWASP Juice Shopは、セキュリティトレーニング、啓発デモ、キャプチャー・ザ・フラッグ(CTF)競技、セキュリティツールのテスト対象として使用される、最も現代的で高度な脆弱性を意図的に含むWebアプリケーションの1つです。Juice Shopには、OWASP Top Tenのすべての脆弱性に加え、実際のアプリケーションで見つかるその他多くのセキュリティ上の欠陥が含まれています。
- OWASP Mobile Application Securityは、モバイルアプリ向けのセキュリティ標準を提供するOWASPの主力プロジェクトです。また、モバイルアプリのセキュリティテストで使用するプロセス、手法、ツールを網羅した包括的なテストガイドに加え、テスト担当者が一貫性のある完全な結果を提供するための網羅的なテストケース集も含まれています。
- OWASP ModSecurity Core Rule Setは、ModSecurityまたは互換性のあるWebアプリケーションファイアウォールで使用する汎用的な攻撃検知ルールのセットです。CRSは、誤検知を最小限に抑えながら、OWASP Top Tenを含む幅広い攻撃からWebアプリケーションを保護することを目的としています。
- OWASP Project OWTF(Offensive Web Testing Framework)は、Webアプリケーションのセキュリティを評価およびテストするために設計された、オープンソースのWebアプリケーション侵入テストフレームワークです。OWTFの主な目的は、セキュリティ担当者や侵入テスト担当者によるWebアプリケーションの脆弱性評価およびテストの自動化を支援し、セキュリティ上の弱点をより効果的に特定して対処できるようにすることです。
- OWASP SAMM(Software Assurance Maturity Model)は、セキュア開発ライフサイクルのモデル化を分析・改善するための効果的かつ測定可能な手法を提供します。SAMMはソフトウェアライフサイクル全体をサポートし、特定のテクノロジーやプロセスに依存しません。
- OWASP Security Knowledge Frameworkは、複数のプログラミング言語におけるセキュアコーディングの原則を解説し、開発者が設計段階からセキュリティを確保したアプリケーションを構築できるよう支援することを目的としたWebアプリケーションです。
- OWASP Security Shepherd,は、さまざまなスキルレベルの人々を対象に、セキュリティ意識の醸成と向上を目的として設計された、Webおよびモバイルアプリケーションのセキュリティトレーニングプラットフォームです。このプロジェクトは、AppSecの初心者から経験豊富なエンジニアまで、ペネトレーションテストのスキルをセキュリティエキスパートのレベルへと高めることを目的としています。
- OWASP Web Security Testing Guideは、WebアプリケーションとWebサービスのセキュリティテストに関する包括的なガイドです。世界中のペネトレーションテスターや組織が活用しているベストプラクティスのフレームワークを提供します。
- OWASP ZAPは、開発およびテスト段階で、セキュリティ担当者や開発者がWebアプリケーションのセキュリティ脆弱性を特定し、緩和できるように設計されたWebアプリケーションセキュリティテストツールです。
セキュリティ制御を統合すべき理由
OWASPは、Webアプリケーションのセキュリティリスクに対する認識を高め、開発者、セキュリティ専門家、組織にベストプラクティスの採用を提唱することで、ソフトウェアセキュリティの継続的な向上に重要な役割を果たしています。コミュニティ主導のプロジェクトとして、OWASPは専門家や有志が連携してWebアプリケーションのセキュリティ向上に取り組む場を提供し、安全なコーディング手法と開発方法論を推進する、セキュリティ意識の高い文化の醸成に貢献しています。
さらにOWASPは、OWASP Top 10、OWASP API Security Top 10、Automated Threats to Web Applications Projectなど、組織のセキュリティ態勢の強化に役立つ無料のオープンソースツール、文書、リソースを豊富に提供しています。OWASPのその他の取り組みには、以下が含まれます。
- OWASP Bug Logging Tool(BLT)は、インターネットユーザーがオンラインで遭遇した問題を報告できるようにするツールです。責任ある情報開示を促進し、より安全なオンライン環境を育むことで、インターネットセキュリティの向上に貢献します。
- OWASP CSRFGuardは、クロスサイトリクエストフォージェリ(CSRF)攻撃からWebアプリケーションを保護するライブラリです。
- 複数のリポジトリがGitHubで公開されています。その中には、特定のアプリケーションセキュリティトピックに関する有用な情報を簡潔にまとめたCheat Sheet Series,も含まれます。
- OWASP Top 10 Client-Side Security Risks,ブラウザ側のアプリケーションに共通する具体的な脆弱性をまとめたものです。
- OWASP Cloud-Native Application Security Top 10,クラウドネイティブアプリケーションにおける最も顕著なセキュリティリスク、関連する課題、およびその克服方法に関する情報を提供する、現在も開発中のプロジェクトです。
OWASPの活動に参加するには、OWASPのメンバーになるか、地域チャプターのミーティングに参加してください。ミーティングは無料で、メンバーかどうかを問わず誰でも参加できます。また、OWASPは毎年10件前後のグローバルおよび地域イベントを開催しています。これらは、キャリアに役立つスキルを磨き、プロフェッショナルネットワークを広げ、業界の新たなトレンドを学ぶ絶好の機会です。
F5によるOWASPセキュリティリスクへの対応
F5は、ソフトウェアセキュリティの向上と、Webアプリケーションのセキュリティリスクおよび脆弱性に対する認識向上に取り組むOWASP Foundationを支援しています。F5 Web Application Firewallソリューションは、OWASP Top 10に起因する広範なリスクをブロックし、軽減します。
F5 WAFソリューションは、シグネチャベースおよび振る舞いベースの保護に加え、F5 Labsの脅威インテリジェンスとMLベースのセキュリティを組み合わせることで、新たな脅威に対応します。集中型SaaSインフラストラクチャによって管理を簡素化しながら、クラウド、オンプレミス、エッジ環境全体でアプリケーションを一貫して保護する際の負担と複雑さを軽減します。また、F5 WAFは、中核的なセキュリティ機能、集中型オーケストレーション、分散アプリケーション全体のアプリケーションパフォーマンスとセキュリティイベントを360度可視化する単一のダッシュボードによる監視を通じて、開発フレームワークとCI/CDパイプラインに保護機能を統合し、アプリケーションセキュリティを効率化します。
F5は、拡大する攻撃対象領域と新たな脅威から保護するソリューションにより、OWASP API Security Top 10で特定されたリスクにも対処します。これらのリスクは、アプリの進化とAPI導入の増加に伴って拡大しています。 F5 Web Application and API Protection (WAAP) solutionsは、WAF、API Security、L3~L7のDDoS緩和、自動化された脅威や不正行為に対するボット防御など、包括的な保護機能によって、最新アプリの攻撃対象領域全体を防御します。この分散型プラットフォームにより、一貫したポリシーを容易に導入し、アプリとAPIの環境全体にわたって、ホストされている場所を問わずセキュリティを拡張できるほか、APIライフサイクルやより広範なエコシステムにセキュリティを統合できます。
F5は、OWASPのAutomated Threats to Web Applications Projectで示されているリスクに対処するソリューションも提供しています。F5 Distributed Cloud Bot Defenseは、既存のボット管理ソリューションを回避する可能性のある不正行為や悪用を防止します。また、ユーザーに負担をかけたり、顧客体験を損なったりすることなく、自動化された攻撃から組織を保護するため、リアルタイムの監視とインテリジェンスに加え、機械学習に基づく事後分析を提供します。攻撃者がどのように手法を変更しても、また攻撃対象がWebアプリからAPIに移行した場合や、テレメトリの偽装または人間によるCAPTCHA代行を利用して自動化対策を回避しようとした場合でも、Distributed Cloud Bot Defenseは有効性を維持します。
F5は、高度なオンラインセキュリティを実現するため、多層型DDoS防御も提供しています。これは、大規模なネットワーク攻撃、プロトコル攻撃、アプリケーションを標的とする攻撃をリアルタイムで検知・緩和する、クラウド提供型のマネージド緩和サービスです。同じ防御機能は、オンプレミスのハードウェア、ソフトウェア、ハイブリッドソリューションとしても利用できます。F5 Distributed Cloud DDoS Mitigationは、ボリューム型攻撃、アプリケーション固有のレイヤー3~4攻撃、高度なレイヤー7攻撃がネットワークインフラストラクチャやアプリケーションに到達する前に防御します。
F5 ADSPのプラットフォームコンポーネントがOWASPのセキュリティリスクからどのように保護するかについて詳しくは、以下のリソースをご覧ください。
- 「F5 BIG-IPを使用したOWASP Web Application Security Top 10 Risks – 2021の緩和」
- 「F5 NGINX App Protectを使用したOWASP Web Application Security Top 10リスクの軽減」
- 「F5 Distributed Cloud Platformを使用したOWASP Web Application Security Top 10 – 2021のリスク軽減」
- 「K45215395:ガイドの概要と目次 | OWASP Top 10 2021へのセキュリティ対策」
- 「OWASP戦術的アクセス防御シリーズ:BIG-IP APMがOWASP Top 10への防御を強化する仕組み」

