GhostHook是如何绕过微软PatchGuard的?

日期: 2017-12-04 翻译:张程程 来源:TechTarget中国 英文

Cyber​​Ark研究人员开发了一种被称作GhostHook攻击的技术,该技术能够绕过微软Windows 64位操作系统上的PatchGuard防护来安装rootkit。那么,究竟GhostHook攻击是如何工作的?

Michael Cobb:PatchGuard于2005年在Microsoft Windows64位操作系统中首次推出。它通过定期检查以确保内核中受保护的系统结构没有被修改,从而防止对Windows操作系统的中央组件或内核进行任何非授权修改。事实证明,这是防止在Windows系统中安装rootkit的一种非常有效的方法。

然而,Cyber​​Ark的研究人员利用英特尔处理器中被称为“英特尔处理器追踪”(Intel Processor Trace,IPT)的功能,找到了绕过PatchGuard防护的方法。

与类似的现有技术相比,IPT通常可以更快,更灵活地记录跟踪信息的类型和数量,例如Last Branch Recording和Branch Trace Messages。它提供了一个API,内核代码可以调用这个API来从CPU接收和读取设备上运行的软件和进程的信息,以提供性能监视、代码诊断、调试、模糊、恶意软件分析以及漏洞检测。

Cyber​​Ark发现,微软实现这个API的方式让他们能够在指令指针跟踪期间利用缓冲区正在进行的通知机制以使CPU分支到自己的代码。通过为IPT中的代码包分配极小的缓冲区,CPU最终被迫打开一个性能监视中断(PMI)处理程序。

由于PatchGuard并不是用来监视PMI处理程序的,所以GhostHook攻击可以在系统修补时使用PMI处理程序来注入rootkit。这种挂钩技术可以使攻击一直不被察觉,因为它在内核级别运行,许多安全产品(例如防病毒和入侵防护系统)都无法将其查出。

对GhostHook攻击的严重性业界持有不同的看法。微软已经表示其不会修补这个漏洞,不过公司可能会在未来的Windows版本中解决这个问题。之所以没有特别急迫是因为要实施攻击,攻击者必须已经控制了一台被攻破的机器,并且已经在系统上运行内核代码,这是一种后开发技术,而非一种提升或开发技术。处于该位置的攻击者可以运行自己选择的任何代码而不被各种安全技术检测出,因此这种攻击并不能真正扩大Windows操作系统的攻击面。

然而,一些安全专家认为PatchGuard应能够防止这种类型的攻击,因为任何形式的隐形技术都可以帮助攻击者长期潜伏。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

翻译

张程程
张程程

TechTarget中国编辑。专注报道企业级安全、网络领域的技术更迭和趋势变革,负责安全网站与网络网站的内容规划、组稿、原创和编辑。

相关推荐