首页 > 社交 > 科普中国

国外大神用一张

常驻编辑 科普中国 2022-11-14 小哥   手机   大神   指纹   解锁   函数   漏洞   屏幕   国外   密码   操作   系统
kwP拜客生活常识网

简单来说,Android 系统中有一个叫做“安全屏幕”的东西,其中包含两种东西:kwP拜客生活常识网

一种是 PIN、指纹、密码等各种直接解锁密保的屏幕操作。kwP拜客生活常识网

另一种是 SIM PIN 和 SIM PUK 等各种解锁手机锁定状态的操作。kwP拜客生活常识网

这些操作被放在一个栈(stack)中。kwP拜客生活常识网

正常解锁谷歌安卓手机时,直接用 PIN、指纹或密码都可以,但不能超过 3 次,否则就会被锁定。kwP拜客生活常识网

但如果忘记密码,手机(在输入 3 次错误密码后)被强制锁定了,同时 SIM PIN 条目可见,它就会被放置在其他屏幕解锁操作之上,用来让你解除手机的锁定状态。kwP拜客生活常识网

kwP拜客生活常识网

栈的原理kwP拜客生活常识网

这时候,如果使用 SIM 卡自带的 PUK 密码,就能通过一个叫“PUK 重置组件”的模块调用.dismiss() 函数,将手机锁定解除,并继续显示栈下面的其他屏幕解锁操作,在小哥的案例中是指纹锁屏。kwP拜客生活常识网

kwP拜客生活常识网

就是这个函数kwP拜客生活常识网

这里注意,.dismiss() 函数可不是一个“专人专用”的函数,它不仅会解除 SIM 卡的手机锁定屏幕,连 PIN、密码和指纹之类的正常锁屏也能解锁……kwP拜客生活常识网

这就导致它极容易受到竞态条件影响,一旦两个线程执行顺序出现一点儿误差,就可能导致屏幕解锁出现问题,也就是说这个BUG并不是必现的,有可能同样的环境下你测试的时候没有这个漏洞。kwP拜客生活常识网

举个例子,如果在“PUK 重置组件”的模块调用.dismiss () 函数之前,就有操作改变了当前的安全屏幕,那么.dismiss () 函数就可能误解锁指纹锁屏。kwP拜客生活常识网

关键地方在于,由于手机 SIM 卡状态是随时更新的(系统一直在监视 SIM 卡状态),因此如果 SIM 卡状态发生变化,系统也会更新当前的安全屏幕。kwP拜客生活常识网

所以一旦“PUK 重置组件”成功调用了.dismiss () 函数,它就会在解锁 PUK 屏幕之前,直接先解锁了指纹锁屏kwP拜客生活常识网

根据谷歌公开的漏洞报告,它在 Android 10 到 Android 13 系统中都可能出现:kwP拜客生活常识网

kwP拜客生活常识网

也有网友测试发现,Android 11 似乎不受影响,而是在 Android 12 中出现了。kwP拜客生活常识网

kwP拜客生活常识网

还有网友发现

相关阅读:

  • 云顶天宫铜门与蛇沼鬼城有什么关系?为什么小哥要说再见
  • “90后”尼泊尔小哥的“飞天梦”:御风而起 翱翔蓝天
  • 北京海淀甘家口临时管控区:小哥主动进“圈”当起快递“
  • 北京管控小区居民为快递小哥订外卖
  • 北京通州:小区突然封控,快递小哥、家政阿姨纷纷变身“大
  • 北京战疫直击丨暂停堂食后 一位外卖小哥的自述
  • 北京战疫直击|暂停堂食后 一位外卖小哥的自述
  • “最快的快递小哥”跑在抗疫一线
  • 宁夏为万余名快递小哥配送天气预警信息
  • 双腿穿假肢的外卖小哥: 感受人间善意
    • 网站地图 |
    • 声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不做权威认证,如若验证其真实性,请咨询相关权威专业人士。