OWASP とは何ですか? OWASP トップ 10 の脆弱性とリスクの紹介

OWASP は、ソフトウェアのセキュリティの向上に取り組む非営利団体です。

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

OWASP が重要な理由

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

OWASP は、最も重要な 10 個の Web アプリケーション セキュリティ リスクと、それらを軽減するための効果的なプロセス、手順、および制御のリストを維持しています。 OWASP は、API の開発と保守に携わる人々を教育し、一般的な API セキュリティの弱点に対する認識を高めるために、上位 10 の API セキュリティ リスクのリストも提供しています。

OWASP コミュニティでは、個人や組織がプロジェクトやリソースに貢献することを奨励しています。 この共同作業と調査主導のアプローチにより、コミュニティはメンバーの集合的な知識と専門知識を活用でき、包括的で最新のリソースが得られます。

セキュリティ ソリューションを実装する際には、アプリと API の両方に共通するセキュリティ リスクを考慮する必要があります。 例えば: 

  • 認証/承認制御が弱い 
  • 誤った設定 
  • ビジネス ロジックの悪用 (クレデンシャル スタッフィング、アカウント乗っ取り)  
  • サーバー側リクエストフォージェリ (SSRF)。

 

OWASP トップ 10 アプリケーション セキュリティ リスク

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

OWASP トップ 10 リストにリスクが存在することは、必ずしもすべての Web アプリケーションにおけるそのリスクの蔓延または重大性を示すものではなく、トップ 10 は特定の順序または優先順位でランク付けされていません。  

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

  1. アクセス制御が壊れています。 この脆弱性は、アクセス制御と承認の実施が不十分なために、攻撃者が許可されていない機能やデータにアクセスできる場合に発生します。 これは、安全でない直接オブジェクト参照 (IDOR) が原因である可能性があります。これは、アプリケーションが内部オブジェクトへの直接参照として使用されるユーザー入力の検証または承認に失敗した場合に発生する可能性があります。 また、アプリケーションが最初の認証または承認段階でのみアクセス制御を検証し、アプリケーションの機能または操作全体にわたってそれらの制御を一貫して適用していない場合、機能レベルのアクセス制御が欠落していることが原因で発生することもあります。 Web アプリケーション ファイアウォール (WAF) は、アクセス制御を監視および実施して機密オブジェクトやリソースへの不正アクセスを防止することで、これらの攻撃から保護するのに役立ちます。

  2. 暗号化の失敗。 このリスクは、転送中および保存中の機密データの保護が不十分なために発生します。 暗号化の失敗は、データ侵害、機密情報への不正アクセス、EU 一般データ保護規則 (GDPR) などのデータ プライバシー規制や PCI データ セキュリティ標準 (PCI DSS) などの金融基準への非準拠につながる可能性があります。 これらの障害は、安全でない暗号化ストレージ、プレーンテキストでのデータの保存、または安全でないキー管理によって発生する可能性があります。 リスクは、弱いキーや乱数生成、または暗号化プロトコルの欠陥から発生する情報漏洩からも発生する可能性があります。 
  3. インジェクション攻撃。 インジェクションの欠陥は、攻撃者が信頼できないデータや悪意のあるデータをコマンド言語やクエリ言語に挿入した場合、またはユーザーが入力したデータがアプリケーションによって検証、フィルタリング、またはサニタイズされていない場合に発生し、悪意のあるコマンドが意図せず実行されます。 このリスク カテゴリには、NoSQL、OS コマンド、LDAP、 SQL インジェクション攻撃が含まれ、さらに、攻撃者が JavaScript などの悪意のあるクライアント側スクリプトを他のユーザーが閲覧する Web ページに挿入するクロスサイト スクリプティング (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. サーバー側リクエストフォージェリ (SSRF)。 これらの脆弱性は、アプリケーションがリモート リソースからデータを取得する前に、ユーザーが入力した URL を検証またはサニタイズしない場合に発生します。 攻撃者はこれらの欠陥を利用して、ファイアウォールやその他の防御によって保護されている場合でも、アプリケーションを悪意のある Web の宛先に強制的にアクセスさせることができます。 これらの攻撃は、標的のリソースがクラウド メタデータ サービスやバックエンド API などの他のシステムと信頼関係にある場合にも発生する可能性があり、攻撃者はそれらの信頼されたサービスにリクエストを送信して機密情報を抽出したり、不正なアクションを実行したりできるようになります。 SSRF を軽減するには、最小限の権限アクセスを実現するようにシステムを設計し、 WAF を使用してセキュリティ ポリシーで URI (Uniform Resource Identifier) パラメータを明示的に定義し、それらにアクセスできるホストを許可または拒否します。

2021 OWASP Top 10 には、以前の 2017 OWASP Top 10 からのいくつかの新しいカテゴリと名前の変更が反映されています。 これらの変更には、2017 年のリスク脅威 XML 外部エンティティ (XXE) を 2021 年のセキュリティ構成ミス カテゴリに統合し、2017 年のクロスサイト スクリプティング (XSS) を 2021 年のインジェクション カテゴリに追加することが含まれていました。 2017 年のリスク「安全でないデシリアライゼーション」は、現在、2021 年の「ソフトウェアおよびデータ整合性の障害」カテゴリに含まれています。    

その他の OWASP 出版物

OWASP は現在、OWASP とアプリケーション セキュリティ全体に戦略的な価値をもたらす次の 16 の OWASP フラッグシップ プロジェクトを含む 293 のプロジェクトを後援しています。

  1. OWASP Amass プロジェクトは、情報セキュリティ専門家がオープンソースの情報収集とアクティブ偵察技術を使用して、攻撃対象領域のネットワーク マッピングを実行し、外部資産の検出を実行できるようにするツールを開発しました。 
  2. OWASP アプリケーション セキュリティ検証標準プロジェクト (ASVS) は、 Web アプリケーションの技術的なセキュリティ制御をテストするための基礎を提供し、開発者に安全な開発の要件リストも提供します。  
  3. OWASP チートシート シリーズは、アプリケーション開発者と防御者向けに、わかりやすいベスト プラクティス ガイドのセットを提供するために作成されました。 これらは、多くの開発者やアプリケーションにとって非現実的な詳細なベスト プラクティスに焦点を当てるのではなく、大多数の開発者が実際に実装できる優れたプラクティスを提供することを目的としています。  
  4. OWASP CycloneDX は、サイバーリスクの軽減のための高度なサプライ チェーン機能を提供するフルスタック部品表 (BOM) 標準です。   
  5. OWASP Defectdojoは、テンプレート、レポート生成、メトリック、ベースライン セルフサービス ツールを提供することでテスト プロセスを効率化するオープンソースの脆弱性管理ツールです。 
  6. OWASP Dependency-Check は、プロジェクトの依存関係内に含まれる公開された脆弱性を検出しようとするソフトウェア構成分析 (SCA) ツールです。 これは、特定の依存関係に共通プラットフォーム列挙 (CPE) 識別子があるかどうかを判断することによって行われます。 見つかった場合は、関連する共通脆弱性識別子 (CVE) エントリにリンクするレポートが生成されます。   
  7. OWASP Dependency-Track は、組織がソフトウェア サプライ チェーンのリスクを特定して軽減できるようにするインテリジェントなコンポーネント分析プラットフォームです。
  8. OWASP Juice Shop は、セキュリティ トレーニング、意識向上デモ、キャプチャー ザ フラッグ コンテスト、セキュリティ ツールのモルモットとして使用される、おそらく最も最新かつ洗練された安全でない Web アプリケーションです。 Juice Shop には、 OWASP Top Ten全体の脆弱性に加え、実際のアプリケーションで見つかった他の多くのセキュリティ上の欠陥が含まれています。   
  9. OWASP モバイル アプリケーション セキュリティは、モバイル アプリのセキュリティ標準を提供する OWASP の主力プロジェクトです。 また、モバイル アプリのセキュリティ テスト中に使用されるプロセス、テクニック、ツールを網羅した包括的なテスト ガイドと、テスターが一貫性のある完全な結果を提供できるようにする包括的なテスト ケースのセットも含まれています。 
  10. OWASP ModSecurity コア ルール セットは、 ModSecurity または互換性のある Web アプリケーション ファイアウォールで使用するための一般的な攻撃検出ルールのセットです。 CRS は、誤検知を最小限に抑えながら、OWASP Top Ten を含むさまざまな攻撃から Web アプリケーションを保護することを目的としています。   
  11. OWASP プロジェクト OWTF (Offensive Web Testing Framework) は、Web アプリケーションのセキュリティを評価およびテストするために設計されたオープンソースの Web アプリケーション侵入テスト フレームワークです。 OWTF の主な目標は、セキュリティ専門家と侵入テスト担当者が Web アプリケーションの脆弱性を評価およびテストするプロセスを自動化し、セキュリティの弱点をより効果的に特定して対処できるようにすることです。
  12. OWASP SAMM (ソフトウェア保証成熟度モデル) 安全な開発ライフサイクル モデリングを分析および改善するための効果的かつ測定可能な方法を提供します SAMM はソフトウェア ライフサイクル全体をサポートし、テクノロジーやプロセスに依存しません  
  13. OWASP セキュリティ ナレッジ フレームワークは、複数のプログラミング言語で安全なコーディングの原則を説明し、設計上安全なアプリケーションを開発者が構築できるように支援する Web アプリケーションです。  
  14. OWASP Security Shepherd は、さまざまなスキルセットを持つユーザー層におけるセキュリティ意識の育成と向上を目的として設計された、Web およびモバイル アプリケーションのセキュリティ トレーニング プラットフォームです。 このプロジェクトの目的は、AppSec の初心者や経験豊富なエンジニアを対象に、侵入テストのスキルをセキュリティ専門家のレベルまで磨くことです。   
  15. OWASP Web セキュリティ テスト ガイドは、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 Project など、組織がセキュリティ体制を強化できるようにする、無料のオープンソース ツール、ドキュメント、リソースを豊富に提供しています。 その他の OWASP イニシアチブには次のものがあります:

OWASP の会員になるか、会員と非会員の両方が無料で参加できる地域支部の会議に出席して参加してください。 さらに、OWASP は毎年 12 件近くの世界および地域のイベントを主催しており、キャリア スキルを向上させ、専門的なネットワークを構築し、業界の新しいトレンドについて学ぶ絶好の機会となっています。

F5 が OWASP セキュリティリスクに対応

F5 は、OWASP Foundation と、ソフトウェア セキュリティの向上、および Web アプリケーションのセキュリティ リスクと脆弱性に関する認識の向上に尽力する同財団をサポートしています。 F5 Web アプリケーション ファイアウォール ソリューションは、 OWASP Top 10に起因する幅広いリスクをブロックし、軽減します

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

F5 は、アプリケーションの進化や API 導入の増加に伴って拡大する攻撃対象領域と新たな脅威を保護するソリューションにより、OWASP API セキュリティ トップ 10で特定されたリスクにも対処します F5 Web アプリケーションおよび API 保護 (WAAP) ソリューションは、 WAF、 API セキュリティ、L3-L7 DDoS 軽減、自動化された脅威や詐欺に対するボット防御などの包括的な保護により、最新のアプリの攻撃対象領域全体を防御します。 分散プラットフォームにより、ホストされている場所に関係なく、一貫したポリシーを簡単に導入し、アプリと API の資産全体にわたってセキュリティを拡張し、API ライフサイクルとより広範なエコシステムにセキュリティを統合できます。

F5 は、OWASP の Web アプリケーションに対する自動化された脅威プロジェクトで概説されているリスクに対処するソリューションも提供しています。 F5 Distributed Cloud Bot Defense は、既存のボット管理ソリューションを回避する可能性のある不正行為や悪用を防止し、リアルタイムの監視とインテリジェンス、および ML ベースの遡及分析を提供して、ユーザーに負担をかけたり、顧客エクスペリエンスを妨げたりすることなく、組織を自動化された攻撃から保護します。 分散型クラウド ボット防御は、攻撃者がどのようなツールを変更しても、攻撃が Web アプリから API に移行するか、テレメトリを偽装したり人間の CAPTCHA ソルバーを使用したりして自動化対策を回避しようとするかに関係なく、有効性を維持します。

F5 は、大規模なネットワーク、プロトコル、アプリケーションを標的とした攻撃をリアルタイムで検出して軽減する、管理されたクラウド配信型の軽減サービスとして、高度なオンライン セキュリティを実現する多層 DDoS 保護も提供しています。オンプレミスのハードウェア、ソフトウェア、ハイブリッド ソリューションでも同じ保護が利用できます。 F5 分散クラウド DDoS 緩和機能は、ボリューム型およびアプリケーション固有のレイヤー 3-4 攻撃と高度なレイヤー 7 攻撃がネットワーク インフラストラクチャやアプリケーションに到達する前に防御します。