20世纪早期,心理学先驱弗洛伊德和皮埃尔引入了“无意识”和“潜意识”这两个革命性的概念。具体含义就是:我们有一个“意识中的意识”,一个潜藏的意识,记录我们意识层面下无处存放的所有东西,或者说在我们醒着的时候不想去承认的东西。这个潜藏的地下意识,常成为各种各样问题和弊端的替罪羔羊。
Illuminated back door and stairs in the dark of night.
计算机科学中也存在类似却切实存在的地下世界,尽管文档完善,这仍然是现代信息安全中最脆弱的领域。用“意识中的意识”做类比,也存在计算机中的计算机。这些隐藏的计算机活跃在安全范围之外,却控制着我们自以为对这设备所知的一切。
我们笔记本上的基本输入输出系统(BIOS),驱动硬盘的硬件控制器,我们服务器中的基板管理控制器(BMC),都是操作系统底下的小计算机,某些情况下还能独立于核心CPU自行运作。这些就是我们计算机的后门,一旦被侵入,能颠覆我们从操作系统所知的所有东西。
去往BIOS
Rootkit是攻击者军火库中的强力工具,能让攻击者避过主机上安装的杀毒软件或其他安全产品的检测,隐秘获取受害系统的控制权。通常,这一恶意软件要和杀毒软件竞争对操作系统的最底层最受信访问权。然而,随着攻击者越来越老练,他们认识到:通过去往BIOS,他们可以进到比操作系统更底层的地方。
BIOS是恶意软件的理想藏身地,因为那里不仅被大多数杀毒软件产品无视,甚至即使操作系统被抹掉重装都对其毫无影响。鉴于很多企业都只简单地镜像恢复受感染系统,BIOS rootkit 可以很容易地挺过镜像恢复过程。而且BIOS不仅运行在操作系统之下,其中的固件还几乎不升级更新。意味着BIOS的任何漏洞都很可能为攻击者所用,安装到其上的任何代码都不会被覆盖。
驱动你硬盘的小小电脑
我们通常都认为硬盘就是一大块存储空间,再无其他。然而,只要你观察笔记本硬盘底部,你会发现,这块存储空间竟然还有电路板。那就是硬盘控制器,有自己的内存和固件,控制着硬盘的低级操作。
如果攻击者侵入了硬盘控制器的固件,那他就有可能用连操作系统都不可见的方式控制硬盘。去年年初,就发现了有攻击者这么干了。这让攻击者可以将文档以不用加密的方式隐藏起来,甚至在硬盘里操作系统都不会报告的地方开辟出一片隐藏区域。同样重要的是,固件也能挺过软件和操作系统更新。
数据中心里的硬连线后门
BMC不是“校园风云人物”,但这基板管理控制器确实在服务器上扮演者极端重要的角色。对服务器硬件而言,BMC就是实际意义上的“计算机中的计算机”,有自己的处理器、内存和网络堆栈。它独立于主服务器硬件,甚至比BIOS还底层。它执行着极其重要的任务,监控这系统的基本监控,比如内部温度、风扇速度,以及操作系统本身。
但是,BMC仅仅是半个解决方案。管理员需要管理大量服务器,不可能每次需要检查服务器的时候都用控制台线缆一台台物理连接上。这就是智能平台管理接口(IPMI)登场的地方了。IPMI是管理员用以远程管理带外服务器的协议。每个硬件厂商都有自己品牌版本的IPMI,不过大体类似。
IPMI的危险性来自于其能力。IPMI可被用于挂载几乎任何硬盘镜像,如果必要的话还能替换掉操作系统。为做到这一点,IPMI和BMC可以在主服务器处理器没运行的时候工作,甚至服务器都关机了也能运作。完全禁用的唯一方法,是直接拔掉服务器的电源线。
虽然IPMI对服务器有着神一样的控制力,却通常没被很好地保护和监视起来。默认口令众所周知,还常常就这么不修改地沿用了,而且IPMI访问基本是不记入日志的。意味着攻击者能在不被检测的情况下,快速猜到或暴力破解出口令。一旦攻击者访问到BMC,他就能控制每一个抽象层,包括主机操作系统、任何客户虚拟机和他们的工作负载。
某种程度上似乎有点讽刺——人们在保护虚拟化环境上投注了如此多的关注和努力,最大的漏洞之一竟然就在物理硬件自身。不仅仅数据中心是这样,我们的个人笔记本电脑也是这样。我们平时看不到的固件、控制器、BIOS,能颠覆我们自以为对给定设备的认知。“计算机中的计算机”正越来越成为攻击者实际行动的发生地。