這次傳出的漏洞可說非常嚴重啊!真的要注意。曾任職於 Twiiter、現任 Google 的 iOS 國外資深開發工程師 Felix Krause,最近發現到 iOS 有一個很嚴重隱私漏洞,就是 App 開發商可以輕易模擬出系統要求輸入密碼的訊息畫面,藉此竊取到使用者的 Apple ID 密碼,而且光從肉眼完全分辨不出來。
iOS 有很多情況,都會要求用戶輸入 Apple ID 密碼,最常見的幾種不外乎是購買付費 App、剛更改密碼,或是在其他裝置登入錯誤次數過多等等,因此對於 iOS 長期使用者來說,只要一看到這畫面,就會很直覺想說應該是哪裡出錯,習慣性動作直接輸入正確密碼來解決,而且我相信不少人即便在第三方 App 看到也是一樣,畢竟我們很相信 iOS 的安全性,但事實上,這正好就是嚴重漏洞。
Felix Krause 發現到,iOS 開發商可以透過使用 UIAlertController 彈出框的方式,製作出跟蘋果官方要求輸入密碼一模一樣的畫面,左是 iOS 系統官方要求輸入 iTunes 的畫面、右則是假的:
所以說如果 App 開發商有益想要竊取用戶的 Apple ID 密碼,是非常容易的一件事,而使用者看到這訊息,為了趕緊回到 App 畫面,絕大多數都是不疑有他先輸入密碼再說(畢竟很熟悉了,況且畫面又一模一樣),這時你的密碼也就外洩了。
你可能會問說,那對方怎麼知道 Apple ID 帳號?Apple ID 帳號取得更加容易,其中一個最常見的方法,就是使用前須註冊,而有大的機率正是 Apple ID 帳號。
僅跳出要求輸入 Apple ID 密碼的訊息更要注意,這更容易做假:
此外,雖然一直以來蘋果在保護用戶隱私,避免被第三方 Apps 竊取的安全性部分做得很好,但網路上有幾種方式,可以等到蘋果同意後,再偷偷加入程式碼至目前 App 版本,所以這真的很難防,想了解的可以參考 Q&A 第二個問題解答。
那有什麼方法防範?
最簡單的方式,就是當在第三方 App 看到這訊息時,立即按 Home 鍵跳回桌面,看這訊息還在不在,iOS 系統發出的會保留,如果是釣魚就會立刻消失。
再來是不管是不是系統發出,都不要輸入任何密碼在彈出框裡,而是進到設定中找到需要輸入 Apple ID 密碼的該應用,來解決彈出框的問題。另外也要記得按取消之前,密碼欄位也要保持空白,因為搞不好兩個都是送出,而不是真的取消。雙重認證功能最好也開啟,這樣別人就無法直接使用你的 Apple ID 來登入新裝置,還需要輸入一組從已信任裝置中取得的隨機密碼才行。
目前還不確定蘋果知不知道這個隱私漏洞,以及未來會不會加入更多開發限制,來避免這狀況發生,總之大家使用時多注意一點。