APIへの攻撃が増加しており、企業に深刻な情報漏えいのリスクをもたらしている。API攻撃の手口と、その対策としてのAPIセキュリティのベストプラクティスを紹介する。
近年、従来のWebアプリケーションを狙った攻撃に加え、API(アプリケーションプログラミングインタフェース)を標的とするサイバー攻撃が急増している。多くの企業がWeb APIを外部に公開するようになり、それが新たな攻撃対象となっているからだ。
APIは、ソフトウェア同士がデータや機能を共有するための通信手段だ。APIのやりとりを実現する仕組みの一つが「APIキー」だ。これは、ソフトウェアプログラム間の接続を許可するための識別情報であり、APIを呼び出すアプリケーションを特定し、アクセス権限を確認する“パスワードのような”役割を果たす。
APIへのリクエストは、ユーザーがWebブラウザからWebサイトにアクセスする仕組みと構造が似ている。そのため、Webサイトを標的としたサイバー攻撃と同様の手法が、APIに対しても通用する可能性がある。
攻撃者は、企業やサービスが提供するAPIの脆弱(ぜいじゃく)性を突く。攻撃者が用いる攻撃手法や悪用テクニックとして、次のようなものが確認されている。
APIがクエリ文字列(URLの末尾に付く、Webサーバにさまざまなデータを送信するための文字列)の適切なサニタイズ(無害化)を行っていない場合、SQLインジェクションやクロスサイトスクリプティング(XSS)などのインジェクション攻撃に対して脆弱となる。
インジェクション攻撃では、攻撃者は悪意あるコードをクエリに挿入することでAPIを欺き、本来アクセスできない機密データへの不正アクセスを実現する。これにより、情報の窃取、改ざん、削除、差し替えが可能となる。
攻撃者がAPIに直接アクセスしてセキュリティの脆弱性を悪用することで、標準的なアクセス制御の防護策を回避することができる。認証や認可の仕組みに欠陥があるAPIでは、大規模なデータ漏えいの温床となり得る。
「オブジェクトレベルの認可の不備」(BOLA)による攻撃では、APIがリクエスト内のユーザーIDで認証したにもかかわらず、クエリ文字列に含まれる異なるIDを受け入れてしまう可能性がある。APIが認証されたユーザーが要求したデータにアクセスする権限を持っているか(リクエスト内のユーザーIDがクエリ内のユーザーIDと一致するかどうか)を検証していない場合、攻撃者は他のユーザーのアカウント情報に容易にアクセスできる。
APIにレート制限(攻撃対象領域を減らすために、一定時間内に行える呼び出し回数を制限すること)が設定されていない場合、攻撃者は大量の機密情報を一気に抜き取ることができる。過去には、認証不要でアクセス可能な脆弱なAPIエンドポイントが攻撃を受けた例もある。
API管理が適切に行われていない場合、不要なAPI(例えば古いバージョンやテスト用API)がインターネットに公開されたままになっていることがある。こうしたAPIがリクエストに対して過剰な情報を返すことで、機密データが漏えいするリスクが生じる。
APIがDoS(サービス拒否)攻撃やDDoS(分散型サービス拒否)攻撃への対策を備えていない場合、攻撃者はAPIに大量のデータを送信して、Webサイト全体をダウンさせることができる。
攻撃者は、サードパーティーを通じてAPIを標的にすることもできる。例えば、攻撃者が信頼された外部パートナーが保持する正規のAPIキーを入手すれば、それを使って標的のAPIにアクセスできる。
組織は、従来のWebアプリケーションを保護するのと同様にAPIを防御すべきだ。アプリケーションセキュリティのベストプラクティスに従い、適切なセキュリティ対策を導入する必要がある。APIの脆弱性を軽減するために、以下の方法を検討するとよい。
雨輝ITラボ(株式会社リーフレイン)
Copyright © ITmedia, Inc. All Rights Reserved.
なぜクラウド全盛の今「メインフレーム」が再び脚光を浴びるのか
メインフレームを支える人材の高齢化が進み、企業の基幹IT運用に大きなリスクが迫っている。一方で、メインフレームは再評価の時を迎えている。

「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年5月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。

「ECプラットフォーム」売れ筋TOP10(2025年5月)
今週は、ECプラットフォーム製品(ECサイト構築ツール)の国内売れ筋TOP10を紹介します。

「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2025年5月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...