解決策
LocationSmartは、Verizon、AT&T、T-Mobile、Sprint、およびカナダの通信事業者Bell、Rogers、Telusと提携し、事業者ベースのリアルタイム電話位置情報を企業向けに販売していた。同社の公開トライアルページでは、誰でも電話番号を入力でき、電話の所有者がSMSまたはコールバックのオプトインメッセージに返信すると、その電話を地図上でリアルタイムに表示できた。同意のステップこそがこのデモの要点だった。
2018年5月16日、研究者のRobert Xiaoは、この同意ステップを省略できることを発見した。デモAPIは同じ操作をXMLとJSONの2つの形式で応答しており、デフォルトのXMLではなくrequesttype=locreq.jsonで位置情報を要求すると、サブスクリプションの確認が完全に抑制された。認証なしの2回のPOSTリクエスト——1回はトークン取得、もう1回は位置情報の要求——により、オプトインしたことのない電話を含む、米国の任意の無線番号の対象の番地と地図上の円が返された。
位置特定は通信事業者側の三角測量によるものだったため、オペレーティングシステムやプライバシー設定に関係なくすべての電話で機能し、オプトアウトする方法はなかった。Xiaoはこの発見を伏せたり暴露したりせず、US-CERTに報告し、Brian Krebsと協力した。KrebsはLocationSmartが5月17日の朝にこの欠陥を修正した後に記事を公開し、Xiaoはパッチを検証した後にのみ技術的な解説を公開した。
この開示は、業界が位置情報データの販売についてすでに厳しい目にさらされている最中に行われた。解説記事は、通信事業者がSecurusにデータを提供し、同社が元法執行機関の関係者に不適切に開示したという報道を引用している。Xiaoのページは修正が適用された日にHacker Newsで1,209ポイントと270件のコメントを集め、数十のサイトで取り上げられた。
達成したこと
代替の応答形式が同意確認を省略した
なぜ機能したか
JSONリクエストタイプが同意を強制するコードパスを迂回したため、1語の形式変更でオプトインなしに完全な位置情報データが得られた。
番地を出力する短い概念実証がこの欠陥を具体的かつ信憑性のあるものにし、それが約1日以内の修正につながった。
US-CERTと信頼できるジャーナリストを通じた協調的開示により、この話はゼロデイの恐怖としてではなく、パッチがすでに適用された状態で報じられた。
通信事業者側の位置情報は、オプトアウトなしで米国の4大通信事業者のすべての加入者に影響を与えたため、このデモのバグは例外的な事例ではなく国家的なプライバシー侵害だった。
応用できること
すべての応答形式を攻撃対象領域として扱うこと。あるハンドラでの同意確認が別のハンドラでは欠けている可能性がある。動作するデモで深刻度を証明し、CERTを通じて開示し、パッチ適用後にのみ公開すること。
その後
LocationSmartは2018年5月17日の朝までにこの脆弱性を修正し、Brian Krebsは同日に記事を公開した。その後Xiaoが技術的な解説と概念実証を公開した。このページはHacker Newsで1,209ポイントと270件のコメントを集め、数十のメディアに転載された。この一件により、通信事業者がリアルタイム位置情報データを販売する慣行に注目が集まり続け、それはすでに数日前にLocationSmartとSecurusをニュースに登場させていた。
出典をたどる
出典
- Tracking Firm LocationSmart Leaked Location Data for Customers of All Major U.S. Mobile Carriers in Real Time via Its Web Site KrebsOnSecurity · krebsonsecurity.com ·
- US cell carriers selling access to real-time location data ZDNet · zdnet.com
- Senator furious at police's easy ability to get real-time mobile location data Ars Technica · arstechnica.com
- LocationSmart Leaked Location Data for All Major U.S. Carriers in Real Time — Hacker News discussion Hacker News · news.ycombinator.com ·