天创培训:您身边的信息安全培训专家!
行业动态
一个存在11年的签名验证漏洞允许恶意软件绕过多款Mac安全产品

一个存在11年的签名验证漏洞允许恶意软件绕过多款Mac安全产品

来自身份管理软件公司Okta的研究与开发工程师 Josh Pitts在本周二(6月12日)公开披露了一个在苹果macOS系统中存在了长达11 年之久的安全漏洞,该漏洞可能使得恶意软件能够更容易地绕过安全检查,并导致数百万苹果用户更加容易遭受黑客攻击。

Pitts表示,他在第三方安全产品对代码签名API的解释中找到了一个旁路,使未签名的恶意代码看起来像是由苹果官方签署的。这意味着,某些安全产品可能会因遭受“欺骗”而误以为恶意软件是由苹果签署的,进而允许恶意软件绕过其检测,从而感染用户设备。

可能遭受“欺骗”的几款第三方安全产品包括:Little Snitch、F-Secure xFence、VirusTotal、Google Santa和Facebook OSQuery。这个漏洞最早可以追溯到2007年推出的OS X Leopard 系统,并且至今一直存在。对苹果用户来说,相对而言较好的消息是,漏洞仅会影响到macOS和OSX的旧版本。

代码签名是一种安全机制,它使用公钥基础结构对编译后的代码甚至脚本语言进行数字签名,以确保来源可信以及已部署的代码没有被修改。在macOS或者iOS上,代码签名专注于Mach-O二进制文件和应用程序包,以确保只有受信任的代码在内存中执行。

然而,Pitts指出,大多数产品用于检查代码签名的机制都存在被绕过的风险,它允许恶意代码与合法的苹果签名代码捆绑在一起,从而有效地让恶意软件看起来像是苹果官方签署的。

应该指出的是,这个漏洞与macOS本身无关。相反,应该算是一个与第三方安全产品在处理Mac的可执行文件(Universal /Fat文件)时如何实现苹果的代码签名API有关的漏洞。

Universal/Fat文件是一种二进制格式,它包含多个Mach-O(可执行文件、dyld或bundle)文件,每个文件都针对特定的本机CPU体系结构(例如:i386,x86_64或PPC)。

“这个漏洞存在于Mach-O加载程序加载已签名代码的方式与代码签名API检查已签名代码的方式之间的差异,并且通过格式不正确的Universal /Fat Binary来利用。”Pitts解释说。

Pitts为此还创建了几个特定的PoC Universal/Fat文件以供第三方安全产品的开发人员使用,用于测试他们的产品是否存在此漏洞。

Pitts表示,在某些情况下,利用这种技术的成功攻击可以让攻击者获得用户的个人数据、财务细节,甚至是敏感的内部信息。

以下列出了具体受影响的供应商及其相关的安全产品和漏洞CVE编号:

  • VirusTotal – CVE-2018-10408

  • Google – Santa, molcodesignchecker – CVE-2018-10405

  • Facebook – OSQuery - CVE-2018-6336

  • Objective Development – LittleSnitch – CVE-2018-10470

  • F-Secure  - xFence (also LittleFlocker) CVE-2018-10403

  • Objective-See – WhatsYourSign, ProcInfo, KnockKnock, LuLu, TaskExplorer (and others). – CVE-2018-10404

  • Yelp - OSXCollector – CVE-2018-10406

  • Carbon Black – Cb Response – CVE-2018-10407

Okta公司在今年3月首次向苹果通报了这一漏洞,但该公司表示,他们并不认为这应该是属于由他们直接来解决的安全问题。

因此,在收到苹果的回复后,Okta公司联系了美国计算机紧急事件响应小组协调中心(CERT/CC),然后通知了所有已知的受影响的第三方安全产品厂商,这些公司目前正在开发用于解决问题的安全补丁。

目前,Facebook也已经在OSquery的最新版本中解决了这个问题。同时,F-Secure也向xFENCE用户推出了自动更新,以修补漏洞。

如果你也正在使用上述安全产品中的某一个,那么我们建议你在未来几天里检查更新,并在厂商发布更新版本后立即升级,以防止来自利用此漏洞的攻击。