OWASPとは何か、OWASP Top 10の脆弱性とリスクの概要

OWASPは、ソフトウェアのセキュリティを向上させるための活動を行っている非営利財団です。

OWASP(Open Worldwide Application Security Project)は、信頼できる安全なアプリケーションのためのソフトウェアを組織が設計、開発、入手、運用、保守できるようにすることを目的としたオープン コミュニティです。そのプログラムには、コミュニティ主導のオープンソース ソフトウェア プロジェクトや、ローカルおよびグローバルなカンファレンスが含まれ、世界各地に数百の支部があり、数万人のメンバーが参加しています。

OWASPが重要な理由

OWASPは、Webアプリケーションのセキュリティ リスクについての意識を高める上で重要な役割を果たし、Webアプリケーション セキュリティの増大する課題に対処するための貴重なリソース、ツール、ドキュメント、ベスト プラクティスを提供しています。OWASPは、開発者、セキュリティ専門家、組織が潜在的な脅威を理解し、セキュリティのベスト プラクティスを採用できるよう支援しています。

OWASPは、Webアプリケーション セキュリティにおける最も重大な10のリスクのリストを作成し、それらを軽減するための効果的なプロセス、手順、対策とともに提供しています。OWASPはまた、APIの開発と保守に携わる人材を教育し、APIセキュリティの一般的な弱点についての意識を高めるために、APIセキュリティ リスクのトップ10のリストも提供しています。

OWASPコミュニティは、個人や組織がそのプロジェクトやリソースに貢献することを奨励しています。この協力的かつ調査主導型のアプローチにより、コミュニティはメンバーの集合的な知見と専門知識を活かして、包括的な最新のリソースを生み出しています。

アプリケーションとAPIの両方に共通するセキュリティ リスクがあり、セキュリティ ソリューションを実装する際には、以下のような点を考慮する必要があります。

  • 脆弱な認証/認可制御
  • 設定ミス
  • ビジネス ロジックの悪用(クレデンシャル スタッフィング、アカウント乗っ取り)
  • Server-Side Request Forgery(SSRF)。

 

OWASP Top 10 Application Security Risks

OWASP Top 10は、最も重要なWebアプリケーション セキュリティ リスクのリストとして広く知られています。このリストは、開発者、セキュリティ専門家、組織がWebアプリケーション セキュリティの重大なリスクを特定し、緩和するための取り組みに優先順位を付ける際の指針として役立ちます。

OWASP Top 10リストに掲載されているリスクは、必ずしもすべてのWebアプリケーションでの蔓延や重大性を示すものではなく、トップ10が特定の順序や優先順位に従ってランク付けされているわけではありません。

2021年のWebアプリケーション セキュリティ リスクのOWASP Top 10は次のとおりです。

  1. アクセス制御の不備。この脆弱性は、アクセス制御と認可の実施が不十分なために、攻撃者が許可されていない機能やデータにアクセスするのを許してしまうことで発生します。これは、安全でない直接オブジェクト参照(IDOR)が原因である可能性があり、内部オブジェクトへの直接参照として使用されるユーザー入力をアプリケーションが検証または認可しない場合に発生します。また、アプリケーションが最初の認証や認可の段階でアクセス制御を検証するだけで、アプリケーションの機能や操作全体を通して一貫して制御しない場合、機能レベルのアクセス制御が欠落していることが原因で発生することもあります。Web Application Firewall(WAF)は、機密性の高いオブジェクトやリソースへの不正アクセスを防ぐためにアクセス制御を監視し、実施することで、こうした攻撃を防御することができます。

  2. 暗号化の失敗。このリスクは、転送中や保存中の機密データの保護が不十分なために発生します。暗号化の失敗は、データ侵害、機密情報への不正アクセス、EU一般データ保護規則(GDPR)などのデータ プライバシー規制やPCIデータ セキュリティ基準(PCI DSS)などの財務基準への違反につながる可能性があります。こうした暗号化の失敗は、安全でない暗号ストレージ、プレーン テキストでのデータの保存、安全でないキー管理などが原因で発生することがあります。また、このリスクは、脆弱なキーや乱数生成、暗号化プロトコルの欠陥などに起因する情報漏洩からも発生する可能性があります。
  3. インジェクション。インジェクションの欠陥は、攻撃者が信頼できないデータや悪意のあるデータをコマンド言語やクエリ言語に挿入したり、ユーザーが提供したデータがアプリケーションで検証、フィルタリング、サニタイズされず、悪意のあるコマンドが意図せず実行されたりすることで発生します。このリスク カテゴリには、NoSQL、OSコマンド、LDAP、SQLインジェクション攻撃などがあり、さらに、他のユーザーが閲覧するWebページに攻撃者がJavaScriptなどの悪意のあるクライアント側スクリプトを挿入するクロスサイト スクリプティング(XSS)も含まれます。これにより、ログイン資格情報、個人情報、セッションcookieなどの機密情報が盗まれる可能性があります。WAFは、反射型(非永続型)、保存型(永続型)、ドキュメント オブジェクト モジュール(DOM)ベースのXSSなどの受信リクエストを検査してフィルタリングすることで、悪意のあるコードの挿入の試みを検知してブロックし、アプリケーションに到達するのを防ぐことができます。
  4. 安全が確認されない不安な設計。これは、さまざまな弱点を表す広範なカテゴリで、セキュリティ制御の欠落や無効であること、アーキテクチャ上の欠陥などとして表現されます。これらの欠陥は、アプリケーションが本質的に安全でないプロセスに依存するように設計されている場合や特定の攻撃を防御するために必要なセキュリティ制御が実装されていない場合に発生する可能性があります。これらのリスクは、脅威モデリング、安全な設計パターン、リファレンス アーキテクチャの使用を拡大することで軽減できます。
  5. セキュリティの設定ミス。Webアプリケーション フレームワーク、プラットフォーム、サーバ、セキュリティ管理においてセキュリティの強化を怠ることが、不正アクセス、機密情報の漏洩、その他のセキュリティ脆弱性につながります。セキュリティの設定ミスによるリスクは、クラウド サービスの権限の不適切な設定や、未使用のポート、サービス、アカウント、権限など、不要な機能のインストールや有効化によっても起こる場合があります。主要なクラウド プロバイダのデフォルトのセキュリティ構成はそれぞれ異なり、マルチクラウド ファブリック全体へのアーキテクチャの分散化が進む傾向にあるため、WebアプリケーションとAPIのどちらの設定ミスも重大なリスクとなります。
  6. 脆弱で古くなったコンポーネント。ライブラリ、フレームワーク、プラグインなど、古い、パッチが適用されていない、または脆弱なコンポーネントを使用すると、アプリケーションが既知のセキュリティ上の欠陥にさらされる可能性があり、悪用されるリスクが高まります。このようなリスクは、オペレーティング システム(OS)、Web/アプリケーション サーバ、データベース管理システム(DBMS)、アプリケーション、API、そしてすべてのコンポーネント、ランタイム環境、ライブラリを含む、サポートされていないソフトウェアや古いソフトウェアから生じる可能性があります。組織がシステムの基盤となるプラットフォーム、フレームワーク、依存関係の修正やアップグレードを行うためにタイムリーなリスクベースの対策を講じていない場合は特に、これらの脅威の危険性が増し、システムが数日から数週間にわたり既知のリスクに不必要にさらされる可能性があります。複雑なソフトウェア サプライ チェーンとCI/CDパイプラインによる自動化は、脆弱なソフトウェアがITスタックに導入されるリスクを高めます。WAFは、脆弱性の悪用を防ぐための重要な応急対策として機能します。
  7. 識別と認証の失敗。認証、ID、セッション管理の脆弱性を利用して、攻撃者がユーザー アカウント、パスワード、セッション トークンを侵害したり、安全でないセッション処理を悪用したりする可能性があります。これらの領域で識別と認証に失敗すると、クレデンシャル スタッフィングなどの自動攻撃を許すことになりかねません。これらのリスクの最も一般的な原因はパスワードに関係する脆弱性であり、これは多くの人がパスワードを再利用したり、デフォルトのパスワードや脆弱なパスワード、よく知られたパスワードを使用したりしているためです。セッション管理の問題も、特にログアウト中や非アクティブな期間にユーザー セッションや認証トークンが適切に無効化されなかった場合、認証関連の攻撃につながる可能性があります。OWASP Top 10、API Security Top 10、Automated Threatsの各プロジェクトで詳しく解説されているように、認証制御を回避する攻撃が、WebアプリケーションとAPIの両方のリスクを増大させています。
  8. ソフトウェアとデータの整合性の不具合。これらの脆弱性は、アプリケーション コードやインフラストラクチャが、データやソフトウェアの整合性違反から保護されていないことに起因します。これは、アプリケーションが信頼できないソース、リポジトリ、CDNのプラグイン、ライブラリ、モジュールに依存している場合に発生する可能性があります。また、ソフトウェアの更新、機密データの変更、CI/CDパイプラインの変更が検証されていない場合にも発生する可能性があります。攻撃者は独自の更新をアップロードして配布し、すべてのインストール時に実行させる可能性があります。安全でないデシリアライゼーションとは、アプリケーションが信頼できないシリアル化されたデータを取得し、そのデータが有効であることを確認せずに使用することであり、このリスクもこのカテゴリに含まれ、リモート コード実行(RCE)や特権の昇格などの攻撃を許すことになります。
  9. セキュリティ ログとモニタリングの失敗。ロギングとモニタリングが十分でないと、セキュリティ インシデントのタイムリーな検知と対応が妨げられ、攻撃や不正行為を特定して軽減することが困難になります。これは、ログイン、ログインの失敗、高額なトランザクションなどの監査対象イベントが識別または記録されず、アプリケーションがアクティブな攻撃をリアルタイムで検知できないことを意味します。
  10. Server-Side Request Forgery(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フラッグシップ プロジェクトが含まれています。

  1. OWASP Amassプロジェクト。情報セキュリティの専門家がオープンソースの情報収集と積極的な偵察技術を使用して、攻撃対象のネットワーク マッピングを実行し、外部資産を見つけるためのツールを開発しました。
  2. OWASP Application Security Verification Standard(ASVS)プロジェクト。Webアプリケーションの技術的セキュリティ管理をテストするための基盤を提供し、さらに開発者が安全に開発するための要件のリストも提供しています。
  3. OWASP Cheat Sheet Series。アプリケーション開発者と防御対策担当者向けに、わかりやすいグッド プラクティス ガイドを提供するために作成されました。多くの開発者やアプリケーションにとって細かすぎる非現実的なベスト プラクティスを取り上げるのではなく、大多数の開発者が実際に実装できるグッド プラクティスを提供することを目的としています。
  4. OWASP CycloneDX。サイバーリスク低減のための高度なサプライ チェーン機能を提供するフルスタックの部品表(BOM)標準です。
  5. OWASP Defectdojo。テンプレート化機能、レポート生成、メトリクス、基本的なセルフサービス ツールを提供することで、テスト プロセスを合理化するオープンソースの脆弱性管理ツールです。
  6. OWASP Dependency-Check。プロジェクトの依存関係に含まれている一般に公開された脆弱性の検知を試みるソフトウェア構成分析(SCA)ツールです。特定の依存関係の共通プラットフォーム一覧(CPE)識別子があるかどうかを判定することで検知を行い、見つかった場合は、関連する共通脆弱性識別子(CVE)エントリのリンクを含むレポートが生成されます。
  7. OWASP Dependency-Track。組織がソフトウェア サプライ チェーンのリスクを特定して軽減するためのインテリジェントなコンポーネント分析プラットフォームです。
  8. OWASP Juice Shop。これはおそらく高度で最新の安全でないWebアプリケーションであり、セキュリティ トレーニング、意識向上デモ、CTF競技、セキュリティ ツールの実験台などに使用されます。Juice Shopには、OWASP Top 10のすべての脆弱性と、実際のアプリケーションで見つかったその他の多くのセキュリティ欠陥が組み込まれています。
  9. OWASP Mobile Application Security。モバイル アプリケーションのセキュリティ標準を提供するためのOWASPのフラッグシップ プロジェクトです。これには、モバイル アプリケーションのセキュリティ テスト中に使用されるプロセス、手法、ツールを網羅した包括的なテスト ガイドと、テスト担当者が一貫した完全な結果を提供できるようにするための網羅的なテスト ケース セットも含まれています。
  10. OWASP ModSecurity Core Rule Set。ModSecurityまたは対応したWeb Application Firewallで使用する汎用の攻撃検知ルール セットです。CRSは、誤警告を最小限に抑えながら、OWASP Top 10を含む幅広い攻撃からWebアプリケーションを保護することを目的としています。
  11. OWASP Project OWTF(Offensive Web Testing Framework)。Webアプリケーションのセキュリティを評価し、テストするために設計された、オープンソースのWebアプリケーション侵入テスト フレームワークです。OWTFの主な目的は、セキュリティ専門家や侵入テスト担当者がWebアプリケーションの脆弱性を評価してテストするプロセスを自動化し、セキュリティの弱点をより効果的に特定して対処できるようにすることです。
  12. OWASP SAMM(Software Assurance Maturity Model)。安全な開発ライフサイクル モデリングを分析し、改善するための効果的かつ測定可能な方法を提供しますSAMMは、ソフトウェア ライフサイクル全体をサポートし、テクノロジやプロセスに依存しません
  13. OWASP Security Knowledge Framework。複数のプログラミング言語でセキュア コーディングの原則を説明するWebアプリケーションであり、開発者が設計上安全なアプリケーションを構築できるようにすることを目的としています。
  14. OWASP Security Shepherd。さまざまなスキルを持つ人々のセキュリティ意識を促進し、向上させるために設計されたWebアプリケーションとモバイル アプリケーションのセキュリティ トレーニング プラットフォームです。このプロジェクトの目的は、AppSecの初心者でも経験豊富なエンジニアでもセキュリティの専門家になれるよう、それぞれの侵入テスト スキルを強化することです。
  15. OWASP Web Security Testing Guide。WebアプリケーションとWebサービスのセキュリティをテストするための包括的なガイドです。世界中の侵入テスト担当者や組織で使用されているベスト プラクティスのフレームワークを提供します。
  16. OWASP ZAP。セキュリティ専門家や開発者が開発段階とテスト段階でWebアプリケーションのセキュリティ脆弱性を特定し、軽減できるように設計されたWebアプリケーション セキュリティ テスト ツールです。

統合的なセキュリティ管理の事例

OWASPは、開発者、セキュリティ専門家、組織の間でWebアプリケーションのセキュリティ リスクについての意識を高め、ベスト プラクティスを提唱することにより、ソフトウェア セキュリティを向上させるという継続的な取り組みで重要な役割を果たしています。コミュニティ主導のプロジェクトであるOWASPは、Webアプリケーション セキュリティの向上に協力する専門家や愛好家を集め、セキュア コーディングのプラクティスと安全な開発手法を推進する、セキュリティを意識した文化の構築を支援しています。

さらにOWASPは、OWASP Top 10、OWASP API Security Top 10、Automated Threats to Web Applicationsプロジェクトなど、組織のセキュリティ体制を強化できる豊富なオープンソース ツール、ドキュメント、リソースを無償で提供しています。その他のOWASPの取り組みには次のようなものがあります。

  • OWASP Bug Logging Tool(BLT)。インターネット利用者がオンラインで遭遇した問題を報告することができます。また、責任ある情報開示と、より安全なオンライン環境を促進することでインターネット セキュリティの向上を支援します。
  • OWASP CSRFGuard。Cross-Site Request Forgery(CSRF)攻撃からWebアプリケーションを保護するライブラリです。
  • GitHub上の多数のリポジトリ。特定のアプリケーション セキュリティ トピックに関する価値の高い情報を簡潔にまとめたCheat Sheet Seriesが含まれています。
  • OWASP Top 10 Client-Side Security Risks。ブラウザ側のアプリケーションに共通する特定の脆弱性をまとめたものです。
  • OWASP Cloud-Native Application Security Top 10。まだ開発中のプロジェクトであり、クラウドネイティブ アプリケーションの最も顕著なセキュリティ リスク、関連する課題、それらを克服する方法に関する情報を提供する予定です。

OWASPの会員になるか、地域の支部の会議に出席して、ぜひ活動に参加してください。会議には会員・非会員を問わず無料で参加できます。さらに、OWASPは毎年、およそ12回のグローバル イベントと地域イベントを開催しています。キャリア スキルを向上させ、専門家のネットワークを築き、業界の新しいトレンドについて学ぶ絶好の機会です。

F5によるOWASPセキュリティ リスクへの対処

F5は、OWASP Foundationと、ソフトウェア セキュリティの改善とWebアプリケーションのセキュリティ リスクと脆弱性についての意識向上に向けたその取り組みをサポートしています。F5 Web Application Firewallソリューションは、OWASP Top 10に起因する幅広いリスクを防ぎ、軽減します。

F5 WAFソリューションは、F5 Labsの脅威インテリジェンスやMLベースのセキュリティなどのシグネチャと動作保護を組み合わせて、新たな脅威に対処します。これにより、クラウド、オンプレミス、エッジの各環境でアプリケーションを一貫して保護する負担と複雑さが軽減され、一元的なSaaSインフラストラクチャにより管理が簡素化されます。また、F5 WAFは、分散したアプリケーション全体のパフォーマンスとセキュリティ イベントを全方位的に確認できる単一のダッシュボードを持ち、コア セキュリティ機能、一元的なオーケストレーション、監視機能を備えた開発フレームワークとCI/CDパイプラインに保護手段を統合することで、アプリケーション セキュリティを合理化します。

F5はまた、アプリケーションの進化とAPI導入の増加に伴い増大している攻撃対象を保護し、新たな脅威を防御するソリューションを使用して、OWASP API Security Top 10で特定されたリスクにも対処します。F5 Web Application & API Protection(WAAP)ソリューションは、WAF、APIセキュリティ、L3~L7 DDoS緩和策、自動化された脅威や不正行為を防御するボット対策を含む包括的な保護対策により、最新のアプリケーションの攻撃対象全体を守ります。分散型プラットフォームにより、アプリケーションとAPIがホストされている場所に関係なく、これらの資産全体にわたって一貫したポリシーを導入してセキュリティを拡張することが容易になり、APIライフサイクルとより広範なエコシステムにセキュリティを統合することができます。

F5は、OWASPのAutomated Threats to Web Applicationsプロジェクトで概説されているリスクに対処するソリューションも提供しています。F5 Distributed Cloud Bot Defenseは、ユーザーの満足度を低下させることもカスタマ エクスペリエンスを損うこともなく、既存のボット管理ソリューションを回避できる不正行為や悪用を防止し、リアルタイムの監視とインテリジェンス、MLベースのレトロスペクティブ分析を提供して、自動攻撃から組織を守ります。Distributed Cloud Bot Defenseは、攻撃者がどのように手段を変えても、攻撃対象がWebアプリケーションからAPIに変わっても、あるいはテレメトリのなりすましやヒューマンCAPTCHAソルバーを使用して自動化対策を回避しようとしても、その有効性を失いません。

F5はまた、高度なオンライン セキュリティのための多層的なDDoS対策も提供しています。これは、ネットワーク、プロトコル、アプリケーションを標的とした大規模攻撃をリアルタイムで検知して軽減する、クラウド提供型のマネージド サービスで、オンプレミスのハードウェア、ソフトウェア、ハイブリッド ソリューションでも同じ保護機能が提供されます。F5 Distributed Cloud DDoS Mitigationは、レイヤ3とレイヤ4のアプリケーション固有のボリューム型攻撃や高度なレイヤ7攻撃を、ネットワーク インフラストラクチャやアプリケーションに到達する前に防御します。