如果近期关注过微软的安全博客,会发现一个有意思的现象。
Microsoft 365 Defender Research Team 最近发布了一些其他操作系统平台的漏洞研究,例如一些 macOS 平台的提权,甚至 Android 上的 TikTok App,和微软之前给人的印象不太一样。
今天发布的这篇 Vulnerability in TikTok Android app could lead to one-click account hijacking 便是一个 old school 得不能再老的 deeplink 跳转内嵌 WebView 漏洞。
https://www.microsoft.com/security/blog/2022/08/31/vulnerability-in-tiktok-android-app-could-lead-to-one-click-account-hijacking/
Although the [redacted-internal-scheme]://webview?url=<website> deeplink can be used to load URLs to the CrossPlatformActivity’s WebView via a query parameter, the application imposes filters to reject untrusted hosts.
值得一提的是 TikTok 确实在 WebView 跳转任意网址之前做了可信名单检查,不过在这被作者绕过了。文中没有提到具体的绕过细节(到底是客户端还是服务端)。
The filtering takes place on the server-side and the decision to load or reject a URL is based on the reply received from a particular HTTP GET request. Our static analysis indicated that it is possible to bypass the server-side check by adding two additional parameters to the deeplink.
洋洋洒洒写了一堆,原理和之前网上随处可见的研究没有太多差异。
忍不住要阴阳怪气一下。
很羡慕那些能随手写一大篇文字的人,可能主修过莎士比亚文学吧。我公众号多敲两个字都嫌手疼,有这闲空不如思考一下周末去哪旅游。写就写吧,一点新花样都没。太水了。
曾几何时挖漏洞成了一种公关。
在这方面工业界最知名的还属 Google 的 Project Zero。当然做技术有很多鄙视链,P0 未必都能做的最强,但其做了不少开创性的工作,留下了许多各个阶段安全研究人员必读的资料,这个大家应该没什么意见吧?
忘了之前听谁说,Google 创建 Project Zero 的其中一个动机是为了推广 Chrome。很难不同意。P0 一直都在做主流浏览器的漏洞研究,而且还会参与到 Chromium 的开发。比如 Windows 大佬 James Forshaw 最近几个月还在提交代码:
更不要说 Samuel Groß(前 P0 成员,在 v8、JavaScriptCore 和 iOS / macOS 上发表过多个议题)直接转岗去 v8 security tech lead 去了。
给自家产品“赋能”无可厚非。但如果读者联想一下 Windows 平台默认浏览器的变迁——从 IE 到 Edge(Chakra),最后彻底放弃自己的引擎,Edge 改用 Chromium 换皮肤。恶意揣测一下,包括 P0 在内还有国内的一些大佬刷洞刷的太凶,薅秃了羊毛,在微软做决策换壳的时候肯定是有影响的。
在大厂里的安全研究应该怎么玩,P0 一定程度上做了示范。对内加强自己的防线,包括产品能力和威胁检测;对外秀肌肉,如果有产品或者服务可以带货;还能刷别家的洞刷的对方没脾气,反正普通用户看到相关报道,可能会对相关的产品的安全性产生一些或正面或负面的印象。
P0 在某些方面确实是天花板,不服不行。
大家都喜欢给自己立江湖武侠人设,特别是一些营销号文章,都快成玄幻小说了。做研究是为了世界和平,白洞,白色的明天在等着我们!
写晋升 ppt 或者爆款文的时候可以这么说,但别真把自己忽悠瘸了。假如时钟往回拨十年,SRC 都还没几个的时候。不要说变现,做安全连稳定工作都不算,又有百分之几的从业者愿意留下坚守梦想呢?
所以做漏洞 PR 的“底层逻辑”,想想也不复杂。
如果是刚成立的小团队,就是打影响力日后好接单子。大厂就可能是要推产品了。Defender 确实是有跨平台的产品,比如这个在 iOS 上基于 Network Extension 的内容过滤插件,主打网址安全检测。
所以这下很容易说的通,为什么突然开始研究非 Windows 生态的安全漏洞了。
但是 PR 也要讲质量。读者可以感受到本文作者(我)的慢慢恶意,在疯狂跪舔 P0 然后黑他们。
凭良心说回来 Defender 最近发的一系列文章质量确实不如同行。合订本如下:
New macOS vulnerability, “powerdir,” could lead to unauthorized user data access
https://www.microsoft.com/security/blog/2022/01/10/new-macos-vulnerability-powerdir-could-lead-to-unauthorized-user-data-access/
Microsoft finds new elevation of privilege Linux vulnerability, Nimbuspwn
https://www.microsoft.com/security/blog/2022/04/26/microsoft-finds-new-elevation-of-privilege-linux-vulnerability-nimbuspwn/
Microsoft finds new macOS vulnerability, Shrootless, that could bypass System Integrity Protection
https://www.microsoft.com/security/blog/2021/10/28/microsoft-finds-new-macos-vulnerability-shrootless-that-could-bypass-system-integrity-protection/
以上几篇没有一个能上国际安全圈最大 PR 活动之一—— Pwn2Own 的。但是居然每一个洞都给都起了名字。每一个。
HeartBleed 之后漏洞都要起名字画 logo 买域名,但如果东西不够硬,就是在招黑。
推上有人直接直言不讳,说 nimbuspwn 是 overhyped(炒作)。
我对 DBus 没什么研究,就不酸了。个人觉得离谱的是 TCC 一篇。对,这个洞也起了个名字。
TCC 是 macOS 上的一个限制 app 隐私权限(如摄像头、联系人数据库等)的功能。个人给 mac 市场部门出个主意,不如起个名字叫隐私卫士,在中国卖相可能会更好。
由于是前几年新加入的安全功能,榜上有几个老哥刷洞刷的很开心。相比其他类别,门槛不高,堪称 bug bounty 提款机。然而苹果还是照给了。
来看看微软自己怎么做的。
Windows 上有一个 meme——UAC 是不是安全边界?
反正微软认为不是,而且在 MSRC 的评分标准中明确提到不给钱。
但实际上……UAC 绕过的实战价值,不用我多说了吧?
当然黑了这么多,良心说下面这篇沙箱逃逸通过参数注入 stdin,利用脚本解释器执行任意代码的思路还是很有意思的。
Uncovering a macOS App Sandbox escape vulnerability: A deep dive into CVE-2022-26706
https://www.microsoft.com/security/blog/2022/07/13/uncovering-a-macos-app-sandbox-escape-vulnerability-a-deep-dive-into-cve-2022-26706/
PR 归 PR,大家都是为了 KPI。但无论怎么说,做研究还是要爱惜下羽毛。
GitHub 被微软收购之后,理论上 GitHub Security 就是同事了。看看人家 Man Yue Mo 同志,各种 Android full chain,也没起个名字啊。
https://github.blog/author/mymo/
还有 MSRC 的 Saar Amar。同样是研究友商的产品,人家写的漏洞分析和 mitigation 逆向质量就很高。我之前还翻译搬运过。
https://saaramar.github.io/Publications/
(对不起,又捧一踩一了)