煕煕姸姸
26-07-25 10:33 微博认证:数码博主 超话小主持人(Apple超话)

研究人员发现了一种可以绕过macOS安全机制、运行恶意程序的方法,该攻击手段需要一套十分特定的操作步骤,而且即便条件全部满足,也无法作用于所有Mac应用。

Mac上的应用,除系统预装之外,一般通过Mac App Store或是开发者官网下载。

无论哪种获取渠道,macOS本身都设有对应的安全防护机制,阻止恶意人员在设备上执行恶意软件,不过研究团队宣称找到了绕过这套防护的办法。

研究员Talal Hajj Bakri与Tommy Misk在博客文章中表示,他们已经向Apple提交了该问题的相关报告,但Apple并未视作安全隐患。

Apple的判断具备合理依据,可研究人员认为该漏洞属于潜在缺陷,并且修复难度并不高。

研究人员写道:
“macOS存在一处漏洞,攻击者无需获取更高权限,即可在用户无感知的情况下,替换任意一款从网页下载应用的主执行程序。

这就导致原本受系统信任的应用,在重新启动之后,能够运行由攻击者控制的代码,同时不会弹出任何安全警告。”

情况虽属实,但该威胁并没有听起来那么严重。

从Mac App Store下载的软件完全不受该问题影响,仅网页来源的应用存在被利用的可能性,而且攻击必须完整走完整套流程:
下载并安装目标应用
至少正常启动过一次该应用
用户使用tar格式对应用进行打包归档
用户删除Mac内原本的应用程序
再次解压刚刚打包的归档文件

完成以上步骤之后,解压出来的应用启动时,就不会触发macOS的门禁(Gatekeeper)安全校验,系统依旧认定是受信任程序,无阻拦直接运行。

在研究团队的演示当中,被篡改后的程序会弹出弹窗,请求获取访问文件与文件夹的权限。

弹窗本身是macOS系统对话框,弹窗归属又是用户原本信任的应用,用户很容易输入密码完成授权。

在演示案例里,拿到权限之后,恶意代码会把应用原本的程序代码恢复回去。

也就是说,在条件完全契合的前提下,正常应用可以被替换成恶意程序,恶意代码执行完预设攻击行为之后再自行隐藏踪迹。

想要实现这套攻击,不仅要诱导用户自行打包归档应用,攻击者本身还需要获得这台Mac的访问权限。

研究人员明确前提条件:攻击者已经能够以当前用户身份执行代码,例如通过恶意App或者下载的脚本提前进驻设备。

简单来说,攻击者如果已经远程或者物理接触控制了这台Mac,理论上才可以实施该攻击。意味着设备必须先被另一项攻击入侵,该漏洞才具备被利用的条件。

据研究人员透露,Apple之所以判定这件事不属于安全漏洞,有多方面理由:
其中核心理由是整套操作需要诱导用户完成多步手动操作,Apple认为这属于社工攻击范畴,并不是安全机制本身的绕过漏洞。

Apple的判断具备合理性,但研究人员提出的担忧同样有参考价值。

该利用方式能够生效,根源在于应用需要完成签名与公证,但Apple校验的是完整应用包是否归属正规开发者,并不会对应用内部每一项组件逐一核验。

经过打包、解压之后再次启动应用,即便核心执行文件已经被篡改,系统依旧判定为同一个原有程序。

研究团队给出的修复建议:解压恢复出来的应用,应当像全新安装一样,重新执行一次完整安全校验,他们注意到,一旦程序发生改动,macOS其实会要求应用重新申请权限,说明系统本身已经感知到程序出现变化。

这套修复思路具备可行性,看上去也不会给普通用户带来额外使用负担。

用户自身的防护手段:
仅使用Mac App Store下载的软件。二者安装机制略有区别,App Store的软件面向本机全部用户安装部署,网页下载的应用归属下载操作的当前用户。

权限管理、门禁公证校验的逻辑存在差异,这套攻击手段完全无法作用于应用商店来源的程序。

如果确实需要重装软件,App Store的程序可以随时重新下载;官网下载的程序虽然也可以重新获取,但如果对应的开发者已经停止经营,就无法再次下载安装。

除非有十分必要的理由,建议保留应用本体,不要自行打包归档备份。即便进行归档备份,也不要让其他人物理接触你的Mac。

发布于 浙江