API セキュリティ
API セキュリティ とは何ですか?
API セキュリティ認証・認可・データ露出・濫用耐性が攻撃下でも崩れないように API を設計・実装・運用する分野。
API セキュリティは、REST・GraphQL・gRPC・Webhook など、ビジネスロジックを直接露出しがちな面を扱います。OWASP API Security Top 10(2023)に対応し、第 1 位はオブジェクトレベル認可不備(BOLA/API1)、続いて認証不備、オブジェクトプロパティレベル認可不備、リソース消費無制限、機能レベル認可不備、SSRF が並びます。
なぜ BOLA が首位か。 多くの API 侵害は特殊なものではなく、オブジェクトごとの所有権チェック漏れが原因です。2022 年 9 月の Optus 侵害では、インターネット公開の端点が認証を要求せず、連番 ID で参照可能なレコードを露出したため、約 1,000 万人のオーストラリア人が列挙されました。2023 年 1 月、T-Mobile はセッションは認証するがそのセッションが読めるレコード範囲を絞らない API の悪用を公表し、約 3,700 万アカウントが露出しました。いずれも典型的なオブジェクトレベル認可の失敗です。
対策。 有効なプログラムは、強い ID 基盤(OAuth 2.0/OIDC、短命でスコープ付きのトークン、mTLS)、あらゆるオブジェクト参照に対するサーバー側の所有権チェック、スキーマに基づくリクエスト/レスポンス検証、スクレイピングを抑えるレート制限とクォータ、SIEM へ送る構造化ログを組み合わせます。SAST・DAST・API 専用ファジングによる継続的テストで退行を検出します。シャドー API やゾンビ API の発見と棚卸しは出発点であり、存在を知らないものは守れません。
flowchart TD
A[クライアント要求 + Bearer トークン] --> B{トークンは有効?}
B -->|いいえ| R[401 未認証]
B -->|はい| C{スコープはこの操作を許可?}
C -->|いいえ| F[403 禁止]
C -->|はい| D{呼び出し元はそのオブジェクト ID を所有?}
D -->|いいえ - BOLA リスク| F
D -->|はい| E{レート制限内かつスキーマ適合?}
E -->|いいえ| G[429 / 400 拒否]
E -->|はい| H[許可されたフィールドのみ返す]● 例
- 01
注文を返す前に、認証済みユーザーがその orderId を所有していることを検証し BOLA/IDOR を防ぐ。
- 02
GraphQL エンドポイントの前段でトークン単位のレート制限とリクエストサイズ上限を強制する。
● よくある質問
API セキュリティ とは何ですか?
認証・認可・データ露出・濫用耐性が攻撃下でも崩れないように API を設計・実装・運用する分野。 サイバーセキュリティの アプリケーションセキュリティ カテゴリに属します。
API セキュリティ とはどういう意味ですか?
認証・認可・データ露出・濫用耐性が攻撃下でも崩れないように API を設計・実装・運用する分野。
API セキュリティ からどのように防御しますか?
API セキュリティ に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
API セキュリティ の別名は何ですか?
一般的な別名: API セキュリティ対策。