x86都得死:Intel平台SMM漏洞门事件

x86都得死:Intel平台SMM漏洞门事件-安全新闻-黑吧安全网

http://www.myhack58.com/Article/html/1/4/2009/22678.htm

标题:一二三四五六七八九十一二三四五六七八九十

标题:x86都得死:Intel平台SMM漏洞门事件

作者:小熊在线-宁道奇

关键词:Intel AMD CPU SMM TXT 漏洞 黑客 黑帽 入侵 后门 Blackhat Joanna Rutkowska Rootkits

正文:

从黑帽大会说起

在2009 Black hat黑帽大会上,曾经有一条重大的消息爆出。一位波兰的女计算机安全专家,指出在当今的基于x86架构的处理器上,都存在着一个硬件级别的安全漏洞。黑客可以利用这个漏洞攻破你的计算机系统。我们都知道,目前的各种笔记本电脑,台式电脑,乃至服务器,大多数都是基于x86架构的。这位女安全专家一言即出,就引得四处哗然。毕竟x86架构在当今计算机领域占有率太高。如果黑客能轻松利用这个漏洞,绕过操作系统和各种安全措施,直接控制了我们的计算机,那么波及和受害面之广是难以想象的。

既然你可以想象到此事的严重性,那么面对媒体的极力炒作,与厂商的巧言辩解,我们最终的电脑用户,又将何去何从呢?这个安全漏洞真的有那么可怕么?我们的计算机系统真的如此脆弱么?今天小编我就给大家说说这里面的故事。

一群戴黑帽子的人:Blackhat 2009大会

Blackhat的解释:戴黑帽子的人被视为是恶棍或坏人。尤其是在西方的电影中,反派角色都会带着黑色的帽子,而正派的英雄都会带着白色的帽子。而在计算机中,这种久经世故的经典措辞也成为了一种俚语,用来比喻黑客、网络入侵、计算机病毒等阴谋诡计。

黑帽大会,从字面上听,就不是什么好事儿。一群满脑子邪念的超级大黑客,每年一次的聚会。互相沟通,互相切磋,互相传授,如何在未经授权的情况下,侵入别人的计算机。利用计算机软件、硬件和架构的漏洞来达到某些目的。虽然这些行径遭到正义人士的强烈谴责和唾弃,但是他们仍然一年又年的搞这些聚会。计算机病毒、互联网蠕虫、垃圾电子邮件、僵尸网络、非法拷贝、序列号、注册机、破解……在黑客大会上,这些都是他们津津乐道的讨论焦点。

x86都得死:Intel平台SMM漏洞门事件_第1张图片

让人触目惊心的黑帽logo

波兰女:Joanna Rutkowska

Joanna Rutkowska(乔安娜鲁特克丝卡),是一名来自波兰的女黑客和电脑安全专家。她在恶意软件、安装和隐藏后门方面有着较深的造诣。她在Windows Vista中安装和隐藏后门的高招,在整个黑帽界都是非常出名的。在2006年8月,波兰女在黑帽大会上提出了2种方法来躲避Vista的安全措施。2006年被eWeek评为五大黑客之一。

x86都得死:Intel平台SMM漏洞门事件_第2张图片

那双黑色的大眼睛,好像能洞悉一切

第一种方法是绕过Vista的完整性检查,将未签名的代码注入到Vista的内核中。不过微软在此后修复了这个漏洞。第二种方法是使用rootkit技术,通过使用隐藏的CPU虚拟化漏洞运行恶意代码。

在2007年3月的黑帽大会上,波兰女又发表了讲话,她说不少硬件都带有rootkit检测机制,可以对这种攻击免疫。不过不可否认,在某些硬件上,rootkit入侵方法是可行的。

在2008年的黑帽大会上,Joanna Rutkowska与Alexander Tereshkin和Rafal Wojtczuk三人联合推出了如何使用DMA代码在Xen管理程序下拿到系统的最高权限。

x86都得死:Intel平台SMM漏洞门事件_第3张图片

2007年4月,波兰女伙同上述两位大黑客成立了一个名叫“隐匿之物实验室”专门研究计算机安全和计算机领域的各种研究工作。这里是他们的官方网址。

x86都得死:Intel平台SMM漏洞门事件_第4张图片

x86都得死:Intel平台SMM漏洞门事件_第5张图片

x86都得死:Intel平台SMM漏洞门事件_第6张图片

在这家公司里,波兰女出任创始人和CEO、另外两个黑客Alexander Tereshkin和Rafal Wojtczuk出任主要研究员的角色。这里是该组织的介绍页,通过这个页面你可以进一步了解到她们三人微秒的关系。

x86都得死:Intel平台SMM漏洞门事件_第7张图片

名词解释:Rootkits

Rootkits最早是一组用于UNIX操作系统的工具集,黑客使用它们隐藏入侵活动的痕迹,它能在操作系统中隐藏恶意程序。这些程序在植入系统后,rootkits会将它们隐藏起来,它能隐藏任何恶意程序过程、文件夹、注册码。目前,在Windows操作系统上也已经出现了大量的Rootkits工具及使用Rootkits技术编写的软件。这些Rootkits就像一层铠甲,将自身及指定的文件保护起来,使其它软件无法发现、修改或删除这些文件。

Rootkits技术被认为是一种新的威胁,它们常常使系统改变隐藏软件,可能是恶意软件。据赛门铁克公司表示,在Rustock(Mailbot.AZ)中,Rootkit技术常被用于隐藏一种在被感染的系统上开一个后门的特洛伊木马病毒。据McAfee公司的病毒研究经理克莱格表示,在与安全软件厂商的周旋中,这种最新的Rootkit技术的作者在编写代码前似乎对检测工具的内部工作原理有更深的研究。据他表示,安全厂商们正在努力将电脑黑客挡在自己的后面,然而,这些电脑黑客们也掌握了安全公司的技术。许多技术被综合用来强化这一恶意代码,而黑客在隐蔽自己方面做得相当好。多种隐蔽技术的综合运用能够使病毒在被感染的计算机上几乎不留下任何蛛丝马迹。

为了躲避检测,它的运行没有使用系统进程,而是在驱动程序和内核线程中运行自己的代码。它使用的是交替的数据流而非隐藏的文件,而且也没有使用API。目前的检测工具会查找系统进程、隐藏的文件以及对API的调用。现在,很多rootkits使用的SYS驱动程序具有多态形,代码也会经常变化。可以躲过了rootkits检测工具对一些内核结构和隐藏的驱动程序。

x86都得死:Intel平台SMM漏洞门事件_第8张图片

专门介绍Rootkits的书籍,非常邪恶

名词解释:SMM

SMM是System Management Mode系统管理模式的缩写。从Intel 386SL开始,此后的x86架构微处理器中都开始支持这个模式。在这个模式中,所有正常执行的软件,包括操作系统都已经暂停运行。只有特别的单独软件,具备高特权模式的软件才能运行。通常这些软件都是一些固件程序或者是硬件辅助调试器。

SMM在系统中有着重要的作用。它可以处理系统活动,例如处理内存或芯片组错误。维护系统的安全,例如在CPU温度过高的时候,强行关闭计算机。执行电源管理操作,例如开启系统风扇。同步主板上各种硬件的工作。同步PS/2鼠标键盘或者USB键盘上的数据。进行系统配置,如东芝和IBM的笔记本电脑就需要使用SMM管理系统呼叫,将其调度到可信任的平台模块TPM上。最后,还可以运行特高权限的rootkits工具。

SMM可以进入系统中断管理

神奇的SMM可以说是系统最为底层的控制机制,由此它也就具备了进入到系统最为底层的中断管理阶层。由此它也有了超大的权限:首先,在主板的硬件或芯片组的信号,需要通过一个制定的处理芯片。这个信号可以与其他信号独立开来。其次,系统软件通过一个I/O地址可以触发特熟操作,通常这个主板逻辑核心的端口为0B2h。另外,通常一个IO固件写入操作可以通过这个芯片进行处理。

x86 处理器的模式
Mode模式 起始支持的处理器
  • Real mode
Intel 8086
  • Protected mode
Intel 80286
  • Virtual 8086 mode
Intel 80386
  • Unreal mode
Intel 80386
  • System Management Mode
Intel 386SL
  • Long mode
AMD Opteron

名词解释:TXT(上)

可信执行技术Trusted Execution Technology,简写为TET或TXT,它的前身是大名鼎鼎的LaGrande技术。LaGrande也是Intel所倡导的安全电脑的一部分。

Intel的TXT可信执行技术是一个扩展到硬件级别的,被Intel的芯片组和处理器所支持的技术。它主要是为普通用户和征服企业公司大学等这样的组织提供更高层次的信任机制,通过这种机制可以安全的访问、修改、建立敏感数据和代码。Intel称这项技术将非常有用,尤其是面向商业领域,可以有效的抵御来自基于软件的攻击。防止重要敏感的信息被窃取。虽然Intel通常标榜这项安全技术是免费的,但是更为高级的功能还是需要付费。例如防止带有DRM数字版权保护的数据被篡改。

它涵盖了一系列的硬件增强机制,可以建立多个隔离的执行环境或区域。每一个组成部分被称之为TPM可信赖平台模块(Trusted platform module)。由此实现了安全密匙的生成和存储机制,并且通过验证机制获取数据加密的密匙。不过需要注意的是,该密匙存储在TPM中,一般是不提供给机器的所有者。并且该芯片从来不会进行非正常操作模式。这就意味着,TPM为电脑提供了一种极为可靠的安全保护。它可以杜绝来自远程网络的进攻。另外它也包含DMA页面保护。

这项技术,可以结合Intel的VT-d虚拟化技术,控制在虚拟化过程中的I/O访问控制。它可以将备份TXT到芯片以外,甚至是计算机自身以外的地方。

TXT可以保护硬件和固件程序的安全,抵御来自软件方面的攻击。TPM可以管理信任平台的请求,生成密匙和证书,为应用程序和服务创建私密的运行环境。它将接管本地机器的信任机制,这会允许本地用户通过安全检查,访问其他工作站和服务器上的信任程序。

x86都得死:Intel平台SMM漏洞门事件_第9张图片

TXT是Intel平台的主要特性之一

x86都得死:Intel平台SMM漏洞门事件_第10张图片

支持最新的TPM 1.2规范的芯片

名词解释:TXT(下)

Intel的TXT技术可以通过5个方面来保护服务器/客户机之间的访问安全。

处理器:为应用程序开启一个私人环境,从而使得硬件资源与应用程序请求锁定在一起。(如内存池)因此无法访问和读写任何其他处理器运行的平台。

芯片组:在主板上施加安全机制,更精确的控制内存管理策略,增强内存的存取机制。访问内存的扩展设备都将被严格控制,如用户I/O、显卡等等。这些都将在牢固的TPM内运作。

用户输入:保护鼠标键盘在被信任的平台上应用,避免受到其他监视软件的监控。硬件机制可以检查到是否有其他软件在嗅探键鼠操作。

显示接口:这个功能可以向可信的平台和应用程序发送数据。而显存缓冲区也被严查,防止其他程序窃取其中的显示信息。

TPM设备:可以在系统启动和引导时维护系统安全。管理启动所需的关键部件和设备。并且提供该系统的可信赖证明。

Intel的Q35和Q33芯片组就支持该项技术。同时Intel还公布了一个可信启动(tboot)的开源代码。每一个kernel核心/VMM虚拟机显示器模块都可以采用Intel的可信执行技术。同时还加入了Xen虚拟机显示器使用动态引导可信管理(DRTM)。

大名鼎鼎的Intel vPro技术主要包含了四个主要分支:Intel AMT(Active Management Technology) 4.0、Intel VT(Virtualization Technology)技术、Intel(Trusted Execution Technology)TXT技术、TPM(Industry-Standard Trusted Platform Module)1.2。这其中的TXT和TPM就是最为主要的安全技术。

x86都得死:Intel平台SMM漏洞门事件_第11张图片

实战:如何攻击基于Intel处理器的计算机

SMM是在当前x86/x86 64架构中最为普及的底层特性。在执行代码时SMM有许多特权,它的全力要大于VT硬件管理程序。同时SMM的代码通常会放在系统内存中的一块非常特别的保护区域内。内存控制器会提供专门的存取访问限制。

在处理器进入到SMM状态时,处理器在SMRAM里执行代码和存储数据,也用其来存储系统管理信息(如系统配置和power-down设备的特殊信息)及OEM SPEC信息。SMRAM被映射到物理空间,最大是4GB,默认是64KB,开始于物理空间里的SMBASE(硬件RESET后,默认值是3000H)。而此后系统的配置将会被“锁定”,操作系统内核和硬件管理器都没有权限对其进行修改。

而上文提到的波兰女就发现了这一架构的一些漏洞。通过这个漏洞,我们可以在基于Intel的系统中,未经授权的情况下访问SMRAM。利用它来运行被SMM所信任的任意代码。由此就可以使用许多SMM下的超级特权,例如,通过SMM,注入rootkits系统后门。

事实上这个问题早在去年就被波兰女发现,这会影响到许多基于Intel的平台。通过内存映射技术,她们可以访问各种BIOS的存储区域。在2008年的黑帽大会上,波兰女演示了攻击方法,此后Intel发布了新的BIOS解决了这一问题。

喜欢不断钻研技术的波兰女又找到了新的方法,可以绕过受保护的SMRAM在SMM中注入和执行恶意代码。最新的方法是利用了Intel最新的TXT技术,目前较新的Intel平台都支持这项技术,如DQ35主板。考虑到事态的严重性,波兰女并未公布攻击的细节,但是可以说SMM漏洞仍然存在。波兰女表示,会在2009年7月的黑帽大会上展示更多技术细节。

x86都得死:Intel平台SMM漏洞门事件_第12张图片

未经授权的情况下访问SMRAM

实战:如何攻击TXT

作为一名黑客,追求的崇高理想是什么?神不知鬼不觉的进入别人计算机,夺取最高权限。由此,给别人计算机内安装木马,后门程序就是成为一名黑客的必经之路。那么怎么样的后门,才算是最强的呢?一般的初哥庸手的后门程序,都是基于软件的。顶多是驻留在操作系统的内核中,每次随着必要的系统文件和驱动程序一起启动罢了。而真正的大黑,职业大黑,他们会追求更高层次的系统控制权限。Hypervisor系统管理程序,通常是他们下手的地方。

那么还有没有比黑掉Hypervisor更高级,更毒辣的武功?当然有,那就是SMMSMM具有比Hypervisor更为高级的系统权限。入侵到SMM级别,可就算是真正的硬件级入侵。任你重装系统,任你低格硬盘,也不能逃出大黑们的手掌心。

那是因为SMM能够访问系统内存,而系统内存包含了操作系统内核,与Hypervisor系统管理程序。SMM还可以具有SMI系统中断的能力。它能优先于系统管理程序控制硬件。尤其是在最新Intel VT-x中SMM的权限被赋予的更高。当然了,系统内核都能进入,诸如访问各种I/O设备更是小菜。也就是说,你要是将打印机接通电脑,那么打印机也会一并被黑。不幸的是,SMM从它诞生之日起至今,它的架构与技术就并未有任何突破。从80386开始,Intel就给我们留下了这个可怕的漏洞。

TXT作为Intel主打的安全技术,正被应用在最新出品的处理器平台中。而波兰女发现了TXT、SMM与SMRAM三者之间微妙的关系和漏洞。

x86都得死:Intel平台SMM漏洞门事件_第13张图片

切断TXT的信用连接

实战:最卑鄙的BIOS修改大法(上)

要想真正攻入基于Intel的计算机系统,凭借网络远程攻击还比较困难。不过如果你能弄到某人的主板BIOS,那么这就非常容易得手了。

x86都得死:Intel平台SMM漏洞门事件_第14张图片

如图,这是一个普通主板上的Atmel 26DF321 SPI-flash芯片。

x86都得死:Intel平台SMM漏洞门事件_第15张图片

如图,很简单,我们先将它从主板上焊接下来。

x86都得死:Intel平台SMM漏洞门事件_第16张图片

如图,这一部工作并非难事,训练有素的人,仅需1分钟可以搞定。

x86都得死:Intel平台SMM漏洞门事件_第17张图片

如图,Atmel 26DF321 SPI-flash芯片已经被取下,等待它的将是可悲的命运。

实战:最卑鄙的BIOS修改大法(下)

x86都得死:Intel平台SMM漏洞门事件_第18张图片

如图,焊接下来之后,将BIOS芯片插在烧录器上,准备修改数据。

x86都得死:Intel平台SMM漏洞门事件_第19张图片

x86都得死:Intel平台SMM漏洞门事件_第20张图片

如图,刷入攻击代码,破解完毕。当把BIOS芯片焊接回去时,已经对这台电脑有了绝对的控制权。

信任硬件:此后我们要小心仔细了

作为计算机的爱好者,也许你处于安全性的考虑会改用Linux这样的系统,抛弃Windows。也许你会审查每一行开源代码,来防止你的系统内有任何可疑文件。但是你绝对不会偏执到去审查每一行BIOS代码。在近乎于洁癖的小心之后,你仍然不可避免的被人在SMM下注入rootkits。这就是最难防范的事情。

你的硬件设备提供商,很可能早已经作了手脚。在你的计算机网卡微控器中,植入了后门程序。你上网收发的数据包和敏感信息全在他们的监控范围内。

在购买笔记本电脑,主机板这类硬件的时候,我们此后就要格外的小心了。如果这些硬件是来自一些完全不民主的国家。那么谁知道他们没有在计算机硬件中植入后门呢?不仅仅要防范计算机硬件厂商,中间的批发商,渠道商,乃至是零售商,每个环节都有可能给你植入后门程序。企业,机关,政府部门在进行计算机硬体招标采购的时候,也要留个心眼了。

更可怕的是,某个黑客,黑掉了硬件厂商的网站,经过他自己“修改”的主板固件程序被放了上来。由此,更新此固件的消费者皆会中标,后果不堪想象。

x86都得死:Intel平台SMM漏洞门事件_第21张图片

Intel自豪的TXT“可信执行技术”

防范妙招:弱化SMM攻击危害

网卡的微控芯片中,除了网卡驱动之外并不会有其他东西。假使我们仅仅使用加密的信道进行通信,除了使用DoS之外,目前还没有多少黑客可以获取到损害网卡驱动的信息。另外,如果磁盘中使用了安全可靠的加密算法,黑客仍然只能读到一堆冗长的代码。不过也要当心黑客将你的硬盘格式化,虽然这对于他们而言并不会得到任何好处。

VT-D方面比较麻烦,因为TXT可以将信任转到自身以外的电脑当中去。如果是虚拟宿主主机被入侵,那么主机上所虚拟的任何主机数据也将难以幸免。

不过SMM也有例外,要想保护我们自己免受SMM恶意硬件的威胁,我们还有一件事可以信任——处理器和内存控制器。从K8开始,在AMD的系统中,内存控制器一直被集成在处理器中。另外Intel最近的Nehalem架构的处理器,也将内存控制器集成在了处理器内部。这也就是为什么波兰女可以透过TXT攻击Intel的处理器,而对AMD的处理器平台束手无策的原因。波兰女并非针对Intel,而是针对那些内存控制集成在北桥芯片组的处理器平台。

这就意味着,我们只需要信任一个供应商(Intel or AMD),它为我们提供了系统的核心部件,处理器!但是我们也不要完全的相信他们,尤其是我国的军工、政府等要害部门。毕竟在他们的处理器中,植入一个后门是一件非常简单的事情。例如加入这一条即可:

if (rax == MAGIC_1 && rcx == MAGIC_2) jmp [rbx]

Core i7中有780M个晶体管,谁又能说清楚哪些是为了性能的提升而加入的,哪些是为了“某些”必要而加入的呢?上面只是个简单的例子,那么如果硬件的供应商们植入后门,我们将更加难以防范。

世界上有许多有趣的人,如欧洲的很多政府机构。他们最怕使用封闭源代码的软件,认为这样不够透明,可能包含某些潜在的阴谋。他们害怕微软在其中植入后门,但是却很少去关心其他硬件公司的产品。这会比软件后门更难于防范和隐匿。从这一点看,我们国家发展自己的龙芯处理器,确实是一条非常明智的举措。虽然龙芯处理器的性能还不能与主流x86处理器相抗衡,不过起码我们可以用的安心使的放心。

至于Intel和AMD的处理器,小编我建议,建立一个具备一定实力和资质的审计委员会,对这些大厂的处理器产品的“蚀刻”蓝图进行审查,随机抽取一些处理器产品,进行逆向检查。相信这样会让消费者更加安心。

x86都得死:Intel平台SMM漏洞门事件_第22张图片

我们的计算机,就想这张画布一样,遍布bug

写在最后

1、Intel的TXT是一个令人激动的技术,不过Intel也在设计中忽略了某些细节,例如SMM。波兰女已经证明可以通过SMM绕过TXT。而令广大用户担心的是,目前SMM rootkits已经可以应用到现代计算机系统中了。Intel曾在2008年8月对SMM进行过一次BIOS升级修复,但是令人遗憾的是问题依旧。希望Intel和OEM厂商联手继续努力解决这一问题。

2、透过正规渠道购买计算机硬件产品,这会极大避免SMM植入后门的几率。不过从处理器厂商到你的硬件零售商,都有可能给你的硬件留下后门。政府、企业在采购硬件的时候,应该更加慎重。这绝对不是性价比和关系户之类的小事儿。

3、最后,作为普通用户,也无需过于担心。目前能利用SMM漏洞的人没有几个。要想在你的电脑内植入SMM后门,也起码要先能拆开你的电脑机箱。



你可能感兴趣的:(x86都得死:Intel平台SMM漏洞门事件)