國外大神用一張 SIM 卡就破解了手機鎖屏

推薦2年前發(fā)布 AI工具箱
155 00

是的你沒聽錯,最近有個國外的小哥給別人的手機換了一張SIM卡,2分鐘就解鎖了安卓系統(tǒng)的鎖屏。

小哥最先是在谷歌Pixel手機上發(fā)現(xiàn)這個BUG的,這個BUG的原理是切換手機SIM卡然后直接繞過手機本身的指紋解鎖和密碼保護。

而且這個BUG并不是谷歌Pixel手機才有的,其他安卓手機上也會有,例如有網(wǎng)友試了試開源安卓系統(tǒng) LineageOS,就發(fā)現(xiàn)同樣問題:

還有網(wǎng)友在自己的 Android12 系統(tǒng)上試了下這種破解方式:

具體的破解方式如下:

首先用錯誤的指紋或手機密碼解鎖手機,直到鎖定手,也就是故意輸錯3次密碼讓手機鎖住。

然后找一張新的SIM卡,替換換原理手機上的SIM卡。

接下來再用錯誤的 SIM 卡密碼(注意:這里的密碼是SIM卡密碼)鎖定 SIM 卡。

SIM 卡被鎖定后,手機便會索要其 PUK 密碼,PUK密碼一般在這 SIM 卡的原始包裝上,在卡套的背面會有一個圖層,刮開就可以看到密碼,如果丟失也可直接打電話向運營商查詢。

PUK碼又叫做SIM卡自帶的PIN解鎖碼,假如PIN密碼忘記了,可以用PUK碼解鎖。

輸入 PUK 密碼后,直接重置新 SIM 的密碼便能開鎖,手機原有的密碼和指紋都成功繞過。

那么這個漏洞是如何發(fā)現(xiàn)的呢?

據(jù)說當時小哥的手機電量快沒了關(guān)機了,他充上電后重新啟動,手機要求輸入SIM卡的PIN碼,但是他忘記了這個卡的PIN密碼,就亂輸入了幾個密碼導(dǎo)致把SIM卡鎖定了。

如果解開這個SIM卡就要輸入PUK密碼,他找到原來的卡套包裝后輸入了PUK碼。結(jié)果,重置SIM卡密碼后,手機竟然自動解鎖了。

小哥發(fā)現(xiàn)這個BUG之后立馬向谷歌提交了這個內(nèi)部報告,因為谷歌是有一個叫做設(shè)備安全獎勵計劃的,如果第一個提交BUG給谷歌的人最高可以獲得 10 萬美金的獎勵。

不過在報告提交一個月后,小哥收到了 Android 安全團隊的一份郵件內(nèi)容大概是:這個問題另一位外部研究人員之前已經(jīng)報告過了。

也就是說這位小哥拿不到10萬美金了。

但是據(jù)說這個小哥向谷歌反饋這個BUG之后,谷歌的安全團隊半年才修好這個漏洞,因為修復(fù)這個漏洞并沒有那么簡單,從提交的修改情況來看,光是要改動的文件數(shù)量,就達到 12 個:

這個漏洞究竟是怎么出現(xiàn)的?

簡單來說,Android 系統(tǒng)中有一個叫做“安全屏幕”的東西,其中包含兩種東西:

一種是 PIN、指紋、密碼等各種直接解鎖密保的屏幕操作。

另一種是 SIM PIN 和 SIM PUK 等各種解鎖手機鎖定狀態(tài)的操作。

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

正常解鎖谷歌安卓手機時,直接用 PIN、指紋或密碼都可以,但不能超過 3 次,否則就會被鎖定。

但如果忘記密碼,手機(在輸入 3 次錯誤密碼后)被強制鎖定了,同時 SIM PIN 條目可見,它就會被放置在其他屏幕解鎖操作之上,用來讓你解除手機的鎖定狀態(tài)。

棧的原理

這時候,如果使用 SIM 卡自帶的 PUK 密碼,就能通過一個叫“PUK 重置組件”的模塊調(diào)用.dismiss() 函數(shù),將手機鎖定解除,并繼續(xù)顯示棧下面的其他屏幕解鎖操作,在小哥的案例中是指紋鎖屏。

就是這個函數(shù)

這里注意,.dismiss() 函數(shù)可不是一個“專人專用”的函數(shù),它不僅會解除 SIM 卡的手機鎖定屏幕,連 PIN、密碼和指紋之類的正常鎖屏也能解鎖……

這就導(dǎo)致它極容易受到競態(tài)條件影響,一旦兩個線程執(zhí)行順序出現(xiàn)一點兒誤差,就可能導(dǎo)致屏幕解鎖出現(xiàn)問題,也就是說這個BUG并不是必現(xiàn)的,有可能同樣的環(huán)境下你測試的時候沒有這個漏洞。

舉個例子,如果在“PUK 重置組件”的模塊調(diào)用.dismiss () 函數(shù)之前,就有操作改變了當前的安全屏幕,那么.dismiss () 函數(shù)就可能誤解鎖指紋鎖屏。

關(guān)鍵地方在于,由于手機 SIM 卡狀態(tài)是隨時更新的(系統(tǒng)一直在監(jiān)視 SIM 卡狀態(tài)),因此如果 SIM 卡狀態(tài)發(fā)生變化,系統(tǒng)也會更新當前的安全屏幕。

所以一旦“PUK 重置組件”成功調(diào)用了.dismiss () 函數(shù),它就會在解鎖 PUK 屏幕之前,直接先解鎖了指紋鎖屏!

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

也有網(wǎng)友測試發(fā)現(xiàn),Android 11 似乎不受影響,而是在 Android 12 中出現(xiàn)了。

還有網(wǎng)友發(fā)現(xiàn)三星手機沒有這個問題:

也就是說并不是所有的安卓系統(tǒng)都會出現(xiàn),可能在某個版本上或者機型上才會出現(xiàn)這個BUG。

現(xiàn)在,谷歌的工程師們重構(gòu)了.dismiss () 函數(shù),給它打了個小補丁,讓它只能解鎖帶有“SimPuk”標記的安全屏幕(也就是只能解除手機鎖定屏幕)。

不過有網(wǎng)友認為,這不是這次漏洞的最優(yōu)解,因為這不算徹底解決了這個問題。

試試你的安卓手機中出現(xiàn)了這個 bug 嗎?

? 版權(quán)聲明

相關(guān)文章

暫無評論

none
暫無評論...