LocationSmart 向企業販售即時、基於電信商的手機位置資料,合作對象包括 Verizon、AT&T、T-Mobile、Sprint,以及加拿大的 Bell、Rogers 與 Telus。其公開試用頁面讓任何人輸入電話號碼,待手機持有人回覆簡訊或回撥的選擇加入訊息後,即可在地圖上看到該手機的即時位置。同意步驟正是這個示範的全部重點。

2018 年 5 月 16 日,研究員 Robert Xiao 發現同意步驟可以被略過。示範 API 以兩種格式回應同一項操作:XML 與 JSON;若以 requesttype=locreq.json 而非預設的 XML 要求位置,便會完全抑制訂閱檢查。兩次未經身分驗證的 POST 請求——一次取得權杖,一次要求位置——便回傳了任何美國無線號碼的目標街道地址與地圖圈選範圍,包括從未選擇加入的手機。

由於定位是電信商端的三角定位,無論作業系統或隱私設定為何,對每支手機都有效,且無法選擇退出。Xiao 並未隱匿這項發現或直接公開:他向 US-CERT 通報,並與 Brian Krebs 合作,後者在 LocationSmart 於 5 月 17 日上午修復該漏洞後發布報導;Xiao 僅在確認修補後才發布技術說明。

這項揭露發生時,業界已因販售位置資料而受到審視:該技術說明引述報導指出,電信商將資料提供給 Securus,而 Securus 不當揭露給一名前執法官員。Xiao 的頁面在修復當天於 Hacker News 獲得 1,209 點與 270 則留言,並被數十個網站轉載。

替代的回應格式略過了同意檢查

JSON 請求類型繞過了執行同意檢查的程式碼路徑,因此僅改變一個字的格式便產生了完整的位置資料,無需選擇加入。

一個會印出街道地址的簡短概念驗證,讓該漏洞具體且可信,這正是它能在約一天內被修復的原因。

透過 US-CERT 與可信賴記者的協調揭露,意味著報導發布時修補程式已經就位,而非以零時差漏洞恐慌的形式出現。

電信商端的位置資料影響四大美國電信商的所有用戶且無法選擇退出,因此這個示範漏洞是全國性的隱私暴露,而非罕見個案。

將每一種回應格式都視為攻擊面:某個處理常式中的同意檢查,在另一個處理常式中可能付之闕如。以可運作的示範證明嚴重性,透過 CERT 揭露,並僅在修補後才發布。

LocationSmart 於 2018 年 5 月 17 日上午修復該漏洞,Brian Krebs 同日發布報導;Xiao 隨後發布其技術說明與概念驗證。該頁面在 Hacker News 獲得 1,209 點與 270 則留言,並被數十家媒體轉載。這起事件讓外界持續關注電信商販售即時位置資料的做法,而此事早在數天前就已讓 LocationSmart 與 Securus 登上新聞版面。

追溯依據

參考來源

  1. 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 ·
  2. US cell carriers selling access to real-time location data ZDNet · zdnet.com
  3. Senator furious at police's easy ability to get real-time mobile location data Ars Technica · arstechnica.com
  4. LocationSmart Leaked Location Data for All Major U.S. Carriers in Real Time — Hacker News discussion Hacker News · news.ycombinator.com ·