APIはなぜ狙われる?サイバー攻撃の状況とセキュリティー対策
Webサービスの普及と進歩に伴って利用の広がるAPIですが、サイバー攻撃による脅威も増しています。
この記事では、APIが狙われる背景や脅威の状況とともに、求められるセキュリティー対策についてご紹介します。
APIとは 〜おさらい〜
API(Application Programming Interface)とは、異なるアプリケーションやシステムが互いに通信し、データや機能を共有するためのインターフェイスです。APIではアプリケーション間の橋渡し役を担い、開発を効率化したり、機能拡張を容易にしたりできます。
詳しくは、別記事としてまとめていますので、ご参照ください。
APIがサイバー攻撃に狙われる背景と状況
Webアプリはモノシリックからマイクロサービスへ
旧来では、システム・アプリケーションを開発する際には、必要な機能をオールインワンで実現する「モノシリック」型が一般的でした。しかし最近では、モジュール化された多くのマイクロサービスが連携して動作する「マイクロサービス」型として開発されることが増え、これらを繋ぐためにWeb APIが広く活用されています。
このような変化に伴い、これまで内部で閉じていたデータのやり取りは、APIを通じてインターネットなどの外部ネットワークを介しておこなわれることが当たり前となりました。
狙われやすくなったAPI 〜Web攻撃の4分の1を占める〜
データのやり取りが内部でなくAPI経由でおこなわれるようになった結果、そこでやり取りされるデータを盗み出すため、攻撃対象領域(アタックサーフェス)としてAPIが狙われやすくなりました。
Akamai社による2023年の調査では、日本国内の企業・組織に対するWeb攻撃の試行件数のうちAPIを対象とした攻撃が23.4%を占めており、この割合は増大傾向を続けています。
主なAPI攻撃の事例
APIを狙うサイバー攻撃について、事例をいくつかご紹介します。
- 2018年: FacebookのAPIアクセストークン悪用によるデータ漏洩
- 2020年: Twitter(X)のAPIにおける脆弱性悪用による著名人アカウント乗っ取り
- 2021年: PelotonのAPIにおける認証バグの悪用によるデータ漏洩
- 2022年: Amazon 「Ring」のAndroidアプリの脆弱性を足がかりにAPI経由でデータ漏洩
- 2023年: Suishow 「NauNau」における設定不備の悪用によりAPI経由でデータ漏洩
このように、広く使われるサービスにおいても、情報漏洩や乗っ取りなどの被害をもたらしていることがわかります。
APIにおけるセキュリティーの脅威とリスク
OWASP Top 10 API Security Risks 〜APIの主要セキュリティーリスク〜
Webセキュリティーの研究やツール開発などをおこなうOWASP(Open Web Application Security Project、オワスプ)では、APIにおける主要なセキュリティーリスクとして「OWASP Top 10 API Security Risks」を公表しています。
- API1:2023 - Broken Object Level Authorization
(オブジェクトレベル認可の不備、BOLA) - API2:2023 - Broken Authentication
(認証の不備) - API3:2023 - Broken Object Property Level Authorization
(オブジェクトプロパティーレベル認可の不備、BOPLA) - API4:2023 - Unrestricted Resource Consumption
(制限のないリソース消費) - API5:2023 - Broken Function Level Authorization
(機能レベル認可の不備) - API6:2023 - Unrestricted Access to Sensitive Business Flows
(機密ビジネスフローへの制限のないアクセス) - API7:2023 - Server Side Request Forgery
(サーバーサイド・リクエスト・フォージェリー、SSRF) - API8:2023 - Security Misconfiguration
(セキュリティー設定のミス) - API9:2023 - Improper Inventory Management
(不適切なインベントリー管理) - API10:2023 - Unsafe Consumption of APIs
(安全でないAPIの消費)
リスクの上位として、APIの認証・認可に関わる脆弱性が示されています。
例えば、わかりやすいケースとして、BOLA(API1)とBOPLA(API3)を組み合わせたリスクについて取り上げてみましょう。この2つは「本来は権限のないリソースへアクセスできてしまう」脆弱性を指し、それぞれにおけるリソースとは「オブジェクト全体」と「オブジェクト内のプロパティー」に関するものです。
攻撃が成立する際の流れとしては、まずBOLA(API1)によって他ユーザーのオブジェクト全体にアクセスします。その上で、BOPLA(API3)によって、プロパティーの情報にアクセスします。APIが過剰なデータを応答する仕様だと、不正に情報を搾取できてしまうのです。
主なAPI攻撃の手口と要因
API攻撃の手口について、代表的なものをご紹介します。
- DDoS攻撃: 大量のリクエストを送信し、過負荷状態にしてサービス停止させる
- インジェクション攻撃: 不正なコマンドを送信し、データを漏洩させる
- パラメーター改ざん: パラメーターを不正に改ざんし、予期しない動作を引き起こす
- 認証情報の搾取: 漏洩トークンやセッション乗っ取りで、データを漏洩させる
- BOLA: 適正に実装されていない認可を悪用して、データを漏洩させる
脆弱性を突いた攻撃だけでなく、漏洩した情報をもとに正規アクセスを装った攻撃が発生していることにも、注意が必要です。
API攻撃を防ぐためのセキュリティー対策
APIを防御する基本的対策
API攻撃の脅威からシステムやサービスを守るためには、基本的な対策が欠かせません。
- 最小限の特権: デフォルト非公開で、必要のない情報は過剰応答しない
- 認証・認可の徹底: OAuthやJWTなどを利用して、適切な認証をおこなう
- 通信の暗号化: 通信または保存されるデータを暗号化し、傍受されづらくする
- ログとモニタリング: APIアクセスを適切に監視・記録し、不正検出できる体制を整える
以上の基本を押さえるだけで、ある程度の攻撃については防御できます。とはいえAPIの脆弱性を完全に無くすことは容易ではなく、外部のセキュリティー対策サービスの導入についても検討した方が良いでしょう。
しかし、一般的なWAFソリューションを導入したとしても、防御できる攻撃は限定的です。また、前述したDDoS攻撃なども、自力での対策は困難ですし、対策できるソリューションも限られます。
APIに特化したセキュリティー対策サービス
近年では、APIのセキュリティー対策に特化したサービスも提供されています。
当社においても、Webサイト・アプリやAPIを総合的に防御できるクラウド型セキュリティーサービス「Akamai App & API Protector」「Akamai API Security」を提供しており、わずかな導入ステップで様々な脅威へ対策可能です。
- APIリクエストを自動判別できる高機能WAF
- DDoSを防御
- Botによるアクセスを緩和
- API対策に特化した可視化&防御機能
前述したように、一般的なWAFだけでAPIのリスクを無くすことは不可能です。導入形態や仕組みについても理解しながら、サービスの品質を損なわずに適切なAPI保護を実現できるか、調査・検討することが肝心です。
まとめ
APIは、昨今の効率的な開発手法を実現する上でも、欠かすことのできない重要な仕組みです。しかし、攻撃によるリスクは年々増大しており、セキュリティー対策もマストとなっています。
当社では、セキュリティーのパイオニアであるAkamai社が開発・提供する各種サービスを、長年にわたって取り扱っており、数多くのお客様へご提供しております。
Akamai社では、Webセキュリティーソリューションのラインアップとして、APIのセキュリティー強化や高速化を実現する製品を提供しています。ご興味いただけましたら、是非お気軽にお問い合わせください。
関連コンテンツのご紹介
製品ページ
ブロードメディアでは、ウェブサイトやアプリケーション、APIに関する、セキュリティー対策やパフォーマンス高速化、負荷対策などの各種サービスを提供しています。また、これらサービスの開発元であるAkamai社のパートナープログラムにおいて、最高ランクである「Elite」の認定を受けています。
セキュリティー対策や高速化などでお困りでしたら、ぜひお気軽にご相談・お問い合わせください。