转载声明:本文转载自「硅星人」,搜索「guixingren123」即可关注。
不需要高超的黑客技巧
小学生都能轻易攻破你的电脑!
苹果公司是目前市值最高的科技公司,它销售目前市面上主流消费电子设备中最昂贵的单品——包括 Mac 电脑和 iPhone 手机等等。
苹果为其系统的安全性而自豪,即便超级封闭的 iOS 系统为用户带来不便,一度遭受抨击,苹果仍不为所动。这种态度也有好处,当 FBI 要求苹果配合调查破解设备时,苹果表示「我也没有办法」。
但今天,苹果让人大失所望。
有人在 macOS 里发现了一个史诗级的巨大安全漏洞。任何人都可以轻松获取 root 权限,不用输入密码、直接逾越登陆界面和系统里的密码锁,对电脑完全控制!
(建议你一边看,一边打开自己的电脑尝试是不是像本文描述的这样。解决办法在文后。)
美国时间 11 月 28 日上午,开发者 Lemi Orhan Ergin 通过 Twitter 报告,自己在 macOS High Sierra 上发现了一个严重的安全隐患。
漏洞的具体内容:在 macOS 的系统用户登陆界面上,用户名使用 "root",密码留空,能够成功登陆或解锁系统;如果一次不行,多点几次即可。
硅星人(微信号:guixingren123)在自家安装 macOS High Sierra 的 MacBook Air 上测试,成功复现这一情况。
该漏洞可以在电脑上进行以下两种操作时被利用:
1)登陆系统,也即从关机状态、睡眠状态开机登陆,或手动锁定电脑后解锁
使用 root 用户名,无密码登陆成功,如下(动图来自计算机安全研究员 Amit Serper)
2)在系统偏好设置里修改用户群组管理、安全隐私、家长控制等选项,需要再次输入用户名密码以确认权限时:
根据 Twitter 上的用户以及一些信息安全博客的说法,目前这个漏洞仅限于 macOS High Sierra。硅星人又在另一台安装了 macOS Sierra 的 12' MacBook 上测试,没能复现。
——macOS High Sierra 目前苹果推出最新的操作系统版本,只要是安装这一系统的机型,都会受到影响。
世界上有两种安全漏洞,第一种需要专业的黑客知识和丰富的经验,准确找到漏洞所在和滥用方式,和系统管理员斗智斗勇;
第二种,则不需要任何高超的黑客技巧或复杂的外接设备,连小学生都能轻松掌握。
很遗憾,今天苹果留在 macOS 里的这个漏洞,属于第二种。
硅星人可以确定,这一漏洞其实不是有意而为之,应该实属负责这部分的程序员(也可能是实习生)脑子进水——因为,mac OS 里其实隐藏了一个最高权限的账户,用户名就是 root,是留给苹果维修人员和 IT 人士的,一般用户不会看到。而今天这个漏洞的情况,应该是苹果自动打开了该账户,留了空的密码,还没告诉用户。(文末有补上漏洞的教程)
它如何影响用户?比如说你正在电脑上做一份机密文件,中午锁屏/睡眠/关机去吃饭,别人可以开机并直接登陆你的电脑。注意,root 是 macOS 里最高的权限,就算你的电脑有不同分区,理论上坏人登陆进去后所有文件都能一览无遗。
再复杂一点。如果你曾经开过屏幕共享,或者让公司 IT 远程控制给你修过电脑的话——你的远程控制端口是开着的。这意味着坏人可以远程登陆你的电脑……
最开始报告漏洞的,也就是上面那条截图推文的作者 Ergin,说是自己公司的同事在帮助用户登陆账户时,偶遇了这个情况。同事告诉了他,他又在自己的电脑上试了下,能够复现,于是赶快发了推昭告世人。
虽然有很大的运气,或者说是偶然成分,但这个漏洞的糟糕成都仍然令人发指:用户名 root,密码不是简单,而是压根就没有!而且这不是别的公司,是封闭、安全出了名的苹果……可真是滑天下之大稽了。
有用户吐槽:四年前我建议推出「零步验证」,没想到苹果真做出来了!
(解释一下这个梗:两步验证就是用户名密码+短信/验证器随机密码,对应的是普通/一步验证,用户名+密码。零步验证……就是苹果的新功能:不需要密码!)
没过多久,有人开始利用这个漏洞「搞事情」了:
Twitter 用户 @Viss 打开了苹果自家推出的网络管理工具 RDP 以及其它网络嗅探工具,用 root 用户名和空密码组合,开始暴力盲试网络上所有安装了 macOS High Sierra,并且打开了远程控制端口的电脑……
经过几次转换思路,这次试验取得了令人震惊的结果。@Viss 成功刷出了大量的潜在「受害者」。在 RDP 里,他能够看到这些电脑的名字、IP 地址、登陆的用户名、正在使用的 App,以及使用状态(闲置了多久时间,等等)
网友们将这个漏洞命名为 #iamroot。
苹果方面表示正在开发新的软件更新以解决此问题。
现在才开始解决,已经迟到了多久?
2017 年 6 月 5 日,macOS High Sierra 正式推出并免费向绝大多数 Mac 用户推送。而根据硅星人的查证,最早在今年 6 月 7 日——新系统推出两天后——就有用户在苹果开发者论坛留言:
升级到 macOS High Sierra,系统里原来的两个管理员账户全都变成普通用户了。
同一条帖子里,在 11 月 13 号,也就是两个星期前,就有其他用户留言,建议使用 root 用户名+密码空,跟本次 #iamroot 漏洞完全相同的操作方式,来获取管理员权限。
这是什么意思?硅星人猜测,或许用户的电脑(不一定所有人,至少在这个例子里)升级到 macOS High Sierra 时,系统本身就进行了一个很蹊跷的动作:降低现有管理员用户的权限,然后静默创建一个新的管理员用户。
系统为什么要这样做?或许,这是苹果想为公司 IT 设置的捷径,方便他们远程管理员工的电脑;也有可能,这是苹果想给自己留的捷径,以便推送一切重要的安全更新,或者其它东西。
如果 macOS 像 iOS 那样也设有捉虫悬赏 (bug bounty),这种糟糕的漏洞没准能够更早发现 ,而且用一种不像现在这么丢人的方式……报告给苹果。很遗憾,macOS 并没有相关的安全漏洞发现汇报的鼓励机制。
最糟糕的是,用户名 root,密码还是空的。不仅俗套,还很弱智。这样的漏洞出来,真是哭笑不得……
最后,当然要兑现一开始的承诺,告诉大家怎样修复这个漏洞。
弱智的漏洞也只需要简单的方法就能填上。
开始之前,先试一下能否在自己电脑上复现 #iamroot 漏洞的情况,也就是用 root+空密码试一下登陆。确认后去下一步。
如果你背后发凉,好像有人已经在偷窥你的电脑,断网后进行所有操作可能会让你感觉好一点。
首先,你需要关闭访客登陆。进入系统偏好设置→用户和群组→点击客人用户(访客),反选所有的选项。如果你已经是管理员的话,需要点击左下角的锁按钮,输入自己的用户名密码再进行更改,下同。
然后,你需要给这个你从来不知道存在的 root 用户,增加一个密码。
还是系统偏好设置→用户和群组,点击左下角的登陆选项,再点击网络账户服务器旁边的「加入」按钮:
在弹出的菜单中点击「打开目录实用工具」。在新弹出的窗口里点以下锁按钮,输入用户名密码,以进行修改。
然后,在屏幕顶部的菜单栏中找到编辑→更改 Root 密码,然后输入一个复杂的密码。
你会看到,截图里更改 Root 密码一项是灰色的,因为硅星人已经关闭了 Root 用户。不过苹果在官方回应里没有建议用户关掉 Root 用户:
“We are working on a software update to address this issue. In the meantime, setting a root password prevents unauthorized access to your Mac. To enable the Root User and set a password, please follow the instructions here. If a Root User is already enabled, to ensure a blank password is not set, please follow the instructions from the ‘Change the root password’ section.”
赶快行动吧。
HAY! 17 年度科技大趴华丽重启!
门票可继续有效使用,
大咖嘉宾、数码粉丝辩论赛、人工智能翻译大赛……
12月16日北京不见不散!
👇👇👇少量余票狠戳小程序👇👇👇