換個(gè)SIM卡,能解鎖別人的手機(jī)嗎?

整個(gè)解鎖過程不超過兩分鐘。

國外網(wǎng)絡(luò)安全研究員偶然機(jī)會(huì) David Schütz繞過安卓手機(jī)的鎖屏方法非常簡單,任何拿到手機(jī)的用戶都可以解開手機(jī)。

整個(gè)過程只需要五個(gè)簡單的步驟,大約兩分鐘。

萬能破解鎖屏圖案oppo萬能破解鎖屏圖案插圖

雖然谷歌這個(gè)問題已經(jīng)發(fā)布了。Android 更新前,鎖屏漏洞持續(xù)了五個(gè)多月。

Schütz他是自己的Pixel 6 電池沒電,輸錯(cuò) 3 次 PIN 并使用 PUK(個(gè)人解鎖密鑰)代碼恢復(fù)鎖定 SIM 卡后,發(fā)現(xiàn)了這個(gè)漏洞。

令他驚訝的是,解鎖了 SIM 并選擇新的 PIN 代碼后,設(shè)備不需要輸入鎖屏密碼,而只需要掃描指紋。

出于安全原因,Android 重新啟動(dòng)時(shí),設(shè)備總是需要輸入鎖屏密碼或圖案,因此直接解鎖指紋是不正常的。

Schütz當(dāng)他試圖在不重啟設(shè)備的情況下重現(xiàn)漏洞時(shí),他認(rèn)為他也可以繞過指紋提示直接進(jìn)入主屏幕。

一般來說,利用漏洞主要有五個(gè)步驟。

1.為禁止鎖定設(shè)備上的生物特征認(rèn)證提供三個(gè)錯(cuò)誤指紋;

萬能破解鎖屏圖案oppo萬能破解鎖屏圖案插圖1

2.設(shè)備中的 SIM 卡與設(shè)置了 PIN 由代碼攻擊者控制 SIM 卡熱交換;

萬能破解鎖屏圖案oppo萬能破解鎖屏圖案插圖2

提示輸入錯(cuò)誤 SIM 三次卡密碼,鎖定 SIM 卡;

萬能破解鎖屏圖案oppo萬能破解鎖屏圖案插圖3

4.設(shè)備提示用戶輸入 SIM 個(gè)人解鎖密鑰 (PUK) 碼,這是唯一的 8 用于解鎖的位數(shù) SIM 卡;

萬能破解鎖屏圖案oppo萬能破解鎖屏圖案插圖4

5.控制攻擊者 SIM 輸入新的 PIN 碼。

萬能破解鎖屏圖案oppo萬能破解鎖屏圖案插圖5

安全漏洞影響廣泛,幾乎所有未更新2022年11月補(bǔ)丁的補(bǔ)丁都在運(yùn)行 Android 10、11、12 、13 手機(jī)版本受到影響,這是一個(gè)難以想象的數(shù)量。

雖然這個(gè)漏洞的使用需要得對方的手機(jī),但它仍然會(huì)產(chǎn)生巨大的影響,特別是對虐待他人、調(diào)查和丟失手機(jī)的用戶。

2022年6月, Schütz 這個(gè)安全漏洞向谷歌報(bào)告,編號 CVE ID CVE-谷歌直到2022年11月7日才正式公布漏洞修復(fù)補(bǔ)丁。

另外,由于這個(gè)安全漏洞, Schütz 谷歌獲得了7萬美元的高額獎(jiǎng)勵(lì)。

現(xiàn)在,谷歌的安卓工程師終于彌補(bǔ)了這個(gè)漏洞。

但令人驚訝的是,bug修復(fù)遠(yuǎn)不止他想象的一行代碼補(bǔ)丁。

根據(jù)提交的修改情況,僅需要更改的文件數(shù)量就達(dá)到12份:

萬能破解鎖屏圖案oppo萬能破解鎖屏圖案插圖6

那么這個(gè)漏洞到底是怎么出現(xiàn)的呢?

簡單來說,Android有一個(gè)系統(tǒng)叫安全屏(security screen)概念包括兩件事,一件是PIN、各種直接解鎖密保的屏幕操作,如指紋和密碼,另一種是SIM PIN和SIM PUK解鎖手機(jī)鎖定狀態(tài)等各種操作。

這些操作被放在一個(gè)棧里(stack)中。

正常解鎖谷歌手機(jī)時(shí),直接用PIN、指紋或密碼都可以,但不能超過3次,否則會(huì)被鎖定。

但是如果忘記了密碼,手機(jī)(輸入三次錯(cuò)誤密碼后)被迫鎖定,同時(shí)SIM PIN可以看出,它將被放置在其他屏幕解鎖操作上,以解除手機(jī)的鎖定狀態(tài)。

萬能破解鎖屏圖案oppo萬能破解鎖屏圖案插圖7

此時(shí),如果使用SIM卡自帶的PUK密碼可以通過一個(gè)名字PUK重置組件模塊調(diào)用.dismiss()函數(shù),解除手機(jī)鎖定,繼續(xù)顯示棧下其他屏幕解鎖操作,在弟弟的情況下是指紋鎖屏。

這里注意,.dismiss()函數(shù)不是專人專用函數(shù),不僅會(huì)解除SIM卡的手機(jī)鎖定屏幕,連接PIN、正常的鎖屏,如密碼和指紋,也可以解鎖……

這使得它很容易受到競爭條件的影響線程執(zhí)行順序有一點(diǎn)誤差,可能會(huì)導(dǎo)致屏幕解鎖問題。

舉個(gè)栗子,如果是PUK重置組件模塊調(diào)用.dismiss()函數(shù)前,操作改變了當(dāng)前的安全屏幕,所以.dismiss()函數(shù)可能會(huì)誤解鎖指紋鎖屏。

萬能破解鎖屏圖案oppo萬能破解鎖屏圖案插圖8

因?yàn)槭謾C(jī),關(guān)鍵來了SIM卡狀態(tài)隨時(shí)更新(系統(tǒng)一直在監(jiān)控SIM卡狀態(tài)),所以如果SIM卡狀態(tài)發(fā)生變化,系統(tǒng)將更新當(dāng)前的安全屏幕。

所以一旦“PUK重置組件成功調(diào)用.dismiss()函數(shù)會(huì)解鎖PUK直接解鎖指紋鎖屏前的屏幕!

根據(jù)谷歌公開的漏洞報(bào)告,它在Android 10到Android 可能出現(xiàn)在13系統(tǒng)中。

現(xiàn)在,安卓工程師已經(jīng)重構(gòu)了.dismiss()函數(shù),簡單來說就是給它一個(gè)小補(bǔ)丁,讓它只能用SimPuk標(biāo)記的安全屏幕(即只能解除手機(jī)鎖定屏幕)。

永遠(yuǎn)不要假設(shè)任何事情bug只有一種特殊情況。如果不解決代碼的基本邏輯,災(zāi)難將永遠(yuǎn)存在。

萬能破解鎖屏圖案oppo萬能破解鎖屏圖案插圖9