API保護とは、アプリケーション・プログラミング・インターフェース(API)を保護するための活動、ツール、および実践を指します。API保護の目的は、サイバー攻撃、セキュリティ侵害、および許可されていない、または望ましくない使用からAPIを保護することです。
API は非常に一般的で、機密性の高いソフトウェア機能やデータへのアクセスを可能にするため、攻撃者にとってますます格好の標的になっています。これにより、API 保護は現代の Web アプリケーションセキュリティの重要な構成要素になります。
API セキュリティは、財務情報や個人情報などの機密性の高いデータを保護し、API およびそれが接続するシステムの完全性を損なう可能性のある攻撃を防ぐために不可欠です。
API 保護が重要な理由
API は、さまざまなアプリケーションが迅速に「通信」する手段として機能し、企業が異なるシステムやテクノロジーを統合できるようにします。API は、認証トークン、個人データ、支払い情報、その他多くの非常に機密性の高い活動を処理することがよくあります。そのため、悪意のある攻撃者にとって魅力的な標的となります。
APIは高度に自動化されており、予測可能であるため、攻撃者にとって調査および悪用がしやすい標的になります。攻撃者がAPI の脆弱性を悪用して機密性の高いデータにアクセスし、アプリケーションに悪質なコードを挿入するなどして、データ侵害やシステムクラッシュ、その他の深刻な結果をもたらしていることは、周知のとおりです。
これらの理由から、API 保護ツールと戦略を優先することが重要です。適切な保護対策が講じられていない場合、API はビジネス、その IP、そしてブランドと評判に大きなリスクをもたらす可能性があります。
API保護を使用しないことによる影響は何ですか?
堅牢なAPI保護ツールとプラクティスを実装しないと、ビジネスにいくつかの悪影響が生じる可能性があります:
データのセキュリティ侵害および規制違反
アカウント乗っ取り とクレデンシャル悪用
機密リソースへの不正アクセス
ビジネスロジックの悪用
自動悪用によるService の低下
攻撃の成功によって生じるブランド評価と収益への影響
API 保護はどのようなリスクを防御できますか?
OWASP トップ10は、主要なAPIセキュリティリスクを追跡し、数年ごとに更新しています。これは、API が保護されていることを確認し、参照するための優れた出発点です。
このリストから、OWASP は次の項目を API の主要な懸念事項として挙げています:
オブジェクト・レベル認可の不備:OWASP は、「API はオブジェクト識別子を処理するエンドポイントを公開する傾向があり、オブジェクト・レベル・アクセス・コントロールの問題に関する広い攻撃対象領域を生み出します。オブジェクト・レベルの認可チェックは、ユーザーからの ID を使用してデータソースにアクセスするすべての機能で考慮する必要があります」。
認証の不備:OWASP は、「認証メカニズムの実装に不備があることがよくあり、その場合、攻撃者が認証トークンを侵害したり、実装の欠陥を悪用したりして他のユーザーの ID を一時的または永続的に偽装する可能性があります。」と述べています。システムがクライアント/ユーザーを識別する能力が損なわれると、API セキュリティ全体が損なわれます。
オブジェクト・プロパティ・レベルの認可の不備:OWASP は次のように述べています。「認可の問題の根本原因、つまりオブジェクト・プロパティ・レベルでの認可検証の欠如または不適切さに焦点を当てています。これにより、認可されていない第三者による情報の漏えいまたは改ざんにつながります。」
無制限のリソース消費:OWASP は「API リクエストを処理するには、ネットワーク帯域幅、CPU、メモリ、ストレージなどのリソースが必要です」と述べています。メール/SMS/電話などの他のリソースや生体認証の検証は、サービスプロバイダーによって API 統合を介して提供され、リクエストごとに課金されます。攻撃が成功すると、サービス拒否攻撃や運用コストの増加につながる可能性があります。
機能レベルの認可の不備:OWASP は次のように述べています。「複数の階層、グループ、ロールがある複雑なアクセス制御ポリシーや、管理機能と通常機能の分離が不明確なことは、認可の欠陥につながる傾向があります。攻撃者は、これらの問題を悪用することで、他のユーザーのリソースや管理機能にアクセスできるようになります。」
機密性の高いビジネス・フローへの無制限のアクセス:OWASPは次のように述べています。「このリスクに対して脆弱なAPIは、チケットの購入やコメントの投稿などのビジネス・フローを公開していますが、その機能が自動化された方法で過剰に使用された場合に、どのようにビジネスに損害を与える可能性があるかを考慮していません。」これは必ずしも実装上のバグに起因するものではありません。」
サーバー・サイド・リクエスト・フォージェリ:OWASP は、「サーバー・サイド・リクエスト・フォージェリ(SSRF)の脆弱性は、API がユーザー指定の URI を検証せずにリモートリソースを取得するときに発生する可能性があります」と述べています。これにより、ファイアウォールや VPN で保護されている場合でも、攻撃者はアプリケーションが細工されたリクエストを意図しない宛先に送信するよう強制できます。
セキュリティの設定ミス:OWASP は次のように述べています。「API とそれを支えるシステムには通常、API をよりカスタマイズ可能にするための複雑な設定が含まれています。ソフトウェアおよびDevOpsエンジニアは、これらの設定を見落としたり、設定に関するセキュリティのベストプラクティスに従わなかったりすることがあり、その結果、さまざまな種類の攻撃を招く可能性があります。
不適切なインベントリ管理:OWASP は、「API は、従来の Web アプリケーションよりも多くのエンドポイントを公開する傾向があるため、最新の情報が記載された適切なドキュメントを作成することが非常に重要です」と述べています。ホストとデプロイされた API バージョンの適切なインベントリも、非推奨の API バージョンや公開されたデバッグエンドポイントなどの問題を軽減するうえで重要です。
API の安全でない利用: OWASP は次のように述べています。「開発者は、ユーザー入力よりもサードパーティ API から受信したデータを信頼する傾向があり、そのため、より弱いセキュリティ基準を採用しがちです。API を侵害するために、攻撃者は標的の API を直接侵害しようとするのではなく、統合されたサードパーティサービスを狙います。」
このリストに加えて、常に次の点にも注意する必要があります:
シャドー API:これらは、十分に保護されていないにもかかわらず、企業内で使用されている API です。これは通常、企業の一部で API が使用または作成されていて、セキュリティチームがその存在を把握しておらず、その結果、十分に保護できない場合に発生します。
インジェクション攻撃:API が適切な検証なしに入力を受け入れる場合。これにより、攻撃者は悪意のあるリクエストをアプリケーションに送り込み、甚大な被害を引き起こす可能性があります。
API 保護のベストプラクティスとは何ですか?
強力な API セキュリティ・ツールに投資することに加えて、API の安全性を維持するために従うことができるベストプラクティスがいくつかあります。
設計と開発
安全な API 設計標準 (最小権限、スキーマ検証) に従う
認証、認可、レート制限要件を早期に定義する
エンドポイントと期待される行動を明確に文書化する
認証および認可テスト
トークンの有効期限、取り消し、リプレイ保護をテストする
ロールベースおよびスコープベースのアクセスコントロールを確認する
保護されたリソースへの不正アクセスを試みる
入力およびスキーマの検証
不正な形式のリクエスト、過剰なペイロード、予期しないデータタイプをテストする
厳密なスキーマの適用を検証する
インジェクション脆弱性のテスト
API テスト
クレデンシャルスタッフィング、列挙、スクレイピングをシミュレートします
レート制限とスロットリング行動のテスト
ボットおよび異常検知の有効性を検証する
ビジネスロジックのテスト
ワークフロー操作を試みて弱点を特定する
エッジケースと予期しないオペレーション順序のテスト
暗号化を実践する
API 経由で送信されるデータは、常に暗号化されていることを確認してください。
API の保護が必要なのは誰ですか?
要するに、ビジネスエコシステムの一部としてAPIを使用する個人や企業は、API保護戦略とツールを確実に導入する必要があります。
ただし、API が扱うデータの機密性が高いほど、堅牢な API 保護の必要性は高まります。特にAPI保護を必要としているのは次のとおりです:
ファイナンスサービス業界: これは明らかな例です。金融機関やフィンテック企業では、コンプライアンス要件(PCI DSS など)と信頼性およびセキュリティの観点の両方から、API 保護が必要です。これらは最も機密データを扱うため、それに見合ったセキュリティソリューションが必要です。
医療業界:健康データは、金融データと同様に、同じく機密性の高いものです。HIPAA のような規制では、顧客と同様に、強力なセキュリティ対策が求められます。
小売業界およびeコマース業界: APIはこれらのビジネスの基盤であり、在庫管理、 Webサイトの「check out」機能、配送を支えています。ここでの弱点は、ビジネスへの信頼の喪失と、それに伴う収益損失を招きます。
Fastly のソリューションが役立つ理由
API アプリのセキュリティテストは継続的な取り組みであるべきです。安全な設計、継続的な自動テスト、手動検証、ボット認識型悪用テスト、エッジベースの保護を組み合わせることで、組織はパフォーマンスとスケーラビリティを維持しながら、API 悪用のリスクを大幅に減らすことができます。
Fastly API セキュリティは、API ランドスケープの全体像を把握できます。何が存在するのかを理解し、期待どおりに機能しているという確信を得て、Fastly プラットフォーム全体で API 悪用軽減策に的を絞った決定を下すことができます。
FastlyのEdge Cloud Platformは、グローバルに分散したエッジの場所でAPIリクエストを検査・フィルタリングします。つまり、ボットによる攻撃、クレデンシャルスタッフィング、API スクレイピングのような悪意のあるトラフィックや不正なトラフィックは、アプリケーションサーバーに到達する前にブロックまたはスロットル (制限) することができます。脅威を早期に阻止することで、バックエンドの負荷が軽減され、レイテンシが低下し、攻撃時の爆発範囲が制限されます。