安卓锁屏不到2分钟被破解,仅需换一张SIM卡

1周前 (11-13 00:30)阅读1回复0
xx
xx
  • 管理员
  • 注册排名6
  • 经验值67025
  • 级别管理员
  • 主题13405
  • 回复0
楼主

Pine 萧箫 发自 凹非寺

量子位 | 公家号 QbitAI

换个SIM卡,就能解锁他人的手机?!

而且整个解锁过程 不超越两分钟。

一位外国小哥偶尔间发现了谷歌Pixel手机上的那个破绽:

可以间接绕过手机自己的指纹和密码庇护,切换手机卡就能更改密码解锁屏幕。

严厉来说,那个破绽并不是谷歌Pixel手机“独有”,而是Android系统中的一个bug,任何基于Android搭建的操做系统都可能遭到影响。

例若有网友试了试开源安卓系统 LineageOS(刷机党常用系统),就发现同样“中招了”:

还有网友在本身的Android12系统上试了下那种破解体例, “it works”!

不外那还不是最离谱的,更离谱的是那位小哥在向谷歌反应之后,平安团队 隔了近半年才修复那个破绽。

在说小哥和谷歌关于那个破绽的“拉锯战”之前,我们先回过甚来看看那是个什么样的破绽?

2分钟内就能破解手机锁屏

小哥“贴心”地上传了 以毁坏者视角破解破绽全过程的视频,整个过程花了 不到两分钟。

话不多说,间接来看。

起首用错误的指纹和手奥秘码解锁手机,曲至锁定。

然后用一张其他的SIM卡间接改换手机本来的SIM卡。

接下来再用错误的SIM卡密码 (重视:那里的密码和手奥秘码不是一回事)锁定SIM卡。

SIM卡被锁定后,手机便会索要其PUK密码,在那SIM卡的原始包拆上,假设丧失也可间接打德律风向运营商查询。

PUK (Personal Identification NumberUnlock Key),SIM卡自带的PIN解锁码。

输进PUK密码后,间接重置新SIM的密码便能开锁,手机原有的密码和指纹都胜利绕过。

bingo!

至于是若何发现那个破绽以及为什么过了近半年才修复那个破绽,也是个很有意思的过程。

以下是小哥的履历:

其时手机电量快耗尽关机了,他充上电从头启动后,手机要求供给 SIM卡的PIN码,但却突然忘记了密码,在乱试一通之后“胜利”把手机锁定。

要解开那个锁定便需要 PUK密码,所幸他找到了原有包拆并输进了PUK码。成果,重置SIM卡密码后,手机竟然间接解锁了!

发现那个大Bug之后,小哥向谷歌 (Android VRP)提交了那个内部破绽陈述,也是从那时起头,小哥和谷歌的“拉锯战”起头了。

他认真查看了Android和谷歌的设备平安奖励方案,发现本身更高能够 获得10万美金的奖励,于是便申请了。

不外在 陈述提交一个月后,小哥收到了Android平安团队的一份邮件:

Android平安团队认为,那个问题另一位外部研究人员之前已经陈述过了。

对此小哥认为,那份回邮的弦外之音就是,更高十万美金的奖励他一分钱都拿不到。

时间又过了一个月,小哥收到平安团队的邮件,对方称破绽还在修复中……

又又过了一个月,九月谷歌发布了新的补钉,但那个Bug照旧没有修复……

不外小哥也不是轻言舍弃的人,他间接来到谷歌办公室,用谷歌Pixel手机演示了一下那个破绽。

然后他给平安团队定了个破绽修复期限:10月15日之前。而对方的回复也很痛快: 10月份那个Bug修欠好!

在拉扯一番后,小哥和谷歌成立了联络,可以实时得到破绽修复的反应。

谷歌方也确定了修复工做的详细时间: 11月份停止,如今那个破绽已于11月5日谷歌的平安更新中被处理。

值得一提的是,关于提交破绽的奖励,小哥最末也拿到了7万美金,不外谷歌对此还做出了一番解释,用小哥的原话来说,就是:

虽然我的陈述是反复的,但恰是因为我的陈述,他们才起头动手修复。正因为如斯,他们决定 例外一次,并奖励给我70000美圆。

小哥和谷歌的完全对话链接附在文末端,感兴致的伙伴能够自行查看。 (手动狗头)

事实为什么会呈现如许的破绽?

如今,谷歌的安卓工程师们末于把那个破绽给补上了。

然而让小哥诧异的是,bug修复远不行他想象的“一行代码补钉”那么简单。

从提交的修改情况来看,光是要改动的文件数量,就到达12个:

所以那个破绽事实是怎么呈现的?

简单来说,Android系统中有一个喊做“平安屏幕” (security screen)的概念,此中包罗两种工具,一种是PIN、指纹、密码等各类 间接解锁密保的屏幕操做,另一种是SIM PIN和SIM PUK等各类 解锁手机锁定形态的操做。

那些操做被放在一个栈 (stack)中。

一般解锁谷歌手机时,间接用PIN、指纹或密码都能够,但不克不及超越3次,不然就会被锁定。

但假设忘记密码,手机 (在输进3次错误密码后)被强迫锁定了,同时SIM PIN条目可见,它就会被放置在其他屏幕解锁操做之上,用来让你解除手机的锁定形态。

△栈原理

那时候,假设利用SIM卡自带的PUK密码,就能通过一个喊“PUK重置组件”的模块挪用 .dismiss函数,将手机锁定解除,并陆续展现栈下面的其他屏幕解锁操做,在小哥的案例中是指纹锁屏。

△就是那个函数

那里重视, .dismiss函数可不是一个“专人公用”的函数,它其实不只会解除SIM卡的手机锁定屏幕,连PIN、密码和指纹之类的一般锁屏也能解锁……

那就招致它极随便遭到竞态前提影响,一旦两个线程施行挨次呈现一点儿误差,就可能招致屏幕解锁呈现问题。

竞态前提即两个或者以长进程或者线程并发施行时,其最末的成果依靠于历程或者线程施行的 切确时序。

举个栗子,假设在“PUK重置组件”的模块挪用.dismiss函数之前,就有操做改动了当前的平安屏幕,那么.dismiss函数就可能曲解锁指纹锁屏。

关键来了,因为手机SIM卡形态是随时更新的 (系同一曲在监视SIM卡形态),因而假设SIM卡形态发作变革,系统也会更新当前的平安屏幕。

所以一旦“PUK重置组件”胜利挪用了.dismiss函数,它就会在解锁PUK屏幕之前, 间接先解锁了指纹锁屏!

按照谷歌公开的破绽陈述,它在Android 10到Android 13系统中都可能呈现:

当然,也有网友测试发现,Android 11似乎不受影响,而是在Android 12中呈现了。

还有网友发现 三星手机也“逃过一劫”:

如今,安卓工程师们重构了.dismiss函数,简单来说就是给它打个小小的补钉,让它只能解锁带有“SimPuk”标识表记标帜的平安屏幕 (也就是只能解除手机锁定屏幕)。

小哥本人对此没有异议,但也有网友认为,那不是此次破绽的更优解:

永久不要假设任何bug都只要一种特殊情况。假设不处理代码的底子逻辑,灾难就不断存在。

你的安卓手机中呈现了那个bug吗?

对话传送门:

feed.bugs.xdavidhu.me

— 完—

MEET 2023 大会启动

邀你共论智能财产穿越周期之道

本年12月,MEET2023智能将来大会将再度邀请智能科技财产、科研、投资范畴大咖嘉宾,配合切磋人工智能行业破局之道。

欢送智能科技企业参会,分享打破性功效,交换时代级变化,共襄盛会!点击链接或下方图片查看大会详情:

量子位「MEET 2023智能将来大会」启动,邀你共论智能财产穿越周期之道

点那里存眷我 👇 记得标星噢 ~

一键三连「分享」、「点赞」和「在看」

科技前沿停顿日日相见 ~

0
回帖

安卓锁屏不到2分钟被破解,仅需换一张SIM卡 期待您的回复!

取消