Professional Documents
Culture Documents
SSTIC2019 Article IDRACKAR Iooss ZH
SSTIC2019 Article IDRACKAR Iooss ZH
存的友好处理方法
尼古拉-尤斯
nicolas.iooss@ssi.gouv.fr
ANSSI
摘要当底板管理控制器(BMC)作为远程管理和监控服务器的解决
方案越来越受欢迎时,最近发现了几个针对它们的关键漏洞。在惠
普公司生产的服务器上,有消息称,攻击者通过直接内存访问(
DMA)通道入侵 BMC,从而读写主操作系统的内存。由于这些通
信通道并非惠普公司特有,因此可以预计,允许攻击者在其他制造
被公布。利用该漏洞提供的访问权限使攻击者处于类似于在数据中
心对服务器进行物理访问的位置:他们可以观看屏幕、使用键盘和
鼠标、重启服务器等。但是,他们无法读写服务器的 RAM。更确
存储器。文章还重点介绍了更有可能提供这种访问的组件,如虚拟
PCIe 设备。最终,这些设备似乎都无法访问主操作系统的内存。不
总线密切相关。对这种新型微控制器的分析工作仍在进行中。
1 导言
一些服务器制造商一直在开发通过专用网络接口和操作系统对服
务器进行带外监控和管理的系统。这些系统被称为底板管理控制器(
BMC),在专用处理器上运行,并测量服务器的性能。
2 iDRAC 分析
服务器组件(温度、功耗、风扇、内存状态等)。
制器(DRAC)"的 BMC。该产品最初是插拔式设备,后来成为服务
器主板上的集成芯片组(iDRAC 6)。如今,每一代戴尔 PowerEdge
API,用于执行与系统管理相关的若干操作)。此外,随着 iDRAC 9
漏洞。例如,去年发现了一个关键漏洞 CVE-2018-1207。它允许
标、观看屏幕内容、从文件插入虚拟光驱、重启托管服务器,以及使
用 iDRAC 专用的网络接口控制器与邻居系统通信等操作。这些操作与
潜入数据中心并实际访问服务器的攻击者所能执行的操作类似。
否有可能读取服务器主物理内存中的数据,从而破坏密码或加密密钥
?是否有可能对其进行修改?主操作系统能否防止此类意外访问
,如适当配置 IOMMU1 ?
但它通常不会访问主内存中的数据。因此,本文将介绍 iDRAC 所
N.Iooss 3
使用的接口,以了解它是否可以访问主存储器。
1.输入输出存储器管理单元是一个限制设备访问主存储器的组件。
4 iDRAC 分析
在对 iDRAC 提供的合法和有记录的功能进行简短描述后,本报告
重点关注更有可能提供这种访问的组件。更确切地说,它研究了
关和桥接器的 16 位标识符。对这些代码的分析工作仍在进行中,
目 前 还 不 清 楚 运 行 H8S 代 码 的 组 件 是 否 可 以 向 主 存 储 器 执 行
DMA 请求。
由于所有有希望的线索目前都已失败,iDRAC 似乎无法直接访问
PCIe 总线以读取主存储器。至于能否通过间接方式(例如修改由
知。
本文所介绍的工作要感谢 ANSSI,它为作者提供了一台戴尔
版本
来版本。
2 最新技术
底板管理控制器(BMC)的实现已有二十多年的历史:戴尔的首
引擎(ME)上采用了主动管理技术(AMT),该技术可在 2005
年推出的芯片组上找到,等等。
自这些系统诞生以来,已经发现了许多漏洞。最近发现的漏洞
包括
2. 复杂可编程逻辑器件是一种可编程逻辑器件,可用于实现算法,而无需制
造定制芯片组。
6 iDRAC 分析
AMT(CVE-2017-5689)和 iLO(CVE-2017-12542)上的多个验证后
CVE-2018-7105)和 iDRAC(CVE-2018-7105)上的多个验证后远程
代码执行漏洞。
一些 BMC 实施了一套名为智能平台管理接口(IPMI)的规范。多年
来,人们对这些规范及其实施进行了深入研究。2013 年,Anthony
7 提供的功能,并撰写了一份关于固件的简短说明[2]。2017 年,来
行代码。
了这一点,攻击者就可以根据平台的不同:
iDRAC 上的密码哈希值等);
— 连接到虚拟键盘-视频-鼠标界面,与主操作系统进行交互;
— 使用虚拟键盘-视频-鼠标和虚拟媒体接口重启服务器并运行任
N.Iooss 7
意操作系统;
传输网络流量;
— 升级 BMC 固件和服务器的其他关键组件,最终使用后台固
件镜像;
— 等等
作者通常会描述他们实现了哪些操作,以及他们使用的漏洞的内
部结构。这种方法使
8 iDRAC 分析
码后真正可能实现的目标保持一定的警惕。
侵的 iDRAC 中访问主存储器的情况还没有被描述过。这是否意味着
件组件提供。这就是为什么与其他著作相比,本文更关注服务器的
硬件组件,而较少关注网络提供的服务。
3 发现 iDRAC 8 系统
3.1 使用标准协议的服务
务。这些服务是通过几个标准协议实现的:
— HTTPS 由网络服务器使用,可提供
— 使用 HTML5 WebSockets 远程查看屏幕;
— JSON:API3 端点,实现 Redfish 1.0 API;
— 命令行界面(SMASH CLP)使用的 SSH;
— IPMI 通过 UDP 和 SNMP,由各自的服务使用;
— IPMI over SMBus,用于主操作系统与 iDRAC 之间的通信
如以前的出版物[1]所述,这些界面可能要求用户在执行操作前进
行身份验证。例如,网络服务器的主页面包含一个要求输入用户名和
密码的表单(图 1)。
通过身份验证的用户可以启动虚拟控制台(网址为
/virtualconsolehtml5.html),以显示服务器屏幕的内容,并使用键
盘和鼠标与之交互(图 2)。按下的键和鼠标的移动通过网络浏览
N.Iooss 9
器和 iDRAC 传送到主操作系统,主操作系统将其视为来自一个名为
应用程序编程接口的规范名称。
10 iDRAC 分析
图 1.iDRAC 登录页面 8.
图 2.iDRAC 8 上的远程控制台。
N.Iooss 11
备。第 4 节将详细介绍这种交互。
用户还可以从网站的认证部分重新配置 iDRAC、触发服务器重
操作系统共享一些主板组件的访问权限。
服务器的硬件组件拥有访问权限的事实。戴尔的实施方案让网络服务
器以 root 身份运行,这可能与所需的访问权限有关。
3.2 固件自由
代码,其中包含所做的更改。该页面包含以下内容:
以下部分软件可能包含开放源码软件,您可以根据开放源码软件发布所依据
的特定许可证的条款和条件使用这些软件。对于某些开源软件许可、
12 iDRAC 分析
4. 单元 ID LED 是服务器上的一个发光二极管,有助于识别服务器。
5. 可使用 /redfish/v1/Managers/iDRAC.Embedded.1/ Accounts 端点添加账户
。
6. https://www.dell.com/support/home/us/en/04/drivers/driversdetails?
driverId=278FC
N.Iooss 13
序的相应源文件。
件的数千兆字节压缩数据。提取后,这些数据包括
— iDRAC 使用的一些自由软件项目的源代码(在
externalsrc/):
— 在 externalsrc/linux-yocto/ 中的 GNU/Linux 内核,以及
iDRAC 片 上 系 统 (SoC) 的 特 定 文 件 , 如
arch/sh/boards/board-sh7757lcr.c ;
— iDRAC 固件中使用的戴尔定制内核模块。
externalsrc/linux-drivers/ ;
— U-Boot 引导加载程序位于 externalsrc/u-boot-idrac8/ 目录
, iDRAC SoC 专 用 文 件 位 于 u-
boot_B0/board/renesas/sh7757lcr/ 目录;
— OpenSSL、OpenSSH 补丁等;
— 在 i p k - d r o p b o x / 中有许多二进制可执行文件(ELF 格式
— 许多其他目录(meta-drac、meta-oe、poky 等)。
何使用硬件。
件系统,包含常用目录(/bin、/dev、/etc、/usr 等)。有关制作
— 许多二进制文件在引用其源文件路径时,都会参考 Jenkins 目
录。
行版。
3.3 获取外壳
网站上传共享库,并在浏览器启动的进程中加载共享库。利用在
份运行任意代码。研究人员利用该漏洞从网络服务器启动了一个反
真正的 shell
7. https://www.yoctoproject.org/software-item/poky/
8. https://en.wikipedia.org/wiki/Yocto_Project
9. 这种行为是由 Avocent 编写的一个补丁引起的,该补丁由戴尔发布在
https://opensource.dell.com/releases/idrac8/ 上 的 版 本 中 , 文 件 名 为 meta-
drac/recipes-yoctofixes/openssh/files/avocent.patch。
N.Iooss 17
存 了 密 码 的 哈 希 值 ( 清 单 2 ) 。 user1 的 密 码 哈 希 值 与 密 码
确信息,如清单 3 所示。
在探索现在可以访问的系统时,似乎有些不对劲:尽管 iDRAC 使
的 自 定 义 配 置 。 事 实 上 , /etc/pam.d/ 包 含 了 引 用
4)。
授权 充足 pam_ldap_manager .so
授权 充足 pam_local_manager .so use_first_pass
授权 所需 pam_auth_status .so caller = login sessiontype = CLP
库 /lib/security/pam_local_manager.so 使 用 了 其 他 库 (
函 数 来 验 证 帐 户 凭 据 , 这 些 函 数 都 与 glibc 中 的 常 用 函 数
N.Iooss 19
系统,以验证用户身份和管理会话。
20 iDRAC 分析
最后,账户凭据存储在凭据库文件系统中,该系统由
/etc/init.d/credential-vault-13g.sh 配置。该脚本会将加密文件11
/flash/data0/cv。iDRAC 账户的凭证位于
/flash/13g-cv/avctpasswd,密码使用加盐 SHA256 算法散列12 。
4 从 Linux 的角度看硬件
系统的通信渠道。
4.1 从主操作系统看到的硬件
等工具,可以将这些信息表示成更易于分析的图形(图 3)。
暴露的硬件外设如下:
备连接到所研究的戴尔服务器的前面板时,它会出现在同
vault-13g.sh 中的硬编码,似乎不能在每次安装中自定义。
图 3.从主操作系统中提取的设备树(绿色:PCIe设备、
2
蓝色USB设备,橙色HID和图形设备,灰色:I C 设备)。
N.Iooss 23
连接,将其虚拟键盘和鼠标连接到主操作系统的硬件树 15
PCIe 总线。
ipmi_devintf、ipmi_si、ipmi_ssif 和 ipmi_msghandler,以便
包括 KCS(键盘控制器风格)、SMIC(系统管理接口芯片)或
BT(块传输)。
iDRAC 与主操作系统之间可能存在更多接口,而且可能更难发现
。iDRAC 的固件是如何使用这些接口的?
取。通过这些源文件,可以更好地了解硬件组件。
USB 控制器。
N.Iooss 25
)。
目录名称在
/sys/devices/platform/ 司机姓名 设备节点
r8a66597_udc.0 g_hub
r8a66597_udc.1 g_kbdmouse /dev/avct/usb_keyboard
/dev/avct/usb_mouse
r8a66597_udc.2 g_mass_storage /dev/avct/usb_iface1
r8a66597_udc.3
r8a66597_udc.4 g_mass_storage1 /dev/avct/usb_iface2
r8a66597_udc.5 g_mass_storage2 /dev/avct/usb_iface3
r8a66597_udc.6 g_mass_storage3 /dev/avct/usb_iface4
r8a66597_udc.7 g_ether 网络接口 usb1
CLP)访问命令来启用该接口。这样,网络接口就会作为键盘/鼠
口一样进行配置。Immunity 公司的研究人员发现,主操作系统也
iDRAC 似乎无法以通常的方式访问服务器图形卡,因为文件系
清单 6./proc/iomem 中与视频相关的条目。
还有一些与视频设备相关的特殊文件:
备号为 0。
— /proc/aess_video 提供了有关视频设备的一些信息(内存地
址、校验和等信息)。
存区域的作用进行了描述(清单 7)。
/*
* DVC 5 寄存器基址
*/
# define PBASE_DVC 5 _ADDR 0 x FEA 02000
# 定义 VIDEO_CORE_REG_SIZE 0 x1000
/*
* 图形控制器寄存器基地址
*/
# define PBASE_GCTRL_ADDR 0 x FFC 10000
# define GCTRL_REG_SIZE 0 x140
/*
* ECD 寄存器基地址
*/
# define PBASE_ECD_ADDR 0 x FE 900000
# 定义 ECD_REG_SIZE 0 x3C
/*
* SH 7757 版本和产品注册表
*/
# define PBASE_VERSION_ADDR 0 x FF 000030
# 定义 VERSION_REG_SIZE 0 x18
28 iDRAC 分析
清单 7. externalsrc/linux-driver/video_driver/aess_video.h.
https://opensource.dell.com/ 下载的档案。
N.Iooss 29
该内核模块使用一些没有明确定义的缩写命名的组件:"DVC
引 擎 " 和 "ECD/ECC" 。 在 另 一 个 文 件 的 函 数 注 释 中 也 使 用 了
"DVC",用于去描述一种视频文件格式(清单 8)。iDRAC 的固
件 中 似 乎 没 有 使 用 该 函 数 , 但 附 近 一 个 名 为
消息。
/*!
* 描述:开始以 DVC 格式向指定 文件 捕捉主机视频。
*
* szName - 要存储 文件的 文件名 (包括路径) 。
* ulSize - 视频文件 的最大 大小。
*/
int a vc t_vk vm_start_video_ c a p t u r e ( const char * szName , uint 32 _t
ul Size );
清单 8.从头文件 ipk-dropbox/librpipc/image/usr/
include/librpipc/avct/rpipc.h 中提取。
组件来检索屏幕内容。
编程逻辑器件,可用于实现各种功能和应用。
,零件编号为 EPM2210F324C5N。
N.Iooss 31
作 由 名 为 dell_cplddrv.ko 的 内 核 模 块 实 现 , 源 代 码 可 从
事件(参见清单 10)。
/* 保存中断原因供用户检索 */
intrcause = ( cpld_read (0 x10 )&0 xf ); // ID 按钮 锁存
if ( intrcause & ID_LATCH_MASK ){
cpld_rmw ( ID_LATCH_MASK , ID_LATCH_MASK , 0 x10 );
// 清除
中断
}
/* ...*/
/* 检查 CPLD 0 x14000019 位 1 是否被置信 */
如果 ( USB_REMOVAL_MASK == ( cpld_read (0 x19 ) & USB_REMOVAL_MASK ) )
{
CPLD_USB_PCH_REMOVAL_MASK 、
cpld_usb_pch_removal_mask , c pl d_ us b_ co nf ig _o ff se t ); //
清零
intrcause |= C PL D_ IN T _ P C H _ U S B _R EM OV E ;
up (& pchusb_removal_sem );
}
于 GPIO 设备:每个位都有特定的含义,可用作布尔输入/输出接
储器。
32 iDRAC 分析
节),有几种搜索方法
N.Iooss 33
引 擎 给 出 了 Ubuntu 认 证 硬 件 网 站 18 上 的 页 面 。 例 如 ,
https://certification.ubuntu.com/catalog/component/pci/ 1912%3A001d/
列出了共享 "Renesas Technology Corp.SH7758 PCIe Switch [PS]"。
图 6.iDRAC 硬件示意图。
来源:https://www.manualslib.com/manual/624251/Dell-Poweredge-R820.html?page=54
另 一 个 页 面 https://certification.ubuntu.com/catalog/
component/pci/1912%3A001b/ 列 出 了 拥 有 名 为 "Renesas
,externalsrc/linux-drivers/pbi_driver/ 目录包含一个模块的源代
18. https://certification.ubuntu.com/
N.Iooss 35
使 用 映 射 到 0xffca0000 和 0xffcaa000 地 址 的 硬 件 寄 存 器 。 从
/proc/iomem 中 看 不 到 这 些 地 址 , 但 这 并 不 意 味 着 所 研 究 的
snprintf ( msg , MAX_MSG_LEN , " Init PCIe mailbox ( PCIe 0 x FFEE 0150
=0 x 40010000 )");
boot_B0/board/renesas/sh7757lcr/util_idrac_main.c 中的 U-Boot 函数
init_mailbox 中摘录。
# 定义 PCIE_BASE0 xffca0000
# define LADMSK 0 ( PCIE_BASE + 0 x1264 )
# define BARMAP ( PCIE_BASE + 0 x1420 )
返回 0;
}
yocto/arch/sh/boards/board-sh7757lcr.c。
为了读取这些硬件寄存器的当前配置,可 以 编写一个程序,打
36 iDRAC 分析
, 因 为 戴 尔 提 供 了 两 个 可 用 于 访 问 内 存 的 程 序 : MemAccess 和
MemAccess2(清单 13)。
N.Iooss 37
合规性 - 强调 : -6 dB
Lnk Sta 2 : 当前去重电平 : -6 dB 、
均衡化完成 - , 均衡化第 1 阶段 -, 均衡化第 2 阶段 -, 均衡化第 3 阶段
-, 均衡化第 4 阶段
均衡化阶段 2 - ,均衡化阶段 3 - 、
链接均衡请求
00: 12 19 1 b 00 07 00 10 00 00 00 00 05 00 00 00 00
10: 00 10 90 91 00 00 90 91 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 40 00 00 00 00 00 00 00 ff 01 00 00
40: 01 50 03 40 08 00 00 00 00 00 00 00 00 00 00 00
50: 05 70 86 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 10 00 02 0 e 20 80 00 10 1 e 59 00 00 11 f4 43 00
80: 00 00 11 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00
a0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
阅 读 lib_pbidrv.h 的 内 容 后 发 现 , PBI 被 用 作 主 操 作 系 统 与
其执行某些操作(显示文本、读取按钮状态等)。
回顾这些发现,似乎缺少了什么:尽管主操作系统可以控制 LCD
设备树中。通过阅读更多网页,我们找到了几个脚本和一份名为 "使
IPMI 命令。
19. https://www.dell.com/downloads/global/power/ps4q07-20070387-Babu.pdf
40 iDRAC 分析
用了。U-Boot 源代码中的一条注释澄清了这一情况:戴尔将该设备
除该位会导致主操作系统冻结,无法启动(屏幕保持黑色)。将该位
作系统再次启动。这可能是戴尔遇到的一个问题,导致第 13 代服务
的寄存器。下一部分将重点介绍该组件。
数,该函数会打印
该文件还包含戴尔开发人员的评论:
42 iDRAC 分析
扇区存储此信息。戴尔公司不能将其作为一个单独的扇区,因为版本控
分。
init_pcie_bridge。它使用四个硬件寄存器:
接控制器 ;
— PCIEBRG_CP_ADDR = 0xffd60010,以便配置已加载微码的起始
地址(0x0000);
码;
— PCIEBRG_CP_CTRL = 0xffd60018。
边 的 存 档 中 找 到 。 这 些 微 码 实 际 上 来 自 bridge7757.mot 或
代码。
$ dellutil ublog
INFO : 00:007 SH -4 A Product : Major Ver =0 x31 小版本 =0 x20 D0 Little
endian
家庭 =0 x10 主要版本 =0 x30 次要版本 =0 x0b
...
PASS : 00:008 PCIe SH 7758 _A 0 Ver =0.03 MCTP en , CRC =0 x 70 ae 6992
@ 0 x 8 EFD 591 C CNT =0 x 18000
INFO : 00:008 Init PCIe mailbox ( PCIe 0 x FFEE 0150 =0 x 40010000 )
微代码的二进制内容以一种标头开始,使用 util_idrac_main.c 中
的 struct pcie_brg_hdr 对 标 头 进 行 解 析 , 然 后 是 一 些 从 偏 移 量
0x100 开始的数据。这些数据看起来不够随机,无法压缩或加密。
用的 8 位 H8/300 微控制器。
下:
大二进制整数)。
— 0x0004:芯片版本,SH7758 A0 为 0x03(SH7757 A0 为
— 0x0005:芯片切片,0x00 .
— 0x0006:固件版本,0x03。
— 0x0007:MCTP(管理组件传输协议)模式,0x01(已启用
)。
— 0x0030 至 0x003b:可能是中断向量表,包含三个 32 位
函数地址(0x010a、0x01f8、0x033c)。
现了中断处理程序和重置处理程序,重置堆栈至 0x00ffc000
固件的主函数。
N.Iooss 45
匹配。
现了固件的大部分功能。
— 0x1692a 至 0x017fff:填充零。
0000: 0000 0100 0300 0301 0000 0000 0000 0000
0010: 0000 0000 0000 0000 0000 0000 0000 0000
0020: 0000 0000 0000 0000 0000 0000 0000 0000
0030: 0000 010 a 0000 01 f8 0000 033 c 0000 0000
清单 19.bridge7758.mot 头信息的十六进制转储。
46 iDRAC 分析
过研究已执行的内存访问,可以得出以下布局:
,从顶部开始递减)
— 0xffc000 至 0xffffff:内存映射输入/输出(许多硬件寄存器
困难,因为大多数软件要么将地址空间限制为 16 位,要么限制为 32
使用该处理器模块代替 H8S。
在阅读固件中许多功能的代码时,我们会发 现 一个共同的模式:
该值设置为 0x66,等等。这似乎表明了一种独特的函数标识符,有
助于在调试代码时产生跟踪结果。
该全局变量的值只在固件的一个函数中读取:从 0x00010a 开始
的函数。该函数可以是一个中断处理程序(例如处理定时器)。它
运 行 指 令 。 然 后 , 函 数 将 执 行 指 令 后 得 到 的 16 位 整 数 写 入
0xffd022。
简而言之,0x00010a 处的中断处理程序解析硬件寄存器中的 16
N.Iooss 47
位操作码,执行指定操作,并将结果写入另一个硬件寄存器。图 7
列举了可能的命令。
于 0xffd000 的硬件寄存器的使用情况,我们发现了几个事实:
地址。
操作码 说明
0x0XXX 获取 0xffc000 + (0xXXX&0xffe) 位置的 16 位整数
0xXXX ≤ 0x7ae (这是内存映射 I/O 区域的起始位置)
0x0800 获取 0x000004(即 0x0300)处的 16 位整数
0x0802 获取 0x000006(即 0x0301)处的 16 位整数
0x0900 获取 0xffa9be(函数标识符)处的 16 位整数
该值也可通过命令 0x70bc 和 0x70bd 读取。
0xXYYY 在
0xX ≥ 1 和 0xffa000 + ((0xX - 1) × 0x180) + (0xYYY&0xffc)
0xYYY ≤ 0x157 如果 0xYYY&2 = 0,则使用最小有效的 16 位字、
否则,最有可能。
其他 不要更改 0xffd022 处的值
位于 0xffd000 的寄存器匹配。其他寄存器的映射情况并不理想,但
命令(图 8)。
命令 0x0802 返回 0x0301。
的微控制器上发出指令。
5 结论
在戴尔服务器中,iDRAC 的功能相当强大,但它似乎无法直接
种访问。
止攻击者利用已知的关键漏洞(如 CVE-2018-1207)。法语读者可参
A 术语表
BMC:底板管理控制器,计算机内部几乎万能的计算机。
DMA:直接内存访问,外设读写计算机主机内存(RAM)数据的
一种方式。
iDRAC:集成的戴尔远程访问控制器,戴尔的 BMC。IOMMU:输
N.Iooss 51
IPMI:智能平台管理接口,BMC 实施的一种标准,用于帮助用户管
理计算机。
52 iDRAC 分析
KVM:键盘-视频-鼠标接口,这是现实世界中与计算机交互的主要
为帮助命令行用户管理计算机而实施的一项标准。
SMBus:系统管理总线,一种源自 I2 C 的简单双线总线。SSIF:
参考资料
集,2013 年。https:
//jhalderm.com/pub/papers/ipmi-woot13.pdf。
2. 费 利 克 斯 - 埃 默 特 带 外 网 络 管 理 》 。 网 络 》 , 69 , 2015 。 https://
pdfs.semanticscholar.org/5046/999858f4409c9b6b533a04de36cd508848bd.pdf。
Goryachy)。如何入侵已关机的计算机,或在英特尔管理引擎中运行未签
名 代 码 》 。 黑 帽 欧 洲 , 2017 年 。 https://www.blackhat.com/eu-
17/briefings.html#how-to-hack-a-turned-
off-computer-or-running-unsigned-code-in-intel-management-engine.
4. CERT FR.Bulletin d'actualité CERTFR-2017-ACT-014.2017. https://www.cert.
ssi.gouv.fr/actualite/CERTFR-2017-ACT-014/.
5. Fabien Périgaud、Alexandre Gazet 和 Joffrey Czarny。 通过
https://recon.cx/2018/brussels/talks/subvert_server_bmc.html 和
h t t p s : / / g i t h u b . c o m / a i r b u s -
s e c l a b / a i r b u s -
s e c l a b . g i t h u b . i o / b l o b / m a s t e r /
N.Iooss 53
i l o / R E C O N B R X 2 0 1 8 - S l i d e s -
S u b v e r t i n g _ y o u r _ s e r v e r _ t h r o u g h _ its_
B M C _ t h e _ HPE_iLO4_case-perigaud-gazet-czarny.pdf。
schedule/index.html#the-unbearable-lightness-of-bmcs-10035。