打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
如何看待英特尔管理引擎(Intel ME)被爆出运行在 Minix3 操作系统?
userphoto

2023.08.03 辽宁

关注

英特尔为什么要这么做?会有哪些风险?普通人可以做什么吗?

2021 年度新知答主

谢邀。作为BIOS工程师,经常和ME(Management Engine)打交道,事实上ME的固件就是放在BIOS固件之中的,BIOS和ME也要进行一些协同工作,所以我想我的回答还是十分权威的。我认为ME被严重妖魔化了,充满了各种臆测和误解。各种阴谋论甚嚣尘上,什么“你的电脑里面还有个小电脑!”、“ME控制CPU,是ring -3!”等等,各种标题党。事实的情况是问题远远没有爆出的那么严重,ME也没有那么神奇,干不了很多神奇的事情。

为什么要有ME?

这个世界并不是充满了计算机专家,事实上大多数人连简单的安装操作系统都完成不了。术业有专攻,很正常。电脑爱好者们可以应付一般的电脑问题,但是处理复杂的证书问题和有上千种原因的死机问题往往无能为力。如果能够远程由IT专业人士协助解决问题就好了!远程管理成为了解决问题的良方。

远程管理分为带外和带内管理两种:

(Out-of-band management,OOB):使用独立管理通道进行设备维护。无论被管理设备是否处于开机状态,只要已经通电并联网,就可以远程监控和管理设备,包括远程关机、远程开机

  • 、远程重启、远程更改BIOS设置、远程安装操作系统等

  • 带内管理(In-Band Network Access,IBN):是指使用常规数据通道来管理设备。这种管理要求被管理设备不仅要通电、联网,而且必须已经开机、运行了客户端程序等。

我们经常使用的Windows远程桌面、VNC、SNMP和Telnet等等都属于带内管理。而各种KVM(注意这个不是虚拟机世界的KVM),BMC和AMT就属于带外管理。

带内管理的优点是便宜,不要增加什么硬件,安装个软件就可以了。缺点也很明显,OS死掉了就无解了,所以大部分安装、死机问题并不能靠带内管理解决。

KVM是一种带外管理解决方式。这里举个KVM设备的例子(见参考资料1)

Spider KVM

从图上可以看到它有VGA和USB的输入,同时还有VGA和USB输出,并可以连接网络。它的工作原理大致是把目标计算机的部分输入和显示输出重定向到管理机器上或者网络中,管理员可以登录这个KVM设备,就可以看到目标机器的显示结果和用虚拟USB设备输入内容。真是十分方便,我们BIOS工程师在调试目标服务器机器时,经常借助KVM,避免做到大型服务器旁边(十分吵,像飞机场)。KVM可以解决部分问题,例如安装操作系统等等,但是更新BIOS等就无能为力了。

服务器领域很早就引入BMC(Baseboard ManagementController),它借助IPMI(Intelligent Platform Management Interface)来进行带外管理。这里不打算展开讲,争取今后在专栏里面另写文章专门介绍。我只是简单说一下它的原理。它是一个单独在服务器主板

上的芯片:

它有自己的处理器(一般是ARM),有自己的固件,并且如同KVM一样,Hook了部分USB、显示和部分IDE/SATA等等。在上电后它会独自运行,通过各种总线控制风扇,监控温度、和BIOS固件等通讯,共同管理主板。现在每个服务器主板缺省都带着BMC,它为服务器管理

、部署和监控带来了极大方便。

终于该我们的正主出场了。大家都知道,大型公司都有IT部门,专门负责维护电脑,帮助安装操作系统、处理各种千奇百怪的死机和不工作的问题。据统计有80%以上的问题都十分愚蠢,譬如没有插电源、不知道CD ROM是啥等等(有人问客服是不是那个放咖啡的槽子,大家可以看看The Old New Thing, 微软的Blog上面有不少吐槽)。这也很好理解,毕竟还有很多不是IT产业的大公司,IT公司里面也不是各个都是高手。大型公司每年都耗费巨资用于IT服务,譬如重装电脑、安装Patch等等。而中小型公司更加头疼,他们临着类似于大型企业所面临的复杂 IT 挑战,但是中小型企业往往没有较大的预算或 IT 专家员工。怎么办呢?

作为PC界的老大,有感于PC领域的现实需求,于是Intel在PC中引入了类似BMC的概念:有一个专门的处理器,带外进行计算机管理

。开始是引入AMT技术(Intel Active Management Technology,英特尔主动管理技术,参考资料2),后来又整合其它技术,推出vPro(博锐

,参考资料3)。

看到带有vPro的徽标,就表示可以使用vPro的AMT远程管理技术。它的框架图如下:

后来ME加入了更多安全、校验、防盗和电平信号管理等等新功能。

ME在哪里?

与网上大多数瞎说的不同,ME并不在CPU内核中。它最早在北桥里:

北桥消失后,它被放到了南桥PCH中:

为什么有的人会认为它在CPU中呢?

  1. 部分SOC的酷睿产品,南桥被放入CPU Package中。因此ME也随着被放入CPU的Package中,这并不意味着ME是CPU内核的一部分,这种做法和单独的PCH并没有本质区别,PCH和CPU还是两个Die。这种设计简化了主板,节约了成本,但是误导了部分IT爱好者。CPU Package设计是一个很有趣的方向,改天写一篇文章介绍一下,这里按下不表。

  2. 部分ATOM产品中,ME的部分功能被真正植入CPU Die中。但它也并不在CPU core和uncore中,而是在类似南桥的south cluster

  1. 中。这个ME阉割版也并不含现在被广泛讨论的AMT功能。

ME干了哪些事

ME有自己的处理器,它是一款32位的ARC MCU。也有部分片上RAM,但是主要RAM是BIOS在启动时在住内存上挖下来专门给它的。这种方式叫做UMA:

BIOS不仅仅为ME分配内存,也为内置GPU用同样的方法分配内存。

和BMC一样,它脱离于CPU独自运行,有自己的操作系统(具体不详,BMC一般是Linux)。由于电源部分被它管理,在主板有电,但CPU尚未上电的时候,它可以开启电脑。在开机后它和BIOS协同工作,并在OS启动后和ME的操作系统驱动程序一起工作,完成AMT、KVM、电源管理、电平管理等等功能。

AMT典型应用是,当大家晚上关闭电脑回家后,IT人员在晚上Push最新的Windows patch到电脑上,利用晚上的时间安装完毕,大家第二天早上来时就可以直接工作省时省力,完全不耽误工作。或者需要重装电脑,告诉IT你的工位,IT就可以远程帮你重装操作系统,不用抱着沉重的电脑跑来跑去,岂不美哉?

ME后来又加入了更多的功能,包括安全管理(fTPM等)、电平管理、电源管理等等高级功能。

ME是不是唯一的法外之地

大家都默认主板上有BIOS固件这个事情,如果我说一般的电脑里面单独的固件可以有近十个到几十个,是不是很多人都要惊掉了下巴?好吧,我就举几个例子:

  1. 网卡。网卡有单独的固件,有自己的控制器,控制器有些还是ARM。Intel南桥的网卡固件甚至和ME的固件一起被包含在BIOS固件中。

  2. 显卡。这个应该是常识了。实际上几乎所有PCIe设备都有自己的固件和处理器,处理器有的是ARM,有的是MCU,还有用FPGA做的。

  3. 硬盘。高端的硬盘甚至用到了Intel的ATOM CPU。

  4. 传感器。很多传感器有固件,并有MCU控制。

  5. Sensor Hub。SH最早普遍应用在手机上,慢慢地也被平板电脑、笔记本电脑甚至PC上采用。它的固件设计还较传感器复杂一点。

还有很多,包括PMIC、PMC等等都含有固件。事实上,让各个部分自我管理是计算机设计的发展趋势,CPU把任务off load出去,让设备自己完成好再通知自己,有利于CPU集中注意力干大事,同时节省用电。

一些谣言

  1. ME是Intel不可告人的后门。实际上AMT曾经被Intel广泛宣传过,并被作为一个很有价值的技术被推广到很多计算机厂家,并受到广泛欢迎,尤其是中小企业。Intel官网上有很多介绍。

  2. ME可以干任何事情。实际上它有很多限制,并不能随便访问主存。BIOS为它单独分配了内存,这些内存被保留,OS并不知情。ME通过一般办法并不能访问被分配空间之外的其他内存(当然也有例外)。我们可以认为它的内存访问和内置GPU内存访问没有本质区别,GPU也有自己的运行单元,为什么没有被诘难?它的USB、IDE/SATA重定向、网口控制也并不是对所有都有效。事实上,和它对应的BMC在服务器领域已经应用更长时间,而服务器对安全更加在乎,为什么没有这么大反对声呢?

  3. ME可以控制CPU,是ring -3。实际并不行,两者是互相独立工作的。这个说法是纯粹的吸引眼球的标题党干的,ring

  • 的概念只在X86上有,ARC并不会存在。

  • ME控制网口为了留后门。ME中的AMT既然作为带外管理,必须联网,这是理所应当的。

  • ME很容易被篡改。ME受数字签名保护,实际上它是fTPM等等安全手段的提供者。

  • ME可以访问硬盘数据。部分有问题,ME固件并不能在操作系统环境下独自访问硬盘,否则会有冲突。可以访问硬盘的是ME的操作系统驱动。事实上硬件驱动大部分都是ring 0

  1. 的,可以访问任何东西。ME的驱动也不例外,如果不信任驱动,那也不要安装主板驱动了。

  2. Intel强制安装ME。ME有好几个版本,主板包含哪种ME,这是OEM的选择。

  3. ME不能关闭。实际上很多主板BIOS中都有ME关闭的功能:

关闭后ME会进入一个低功耗状态。

结论

我们可以把ME想象成Intel在PC上推出的免费BMC。它方便了中小企业做带外计算机管理。它有自己的处理器和操作系统(固件)。任何操作系统都有Bug,ME的操作系统应该是个RTOS,必然也有Bug和漏洞,这个没有什么奇怪之处。对ME最不爽的人是操作系统提供商,他们希望一切都在掌握之中。人们总是恐惧不了解的东西,也许ME开源会让大家放心,但有时候贸然的开源会让部分黑客有机可乘。到底开源有利于安全还是不利于安全,这个问题有很多讨论,也不在本文的范围内。如果大家感兴趣,改天写一篇个人如何开启和使用AMT的文章,其实KVM功能对个人用户还是十分有用的。

本回答和其他精彩文章被整理发布在我的专栏:UEFI和BIOS探秘,欢迎大家关注本专栏和用微信扫描下方二维码加入微信公众号

"UEFIBlog",在那里有最新的文章。同时欢迎大家给本专栏和公众号投稿!

用微信扫描二维码加入UEFIBlog公众号

参考资料:

[1]: Spider Network KVM over IP Switch

[2]: https://zh.wikipedia.org/wiki/Intel%E4%B8%BB%E5%8A%A8%E7%AE%A1%E7%90%86%E6%8A%80%E6%9C%AF

[3]: https://zh.wikipedia.org/wiki/%E5%8D%9A%E9%94%90

编辑于 2018-02-15 11:25

予人玫瑰,手有余香

还没有人赞赏,快来当第一个赞赏的人吧!

更多回答

沈万马

编程话题下的优秀答主

首先吧,先说说新闻都在胡说些啥。之后再说应该看啥。

Intel ME是在芯片组里的,不在CPU里。权限是ring -3这个说法是没什么道理的——这只是个被人生造的称呼。有官方文档能佐证的别名只到ring -2也就是System Management Mode。ring -3这种说法可能来自于一个很老的黑帽talk(Introducing Ring -3 Rootkits,Alexander Tereshkin and Rafal Wojtczuk,Black Hat USA, July 29 2009):

https://www.blackhat.com/presentations/bh-usa-09/TERESHKIN/BHUSA09-Tereshkin-Ring3Rootkit-SLIDES.pdf

当然不能说ring -3这个称呼是胡说。但它并不等于高于ring -2的权限。

而且,这所有的可能的安全问题不仅2009年就已经被研究过了,这过去的8年中啥都没变吗?显然变了。第一大变化就是ME可以软件关闭(HAP)。第二大变化就是TXT/SGX等技术可以在ME之前初始化代码验证。其余还有一系列安全性增强。

另外就是MINIX3是否是实际使用的OS还并未定论,目前还只能说可能源自MINIX3。当然这条可能等更多信息出现之后才能确定。

然后说应该看啥。

第一大关注点是,ME最大的风险在于它可直接访问NIC,而且在最终消费市场上的是默认启用的。这意味着网络攻击是可能的。

第二大关注点是,MINIX3并不是安全加强的操作系统内核。这意味着任何能在本地接触CPU的代码都可以用一些基本的方法进行攻击。

第三大关注点是,ME会使用主内存存储数据(有自己的运存但是会把数据交换到主内存,有内存保护)。这意味着ring 3以上的攻击存在实现的可能。

整体上来说,这事是个很大的安全隐患,但不至于骇人听闻。

编辑于 2017-11-10 00:17

zhuang zhuang

IT从业26年,弈城业余4段

估计很多人都还没明白Intel ME的硬件是什么就开始xxyy了。请不要和Intel CPU混为一谈,Intel CPU是否有后门那是另一件事情,不少人看到这个新闻就以为Intel CPU有严重漏洞或后门了。这个新闻并不意味着Intel很邪恶。

第一:Intel chipsets 不等于Intel CPU,集成了ME的这个chipsets以前通常是motherboard

上的northbridge芯片,更新的Intel架构下(Intel 5 Series以上),Intel ME是集成在Platform Controller Hub (PCH)这个芯片上。

AMD类似的Chipsets上也有一个闭源的Firmware,其他Chipsets厂商如VIA、SiS等也是如此。很多硬件设备上都是有Firmware的,比如网卡、显卡、光纤卡,计算机能工作有赖于这些Firmware。这些Firmware越来越复杂,有可能会暴露出更多漏洞。你可以认为这些Firmware比BIOS或UEFI更底层,所以有说法ME运行在Ring -3,BIOS或UEFI是-2,Hypervisor是-1,操作系统是0,你的办公软件运行在Ring 3。ME只是Intel Chipset Firmware中的一部分。

摘录自 Intel Active Management Technology

The Management Engine (ME) is an isolated and protected coprocessor

, embedded as a non-optional part in all current (as of 2015) Intel chipsets.

Until the release of Nehalem processors, the ME was usually embedded into the motherboard's northbridge, following the Memory Controller Hub (MCH) layout. With the newer Intel architectures

(Intel 5 Series onwards), ME is included into the Platform Controller Hub (PCH).

第二:和Intel ME通讯的渠道

摘录自 Intel Active Management Technology

The ME has its own MAC and IP address for the out-of-band interface, with direct access to the Ethernet controller; one portion of the Ethernet traffic is diverted to the ME even before reaching the host's operating system, for what support exists in various Ethernet controllers, exported and made configurable via Management Component Transport Protocol (MCTP). The ME also communicates with the host via PCI interface. Under Linux, communication between the host and the ME is done via /dev/mei.

第三:Intel ME能访问的数据

摘录自 Disabling Intel ME 11 via undocumented mode

Intel Management Engine is a proprietary technology that consists of a microcontroller integrated into the Platform Controller Hub (PCH) chip and a set of built-in peripherals. The PCH carries almost all communication between the processor and external devices; therefore Intel ME has access to almost all data on the computer.

有没有开源Firmware的Chipsets?好像没有。

能把闭源Firmware替换为我信任的Firmware吗?很难,除非厂家公开技术,目前只能做到剪除ME大部分的module,而不能完全替换。黑客想将恶意代码放入Firmware中,也非易事。要求Intel提供方法可以安全地完全地disable Intel Chipsets Firmware中的ME,我认为是合理的要求。

摘录自 Disabling Intel ME 11 via undocumented mode

The disappointing fact is that on modern computers, it is impossible to completely disable ME. This is primarily due to the fact that this technology is responsible for initialization, power management, and launch of the main processor. Another complication lies in the fact that some data is hard-coded inside the PCH chip functioning as the southbridge on modern motherboards.

有兴趣可以看这个,corna/me_cleaner How to remove ME

最后附上Intel文档上的一张图,可以看到Intel Management Engine的位置,与CPU、GPU的关系。

编辑于 2017-11-08 16:31

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
UEFI的诞生与优势
英特尔 DH61DL 台式机主板 BIOS 0118下载 · 大专栏
下一代BIOS标准探讨之二:奔跑的兔子—coreboot
UEFI
【转】BCM6358系列ADSL一体机刷机 (转至chinadsl.net)
UEFI boot 和 Legacy boot 区别_远离文明_百度空间
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服