Akamai は、オンラインビジネスの力となり、守るサイバーセキュリティおよびクラウドコンピューティング企業です。当社の市場をリードするセキュリティソリューション、優れた脅威インテリジェンス、グローバル運用チームによって、あらゆる場所でエンタープライズデータとアプリケーションを保護する多層防御を利用いただけます。Akamai のフルスタック・クラウド・コンピューティング・ソリューションは、世界で最も分散化されたプラットフォームで高いパフォーマンスとコストを実現しています。多くのグローバル企業が、ビジネスの成長に必要な業界最高レベルの信頼性、拡張性、専門知識を提供できる Akamai に信頼を寄せています。
アプリケーション・プログラミング・インターフェース(API)エンドポイントは、クライアントがAPIにアクセスできる特定のパスまたはURLです。これらのエンドポイントは、アプリケーションがサービスとやり取りし、データを取得し、特定の機能を実行できるようにする認証されたエントリーウェイとして機能します。
エンドポイントは機微な情報を公開し、重要なシステムへのアクセスを可能にするため、サイバー犯罪者はAPIエンドポイントを非常に効果的な攻撃ベクトルと見なします。APIエンドポイントのセキュリティを確保するためには、セキュリティチームが多層的なセキュリティアプローチを採用し、いくつかの重要なベストプラクティスを遵守する必要があります。
APIエンドポイントとは
APIは、あるソフトウェアプログラムやシステムが別のソフトウェアプログラムやシステムと通信できるようにする定義とプロトコルのセットです。中間的な役割を果たすAPIは、システムがどのようにやり取りできるかを管理し、アプリケーションが他のアプリケーション、顧客、外部ユーザーとデータや機能を共有できるようにします。APIはアプリケーションが他のアプリケーションのデータや機能にアクセスできるようにするため、開発者がより強力なアプリケーションを迅速に作成できるようにしながら、アプリケーションとシステムを接続するのに役立ちます。
APIエンドポイントは、アプリケーション間の通信のゲートウェイとして機能し、データやリソースの正確な場所を提供します。基本的なレベルでは、APIエンドポイントは、アプリケーションやシステムが別のアプリケーションやシステムによって提供されるリソースやサービスにアクセスできるようにする特定のURLです。これらのエンドポイントURLにより、クライアントアプリケーションはAPIとのやり取り時にGET、POST、PUT、DELETEなどのHTTPリクエストを行えます。エンドポイントへのリクエストは、URLとともに特定のHTTPメソッドを送信することで行われます。APIサーバーがリクエストを処理し、レスポンスを返します。このシンプルなインタラクションは、最新のWebアプリケーションの基盤です。
APIエンドポイントセキュリティの必要性
APIは最新のアプリケーションやデジタルシステムで重要な役割を果たすため、企業のセキュリティチームはAPIエンドポイントを保護し、セキュリティを確保する必要があります。優れたAPIエンドポイント保護により、組織は重要な目標を達成できます。
- 機微な情報の保護:APIエンドポイントは、個人情報、財務情報、知的財産などの機微な情報を処理することがよくあります。エンドポイントのセキュリティが確保されていない場合、攻撃者はエンドポイントを悪用してデータを窃取したり、機微な情報の機密性と完全性を侵害したりする可能性があります。
- ユーザーの信頼の維持:APIエンドポイントのセキュリティを確保できないと、組織の評判が大きく損なわれ、ユーザー、顧客、パートナーの信頼が損なわれる可能性があります。これらの関係者との信頼関係を築くには、強力なエンドポイントセキュリティが必要です。
- コンプライアンスの確保:規制の厳しい多くの業界では、機微な顧客情報や機密データを保護できないと、多額の罰金や法的罰則が科される可能性があります。優れたセキュリティは、GDPR、HIPAA、PCI DSSなどの規制や標準へのコンプライアンスを確保することで、こうした結果を回避します。
- 経済的損害の防止:脅威アクターが銀行口座から資金を抜き取ったり、不正に資金を送金したりすると、データ漏えいやセキュリティインシデントは直接的な経済的損失につながることがよくあります。しかし、APIエンドポイントのセキュリティを確保できないと、修復、フォレンジック調査、ビジネス機会の損失といった間接的なコストもかかります。
APIエンドポイントのセキュリティ確保の課題
強力なAPIエンドポイントセキュリティを維持するためには、ITチームがさまざまな課題に対処する必要があります。
- 複雑なアタックサーフェス:他のアプリケーションやシステムでさまざまな機能を利用できるようにするためには、APIが複数のエンドポイントを公開する必要があります。このような露出とAPIの数の増加が相まって、アタックサーフェスが大幅に拡大します。公開されている各エンドポイントは、攻撃者にとって潜在的な侵入口です。
- 新たな脅威:攻撃者は絶えず手法を改良し、攻撃対象の新たな脆弱性を探しています。最新の脅威に対応し、すべてのAPIエンドポイントを脅威から確実に保護するためには、常に警戒する必要があります。
- 可視性の欠如:ITセキュリティ担当者は、ITエコシステムが複雑化し、オンプレミスとクラウドにまたがって分散しているため、APIの100%を可視化し、インベントリを作成することが困難であることがよくあります。サードパーティAPI、オープンソースAPI、シャドウAPIにより、資産の特定がさらに困難になります。
- パフォーマンスへの影響:暗号化、検証、レート制限など、APIエンドポイントのセキュリティを確保するための多くの手法は、使用するツールの種類によっては、APIの応答性とパフォーマンスに悪影響を及ぼす可能性があります。ITチームは、セキュリティのニーズと、ユーザーに高速でシームレスな体験を提供する必要性のバランスを緊密に取る必要があります。
- 開発スケジュール:開発チームは常に、新しいアプリやAPIを迅速にリリースするというプレッシャーにさらされています。チームがプレッシャーにさらされながら毎日新しい製品や新しいバージョンをリリースする場合には、セキュリティテストの厳格さやセキュリティプロトコルの遵守が損なわれる可能性があります。
- 急速な成長:多くの組織では、APIとAPIエンドポイントは異なる領域の複数のチームによって開発されており、プロセスにセキュリティを導入するための中央フレームワークはありません。その結果、本番環境でAPIエンドポイントのセキュリティを確保することが難しくなることがよくあります。
- 統合:APIは多くの場合、他のシステム、Webサービス、Webアプリケーションと統合されています。これらの外部システムのセキュリティ体制が標準レベルに達していない場合、新たな脆弱性が生じる可能性があります。
APIエンドポイントセキュリティに対する脅威
APIエンドポイントのセキュリティを確保する上での脅威の世界は大きく、拡大しています。最も一般的な脅威には、次のようなものがあります。
- 認証および認可プロセスの不備:認証メカニズムが脆弱であるか、不適切に実装されていると、攻撃者が不正なAPIアクセスを取得できる可能性があります。認可プロセスに問題があると、正当なユーザーや脅威アクターが本来持つべきではない権限を取得できるようになり、侵害の可能性が生じます。
- インジェクション攻撃:インジェクション攻撃は、APIコードの脆弱性や欠陥を悪用するために悪性のコードやデータがAPIリクエストに挿入される場合に発生します。その結果、攻撃者は悪性のコマンドを実行したり、データに不正にアクセスしたりする可能性があります。
- サービス妨害(DoS)攻撃:APIエンドポイントに対するDoS攻撃は、過剰なリクエストでAPIを過負荷状態にしたり、すべてのリソースを消費する脆弱性を悪用したりすることで、正当なユーザーがAPIを利用できないようにしようとします。攻撃者はエンドポイントに大量のリクエストを送信し、トラフィックを処理するキャパシティを超過させます。その他の方法では、攻撃者はAPIへの過剰な接続を開いたり、悪意を持って作成されたXMLペイロードを送信してサーバー、メモリー、CPUリソースを消費したりします。
- 機微な情報の公開:一部の攻撃は、暗号化されていないトラフィックから取得した情報や、APIリクエストに応答してAPIエンドポイントが意図せずに大量の情報を公開する場合に得られる情報を悪用します。
- Machine-in-the-middle(MITM)攻撃:この形態のAPIエンドポイント脅威では、攻撃者によって2人の無防備な関係者間の通信が傍受または変更され、データの窃盗、改ざん、不正アクセスにつながる可能性があります。攻撃者は、クライアントとAPIサーバーの間に自分自身を配置するために、盗聴やDNSスプーフィングなどの手法を使用する可能性があります。
- セキュリティ上の設定ミス:ITチームがAPIエンドポイントを不適切に設定すると、攻撃者は簡単に不正アクセスを得ることができます。設定ミスは、不完全なセットアップ、安全でない設定、更新の失敗が原因である可能性があります。
- 総当たり攻撃:攻撃者は、自動化されたツールを使用し、複数のユーザー名とパスワードの組み合わせを使用してアカウントへのログインを試みることがよくあります。
APIエンドポイントのセキュリティを確保するソリューション
APIエンドポイントのセキュリティを確保するために、ITチームはさまざまなテクノロジーとソリューションを展開することができます。
認証および認可テクノロジー:クライアントの認証と認可のための実証済みのフレームワークとテクノロジーを実装することは、APIエンドポイントのセキュリティを確保するための最も重要なステップの1つです。OAuth 2.0は、トークンベースの安全な認可を管理し、HTTPサービス上のユーザーアカウントへの限定的なアクセスを提供するフレームワークです。OpenID Connectは、OAuth 2.0の上にアイデンティティレイヤーを追加します。JSON Web Tokens(JWT)は、2者間で転送されるクレームを表すコンパクトでURL安全な手段です。
データ暗号化ソリューション:SSL/TLSプロトコルを使用して転送中のデータを暗号化することで、APIコールが傍受されたり改ざんされたりすることがなくなります。Transport Layer Security(TLS)テクノロジーは、クライアントとサーバーの間を移動するときにデータを暗号化し、盗聴や改ざんを防止します。Secure Socket Layer(SSL)は古い暗号化モデルであり、セキュリティを強化するためにTLSに置き換えられています。
API ゲートウェイ:ゲートウェイは、APIリクエストの単一のエントリーポイントとして機能することで、APIエンドポイントで特定の保護を提供します。これにより、ゲートウェイはレート制限、負荷分散、監視などの特定のセキュリティ機能を実行できます。
レート制限およびスロットル:レート制限テクノロジーは、特定の期間にクライアントが実行できるAPIリクエストの数を制御することで、悪用を防止し、DoS攻撃を緩和します。スロットリングは、クライアントが利用できる帯域幅を制限し、リソースの過剰使用を防止します。
ファイアウォール:Web アプリケーションファイアウォール (WAF)は、クロスサイトスクリプティング(XSS)、SQLインジェクション、その他のセキュリティ脅威などの一般的な攻撃からエンドポイントを保護します。
SIEM:セキュリティ情報およびイベント管理システムは、APIエンドポイントを含むITエコシステム全体のさまざまなリソースからアクティビティを収集して分析し、セキュリティアラートのリアルタイム分析を提供します。
アクセス制御:ロールベースのアクセス制御(RBAC)を提供するテクノロジーは、個々のユーザーの役割に基づいてAPIエンドポイントへのアクセスを制限します。属性ベースのアクセス制御(ABAC)は、ユーザー、リソース、環境などの属性を使用してアクセスを制御し、コンテキスト認識型のアクセス決定を行います。
API 管理プラットフォーム:これらのソリューションは、APIエンドポイントを作成、公開、監視、保護するためのツールを提供します。組み込みのセキュリティ機能には、APIキー管理、ユーザー認証、分析などのツールが含まれます。
監視とロギング:APIトラフィックを監視するための危機管理ツールは、悪性のアクティビティを示す可能性のある異常なパターンを明らかにすることができます。ロギングソリューションは、監査とフォレンジック分析のために、APIリクエストと応答の詳細な記録を保持します。
ボット管理プラットフォーム:ボット管理ソリューションは、ボット からのトラフィックを検知して管理し、自動化された攻撃、データスクレイピング、APIエンドポイントへのその他の悪性アクティビティを防止します。
セキュリティテスト:セキュリティテストテクノロジーには、自動スキャナーと手動のペネトレーションテストが含まれます。
APIエンドポイントのセキュリティを確保するためのベストプラクティス
具体的なセキュリティテクノロジーに加えて、組織はいくつかのベストプラクティスに従うことで、APIエンドポイントのセキュリティを確保できます。
- 入力の検証:すべての入力が適切に検証されるようにすることで、インジェクション攻撃などの脅威を防ぐことができます。入力をクリーニングまたはサニタイズ(無害化)し、有害な可能性のあるデータを削除することも、攻撃の防止に役立ちます。
- ゼロトラストの導入:ゼロトラストのセキュリティモデルでは、組織の内外のエンティティはデフォルトでは信頼されません。APIエンドポイントへのアクセスをリクエストするすべてのユーザー、デバイス、アプリケーションは、リクエストごとに継続的に認証および検証される必要があります。ゼロトラストには、最小権限の原則も含まれます。この原則では、ユーザーとアプリケーションは、タスクを実行するために必要な最小限のアクセス権限しか持ちません。
- HTTPSの使用:ITチームは、HTTPSを唯一の通信オプションとすることで、パケットスニファーやMachine-in-the-Middle(MITM)攻撃によってパスワード、秘密鍵、クレジットカード情報が簡単に盗まれたり、プレーンテキストから読み取られたりするのを防ぐことができます。
- 常に一方向のパスワードハッシュ手法を使用する:対称暗号化ではなく一方向暗号化(ハッシュ化)でパスワードのセキュリティを確保することで、パスワードが攻撃者からより安全に保護されます。
- 安全なAPI設計:開発プロセスにセキュリティ対策を導入することで、脆弱性や欠陥を減らしてAPIエンドポイントを作成できます。
- パッチ適用と更新:ITチームは、エンドポイントに定期的にパッチとアップデートを適用して、既知の欠陥、脆弱性、その他のセキュリティリスクを排除する必要があります。
- 脅威インテリジェンス:ITチームは、APIセキュリティ のベストプラクティスや、OWASP API Security Top 10に記載されているようなAPIエンドポイントに対する最新の脅威に関するインテリジェンスを常に把握する必要があります。
よくある質問(FAQ)
APIエンドポイントは、クライアントがバックエンドサービスとやり取りできるようにするAPI内の特定のパスです。各エンドポイントは一意の関数またはリソースを表します。
REST(Representational State Transfer)APIとSOAP(Simple Object Access Protocol)APIは、基盤となるプロトコルと標準が原因で、異なるセキュリティアプローチを必要とします。REST APIは軽量かつシンプルであるため、実装は容易ですが、より包括的なセキュリティメカニズムが必要です。REST APIセキュリティは、主にトランスポートレベルのセキュリティ、トークンベースの認証、HTTPセキュリティメカニズムに依存します。SOAP APIエンドポイントには、トランスポートレベルのセキュリティと、WS-Security標準を使用したメッセージレベルのセキュリティの両方が必要です。
Akamai のセキュリティソリューション
Akamai Security は、パフォーマンスや顧客体験を損なうことなく、ビジネスを推進するアプリケーションをあらゆる場面で保護します。当社のグローバルプラットフォームの規模と脅威に対する可視性を活用して、お客様と Akamai が提携して、脅威を防止、検知、緩和することで、ブランドの信頼を構築し、ビジョンを実現することが可能になります。