Android 中的漏洞可讓您繞過鎖定屏幕

Android 平台中已發現一個漏洞(CVE-2022-20465),該漏洞可讓您透過重新排列 SIM 卡並輸入 PUK 碼來停用螢幕鎖定。 禁用鎖定的功能已在 Google Pixel 裝置上得到證實,但由於該修復會影響主要 Android 程式碼庫,因此該問題很可能會影響其他製造商的韌體。 該問題已在 70 月發布的 Android 安全性修補程式中解決。 引起人們注意這個問題的研究人員獲得了谷歌 XNUMX 萬美元的獎勵。

此問題是由於輸入PUK碼(個人解鎖金鑰)後解鎖處理不正確造成的,PUK碼用於恢復多次錯誤輸入PIN碼後被鎖定的SIM卡的操作。 若要停用螢幕鎖定,只需將 SIM 卡安裝到具有 PIN 碼保護的手機中即可。 更換受 PIN 碼保護的 SIM 卡後,螢幕上會先顯示 PIN 碼要求。 如果 PIN 碼輸入錯誤 XNUMX 次,SIM 卡將被鎖定,之後您將有機會輸入 PUK 碼解鎖。 事實證明,正確輸入PUK碼不僅可以解鎖SIM卡,而且可以繞過螢幕保護程序,直接進入主介面,而無需使用主密碼或圖案確認存取。

該漏洞是由 KeyguardSimPukViewController 處理程序中檢查 PUK 碼的邏輯錯誤引起的,該處理程序負責顯示附加身份驗證螢幕。 Android 使用多種類型的身份驗證畫面(用於 PIN、PUK、密碼、圖案、生物識別身份驗證),並且當需要執行多項檢查(例如,需要 PIN 和圖案時)時,會順序呼叫這些畫面。

如果正確輸入 PIN 碼,則會觸發第二階段驗證,要求您輸入主解鎖碼,但當您輸入 PUK 碼時,將跳過此階段,無需輸入主密碼或圖案密鑰即可授予存取權限。 下一個解鎖階段被丟棄,因為在呼叫 KeyguardSecurityContainerController#dismiss() 時,預期的驗證方法和通過的驗證方法之間沒有進行比較,即處理器認為驗證方式沒有改變,PUK碼驗證完成即表示權限確認成功。

該漏洞是偶然發現的——用戶的手機沒電了,在充電並開機後,他在輸入PIN碼時多次出錯,之後他用PUK碼解鎖,但奇怪的是系統沒有詢問用於解密數據的主密碼,之後它凍結並顯示訊息“Pixel 正在啟動...”。 事實證明用戶很細心,決定弄清楚到底發生了什麼,並開始嘗試以不同的方式輸入PIN和PUK碼,直到他在更換SIM卡後不小心忘記重新啟動設備並訪問環境而不是冷凍。

特別令人感興趣的是谷歌對漏洞公告的反應。 有關該問題的資訊已於 90 月發出,但直到 XNUMX 月研究人員仍無法獲得明確答案。 他認為這種行為是因為他不是第一個報告此錯誤的人。 XNUMX 月就出現了對出現問題的懷疑,當時安裝了 XNUMX 天後發布的韌體更新後問題仍未得到糾正,而當時規定的保密期限已經到期。

由於所有試圖找出有關該問題的已發送消息的狀態的嘗試都只會導致自動和模板回复,因此研究人員嘗試親自聯繫Google 員工以澄清情況並準備修復程序,甚至在Google 倫敦辦事處展示了該漏洞。 只有在此之後,消除漏洞的工作才得以繼續進行。 在分析過程中發現,之前已經有人報告了這個問題,但谷歌決定破例,並對再次報告該問題給予獎勵,因為正是由於作者的堅持,這個問題才被注意到。

來源: opennet.ru

添加評論