【51CTO.com 独家特稿】日前,Fraunhofer SIT安全实验室表示,他们已经成功破解Windows 7的磁盘加密技术BitLocker。Fraunhofer SIT研究人员称,即使将BitLocker与基于硬件的可信赖平台模块(TPM)同时使用,他们也可以成功破解磁盘中的数据。而本文则以图文方式为读者详细解读破解BitLocker的完整过程。
一、加密与邪恶女服务员攻击
当计算机被弄丢或失窃的时候,磁盘加密措施能够很好的保护数据的机密性,从而有效地防止机会主义攻击。然而,加密却无法阻挡有针对性的攻击,尤其是在攻击者可以物理访问计算机的情况下。术语“邪恶女服务员攻击”所描述的就是这样一种情形:当计算机主人离开旅馆客房,而计算机无人看守时,一个邪恶的女服务生或任何其他可以进入这个房间的人,就可以随意鼓捣这台计算机了。这样的话,她们就可以攻陷带有加密与解密功能的机器,从而获取有关的密钥和明文数据。攻击者可以修改计算机上的软件乃至它的硬件,举例来说,她可以安装一个硬件按键记录器来窃取密码。利用这种攻击方式,攻击者可以以获得机密数据的访问权,甚至攻陷整个操作系统。
二、BitLocker 驱动加密
BitLocker 驱动加密(BDE)是Windows Vista、Windows Server 2008和Windows 7等操作系统提供的一种特性,当计算机具有可信平台模块的时候,该特性就可以利用可信计算技术平台的各种功能。TPM允许软件锁住数据,方法是利用存储在TPM内的密钥对数据进行加密;要想重新打开这些数据,就需要进行解锁,方法是利用同一个TPM以及主要组件的特定状态来来解密数据。在系统引导期间,这些组件(例如BIOS和操作系统的引导程序)和TPM协同工作来建立一个量度系统当前状态的检查跟踪系统。 如果系统当前状态不同于锁定数据时指定的参考状态,那么TPM就拒绝打开数据。
当前,可信计算技术在个人电脑中的实现中不包括对键盘的测定,同时也没有为键盘建立一个安全信道。因此,许多基于硬件的BitLocker攻击手法,在邪恶的女服务生情形中仍然有可能得逞。同时,许多人想当然地认为,可信计算技术可以自动地保护系统免受所有针对引导过程的、基于软件的攻击,具体说来,他们认为使用了BitLocker并且带有TPM的机器就能达到这种保护效果。下面,我们就会用一个具体的攻击示例来打破这种幻像:攻击者可以通过篡改引导程序来达到访问机密数据的目的。
三、攻击过程演示
在系统引导期间,BitLocker需要与用户交互来获得一个口令(如图1所示),或从USB盘获得一个密钥文件,或者两者兼而有之。但是,与用户进行交互的程序代码却位于未加密的磁盘上。这样的话,问题就来了:如果攻击者能够物理访问计算机,那么他就能恣意修改这些代码,例如添加在磁盘闲置区存储用户提供的密钥的函数等。这样一来,当用户下一次引导计算机的时候,TPM就会注意到这种修改,并拒绝打开与此引导代码的未修改状态所绑定的所有密钥。然而,BitLocker却不会使用TPM提供的这个测度信息来阻止经过修改的代码在加密分区外运行。
图1 BitLocker要求用户提交口令
因此,“邪恶女服务员攻击”可以用她自己的引导代码替换原先的BitLocker引导代码,并欺骗用户与她的引导代码进行交互。经过修改的引导代码从用户那里获取密钥之后,并没有继续后面的引导过程。然而,它可以恢复原先的引导程序的状态,并设法用一种用户难以察觉的方式来重新引导系统。如果攻击者侥幸成功地迫使用户重新引导系统的话,她就可以再次访问系统来窃取计算机的数据了。
下面总结一下攻击过程:
首先,攻击者趁计算机主人不在的时候,通过优盘引导计算机,修改引导程序并安装木马程序。如图2所示。
图2 替换引导程序,植入木马
当计算机主人再次启动机器时,木马程序显示伪造的引导画面,并诱骗用户输入口令,如图3所示:
图3 木马程序捕获口令
木马程序保存口令到磁盘,并恢复原来的引导程序,再次引导系统,如图4所示:
图4 木马记录口令,并用原来引导程序程序引导机器
这时,被攻击者可以顺利进入系统,好像一切都没发生过一样。当攻击者再次接触机器时,可以从优盘用Linux系统启动机器,如下图所示:
图5 从优盘用Linux系统启动机器
在命令行下读取木马写入磁盘的口令,重新Windows引导系统,输入刚才获得的口令,这样就可以堂而皇之的登录系统了。
图6 用截获的口令登录系统
这样,攻击者就可以访问系统中的所有数据了。
四、结束语
这里以Fraunhofer SIT研究人员的原话作为结束语:我们在此展示攻击方法,并非暗示 BitLocker有漏洞,或者说可信赖计算毫无是处。跟其它磁盘加密产品一样,BitLocker仍是有效的,只不过没有人们想象中的那么安全。通过使用TPM,BitLocker提供了我们的攻击难度:攻击更容易被人发觉,同时将许多其他的攻击情形拒之门外。我们的攻击仅适用于此处讨论的平台、应用程序、攻击情形和攻击目标的特定组合。
【51CTO.COM 独家特稿,转载请注明出处及作者!】
【编辑推荐】