2022年、Twitter は大規模なデータ侵害に見舞われ、認証の失敗により540万件の個人データが流出しました。攻撃者は Twitter の API の脆弱性を悪用し、ユーザーの機密個人データに不正にアクセスしました。この事件により評判が失墜し、ユーザーのデータを保護できなかったとして、規制当局から高額の罰金が科せられました。これは、規模に関係なく、データ侵害の影響を免れる組織はないことを示しています。2023年の API セキュリティリスクの現状に関する SALT レポートは、この傾向を裏付けています。調査によると、回答者の94%が組織内で API セキュリティ関連の問題が増加していることを確認しました。OWASP (Open Web Application Security Project) は、セキュリティ侵害への対処の緊急性を認識し、そのようなインシデントの再発を回避するためのガイドラインを発行しました。このガイドの目的は、OWASP のトップ10 セキュリティリスクに関する詳細情報を提供し、これらのリスクに準拠する方法を提案することです。
OWASP トップ 10 とその重要性を理解する
一般に OWASP として知られる Open Web Application Security Project は、世界中の主要なサイバーセキュリティ専門家によってまとめられたトップ 10 の重大なセキュリティリスクで構成されています。OWASP は開発者向けにアプリケーションのセキュリティ標準を設定しており、Web をすべての人にとってより安全な場所にするという使命のもと、新しいセキュリティの課題が出現するたびにリストが更新されます(2~3年ごと)。OWASP のリソースは世界的に認知されており、開発者はオープンソースツール、トレーニング資料、その他の洞察力に富んだリソースを使用して、安全なアプリケーションを開発し、セキュリティの脅威を軽減します。ただし、膨大な数の潜在的な脆弱性がセキュリティ専門家を圧倒する可能性があります。OWASP は、最も一般的で深刻なセキュリティ脆弱性を優先することで、タスクを容易にしました。
OWASP 2023 年の脆弱性トップ 10
セキュリティ体制の変更を必要とする新たな脅威が常に出現しています。これはリスクを理解し、最適な緩和戦略を学ぶのに役立つ、2023 年の OWASP トップ10の脆弱性リストです。
- Broken object-level authorization
破損したオブジェクトレベルの認可は、ウェブアプリケーション内の制限されたデータソースへの不正アクセスを指します。OWASP によれば、これは Web アプリケーションの94%が直面する最も一般的なサイバーセキュリティリスクの一つです。これは、アプリケーションサーバーコンポーネントがクライアントの状態を追跡および監視できないために発生し、主に Object ID パラメータに依存してアクセス許可のリクエストを決定します。Object ID を受け取り、何らかのアクションを実行する各 API エンドポイントは、このセキュリティリスクに対して潜在的に脆弱です。認証、認可、検証、およびセッション管理に適切なユーザーアクセス制御メカニズムが欠如している場合、アプリケーションセキュリティの侵害が発生する可能性があります。 - Broken authentication
破損した認証は、アプリケーションセキュリティを確保する上で重要であり、保護されたリソースへのアクセスを許可する前にユーザーの正体を確認します。これは任意のアプリケーションのセキュリティゲートウェイのようなものです。したがって、ユーザーのアイデンティティ、認証、パスワードセキュリティ管理、およびセッション管理に注視することが不可欠です。二要素認証(2FA)や他の厳格な認証手段の導入により、破損した認証の問題は減少していますが、依然として重要です。
- Broken object property-level authorization
破損したオブジェクトプロパティレベルの認可は、アプリケーションプログラミングインターフェース(API)がユーザーの役割に基づいてデータオブジェクトに認可を提供するが、ユーザーがそれらの特定のデータエンティティにアクセスできるかどうかを確認しない場合に発生します。これは、システムのアクセス制御構成のセキュリティおよびオブジェクトプロパティレベルでの権利の制限能力に焦点を当てています。これらの露出の即時の影響は、攻撃者が機密データに不正アクセスできることです。これは、サーバーコンポーネントが外部パラメータにより依存する傾向があるため、一般的な問題です。 - Unrestricted resource consumption
制限のないリソース消費は、継続的に見落とされがちな API の脆弱性です。API リクエストは CPU、メモリ、ネットワーク、およびストレージリソースを消費します。この攻撃は、対象システムに複数のリクエストを送信することによって実行されます。この OWASP の脆弱性は、アプリケーションがリソースの消費を具体的に指定せずにいる場合に発生します(例: CPU サイクル、メモリ、ネットワーク帯域幅)。制限のないリソース消費により、対象のシステムが不安定または利用不可能になり、それがシステムに依存するビジネスまたは組織に深刻な影響を与える可能性があります。これはサービス拒否(DoS)攻撃およびその他の悪意のある行為につながります。 - Broken function-level authorization
破損した機能レベルの認可の脆弱性は、不正なユーザーが特定の機能、機能、および権限にアクセスできるように奨励します。攻撃者が不正なリソースにアクセスすると、破損した機能レベルの認可の脆弱性を悪用してアカウントの作成/削除、他のユーザーのアカウントの乗っ取り、および権限の昇格を行い、管理者アクセスを得ます。この OWASP Top 10 API セキュリティの脆弱性は、適切な認可チェック、入力検証、および弱いアクセス制御の不足によるものが主な原因です。 - Server-side request forgery (SSRF)
SSRF またはサーバーサイドリクエストフォージェリのイベントは、遠隔リソースの URL 検証が不足している場合に発生します。悪意のある攻撃者は、通常は VPN やファイアウォール保護をバイパスして未知の場所からサーバーにリクエストを送信します。ハッカーは URL を操作することでこれを成功させることができます。既存の URL を新しいものに置き換えることによって、または URL パストラバーサル技術を使用して URL を改ざんすることによって、この目標を達成できます。 - Absence of protection from automated threats
自動化技術(ボットなど)が検出および保護が難しくなるにつれて、悪意のあるサイバー攻撃の脅威(ブルートフォース攻撃、分散型サービス拒否攻撃(DDoS)、クレデンシャル詰め込み攻撃など)が増加しています。API には固有のバグや欠陥がないかもしれませんが、基盤となるビジネスフローは過剰なアクティビティに対して脆弱です。ハッカーは迅速に API モデルとビジネスフローを理解し、最終的には自動化ツールを使用してそれらを悪用することができます。このような自動化された攻撃は、適切な保護がない場合にはセキュリティの問題、システムのダウンタイム、データの侵害、および財政的損失をもたらす可能性があります。 - Security misconfiguration
セキュリティ構成設定を適切に実装しないことは、アプリケーションをサイバー脅威に対して脆弱にする原因となります。誤った構成は、弱いパスワード、不適切に構成されたデータベースおよびクラウドアプリケーション、誤構成されたファイアウォールやネットワーク設定、および古いファームウェアなど、さまざまな要因から発生します。これにより、データの盗難、サービス拒否サイバー攻撃、およびマルウェア攻撃が引き起こされる可能性があります。 - Improper asset management
不適切なインベントリ/資産管理(古いアプリケーションコンポーネントなど)を使用すると、アプリケーション全体のセキュリティが危険にさらされる可能性があります。それゆえに、開発者はシステムで使用されているコンポーネントのバージョンを把握し、潜在的な脆弱性を検出し、これらを未然に防ぐために定期的にセキュリティ監査を実施する必要があります。
- Unsafe consumption of APIs
API はハッカーにとって貴重な情報への扉であるため、安全でない API の利用は悪意のあるコードの実行、データ漏洩、およびエスカレーション攻撃を引き起こす可能性があります。API は素晴らしい利点を提供する一方で、十分な対策が講じられない場合は新たなセキュリティリスクをもたらします。典型的な攻撃シナリオでは、脅威アクターがサードパーティの API を操作します。攻撃者は脆弱なサードパーティの API を見つけ出し、それを悪用します。安全でない API の利用は悪意のあるコードの実行、データ漏洩、およびエスカレーション攻撃を引き起こす可能性があります。
OWASP 2023 年のトップ 10 アプリケーションセキュリティリスクの軽減
以下の実践的なヒントに従うことで、OWASPのセキュリティ脆弱性を緩和できる可能性があります。
アプリケーションセキュリティリスクの種類 | 緩和策のヒント |
Broken object-level authentication |
・各セッションに一意のUUIDを割り当てる(このIDはサーバーサイドとクライアントサイドの両方で検証される必要がある) ・強固なアクセス制御メカニズムを実装して、ユーザーに最小限の権限を付与する |
Broken authentication |
・ブルートフォース攻撃対策として、アカウントロックアウトメカニズムを実装する ・認証の継続的な監視と分析を行う |
Broken object property-level authorization |
・APIエンドポイントを介してオブジェクトを公開する際に、ユーザーがオブジェクトのプロパティにアクセス可能とする ・スキーマベースのレスポンス検証を実装する(セキュリティレイヤーが強化される) ・可能な限り返されたデータ構造の使用を避ける |
Unrestricted resource consumption |
・外部ソースのすべてのパラメータやペイロードの最大データサイズを厳密に定義し、強制する ・レート制限を微調整する ・各パラメータに対して強固なサーバーサイドの検証を使用する |
Broken function-level authorization |
・全てのAPIエンドポイントを常に監視し、機能レベルの認証に対して評価、レビューする ・デフォルトでアクセスを拒否するための厳格な実施を実装する |
Unrestricted access to sensitive business flow |
・セキュリティの観点から有害である可能性のあるビジネスフローを特定する ・不明なクライアントデバイスへのアクセスを拒否する |
Server-side request forgery |
・安全なドメインリストを維持する ・機密性の高いサーバーデータの漏洩を避けるために、適切なエラーハンドリングメカニズムを使用する ・ハッカーが脆弱性を悪用することを防ぐために、内部IPアドレスを公開しない ・ユーザー入力とサニタイズを実装する |
Security misconfiguration |
・常に最新のソフトウェアバージョンを使用する ・強固なユーザーアクセス制御を確保する |
Improper asset/inventory management | ・すべてのコンポーネントが最新のセキュリティパッチで定期的に更新されるようにする |
Unsafe Consumption of APIs |
・組織の全体的なAPIセキュリティポジションを評価する ・すべてのAPIの相互作用が安全なネットワーク内で発生するようにする ・統合されたAPIから受信したデータを継続的に検証およびサニタイズする |
OWASP 2023 の変更点
OWASP 2023 の新しい項目 | OWASP 2021 から削除された項目 | 変更点 |
Lack of protection from automated threats | Logging and Monitoring | "Broken Access Control" は "Broken Object-Level Authorization" に変更 |
Unsafe consumption of APIs | Injection | "Identification and Authentication Failures" は "Broken Authentication" に変更 |
Broken object property- level authorization |
Software and data integrity failures |
"Vulnerable and Outdated Components" は "Improper Assets Management" に変更 |
Broken Function Level Authorization | Insecure design | |
Unrestricted resource consumption attacks and other malicious activities | Cryptographic failures | |
Lack of protection from automated threats | Logging and monitoring before significant damage can be done |
OWASP トップ 10 準拠のためのベストプラクティス
OWASP Top 10 を理解する
リスクに精通することは、OWASP コンプライアンスを維持する最も効果的な方法です。OWASP Top 10 アプリケーションセキュリティリスク 2023 は、最新のセキュリティリスクの貴重なリポジトリを作成し、開発者がさまざまなタイプのアプリケーションセキュリティリスクやアプリケーションセキュリティのベストプラクティスについての情報を得るのに役立ちます。
DevSecの実践を実装する
多くの Web セキュリティリスクは、基本的なセキュリティの側面を無視することから始まります。多くの開発者は、セキュリティ標準を遵守することを不要な負担と見なしており、コーディング中にセキュリティプロトコルを無視することの長期的な影響を認識していません。技術チームが最適な DevSec の実践を実装することを確認してください。
定期的なセキュリティ監査を実施する
サイバーセキュリティのリスク状況は静的ではありません。新しいリスクが絶えず進化しています。定期的なセキュリティ監査と脆弱性スキャンは、組織文化の一部であるべきでしょう。そのために、一般的な OWASP の脆弱性を特定して修正するための高品質な脆弱性スキャナーを実行してください。
Appknox がどのように役立つか
OWASP リストはセキュリティチームにとって良い出発点を提供しますが、アプリケーションのセキュリティ環境のギャップを手動で特定することは困難かつ時間がかかります。Appknox はバイナリベースの自動脆弱性評価ツールであり、セキュリティギャップを迅速に特定し追跡します。アプリケーションをスキャンした後、Appknox は OWASP トップ 10 リストに記載されている潜在的な脆弱性と、実行可能な修復手順が含まれた詳細な CVSS レポートを生成します。
これにより、セキュリティチームがリスクを理解し、迅速に修正することができます。したがって、Appknox では、お客様のアプリケーションが最高のセキュリティ基準を満たすことにつながります。
よくある質問
OWASP Top 10 に準拠しない場合、どのような影響がありますか
OWASP のガイドラインは、HIPAA や GDPR などのデータ基準とは異なり、任意のものですが、この文書は世界中のセキュリティ専門家にとってベンチマークとなります。これらのガイドラインに準拠しない場合、データ漏洩、財務損失、巨額の罰金、そして評判の損失が発生する可能性があります。
アプリケーションの OWASP 2023 への準拠を評価するにはどうすればよいですか
OWASP アプリケーションコンプライアンスの評価は、脆弱性の詳細な評価を必要とする複雑なタスクです。ペネトレーションテストや脆弱性評価ツールを使用することで、セキュリティリスクの 360 度の視点を提供します。これらのツールは、手動のセキュリティ評価中に見落とされる可能性のあるリスクを特定することができます。一部のアプリケーションセキュリティテストツールは、セキュリティシナリオの詳細な評価後にスコアを提供します。
アプリケーションの OWASP 2023 への準拠を改善するにはどうすればよいですか
OWASP 準拠を改善するには、全体的なセキュリティポジションを評価し、セキュリティコントロールや安全なコーディングプラクティスを実装するための多面的なアプローチが求められます。
Appknox は潜在的な脆弱性を重大な問題になる前にどのように検出しますか
Appknox は、アプリケーションセキュリティの潜在的な弱点を特定し、それが重大なセキュリティ問題に発展する前に積極的に検出することができます。これにより、潜在的なセキュリティ侵害やデータ漏洩を防ぐのに役立ちます。
参照: OWASP Top 10 2023 準拠に関する包括的なガイド
(https://www.appknox.com/blog/a-comprehensive-guide-on-owasp-top-10-2023-compliance)
三和コムテックのスマホアプリ診断製品ページもございます。
Webアプリ診断(Web画面やWebAPIの診断)はこちらになります。
こちらもぜひご覧ください。
- トピックス:
- セキュリティ
- 関連トピックス:
- OWASP トップ 10