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