史上最复杂 Zero-click 攻击:Pegasus 如何靠 GIF 文件骇进 iPhone?


以色列网络情报公司 NSO Group 旗下间谍软件「飞马」(Pegasus)先前遭苹果提告,涉嫌破解 iPhone、读取数据和用户信息,这次 谷歌 资安团队 Project Zero 研究人员深入研究飞马后,惊呼「这是史上技术最复杂的漏洞之一」,竟是从「GIF 档案」引爆一连串资安危机。

史上最复杂 Zero-click 攻击:Pegasus 如何靠 GIF 文件骇进 iPhone?

飞马仿佛鬼入侵,没点击就被骇

NSO Group 利用漏洞 ForcedEntry 入侵受害者装置,安装最新版「飞马」,或透过建立 Apple ID 发动「免点击」(Zero-click)攻击,将恶意资料送到受害者设备,即使没有点击任何恶意链接,也能在对方不知情下安装「飞马」软体。

同时,飞马能让黑客远距操作麦克风、镜头,搜集用户信息、电子信箱和信息等敏感信息。

谷歌 资安团队 Project Zero 研究人员 Ian Beer 和 Samuel Gross 表示,「我们没见过这种外部利用的漏洞,从如此有限的起点建立同等能力,不需要与攻击者服务器互动,也没有加载 JavaScript 或类似脚本引擎等。 资安界许多人认为一次性远距代码执行,无法建立可靠的单次攻击漏洞,但事实证明不但可行,还能有效对付人。」

飞马如何入侵 iPhone?

先要知道的是,飞马入侵 iPhone 的初始入口是 iMessage,所以只要取得目标对象电话号码或 Apple ID 用户名就能入侵。

iMessage 可接收 gif 图档,攻击者做一个「假 GIF」(实际上是 PDF),由于扩展名是 GIF,因此让苹果 CoreGraphics PDF 设计会自动解析假 GIF 文件。

然而 CoreGraphics PDF 解析器不会注意到副档名,而是从内容分析,因此这档案就进入 PDF 的「成像引擎」(rendering engine)。

据 谷歌 Project Zero 博客,PDF 有种很古老的压缩格式叫「JBIG2」,是种黑白图像压缩算法,可将扫描进去的 bitmap 压缩到很小,主要是 1990 年代后期 XEROX WorkCenter 扫描器使用。 如果用过这种旧款扫描机扫描 PDF,其中 PDF 文件就可能含 JBIG2。

一般来说,档案压缩后需绘制PDF,为了让打印机显示更方便,会有很多压缩和节省流量方法,如是英文或德文等语言编写的文本,会采用重复字母为参考字形(reference glyph),将完整字母变形或替换成稍微看得懂的字形,虽然有变动,但不影响阅读,由于不会保留所有资料,因此储存资料量明显减少。

压缩格式竟然建出「迷你电脑」

黑客的 PDF 就含 JBIG2,之后需要解压缩程序,苹果 CoreGraphics PDF 解析器似乎采用苹果专用代码,但 JBIG2 执行来自 Xpdf,源代码是免费开源。

但JBIG2主要为了压缩、解压缩设计,没有基本编程(scripting)能力,连基本运算都很困难,所以到底该怎么让JBIG2可以运作?

攻击者发现JBIG2虽没有编程功能,不过一旦跟漏洞结合,就有能力模拟在任意内存运作的电路,意即透过JBIG2指令执行自定义脚本,做出如AND、OR、XOR、XNOR的逻辑运算。

因此,攻击者使用7万条JBIG2指令和逻辑闸建构出迷你电脑架构,有暂存器、加法器和比较器,可做基本运算,虽不像 Javascript 那么快,但运作原里相同。

Project Zero 博客指出,有了这台迷你电脑,就可透过 JBIG2 bootstrap 进入「沙盒」(SandBox)模拟计算机环境,之后透过模拟环境试跑真正的攻击程序。

研究人员直言,整件攻击在这非常奇怪、模拟的环境运行。 非常不可思议,也非常可怕。」

苹果开吉、美国列入黑名单

由于这行为太恶劣,为防止更多滥用行为及损害用户,造成资安问题,苹果11月23日提告NSO Group,并发出永久禁令,禁止其使用任何苹果软件、服务或装置,还要求超过75,000美元赔偿金。 美国当局也将该公司列入出口管制黑名单。

飞马今年7月遭指控入侵和窃听世界各地记者、维权人士和企业高层的智能手机,影响遍及多平台。 后来监控名单流出,超过5万笔记本话号码,含189名记者、85位维权人士、65名企业高层、600多位政治人物和外交情报官员,甚至还有法国总统马克龙等国家元首,震惊全球。

(0)
打赏 微信扫一扫 微信扫一扫

相关推荐

发表评论

登录后才能评论