美国黑帽大会和Defcon安全大会上,研究员 Christopher Domas 演示了他是如何发现多种CPU可能存在的后门的。
房间里数百位安全专家一起鼓掌的场面值得注意,如果掌声是在演示开始5分钟之内出现,那就值得大书特书了。上周美国黑客大会上在安全研究员 Christopher Domas 讲述如何破解现代CPU安全中所谓的Ring权限模型时,出现了这样的场景。
在硬件层,不同类型的账户分配有不同的Ring权限,普通用户在Ring3,系统管理员在Ring0。Domas用4个十六进制字符组成的字符串黑掉了Ring模型。此类攻击可使普通用户进程获取到内核级控制权,以超出大多数安全软件的权限执行——绕过当前反恶意软件和硬件控制系统所用的绝大多数技术。
Domas以对x86指令集的解构而蜚声安全研究界,他将本次演讲命名为《解锁上帝模式:X86 CPU中的硬件后门》。在本届黑客大会和Defcon安全大会上,他不仅证明了自己可以解锁上帝模式,还将自己的做法共享给了全世界。
幸运的是,该研究并非全无限制。被破解的处理器相对较老,是通常应用在嵌入式系统市场的 C2 Mehemiah 处理器核。但作为概念验证,该研究对IT安全有着深远影响。
Domas发现的小秘密,就是利用模型特定寄存器(MSR:编程常用寄存器之外的特殊CPU寄存器),指示CPU去做其设计者本不希望CPU去做的事。而且,这个小秘密不仅仅存在于已知MSR中,而是存在于包括未见于任何文档描述的MSR在内的众多MSR中。
Domas的研究计算机群由多台执行特定指令的计算机组成,并会报告哪些返回了故障情况。
在目标CPU上,Domas发现了1300个MSR。他觉得探索全部MSR耗时太久,便开发了一种方法,基于指令从发送到返回执行结果的时间,来判断不同于其他常用寄存器功能的特殊MSR。
Domas分析了一系列专利芯片,发现现代英特尔架构CPU的x86核心上还有一个隐藏的神秘核心。该核心被Domas命名为DEC,是软件开发人员基本上毫无所知的二级核心,与x86共享部分指令流水,用于驱动开发人员所不知道的那些功能。但这个核心也是有自身架构的实体。
Domas猜测,访问DEC需要用到一个全局配置寄存器和一条启动指令——这两样东西都未见诸于任何文档中。他的研究自此进入精华部分。
Domas逆向研究了DEC的架构和指令集。DEC指令集研究耗费了4000小时的计算时间,产生出15GB的日志数据。对日志的分析,揭示了用于启动DEC、完成任务和完全绕过Ring权限模型保护的指令。
于是,受限用户账户也可以像系统管理员那样悄无声息地执行代码了。这将会破坏几乎所有在用的反恶意软件程序和设备安全系统。
不过,因为涉及到的CPU比较老,应用也不是很广泛,该CPU漏洞不太可能被用来对企业进行大规模攻击。但正如Domas所言,作为概念验证,该漏洞可能会促使其他研究人员去探寻更为现代、应用更广的CPU中有无类似漏洞。
Domas已将其工具集发布到了GitHub的 Rosenbridge 项目,并正积极寻求其他研究人员加入并延续该项工作。
声明:本文来自安全牛,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。