いまやWeb API (Application Programming Interface) は、さまざな情報へのアクセスだけでなく、買い物や資産管理、AIを含む情報処理や、自動運転、IoTなどの機器制御にも利用され、現代社会を形作るキーテクノロジーとなっている。「APIエコノミー」という言葉の普及がその証左だ。
反面、APIは個人情報や機密情報の窃取や、アカウントの乗っ取りなどサイバー攻撃の格好の標的になっている。APIへの攻撃では、認証・認可の脆弱性が特に狙われる傾向がある。
実はこの種の攻撃が行われると、Web Application Firewall (WAF)などの既存のセキュリティで検知や防御ができないという思わぬ落とし穴がある。今回は、APIを狙う ”見えない攻撃” のリスクを実例をもとに検証してみよう。
コンテンツデリバリーネットワーク(CDN)サービスを基盤に、各種のクラウド型セキュリティサービスを手掛けるアカマイ・テクノロジーズでWebセキュリティの動向を追う中西一博氏が、非常に発見が難しくなっているWeb攻撃の実態と手口を暴き、その対策について解説する。
以前の連載:迷惑bot事件簿
世界中のWeb通信を中継しているAkamai Technologies (以下 Akamai)が取り扱う通信の8割以上は、すでにAPIの通信が占めている。
APIを利用するスマートフォンやブラウザアプリが普及の後押しをしているのは間違いないが、近年ではサーバ側のマイクロサービス化(あるシステムを小規模なシステムを組み合わせて開発する手法)の影響も大きい。
日本も同様だ。商用のWebアプリケーション開発者に話を聞くと「いま開発中のWebアプリやスマホアプリのサーバサイドは、全てマイクロサービス化を前提に設計している」という答えがどこからも返ってきて、Webアプリケーションの構造が大きく変革していることを実感する。
マイクロモジュール化されたサービスの間の情報や指示のやりとりを繋いでいるのがAPIだ。従来の一体化された(モノリシックな)ソフトウェアでは内部に閉じていたやりとりがネットワーク上に流れるので、アプリケーションの構造解析や、やりとりされるデータを狙った攻撃の標的になりやすい。米Salt Securityは2022年12月の調査で、API攻撃を行なった攻撃元の数が、6カ月前と比べて400%増加したと報告している。
こうしたAPIを狙う攻撃には、WAFやAPI-Gatewayなどの従来のWebセキュリティソリューションでは検知できない手法が少なからず存在する。
実際、Webセキュリティの知見を提供するコミュニティー「OWASP」がまとめたWeb APIのセキュリティリスクランキング「API Security Top10」では、認証と認可に関わる脅威が上位を占めている。
1位の「オブジェクトレベルの認可の不備(BOLA)」は、本来アクセス許可がされるべきではないオブジェクトへ攻撃者がアクセスできてしまう脆弱性だ。API認証、認可を伴うアプリの開発で最もよく起きやすい。ここでいう「オブジェクト」は、さまざまなデータだけではなく、計算や機器の制御など、なんらかの処理の実行指示も含む。
上記の図は「システムがユーザーやデバイスの識別のために与える “ユニークID” (UUID) を、APIリクエストの中で不正に操作することで、他人になりすまして認可を突破する」 という、BOLAの脆弱性を利用する攻撃の基本的な仕組みを示したものだ。
BOLAは、さまざまなサービスが独自のAPIを備える上でのシステム設計や仕様上の見落とし、開発や実装上の考慮不足などが原因で起きる。一見単純に見えるが、実際の発生パターンは多岐にわたる。そこで、BOLAの実例を2つ取り上げてみよう。
Copyright © ITmedia, Inc. All Rights Reserved.
Special
PR