运行在“Ring -3” 的 MINIX
先说个细思极恐的事实:你的英特尔电脑里,除了Windows或Linux,还有一个操作系统一直在默默运行——它叫MINIX。而且,你碰都碰不到它。
今年5月,EFF发了篇文章,揭露了一个持续十年的秘密:从2008年起,英特尔所有处理器内部都藏着一个修改版的MINIX 3,官方管它叫“管理引擎”(ME)。这个系统最初是计算机科学教授Andrew Tanenbaum(没错,就是早年跟Linus Torvalds隔空论战的那位)搞的教育工具,一个类Unix的小玩意儿。结果呢?它被塞进了每一颗新英特尔CPU里。
MINIX运行在你的CPU的“Ring -3”层——注意,是负三层。你实际能接触到的最低权限层是Ring 0,操作系统内核(比如Linux)待的那地方;普通程序则跑在Ring 3。而Ring -3呢?你无权访问,它却能访问你的整个系统。
那么,这个藏在最深处的MINIX到底有什么本事?
完整网络堆栈、文件系统、一大堆驱动程序(包括USB、网络),甚至——一个Web服务器。没错,你的CPU里藏着一个秘密Web服务器,你既不能用,英特尔也没告诉过你。至于这服务器用来干嘛?没人说得清。可能是厂商用来远程访问或控制系统,但真相只有英特尔自己知道。
有趣的是,Google正忙着从自家服务器上移除这个管理引擎——显然,他们觉得这玩意儿的安全风险太大了。
这件事有两个让人拍案叫绝的地方。
第一,因为英特尔CPU几乎统治了全球PC,所以世界上最流行的操作系统很可能不是Windows,也不是Linux,而是这个默默无闻的MINIX。换句话说,我们都是MINIX用户,只是自己不知道。
第二,你压根碰不到Ring -3,可MINIX却能掌控你电脑的一切——权限大得离谱,却几乎从不更新。这简直就是个定时冲击波。
MINIX 作者表态
最近几天这事闹大了,连Andrew Tanenbaum本人都被惊动了。他在个人网站发了封公开信,强调自己压根没直接参与这个项目。言下之意很明确:如果MINIX里有后门,那跟他无关。他没明说,但暗示得很清楚。
Andrew回忆说,MINIX 3在2000年决定用BSD许可证,因为企业讨厌GPL——他们担心改完代码还得免费送给竞争对手。几年后,英特尔的工程师团队找上门,问了一大堆技术细节,要求大幅缩减内存占用、支持按需关闭功能。之后双方就断了联系,直到媒体铺天盖地报道“英特尔处理器里都跑着MINIX 3”,Andrew才后知后觉。他挺惊讶,但也不在意——BSD授权的东西,英特尔用不用都跟他没财务关系。他只是希望对方能礼貌性地通知一声,仅此而已。
这件事带来的两个启示,值得反复回味:一是我们身边藏着无数看不见的操作系统,二是最高权限往往伴随最大的不透明风险。
