近期,来自安全公司Okta Rex的研究专家Josh Pitts在macOS的代码签名机制中发现了一个可以利用的安全漏洞。这个漏洞潜伏了一年之久,它允许攻击者将恶意的不受信任的代码伪装成受信任的合法代码,并绕过多款macOS安全产品的检测,其中包括Little Snitch、F-Secure xFence、VirusTotal、Google Santa和Facebook OSQuery。 

1.png

实际上,代码签名攻击并不是一种新型的攻击技术,根据Pitts今日发布的漏洞披露信息:这种技术跟之前的代码攻击方式有所不同,此次的漏洞并不需要管理员访问权、JITíing代码和内存崩溃便能够绕过代码签名检测。攻击者只需要利用一种专门制作的Fat/Universal文件就能够让macOS的代码签名功能返回有效的值,自2005年之后(OS X Leopard)发布的苹果操作系统都将受到该漏洞的影响。

代码签名机制是一种对抗恶意软件的重要武器,它能够帮助用户识别已签名App的真实身份,并验证目标应用是否被非法篡改过。代码签名机制基于密码学方法来判断代码的真实性,并防止攻击者将恶意代码伪装成合法代码。

Pitts解释称:“网络安全、事件响应、信息取证以及个人用户都可以通过代码签名来区分合法代码以及恶意代码,但是macOS系统中的代码签名机制是可以被篡改的。首先,攻击者需要访问一个已签名的合法Fat/Universal格式文件,该文件中第一个Mach-O是经过苹果验证的,其次添加的恶意代码必须根据目标macOS的架构(i386、x86_64或PPC)进行编译。最后,Fat文件头中的CPU-TYPE必须设置为为无效类型,或者设置为跟目标主机芯片不同的CPU类型。”

Okta Rex在接受SecurityWeek的采访时表示,这项技术可以成功绕过由苹果根证书签名的白名单、事件响应和进程保护方案。攻击者一旦成功利用该漏洞,他们将能够访问到目标主机中存储的用户个人数据、财务数据和其他敏感信息。

2.png

实际上,Okta Rex早在2018年2月22日就已经跟苹果公司取得了联系,并提交了相应的漏洞PoC样本,但根据苹果当时的回应,他们并不认为这是一个严重的安全问题。当然了,Okta Rex肯定不是这样认为的。Okta Rex认为苹果应当提醒第三方产品的开发人员,好让他们自行修复相关问题。不过直到今年的四月份苹果才通知到所有受影响的厂商,其中包括VirusTotal、Google、Facebook、Objective Development、F-Secure、Objective-See、Yelp和CarbonBlack。

受影响的产品列表(包含CVE)

VirusTotal(CVE-2018-10408)

Google—Santa,molcodesignchecker (CVE-2018-10405)

Facebook—OSQuery(CVE-2018-6336)

ObjectiveDevelopment—LittleSnitch (CVE-2018-10470)

F-Secure—xFenceand LittleFlocker (CVE-2018-10403)

Objective-See—WhatsYourSign,ProcInfo, KnockKnock, LuLu, TaskExplorer 及其他(CVE-2018-10404)

Yelp—OSXCollector(CVE-2018-10406)

CarbonBlack—Cb Response (CVE-2018-10407)

如果你正在使用的产品出现在了上述列表中,我们建议尽快更新你所使用的产品,如果没有可用更新,请及时更换使用其他防护产品。

* 参考来源:securityweekthehackernews