API セキュリティとは何ですか? What is API security?

8 minute read
Main takeaways from API Security:
  • API security involves protecting APIs from internal and external threats through measures like access control, data protection, and monitoring.

  • The OWASP API Security Top 10 outlines key vulnerabilities, including broken authorization, excessive data exposure, and misconfiguration.

  • Different API types require specific security approaches, such as encryption for SOAP, HTTPS for REST, and query limits for GraphQL.

  • Following best practices like API discovery, encryption, input validation, and regular monitoring is essential to secure APIs and prevent breaches.

APIとは何ですか?

アプリケーション プログラミング インターフェイス (API) は、さまざまなソフトウェアやサービス間の通信を可能にするソフトウェアの一種です。

主な API アーキテクチャは次の 4 つあります。

  • REST は、クライアントとサーバーが独立して動作し、HTTP を介して対話する、ステートレスで統一されたアーキテクチャです。

  • SOAP はREST よりも複雑で、XML データ形式のみを扱うため、より多くの帯域幅を消費します。

  • RPC (リモート プロシージャ コール) プロトコルを使用すると、分散システム内のリモート サーバー上でプロシージャを実行できます。

  • GraphQL は、独自のクエリ言語を備えたスキーマ駆動型の厳密に型指定されたインフラストラクチャであり、クライアントが単一のリクエストで特定のデータを取得できるようにします。

API セキュリティとは何ですか?

API はさまざまな脅威にさらされています。ハッカーによる不正侵入など外部から発生する脅威もありますが、内部から発生する脅威もあり、システムを混乱させたり、API を攻撃に対して無防備にしたりする可能性があります。API セキュリティとは、API を安全に保つために設計された戦略、ツール セット、および手順を指します。   

API セキュリティは、次の 3 つの重要なセキュリティ セクターに重点を置いています。

  • アプリケーションセキュリティ

  • 情報セキュリティ

  • ネットワークセキュリティ

API セキュリティは、アクセス制御、ID ベースのセキュリティ、コンテンツの検証、レート制限、リクエストの調整、監視と分析、データ保護などの問題に対処するのにも役立ちます。API はアプリケーションやネットワークのエントリ ポイントとして機能するため、組織を潜在的な脅威から保護するには API セキュリティが最も重要です。

API セキュリティが重要なのはなぜですか?

API は現在、現代のソフトウェア開発の基盤となっています。ほとんどの組織は、API を使用してデータを交換し、内部または外部のソフトウェア コンポーネントとインターフェイスします。

しかし、API はサイバー攻撃の影響を受けやすく、悪意のある目的で脆弱性を悪用しようとするハッカーの標的になることがよくあります。破損した API や公開された API は、重大なデータ侵害の原因として上位にランクされています。

API のセキュリティを確保するということは、データの機密性を維持し、許可されたユーザーのみがアクセスできるようにすることを意味します。これには、送信中および送信後のデータの整合性の保護が含まれます。この意識の高まりにより、API セキュリティへの注目が高まっています。

API セキュリティリスク: OWASP トップ 10

OWASP Top 10 は、開発者がセキュリティを考慮してアプリケーションを設計できるようにするためにまとめられたセキュリティ リスクのリストです。これらのポイントが API とどのように関係するかを見てみましょう。

  1. オブジェクトレベルの認証の不備: API は制御オブジェクト識別子に接続できますが、適切なセキュリティが確保されていないと、API によってそれらの識別子が公開され、攻撃を受けやすくなります。たとえば、2018 年に米国郵政公社 (USPS) は、アクセスと認証の制御が弱いために脆弱性が発生し、6,000 万人を超えるユーザーの重要なデータが侵害されました。

  2. 認証の不備:堅牢な認証メカニズムがなければ、攻撃者が API にアクセスし、悪意のある目的で使用する可能性があります。2021 年 6 月、適切な認証を欠いた公開 API が悪用され、約 130 万人の個人データが侵害されました。単純なトークンまたはキー認証でこの攻撃を阻止できた可能性があります。

  3. オブジェクト プロパティ レベルの認証の不備:開発者は、API は認証されたユーザーのみがアクセスするものと想定して、余分なデータを返すことがあります。しかし、攻撃者はこの余分なデータを悪用する可能性があります。HealthEngine はフィードバック API でこの脆弱性に悩まされ、59,000 人を超える患者の個人情報が漏洩しました。

  4. 無制限のリソース消費: API リクエストが行われるたびに、ネットワーク帯域幅、メモリ、コンピューティングなど、一定量のリソースが消費されます。これにより、無制限のリクエストによって API が過負荷になり、運用コストが増加したり、正当なユーザーに対するサービス拒否が発生したりするため、内部的な脆弱性が生じます。

  5. 機能レベルの認証の不備:多くのシステムではアクセス制御ポリシーが複雑です。機能レベルの認証が実装されていない場合、攻撃者は許可されていない機能にアクセスできます。2022 年 9 月の最近の事例では、この脆弱性により攻撃者が Uber の IT インフラストラクチャに侵入しました。

  6. 機密性の高いビジネス フローへの無制限のアクセス:重要なビジネス フローに過度にアクセスすると、業務が中断される可能性があります。2011 年、CITI はビジネス フローを操作する攻撃により、北米のカード所有者 35 万人に影響するデータ侵害に見舞われました。

  7. サーバー側リクエストフォージェリ (SSRF): SSRF 脆弱性は、API が検証されていないユーザー定義の URL からデータを取得するときに発生し、攻撃者がセキュリティ対策を回避できる可能性があります。Docker や Kubernetes などの最新のテクノロジスタックは特に脆弱です。

  8. セキュリティの誤った構成:安全でない API 構成は、データを公開したり不正アクセスしたりするさまざまな攻撃につながる可能性があります。これらの脆弱性は、パッチの不足、システムの古さ、エラーの詳細の公開など、さまざまな要因から発生します。

  9. 不適切な在庫管理: API は従来の Web アプリケーションよりも多くのエンドポイントを公開することが多いため、正確なドキュメントを維持することが不可欠です。在庫管理が不十分な場合、安全でないストレージ、弱い暗号化、不適切なアクセス制御などが原因で発生することがあります。

  10. API の安全でない使用: API の使用は、多くの場合、開発者がサードパーティの応答に置く信頼に左右されます。多くの開発者は、サードパーティの API、特に有名企業が提供する API は本質的に安全であると信じています。この誤った信頼は脆弱性につながる可能性があります。攻撃者は API を直接標的にするのではなく、これらのサードパーティの統合を悪用する可能性があります。SSRF 攻撃のようなインシデントは、応答の検証とサニタイズが不十分なために発生する可能性があります。たとえば、2021 年 1 月、Parler はサードパーティの API が認証なしでデータにアクセスできるようにすることでセキュリティの問題に直面しました。攻撃者は機密情報を含む URL を推測し、認証なしでデータにアクセスしました。

Pro tip

これらのリスクを理解し、適切なセキュリティ対策を実施することで、組織は API に関連する潜在的な脅威を大幅に軽減できます。各リスクの詳細な内訳については、OWASP の API セキュリティ トップ 10 をご覧ください。

SOAP、REST、GraphQL の API セキュリティ

3 つの主要な API アーキテクチャ (SOAP、REST、GraphQL) にはそれぞれ独自のセキュリティ上の意味合いがあります。

API ArchitectureSecurity Implications
SOAP API セキュリティSOAP は、分散型コンピュータ ネットワークで構造化データを交換するために設計された、合理化された XML ベースのメッセージング プロトコルです。HTTP や SMTP などのさまざまなプロトコルに適応できます。SOAP のセキュリティ レイヤーには、転送中のデータを暗号化するトランスポート レイヤー セキュリティ (HTTPS など) と、メッセージの整合性を維持するための XML デジタル署名などのメッセージ レベルのセキュリティが組み込まれています。標準化されたガイドラインを提供する Web サービス (WS) 仕様に従うことで、SOAP は、エラー処理を強化する WS-ReliableMessaging などの堅牢なセキュリティ機能を提供します。
REST API セキュリティREST API は、データ表現に JSON を使用し、データ転送に HTTP/s を利用することで、開発プロセスを効率化します。REST には固有のセキュリティ メカニズムがないため、そのセキュリティは API の設計に依存します。データ転送、展開、クライアントとのやり取りにセキュリティ対策を実装することが不可欠です。通常、REST API は HTTPS などのプロトコルを利用し、トークンベースの認証を利用してセキュリティを強化します。
GraphQL API セキュリティオープンソース API 言語である GraphQL は、クエリ言語としても、クエリ実行のランタイムとしても機能します。厳密に型指定されたスキーマにより、データの一貫性が確保されます。ただし、その柔軟性は諸刃の剣となる可能性があります。複雑でフィルタリングされていないクエリはサーバーを誤った方向に導き、悪意のあるリクエストを実行する可能性があります。スロットリング、クエリの深さ制限の設定、クエリ タイムアウトの実装などのセキュリティ対策を採用することで、これらの脆弱性を軽減できます。
Pro tip

あなたの会社では GenAI を使用してアプリケーションを開発していますか?他のマルチテナント サービスと同様に、GenAI を組み込んだアプリケーションは従来の API の脆弱性の影響を受ける可能性があります。マルチテナント クラウド アプリの一部として生成 AI モデルを安全に展開する方法を学びます。

API セキュリティ標準

API を安全に保つための鍵は、より優れた API セキュリティ標準を維持することです。まず、次の点を遵守してください。

APIの検出とインベントリ

API discovery and inventorying

Your API security tool should offer and inventory of all APIs that are detected and effectively exposed to internet

API を保護するには、まずその存在を認識する必要があります。スキャナーを使用した継続的な自動検出とインベントリ作成は、すべての API エンドポイントを検出し、そのパラメーターとデータ タイプを理解するために不可欠です。

APIのリスクと脆弱性を特定する

Example of an AWS Lambda exposing an API to the internet and storing a secret that allows for lateral movement

システムの脆弱性を認識することは、API を安全に保つために重要です。システム コンポーネントを最新の状態に保ち、API ライフサイクルの潜在的な弱点を特定し、OWASP の主要な API リスク、ボット攻撃、DDoS 攻撃でカバーされている脅威に対して多層API セキュリティ ツールを導入します。

暗号化を使用する

暗号化された API は侵害される可能性が低くなります。署名を利用することで、許可されたユーザーのみがデータにアクセスして変更できるようになります。TLS 暗号化プロトコルなどの方法は、API データを効果的に保護します。

強力な認証と承認を実装する

認証では、通常 API キーまたは基本アクセス認証を使用してユーザーを検証し、承認では、多くの場合ロール ベース アクセス制御 (RBAC) によって実現される、許可されたデータのみにユーザーがアクセスできるようにします。どちらも堅牢な API セキュリティには不可欠です。 

レート制限とスロットリングを使用する

DoS 攻撃と DDoS 攻撃は業務に深刻な脅威をもたらし、API は一般的なベクトルです。クォータとレート制限を適用することで、このような脅威や、クレデンシャル スタッフィングなどの追加のリスクを阻止できます。

APIゲートウェイを使用する

マネージド API は脆弱性を軽減します。API ゲートウェイはクライアントとバックエンド サービスの中間仲介役として機能するため、トラフィックを認証し、API セキュリティを強化できます。

API セキュリティへの新しいアプローチ

すでに述べたように、API セキュリティは API の検出とインベントリ作成から始まります。API セキュリティの既存のソリューションは、主にエージェントとネットワーク スキャナーに基づいています。ただし、これらは完全な可視性を提供するには不十分であり、展開も複雑です。Wiz Dynamic Sc​​anner により、Wiz は API セキュリティに新しい最新のアプローチを導入しました。

Wiz Dynamic Sc​​anner は、すべての主要クラウド プロバイダーに対するエージェントレス スキャンにより、展開のすべてのクラウド レイヤーを分析し、クラウド環境内に存在する可能性のあるリスク コンポーネントと攻撃パスを検出できるようにします。 

このアプローチにより、インターネットに公開されているすべての API とそれに関連するコンテキストを完全に識別できる可視性が得られるため、公開されている内容と、それらが悪用された場合の影響範囲がどの程度になるかを完全に把握できます。 

より明確な理解を得て、自分の環境でどのように動作するかを確認するには、Wiz のデモをスケジュールして、その動作と提供されるすべての機能を実際に確認してください。

API セキュリティに対するエージェントレスでコンテキストに基づいたアプローチ

Wiz を使用すると、実行環境に関連付けられたすべてのコンテキストを使用して、環境内のどこに API が公開されているかという質問に簡単に答えることができるようになります。 デモを見る

Get a demo 

API セキュリティに関するよくある質問