明敏 发自 凹非寺
量子位 报道 | 公众号 QbitAI
好不容易找出iCloud账户漏洞,但他竟然拒收苹果1.8万美元奖金!
最近,这件事在Hacker News上引起大批网友围观。
本来程序员找出漏洞、提交报告、获得相应公司给予的奖金,这是极其平常的事情。
怎么还会有人拒绝奖金呢?
对此,这位小哥回应说:
因为苹果的做法太不公开透明了,我宁愿免费分享我的研究。
这实在是令人哗然啊。
这不禁让人好奇,苹果到底做了什么事竟会引得小哥如此愤怒?
28000个IP地址破解iCloud账户
Laxman Muthiyah是一位来自印度的白帽黑客。
白帽黑客:指站在黑客的立场攻击自己的系统以进行安全漏洞排查的程序员。
一直以来他都在关注各种平台的账户是否存在安全漏洞。
就在去年,他想测试一下iCloud账户是否安全。
然而这一测,就测出来问题了:
他发现利用Apple ID找回密码的机制,能够成功入侵任意一个iCloud账户。
这是怎么做到的呢?
要知道,苹果在2014年iCloud账户泄露私密照事件后,就添加了双因素身份认证功能。
如果想要更改密码,往往要用已绑定的手机号或邮箱来接收一个6位的验证码。
如果想要在不知道特定验证码的情况下,通过排列组合试出正确的6位验证码。
大约有100万种可能。
而且你不可能通过这样的尝试试对一个验证码。
因为当你连续5次输入错误的验证码后,账户就会被锁住几个小时,即使更换IP也没有用。
从常规操作看,苹果的机制真的非常安全。
但是这位小哥用黑客手段试了试,结果就不一样了……
他首先尝试向Apple服务器同时发送大量的POST请求。
结果发现,如果同时发送6个以上的POST请求,IP地址就会被Apple服务器拉黑。之后再发送POST请求,就会出现503错误。
我们计划在下一步的安全系统更新中解决这个问题。
无论是试了5次验证码被锁、还是6次以上POST请求后被拉黑,这些都是在同一个IP地址下进行的。
如果换一换IP地址呢?
如果用单个IP地址跨6个Apple服务器地址,就可以发送36个请求。
按照6位验证码的100万种可能,想要试出正确答案,需要28000个IP地址。
这个数字看上去很多,但是如果使用云服务提供商的话,事情就so easy了。
小哥先尝试用了AWS、谷歌云等服务商,结果发现Apple把他们都拉黑了。
但他还没放弃,又换了一家不知名的云服务商试试看。
结果,入侵成功了!
也就是说,用这种暴力破解的方式,可以更改任意一个iCloud账户的密码!
1.8w赏金?我不要了
发现了这样的漏洞后,程序员小哥赶紧向Apple安全团队报告了详细的演示过程。
一开始,Apple的态度非常友好,不到1个小时就给出了积极的回应。
他们表示,的确存在这样的问题,目前已经对漏洞进行分类。
有了这样的反馈,Laxman也就放心了,静静等待Apple修复这个漏洞。
结果,Apple似乎和犯了拖延症一样,几个月过去了,毫无更新的迹象。
这样严重的漏洞,却迟迟不修复,小哥对此表示非常不理解,于是他跑去质问Apple团队。
结果他们“气定神闲”地回应道:
我们计划在下一步的安全系统更新中解决这个问题。
虽然很慢,但是好在这件事Apple确实还在推进ing。
终于在时隔近10个后,今年4月1日,这个漏洞的补丁发布到生产环境中了,但Apple还是没更新。
这种挤牙膏行为,让Laxman实在忍无可忍了。
他想把漏洞问题尽快发布出来,就去联系Apple说,想要把报告发布到自己的博客中。
Apple表示,发之前可以给他们看一下草稿吗?
然后,事情从这就开始变得不对劲了。
在看到小哥的草稿后,Apple居然完全否认了他的说法。
他们表示,这个漏洞并不会影响绝大部分用户,仅仅是非Apple设备上的iCloud账户才有可能被攻击。
而在Laxman博客中表示,绝对不是这样的!
他还发现,Apple不知道什么时候默默更改了支持中心页面中关于忘记密码的一些内容。
在2020年10月份时,Apple的支持中心页面长这样:
现在,它增加了“in some cases”的限定条件。
对于这个情况,小哥去质问Apple官方怎么回事。
官方回应说,这个更改其实是和iOS 14有关。
受信任的电话号码、邮箱和iOS 14能有什么关系????
这不就是明知有漏洞,但是却不打算公开、只想模糊问题不了了之吗?
看到苹果这样的态度,Laxman真的非常失望,他打算不管Apple官方是否批准,自己都要发布这篇博客了。
此时,Apple团队又安排了一个工程师和他通话,来解释为什么他们在支持中心上的改动和小哥发现的漏洞无关。
在和工程师沟通后,小哥为了论证他的说法,又做了一系列的测试。
当他再次用同样的方式入侵账户时,结果却完全不一样了!
同时发送30次请求测试时,发现其中有29个请求被拒绝了。
对于这样的结果,小哥更加怀疑:
如果Apple安全团队在他报告漏洞后进行了修补,那可能一开始的漏洞比他想象的还要严重。
可能不仅可以入侵任何一个iCloud账户,而且还能发现与其关联的Apple设备密码。
之后,小哥又收到了Apple的悬赏邮件。
但是这个结果却让人有些哭笑不得。
在Apple官网上,涉及到iCloud账户入侵漏洞的实际赏金高达10w美元,找出从上锁Apple设备上提取用户数据的漏洞赏金有25w美元。
小哥认为自己报告的漏洞涵盖了这两种情况,应该得到35w美元的奖励。
然而在邮件中,他的奖金只有1.8w元。
先不说钱不钱的事情,苹果这一系列做法真的非常不公开透明。
而且,当他想再和苹果安全团队沟通这个问题时,所有的邮件都石沉大海了。
面对苹果这样的态度,Laxman干脆一不做二不休,拒绝了Apple的奖金,免费和苹果分享了自己的研究。
网友:Apple贬低了小哥所做的一切
果然,Laxman在网上发布事情的经过后,立刻引起了许多人的关注。
网友们几乎一边倒指责Apple团队的做法。
他们用这样的方法,只用一点钱来奖励程序员,这贬低了他对此做出的贡献。
大家也非常心疼这位小哥,认为他远远不止应该得到这么一点钱。
虽然1.8w也很多了,但是我认为他的工作至少值得10w美元。
更重要的是,这件事暴露了苹果的安全部门态度非常有问题。
为什么安全部门如此不友好?
我觉得每个披露漏洞的博文都是这种形式:没有回复 – 延迟回复 – 模糊回复 – 淡化漏洞 – 减少赏金。
他们把白帽黑客当做是一种风险,而不是和他们合作。
事实上,白帽黑客应该是安全部门最好的伙伴啊。
也有网友表示,苹果这样含糊其辞,可能是怕发布了漏洞后影响自己的股价吧。
不要忘记这会带来的商业影响……
但这并不是是Laxman第一次提交漏洞报告。
此前他发现Facebook、Instagram、Microsoft账户也存在类似的安全隐患。
在和相应的团队取得联系后,他们的态度可以说是和苹果截然不同
Facebook和Microsoft对小哥做的工作都表示了感谢,而且也给予了丰厚的奖励。
对于这一次的经历,Laxman由衷地希望苹果安全团队能在未来更加公开、透明。
而且一再强调以上漏洞已经被修复,并感谢了苹果的修复工作。
参考链接:
[1]https://thezerohack.com/apple-vulnerability-bug-bounty
[2]https://twitter.com/LaxmanMuthiyah/status/1406324532344877059
[3]https://news.ycombinator.com/item?id=27564236