你的iCloud帳戶權限可能因機場的一個偽熱點而淪陷
今年早些時候,蘋果修復了iOS和macOS中的一個安全漏洞。該漏洞可允許攻擊者未經授權訪問用戶的iCloud帳戶。
2月,IT安全公司Computest的安全專家Thijs Alkemade發現了這個漏洞。其存在于Apple實施的TouchID(或FaceID)生物識別功能上。 該問題被披露后,Apple在服務器端更新中將其解決。
認證漏洞
一般來說,當用戶登錄需要Apple ID的網站時,會有界面提示使用Touch ID進行登陸身份驗證。因為Touch ID已經利用了設備和生物特征信息等因素進行標識,所以可以幫助用戶直接跳過兩項身份驗證步驟。
在登Apple域名(如“ icloud.com”)時,通常會使用ID和密碼進行對比。這些網站嵌入了指向Apple登錄驗證服務器(“ https://idmsa.apple.com”)的iframe,以處理身份驗證過程。iframe URL還包含其他兩個參數:標識服務(例如iCloud)的“ client_id”,及成功驗證后要重定向URL的“ redirect_uri”。
但在使用TouchID驗證用戶時,iframe的處理方式有所不同。它通過與AuthKit守護程序(akd)通信來處理生物識別身份驗證,并檢索icloud.com使用的令牌(“ grant_code”)頁面以繼續登錄過程。守護程序與“ gsa.apple.com”上的API互通,向其發送請求的詳細信息,并從該API接收令牌。
Computest發現的安全漏洞存在于上述gsa.apple.com API中。從理論上講,攻擊者可以在不進行身份驗證的情況下,濫用這些域名來驗證客戶端ID。
Alkemade指出,即使akd提交的數據中包含client_id和redirect_uri,但它并不會檢查重定向URI是否與客戶端ID相匹配。這意味著攻擊者可以利用Apple任意一個子域上的跨站點腳本漏洞,來運行惡意JavaScript代碼段。這些代碼段可以使用iCloud客戶端ID觸發登錄提示,并使用授權令牌在icloud.com上獲取時域。
設置偽熱點來侵入iCloud帳戶
此外,還可以通過在首次連接Wi-Fi網絡(通過“ captive.apple.com”)時顯示的網頁上嵌入JavaScript來進行攻擊活動。攻擊者只需接受該頁面上的TouchID提示,即可訪問該用戶的帳戶。
惡意的Wi-Fi網絡可能會響應帶有JavaScript的頁面,該頁面會將OAuth初始化為iCloud。這種情況下,用戶會收到一個不清晰的TouchID提示,如果在該提示下進行身份驗證,則其令牌將被發送到惡意站點,從而使攻擊者可以在iCloud上為其帳戶提供時域。
攻擊者在用戶希望接收強制門戶的地方(如:在機場,酒店或火車站)設置一個偽熱點,就可能獲得訪問大量iCloud帳戶的權限, 如:允許訪問圖片的備份,手機的位置,文件等等。
這并不是首次在Apple的身份驗證基礎結構中發現安全問題。5月,Apple修復了一個影響其“使用Apple登錄”系統的漏洞,該漏洞可讓遠程攻擊者在避開身份驗證的情況下,使用用戶在Apple上登錄注冊的第三方服務及應用程序帳戶 。