本帖最后由 qq2348227 于 2019-12-31 21:43 编辑
是这个作用啊~
别搞丢啊~
问你两个问题: 首先,你的电脑运行什么操作系统? 无非是 Windows 10、macOS,或者成百上千种 Linux 发行版的其中一个吧…… 第二个问题:你的服务器,运行什么操作系统? 基本都是 Linux 吧…… 但如果硅星人(微信公众号:guixingren123)告诉你:你的电脑和服务器里,其实还藏着一台你根本不知道的神秘「小电脑」,运行着一个你根本不知道的神秘操作系统呢?
来,搬好小板凳,开讲。 隐藏在 CPU 里的神秘「OS」 再问一个问题:你的电脑或者服务器用的什么处理器? 只要是 Mac/Windows PC/Chromebook,而且是最近几年购买的——肯定用的是英特尔的处理器,没有悬念。 而我们今天的主角,这台神秘的电脑和操作系统,就藏在英特尔处理器里。 从 2006 年往后所有的英特尔处理器里,都植入了一个名叫 AMT 的技术。 它的全称是:Active Management Technology(主动管理技术,也叫 ME, Management Engine)
这么一大段字,硅星人帮你长求总一下:
首先,AMT 能够让英特尔远程维护升级处理器固件,以保护计算机不在处理器这个环节被攻破。 其次,如果你被解雇了,公司 IT 可以在处理器的层级远程控制你的电脑,该锁定锁定该重置重置,确保公司资料不外泄。
那么,AMT 又是怎么实现的呢? 这是因为,处理器里本来就运行着一个名叫 MINIX (mini-Unix) 的操作系统。它的体量非常小,通常只有 5MB 左右,在处理器出厂之前就已经写了进去。 也就是说:MINIX 是世界上最流行的操作系统——比 Linux 还流行…… 有了 AMT 和 MINIX,你的 CPU,其实不是你的 CPU 了。AMT 就像寄生在你电脑里的一台「小电脑」一样。 它不但不受宿主的控制,反而会控制宿主! 就像科幻电影《黑衣人》(MIB) 的这一幕:
可是,AMT 怎么就控制了我们的电脑呢? 大家都知道 Google 云计算很厉害。作为云计算行业的巨头之一,Google 都的数据中心 不是每一台都运行 TPU 啦……还是要采购非常多的英特尔处理器。 但 Google 的工程师们发现:在我们的 Linux 操作系统和处理器硬件之间,还藏着至少 2 个内核;这些内核不但对 Google 完全不开放,而且还很容易遭受黑客攻击,攻击还有能力重写内核本身,Google 无法修复。 在下图中,Google 的工程师描述了这 2 到底都包括了些什么
你会看到 Ring 这个东西。它代表的是权限层级,数字越低离用户越远、权限越高。Ring 3 是用户在操作系统上能接触的内容,比如软件或者文件;Ring 2 到 1则是驱动,Ring 0 是操作系统内核,也是用户,而且是非常有经验的用户,比如专业的 IT 人士所能触碰和修改的最低层级。 但 Ring 0 并不是重点……再往下还有 Ring -1、-2 和 -3。一般人并不知道有负数层的存在,在大部分 Ring 示意图离都根本看不到负数层,因为它们并不是开放的。
负数层都在处理器内核上。如果你刷过 Android 手机第三方内核,可能知道 CPU 核心资源是可以调整的,这个能力通常在 Ring -2 上。 至于 Ring -3,权限已经非常之高了……别说你或者 IT 小哥,连电脑公司(戴尔、惠普、苹果)都触碰不到。 而 MINIX 就运行在 Ring -3 上。 这里,是属于芯片厂商的「绝对领域」。
麻雀虽小,五脏俱全 这个操作系统里都装了些什么呢?Google 的工程师继续研究,发现里面东西还真不少……
文件系统 CPU 资源分配 一套完整的驱动,包括 USB、联网 (IPV6)、声卡显卡等 TLS 加密通讯协议 一个网络服务器 完整的网络栈(跟联网没关系,你就理解为把各个元器件连接起来让数据互通)
电脑该有的东西都齐活了,现在你知道为什么管它叫小电脑了吧……
至于这个小电脑都能做些什么,听完你一定会害怕的: 读取硬盘上的所有文件、记录键盘和鼠标、获取截图、联网上传和下载数据、查看所有运行中的程序、分配资源、打开和关闭程序、在防火墙打开/软件断网时通过物理网线/ WiFi 传输资料、开机和关机、在关机状态下提取缓存数据、重写处理器内核等等等等…… ——它能做到所有上述的事情,而且还是在完全对用户隐秘的前提下。管理员账户?硬盘分区?双系统?别开玩笑了,你能做的所有事情都在 Ring 3,而 MINIX 的所作所为都在 Ring -3 上,你根本看不到。 重申一遍:这是 Ring -3 层级,是芯片厂商的绝对领域。 这个层级对你的电脑或服务器拥有百分之百的控制权,而这个至高无上的领域只属于芯片厂商。 (题外话:都说每次苹果发新手机,旧 iPhone 就会立变慢变费电。库克桌子上是不是真的有个按钮,我们可能无法知晓,但至少你现在知道,芯片厂商拥有这样的能力绝对不是都市传说……)
有后门就没有绝对安全 既然 Ring -3 权限只属于芯片厂商,那么好,如果芯片厂商都靠谱的话,应该不会出问题吧? 很遗憾,真相并非如此。 现实中,黑客可以通过很粗劣但很有效的方式,比如钓鱼邮件,比如社会工程学;或者更聪明的方式,比如通过可被 AMT 系统识别,能够直接进入处理器,但不会被防火墙阻挡住的特定流量 (SOL Traffic,下图) ,来获得一家企业的 IT 管理员的权限。
最一开始提到,英特尔赋予了企业管理员利用 AMT 渠道来管理办公硬件的能力,而黑客获取了管理员权限,也就掌握了 AMT 的控制权。进而,他们可以通过 AMT 渠道去控制更多的设备,扩大破坏力。前段时间,微软就已经发现了一个名叫 PLATINUM 的黑客机构/恶意软件,在利用这种方式藉由 AMT 的后门侵入了大量东南亚的电脑。[3] 今年 5 月,英特尔突然宣布了一个跟 AMT 有关的漏洞信息,并提供了补丁。结果安全专家们一看,这个漏洞已经开放了长达 7 年之久……Google 认为,这个漏洞可能已经导致超过 10 亿台设备暴露。 然而英特尔发布的只是一个补丁,意味着多加了一道锁。可只要 AMT 仍然留着,不给用户关闭的选择,根本没有任何本质上的区别。不管加多少道锁,后门依然是后门。 总结一下:AMT 能够联网和读取你的所有文件;它对常见的刷机免疫,能够自修复;它本身不是绝对安全的,有 bug,有漏洞;你以为你用的是最安全的 Linux 发行版,实际上这个充满着漏洞的系统能够在你眼皮底下控制 Linux…… 这一切,是否让你感到毛骨悚然?
既然英特尔不给关也不给钥匙,人们开始自己研究关门的方法。 首先,迁移平台不现实。x86 处理器只有英特尔和 AMD,而AMD 也有一个同类技术,叫做 PSP,全称 Platform Security Processor,逻辑不同,功能近似——一句话概括:没比英特尔强多少…… AMT 还真的很不好处理。它成为了 处理器「开机」的一个必经的固件,如果你完全去除掉 AMT,就等于去掉了「开机键」,处理器可能开不了机,或者无法正常工作。 但好在 AMT 固件里面有很多组件(如前述对应“小电脑”的不同功能),而这些组件大多数都是可以去掉的。GitHub 上有一个 me_cleaner 工具,可以去掉联网、驱动、键盘记录器等各种 Ring -3 上压根不该出现的东西。
用这个工具刷机后,AMT 的固件尺寸从几 MB 降低到了 300K 左右,删掉的东西之多可想而知…… 进一步,Google 的工程师还想去掉 Ring -2 上的一些同样功能太强、太底层,很容易作为漏洞被利用的固件。他们用自己编写的开源文件管理系统替代原来的系统,不但加快了开机时间,还增强了系统的整体稳定性。 在技术界崇尚开源的一个重要原因在于,开源意味着人们可以明白它的机制,在攻守中不断进步,长期来看更安全。然而,英特尔和 AMD 将它们各自最底层操作系统的代码奉若神明,实际上的防火性能却不如它们想象的好。 所以,解决这个问题有两种思路,要么去掉,要么开源。但问题是,这两种,都会对芯片厂商的商业模式带来根本性的颠覆…… 不过好在现在这个“小电脑”的存在已经完全暴露,越来越多的人开始关注这个问题。 今年 5 月,电子前线基金会 (EFF) 也向英特尔喊话了,要求它: 提供 AMT 功能组件的详细清晰说明文档,告知用户查阅组件的命令,提供控制这些功能的用户界面; 允许用户查看 AMT 的核心代码来确认漏洞; 提供关闭 AMT 的方式,允许用户刷入社区开源的 AMT 固件,等等。 但很遗憾,英特尔目前仍然无动于衷…… 尴尬的是这种情况大家只能默默接受。英特尔是世界上最大的芯片供应商,对 Google 这样的云计算巨头来说迁移平台的代价成本太高了,几乎不可能,只有英特尔能满足需求。 一切过后,最根本的问题仍然没有解决。本质上,留着 AMT 和 MINIX 就是留着后门。去掉才能彻底关闭它。 这也是 Google 的工程师开始研究移除 AMT 组件的根本原因所在:如果英特尔可以在自己最关键的业务后台保留后门,保留一个具有巨大的潜在信息安全隐患的漏洞,却拒绝提供合理解释,也不配合客户的要求给出关门的方法,那么大家只能各自行动了…… 现在,你已经对这个隐秘的终极操作系统有了一个基本的认识。还在跟别人争吵 Windows、macOS、Linux 到底哪个操作系统最高贵?省省吧……咱们大家都是 MINIX 的用户……[4] 以及,听没听说过 NSA 的「棱镜」计划?是不是一直不明白怎么实现的?怀疑到底有没有那么强大的大规模控制和监视技术? 现在,你还怀疑么?
|