安全专家称已经发现了一种可以绕过Windows PatchGuard保护,并将恶意程序钩子植入至Windows内核的方法。这也意味着攻击者可以在曾被认为是坚不可摧的系统上安装rootkit程序。
PatchGuard以内核修改保护 (KPP)而被人们所熟知,也是微软在Windows 64位版本的系统上做出的重要安全举措,其可以有效的防止第三方代码,使用其他例程来修补Windows内核。
PatchGuard从2005年推出至今,从Windows XP开始已经阻止了大多数在64位版本上运行的rootkit。
GhostHook攻击利用了Intel PT功能
近日,来自CyberArk的安全研究人员发表了一项名为GhostHook的新技术研究成果。该技术利用了Intel CPU的功能,并最终成功绕过了PatchGuard。
据研究人员介绍,GhostHook仅针对运行英特尔®处理器(PT)的系统,英特尔®CPU有个功能就是使用专门的硬件,来捕获有关当前软件执行的信息,以帮助调试操作和检测恶意代码。
通常,进入英特尔®PT操作,需要攻击者将恶意功能代码以打补丁的方式写入到内核级代码,而这样的操作显然会被PatchGuard立即阻止和检测到。
CyberArk的研究人员表示,他们发现通过为处理Intel PT数据包分配一个非常小的缓冲区,可以导致CPU缓冲区空间耗尽,并打开一个PMI处理程序来管理溢出的代码。
而PatchGuard对PMI处理程序没有进行监视,因此攻击者可以通过该PMI处理程序hook恶意代码,并完成内核修补操作。
这为攻击者提供了一种很好的不可检测的,可以修补Windows内核并在Windows 64位版本上嵌入rootkit的方法。
GhostHook技术甚至还可以运用在Windows 10上,然而目前针对win 10有效的rootkit还不是很多。
微软否认GhostHook攻击威胁
CyberArk表示,他曾向微软报告了关于GhostHook的攻击细节。但微软对此不以为然,并拒绝就此发布安全更新。微软表示,他们可能会在常规bug修复周期中修复该发现,但不会将GhostHook视为安全漏洞。
微软公司表示,攻击者需要在受感染的机器上进行内核级访问,以执行GhostHook攻击。而具有内核级权限的攻击者,可能还会执行许多其他的恶意操作。因此,用户应将重点放在防止攻击者获得这一级别的访问权限上。
CyberArk对此也做了回应,并重申了他的观点。CyberArk说,这个问题的重点并不在于攻击者的访问级别上,重点在于攻击者可以绕过PatchGuard,这也就意味着在64位的Windows版本上为rootkit开启了一道“上帝之门”,也让攻击者在这些系统植入rootkit成为了可能。
目前,恶意软件市场针对64位操作系统的恶意软件占比不到1%,这得益于PatchGuard强大的安全防护。更多有关GhostHook攻击的技术细节请点击。