
F5 XC WAAPで実現するAPIセキュリティ
目次[非表示]
- 1.APIを取り巻く環境
- 2.F5 XC WAAPで実現するAPIセキュリティ
- 3.APIの可視化
- 4.APIの管理と制御
- 5.おわりに
APIを取り巻く環境
近年APIの普及が増えていて、皆さんが普段利用されているWebサイトも裏ではAPIが使われていたりします。インターネットトラフィックのうち75%(※1)をAPIが占めているという調査結果が報告されています。また、2025年までに全世界のAPIエコノミーの規模は 2670億ドル(※1)に達すると予測されています。
APIの利用が増加し利便性が向上する一方、世界的に有名なSNSを運営する企業や日本のクレジットカード決済サービスを提供している企業など、APIへの攻撃により個人情報の漏洩や乗っ取りといった被害が実際に生じています。
APIは、アクセス先のURLがAPI Endpointとして公開されており、使用方法やレスポンス例がインターネット上で公開されています。これにより、攻撃者はゼロから調査する手間を省くことができます。さらに、APIは他のアプリケーションと情報連携するように設計されている性質から機密情報を扱っている場合が多いです。その一方、セキュリティ対策が不足していることも多く、正しいAPI Endpointにリクエストを送るだけで攻撃が成功することもあります。また、プログラムやスクリプトで簡単に攻撃を自動化することができます。
そのため攻撃者の標的となりやすく、APIの普及が進む中、APIセキュリティ対策の重要性が高まっています。
※1 出典:https://www.f5.com/c/apcj-2024/asset/2024-strategic-insights-api-security-in-apac
F5 XC WAAPで実現するAPIセキュリティ
ここまで読んで、「うちはWeb Application Firewall(WAF)でWebセキュリティ対策を実施しているから問題ない」と思われた方もいるのではないでしょうか。しかし、従来のWebアプリケーションのセキュリティ対策だけではAPIを狙う攻撃を防ぐことは難しいのです。
例えば、攻撃者が認証トークンを盗み、再利用して不正アクセスを試みるリプレイ攻撃などのリクエスト自体に問題がなくても認証・認可に問題があるリクエストなどは、従来のWeb Application Firewall(WAF)で防ぐことができません。
また、セキュリティ担当者はOWASP Top 10を意識してセキュリティ対策を講じていることが多いと思いますが、APIセキュリティという観点でOWASP API Security Top 10というランキングが存在することをご存知でしょうか。これらを比較すると、WebアプリケーションのリスクとAPIのリスクは異なり、OWASP Top 10への対応だけではAPIに対するセキュリティ対策として不十分ということがわかります。
OWASP API Security Top 10については、F5社のブログ「OWASP API Security Top 10の概要とベスト プラクティス」もご参照ください。
APIセキュリティ対策を実現するのにまず必要なことは、APIを把握することです。攻撃者は管理者が把握できていない =管理されていないAPIを狙って攻撃を仕掛けてきます。まずは、公開されているAPIを可視化して脆弱な箇所がないかを把握することが大切です。可視化した結果から、必要に応じて、APIの管理・制御を行います。
そこで今回ご紹介するのが、F5社が提供するSaaS型サービスであるF5 Distributed Cloud Services Web Application & API Protection(F5 XC WAAP)です。F5 XC WAAPは、WAF防御、APIセキュリティ対策、Bot対策、DDoS対策の4つの機能を備えた次世代のWebセキュリティソリューションです。APIを含むWebアプリケーション全体のセキュリティを強化し、最新の脅威からWEBサービスを守ることができます。
以前のブログ「WAAPとは?~包括的にWEBサイトを防御する次世代ソリューション~」でWAAPについてご紹介しておりますので、こちらも是非ご確認ください。
F5 XC WAAPのAPIセキュリティ対策機能は、大きく分けて「APIの可視化」と「APIの管理と制御」に分類されます。これらの機能により、API Endpointの特定や分析を実施し、特定したAPI Endpointの保護を実現します。
F5 XC WAAPのAPIセキュリティ対策機能はすべてHTTP Load Balancer設定から設定可能で、WAFやBot対策、DDoS対策機能と一緒に利用することができます。
さらにF5 XC WAAPでは、マシンラーニングによるふるまい検知機能もあるので、攻撃の前段階の偵察行為を検知することも可能です。
今回のブログでは、F5 XC WAAPのAPIセキュリティ対策機能についてご紹介します。
APIの可視化
様々なところで使われているAPIですが、APIのセキュリティリスクとして、Shadow APIやZombie APIなどのキーワードがよく聞かれるようになりました。
Shadow APIとは、管理者が把握できていないAPI を指します。例えば、部門担当者が勝手に作成したAPIなどがあります。
Zombie APIとは、管理者・開発者によって維持管理されていないにもかかわらず、アクセス可能なAPIを指します。例えば、開発目的で一時的に作成したAPIがそのままアクセス可能な状態になっているものがあります。
まずは現在のAPIトラフィックの全体図を把握するのに役立つ機能からご紹介します。
-
API Endpointの特定と分類
F5 XC WAAPを経由するトラフィックから、Shadow APIを含むAPI Endpointを特定し、以下の3つに分類します。
分類 |
説明 |
Inventory |
F5 XC WAAPに取り込んだOpen API Specification (OAS、別名swagger)ファイルにより、管理されていると判定されたAPI Endpoint |
Discovered |
実際の通信データから発見したAPI Endpoint |
Shadow |
実際に通信データから発見したAPI Endpointのうち、管理されていないと判定されたAPI Endpoint |
-
API Endpointのマッピング
特定したAPI Endpointを視覚的に把握しやすく以下のように自動でマッピングされます。API Endpointを一覧で確認することが可能です。
Zombie APIの可能性があるものはAPI Attributes欄に「Unused」としてマークされます。また、より視覚的に把握するためにグラフで表示することも可能です。
構造やリクエストメソッドが表示され、Inventory / Discovered / Shadow の分類が色
分けされ一目で確認できます。
図3-1:Table形式のAPI Endpointのマッピング
図3-2:Graph形式のAPI Endpointのマッピング
-
API Endpointの分析
上記一覧または、グラフのAPI Endpoint名をクリックするとEndpoint Details画面が表示され、各API EndpointにおけるError RateやLatency、リクエストとレスポンスに関する詳細情報を確認することができます。さらに、各API Endpointで検出された脆弱性を確認することも可能です。
-
Open API Specificationファイル作成
特定したAPI EndpointのOASファイルが自動で作成されます。
この自動作成されたOASファイルを後述のAPI Definitionで使用することも可能です。
-
機密データの検出
APIトラフィック内の個人識別情報 (PII) やクレジットカード番号などの機密データを識別します。
APIの管理と制御
OASファイルを用いて、APIを事前に定義することでAPIを管理することが可能です。
事前にAPIを定義しておくことで、定義に準拠したAPIのみを許可するポジティブセキュリティモデルを実現できます。
その他にもF5 XC WAAPにはAPIセキュリティ対策を実現する機能が揃っています。
-
API Definition
APIの動作を事前に定義するために、インポートしたOASファイルをHTTP Load Balancerに適用します。これにより、次にご紹介するOAS Validationを通じて、スキーマに準拠したAPI動作のみを許可するポジティブセキュリティモデルを実現できます。
適用するOASファイルは、既存のファイルを使用するか、前述のAPI Discovery機能で自動作成されたOASファイルを利用することが可能です。
-
OAS Validation
リクエストおよびレスポンスの指定したプロパティに対して、APIトラフィックがOASファイルの定義内容に準拠しているかを検証できます。
API EndpointのPathやMethodなどを指定することで、検証するリクエストを個別に指定も可能です。
-
JWT Validation
JSON Web Token (JWT) を利用している場合に、JWTをオリジンのAPIサーバに渡す前に改ざんや期限切れがないか検証できます。これにより、JWTリプレイ攻撃やJWTの改ざんを防止でき、期限切れのTokenやまだ有効でないTokenを含むリクエストをブロックできます。
Mandatory Claimsを設定することで、必須Claimが存在するかも検証可能です。
-
API Protection Rules
リクエスト情報や送信元の条件により、許可または拒否設定が可能です。
リクエスト情報では、Method / Query Parameter / Header / JWT Claim / Cookieを指定できます。
クライアント情報では、既知の悪意のあるIPカテゴリを選択したり、送信元をIPアドレス / AS番号 / TLSフィンガープリントで指定することができます。
-
API Rate Limit
API EndpointやAPIのBase Pathに対してRate Limitを設定することが可能です。API Rate Limitにより、指定間隔内で許容するリクエスト数を設定することで、APIトラフィックの急増によるサーバへの急激な負荷を防ぐことや、DDoS対策にも役立ちます。
API Protection RulesとAPI Rate Limitは、「API Endpointの分析」でご紹介したAPI EndpointのダッシュボードのEndpoint Details画面から簡単に設定することも可能です。
図4-1:Endpoint Details画面
おわりに
今回は、F5 XC WAAPで利用できるAPIセキュリティ対策機能をご紹介しました。
まずはセキュリティ管理者やアプリ担当者が把握できていないShadow APIやZombie APIを認識して、漏れのない対策を取ることが重要です。
F5 XC WAAPのAPIセキュリティ対策機能では、Shadow APIやZombie APIを含めたAPI全体の把握と分析を行い、近年高まるAPIへの脅威への対策が実現可能です。
さらに、サーバ側で個別にセキュリティ対策を講じる手間とサーバリソースの負荷を軽減することも期待できます。
以前のブログ「F5 XC WAAPで実現!ベーシックなクラウドWAF」でベーシックなWAF機能(App Firewall)についてもご紹介しておりますので、こちらも是非ご確認ください。
F5 XC WAAPにご興味ございましたら、以下サイトからお気軽に弊社までお問い合わせください。
「F5 Distributed Cloud Web Application and API Protection (F5 XC WAAP)」