價值 7 萬美元的 Bug:只要換張 SIM 卡,兩分鐘就能破解安卓鎖屏?

作者 | 鄭麗媛

「你隨便給我一臺鎖定的Google Pixel 手機,我兩分鐘就能給它解鎖了。」

笑話,這是誰在大言不慚……等等,這居然是真的啊!

近來一位匈牙利研究員 David Schütz 聲稱,他無意間發現了一個「幾乎所有Google Pixel 手機都有的漏洞」,Google還為此獎勵了他 7 萬美元:不用指紋,不用人臉,更不用鎖屏密碼,只要換張 SIM 卡,兩分鐘就能破解安卓鎖屏!

這……究竟是怎麼一回事?

這……究竟是怎麼一回事?
無意間發現的 Bug

無意間發現的 Bug

最初,David Schütz 只是因為某天 Pixel 6 沒電關機,而恰巧他在發簡訊,覺得「玩笑還沒開完很尷尬」,就著急插上充電器重啟開機。

可能是手機太久沒關機,也或許是 David Schütz 太著急要發簡訊,總之 Pixel 6 開機要求輸入 SIM 卡的 PIN 碼時(不是手機鎖屏密碼,是 SIM 卡密碼),他突然忘記了,然後一頓瞎猜後:得,SIM 卡自動鎖定了。

還好 David Schütz 在翻箱倒櫃中找到了 SIM 卡的原始包裝,並刮開背面得到了 PUK 碼——在 SIM 卡鎖定下,PUK 碼可以解開鎖定。

然後,令 David Schütz 感到神奇的一幕發生了:他輸入 PUK 密碼,並設置了新的 SIM 卡密碼後,沒輸入指紋或開機密碼,手機居然自動就解鎖了!

David Schütz 大為震驚,覺得自己似乎是發現了什麼驚天大 Bug,於是重複驗證了幾遍:把手機鎖定了,在開機狀態下重新插入 SIM 卡,輸入 PUK 碼,重置 SIM 卡密碼……好傢伙,手機直接就跳到了主螢幕。

出於嚴謹,David Schütz 又翻出了他的舊 Pixel 5,同樣操作來一套,結果依舊如此。

終於,David Schütz 可以確定,這的確是一個鎖屏(密碼)繞過漏洞——在設備未解鎖時,無需解鎖就可以訪問設備上的內容。

5 步即可繞過解鎖,打開手機

5 步即可繞過解鎖,打開手機

David Schütz 火速向Google發送了漏洞報告,據他自己描述:「這是我迄今為止寫過最短的報告,只用了 5 個簡單的步驟。」

為了更直白地展現攻擊者利用這個漏洞有多簡單,David Schütz 錄製了一段視訊,整個過程兩分鐘都不到

  • 第一步,在鎖屏界面輸入錯誤指紋和錯誤密碼,讓手機鎖定;

  • 第二步,在手機不關機的情況下,將 SIM 卡替換為攻擊者的 SIM 卡;

  • 第三步,攻擊者輸入連輸 3 次錯誤的 SIM 卡 PIN 碼,令他自己的 SIM 卡鎖定;

  • 第四步,正確輸入 SIM 卡的 PUK 密碼;

  • 第五步,重置一個新的 SIM 卡 PIN 碼,然後就「大功告成」了。

也就是說,攻擊者只需要帶一張設置了 PIN 碼的 SIM 卡,再經過以上 5 個步驟,就可以成功繞過解鎖,直接進入主螢幕界面,完全掌握手機的訪問許可權

非 Pixel 的安卓手機可能也有這個 Bug

將這個問題報告給Google之後,David Schütz 在 37 分鐘後就收到了回覆,知道對方已經已將這個 Bug 分類並提交內部——然而,在這之後Google反饋的速度就再也沒這麼積極了。

不僅如此,David Schütz 自己還查了一下Google的漏洞獎勵計劃,根據他發現的這個漏洞級別,按理說是可以拿到 10 萬美元的獎勵,但Google方面指出,他提出的這個 Bug 之前已經有人報告過,因此不予獎勵。

好吧,對於這個回答 David Schütz 無奈接受了,畢竟他也無從考究,但出於安全考慮,他一直催促著Google方面儘快修復這個 Bug。

可直到他報告這個漏洞的三個月後,David Schütz 發現他還是可以通過上面的操作解鎖手機,於是他終於忍不了了:今年 9 月,在Google舉辦的一場名為 ESCAL8 的 Bug 獵人活動上,David Schütz 找了好幾個Google工程師,當面給他們演示這一漏洞。

或許是因為親眼看到兩分鐘不到就能解鎖手機帶來的衝擊,事後Google Android VRP 團隊回應說他們會盡快修復這個漏洞,最終該漏洞已在 11 月 5 號的系統安全更新中得到了修復。

另外值得一提的是,後來Google還是因為這一漏洞,獎勵了 David Schütz 7 萬美元,理由是:「雖然你的報告是重複的,但正是因為你的報告,我們才開始修復這個漏洞,所以我們決定破例,為你的發現獎勵 7 萬美元。」

看過 David Schütz 的分享,許多網友很快掏出自己的手機試了試。在 HackerNews 上,有人指出不僅是 Pixel,在非 Pixel 的 Android 12 或更高版本的手機上也能重現該漏洞,而 Android 11 手機好像沒有這個 Bug

也有網友提出,如果沒有在手機上設置鎖定 SIM 卡,即開機時無需輸入 SIM 卡 PIN 碼,是否會比較安全?但實際上,SIM 卡鎖是通過 SIM 卡本身管理的,也就是說不論你的手機有沒有給 SIM 卡設置密碼,只要攻擊者帶了一張設有 PIN 碼的 SIM 卡,就可以通過該漏洞解鎖別人的手機。

那麼,你的安卓手機是否更新了系統,如今有沒有這個 Bug?

參考連結:

  • https://bugs.xdavidhu.me/google/2022/11/10/accidental-70k-google-pixel-lock-screen-bypass/

  • https://www.reddit.com/r/Android/comments/yrcri0/accidental_70k_google_pixel_lock_screen_bypass/

☞iPhone 14/Pro衛星緊急求救上線;非法採集使用者位置,Google賠償3.9億美元;Node.js 19.1.0發佈|極客頭條

☞糾錯老闆馬斯克後,Twitter 工程師遭解僱!

☞被歐美公司壟斷近 20 年,中國工業軟體的機會在哪裡?

相關文章

遇到無法復現的 Bug 該怎麼辦?

遇到無法復現的 Bug 該怎麼辦?

【CSDN 編者按】這篇文章探討了軟體開發中常見的問題:無法在開發者的機器上覆現使用者報告的 bug。文章強調了開發者應該承擔起責任,努力追...

破壞 java.lang.String

破壞 java.lang.String

【編者按】本文展示瞭如何利用 Java 的一個 bug 來製造一些奇怪的字串,包括字串相等性的條件、創建損壞字串的方法以及利用該 bug 在...