研究发现:CIGslip攻击能够绕过微软的代码完整性防护(CIG)
来自以色列安全公司Morphisec的研究员Michael Gorelik和Andrey Diment在本周三宣布,他们已经发现了一种被命名为“CIGslip”的新型攻击技术,可以绕过微软的代码完整性防护(Code Integrity Guard,CIG)并将未签名的恶意代码加载到受保护的进程中,例如Microsoft Edge。
CIG是微软在2015年推出Windows 10之后首个推出的安全机制,微软将它作为Edge浏览器安全缓解措施的一部分。
微软在其博客文章中写道:“从EdgeHTML 13开始,Microsoft Edge将通过阻止将DLL注入浏览器来保护用户的浏览体验,除非它们是Windows组件或已签名的设备驱动程序。微软签名的或WHQL签名的DLL将被允许加载,除此之外的所有其他文件将被阻止。”
这种安全缓解措施的好处在于,它阻止了不需要的软件。例如,广告软件甚至恶意软件,试图通过将代码注入Edge浏览器以重定向流量或窃取信息。换句话来说,即使用户的计算机感染了恶意软件,它也无法将恶意代码注入受CIG保护的应用程序进程中。
而Morphisec的两位研究员公布的CIGslip攻击技术则打破了CIG的保护机制,攻击者可以利用这项技术绕过CIG检查。
由于CIG机制日益普及,Morphisec决定对外公布他们的发现。因为这种攻击在系统上占用的空间非常小,几乎所有的安全机制无法将其发现,而现在没有谁能够证明这种漏洞没有遭到潜在攻击者的利用。
攻击者可以使用CIGslip将恶意软件或者广告软件插入到Edge浏览器。目前,由于CIG的使用,使得第三方安全厂商很难对Edge浏览器进行保护,因为他们的每一个DLL想要作用于受CIG保护的进程都首先需要取得微软的签名。
Morphisec表示,这种攻击的成功基于两个假设:一是,不受CIG的进程能够在系统上运行;二是,受CIG保护的进程可以执行不受CIG保护的进程。
简单来说,攻击者所要做的第一件事就是获得不受CIG保护的进程的控制权,然后将恶意代码注入到其中。以此作为“跳板”,最终才能够作用于受CIG保护的应用程序进程。
Morphisec向微软披露了漏洞细节和概念验证(PoC)码,以帮助解决这一漏洞。 而微软并未将CIGslip归类为安全问题,因为他们认为CIG能够阻止所有未签名的DLL不被加载,但表示会对这个漏洞进行修复。
