「見えないWeb攻撃」──情報漏えい対策の盲点
「APIエコノミー」に迫る“検知できない脆弱性攻撃”の脅威(2/4 ページ)
BOLAの発生原因は“よかれ”と思った実装
1つ目は、配車やフードデリバリーを提供する米Uberのアプリで起こったBOLAの実例だ。2019年に外部のセキュリティ研究者の報告によって明らかになった。
この例では、図中の(1)で、利用者の電話番号かメールアドレスを添えて「addDriver」というAPIにリクエストを送ると、その利用者を識別するためのユニークIDが入った(2)のエラーメッセージを返す実装になっていた。つまり、メールアドレスさえ分かれば、任意のユーザーに成りすませる鍵が入手できた。
次に入手したユニークIDを使って、(3)で別のAPIにリクエストを送ると、なりすました他の利用者やUberのドライバーの個人情報、モバイルアプリ用のアクセストークンを得ることができた。さらにこのトークンを利用することで、他人の名義で配車や配食をリクエストすることが可能だった。
トークンは、アプリの利用者に何度も認証を強いることなく複数のアプリケーションやAPIを繰り返し利用してもらえる便利な仕組みだ。一方で、不正利用のフリーパスを得ようと、このトークンを入手しようとする試みも多く見られる。
もうひとつ例を挙げてみよう。ドイツ言語圏で利用されている「scoolio」という学習支援アプリで明らかになったBOLAの脆弱性だ。
この例では、図中の(1)で、あるAPIにリクエストを送ると、同じ地域に住んでいる500人分のリストを(2)でアプリが受け取る仕様になっていた。500人分のリストには各利用者を識別するユニークIDもついていたので、(3)で別のAPIになりすましリクエストを送ると、そのユーザーの個人情報やGPSで得た現在位置などの情報が得られた。
ここまで挙げた2つの例をみて、一体なぜそんな実装になっていたのかと呆れた人もいるだろう。一方でアプリの開発経験が豊富な方ほど「これは我が社のアプリでも十分起きうることかも」と、肝を冷やしたのではないだろうか。
ここで挙げた2つの例をよく考えてみると、恐らくアプリをより便利にするために、“よかれ”と思って行った実装が原因ではなかったかと推測できる。例えばscoolioの例は、近くに住むユーザー間で交流を図り学習効率を高めるために、500人分のユーザーリストをユニークID付きでスマホのアプリに返す実装にした──とも考えられる。
通常ユニークIDが、アプリ上で利用者に直接表示されることはない。しかし、アプリを模したAPIへのアクセスによってユニークIDを盗み見、別のAPIで使うことで他者の個人情報を取得できる危険性にまで考えが及ばなかった可能性はある。
認証・認可を悪用するAPI特有の攻撃 対策は
商用サービスは、いまや何百、何千というAPIを有している。さらに昨今のアジャイル開発特有の短いサイクルで、何人もの開発者によって毎日のようにAPIの仕様やそれを利用するプログラムが更新されている。それは、スマホのアプリストアで人気アプリの更新頻度を見れば想像がつくだろう。そのような開発環境下では、潜在的なAPIの脆弱性は日常的に生じている可能性がある。
APIでは「こんなサービスにしたい」という機能要件や、データベースやID共通化などのシステム構成上の条件などによって、データの持たせ方や、IDの規則性などの実装が事業者やサービスごとに異なっている。
そういった実装の不備に起因する脆弱性は、WAFのような汎用的な定義ルールにマッチさせる仕組みの従来型Webセキュリティソリューションでは検知や対策ができない。正しいリクエストと不正リクエストを判断する基準が分かっていないためだ。
誰もが利用しているWebサーバプログラムなら研究者の誰かが脆弱性を見つけて、それを基に作られたWAFルールで検知できる。しかし、各社が独自に開発したプログラムやAPIに潜んでいる脆弱性をわざわざ探し出してはくれない。
BOLAの対策として、OWASPでは「セキュアなプログラミング」や、「コードレビューや脆弱性テストの徹底」を挙げている。しかし、API認証・認可の仕組みを理解した上で、自社の環境に照らし合わせて問題点を指摘できるほどの、エース級エンジニアの確保はどの企業でも簡単ではない。
現に、この数年で米Metaや米Amazon、米GitHubといった優秀なエンジニアを抱える企業のサービスでも、APIの脆弱性が発見されている。むしろ先進的なハイテク企業ほど、何千ものAPIを組み合わせてサービスを構築している。その中には十分検査されていないAPIだけでなく「シャドーAPI」「ゾンビAPI」と呼ばれる、管理されていないAPIもあるだろう。
Copyright © ITmedia, Inc. All Rights Reserved.
「見えないWeb攻撃」──情報漏えい対策の盲点
さまざまなWebサービスが、巧妙に隠された「見えないWeb攻撃」に狙われている。個人情報漏えいや犯罪行為を引き起こしている攻撃の実態を、独自のデータを交えて分析する。
この記事の著者
関連記事
こんなメディアも見られています
ITmedia NEWSに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
SpecialPR
本日の新着記事
アクセスランキング
-
1
GMO、ランサム被害にあった顧客に新しいPC提供へ 犯行グループは1人の顧客情報公開か
-
2
NECのルータ「Aterm」、PHP脆弱性の影響なし 設定画面URLの「.php」は無関係
-
3
GMO、不正アクセス実行犯の手がかりに懸賞金 1億5000万円規模
-
4
GMO不正アクセスの犯人サイト、ドメイン停止を確認
-
5
資さんうどん、従業員の退職理由などが外部から閲覧可能に 委託先の勤怠システムに設定不備
-
6
「楽天トラベル」に不正アクセス 顧客情報最大約260万件など流出か 予約者約3.6万件のクレカ情報も
-
7
メアドを検索→AIで“その人専用フィッシングメール”を生成する手法、クリック率が約2.7倍に 7000人以上で実験
-
8
So-net、会員情報約259万件が漏えい 一部メールサービスではパスワードも流出
-
9
GMO、攻撃者の公開情報に「アクセスは絶対に控えて」 悪質な拡散者には法的措置を準備
-
10
Google、プライバシーポリシーに「Gmail」「Googleフォト」のデータを広告に使う例外を追加 回避方法は
ITmedia NEWS SNS
インフォメーション
注目情報をチェック
ITmediaNEWSをフォロー
あなたにおすすめの記事PR