技嘉UEFI固件OEM潜在后门事件分析
2023-6-2 18:4:26 Author: www.freebuf.com(查看原文) 阅读量:13 收藏

背景

2023年5月31日,一篇名为“出售的数百万PC主板带有固件后门”的文章发布[1],引起奇安信威胁情报中心关注。

1685699886_6479bd2ece09249d2cb2f.png!small?1685699888429

文章中提到专注于固件的网络安全公司Eclypsium的研究人员透露,他们在台湾制造商技嘉出售的主板固件中发现了一种隐藏机制,其组件通常用于游戏PC和其他高性能计算机。Eclypsium发现,每当装有受影响的技嘉主板的计算机重新启动时,主板固件中的代码就会无形地启动一个在计算机上运行的更新程序,然后下载并执行另一个软件[2]。
Eclypsium表示虽然该隐藏机制可以保持主板固件更新,但研究人员发现它并不安全,该机制可能会被劫持并用于安装恶意软件而不是技嘉的预期程序。而且由于更新程序是由计算机的固件触发的,在其操作系统之外,用户很难删除甚至发现它。在这项研究中,Eclypsium研究人员共列出了两百多种受到影响的技嘉主板型号。
该文章发布后引起国内外安全研究员的重视,奇安信威胁情报中心基于Eclypsium文章原文整理分析出此次事件,并通过奇安信威胁情报中心TIP研判该事件的影响面,最后对此事件进行一个整体分析。

Eclypsium原文的分析解读

(一)主要发现

  1. Eclypsium检测到技嘉系统上的固件会在Windows启动过程中释放并执行Windows二进制文件。
  2. 此二进制文件可以从Internet下载并执行其他有效负载,而下载渠道无法保证安全。

(二)通信域名

释放的Windows可执行文件是一个.NET应用程序,它从以下域名之一下载并执行可执行负载,具体取决于其配置方式。

1685699911_6479bd47df9308a5894ee.png!small?1685699912498

(三)执行过程

Eclypsium对受影响的UEFI固件初步分析确定了以下文件:

文件名wpbbin.exe
MD5015654475E4A6F923D9A7FB96F05EAC9
文件大小1209656 bytes
创建时间2022-10-21 07:15:51 UTC

该文件嵌在UEFI固件卷中,其GUID为: AEB1671D-019C-4B3B-BA-00-35-A2-E6-28-04-36。该可执行文件被嵌入到UEFI固件中,并作为系统启动过程的一部分由固件写入磁盘,这是UEFI植入程序和后门程序常用的一种技术。
在UEFI固件启动阶段,“WpbtDxe.efi”固件模块使用上述GUID将嵌入式Windows可执行文件加载到内存中,将其安装到即将加载的WPBT ACPI表中,并在Windows启动时由Windows会话管理器子系统(smss.exe)执行。在将可执行文件安装到WPBT ACPI表之前,“WpbtDxe.efi”模块会检查BIOS/UEFI设置中是否启用了“APP 中心下载和安装”功能。尽管此设置默认情况下似乎是禁用的,但它在Eclypsium研究人员检查的系统上是启用的。
然后该可执行文件在%SystemRoot%\system32\目录下释放GigabyteUpdateService.exe,并将其注册为Windows服务运行,随即从资源段中释放另一个Windows可执行文件,该文件为.NET应用程序,其向服务器请求下载并执行更新程序。

代码分析

根据Eclypsium披露的文件,我们无需技嘉公司的主板,通过对代码的分析,我们亦可验证该OEM潜在后门。披露的初始可执行文件携带技嘉公司有效签名。

1685699950_6479bd6ef2a378b96ceb3.png!small?1685699952075

该可执行文件执行后,使用Windows Native API将内嵌在自身的可执行文件的内容写入%SystemRoot%\system32\目录下,并命名为GigabyteUpdateService.exe。

1685699959_6479bd77b889a23be7a96.png!small?1685699960576

然后设置注册表项,将GigabyteUpdateService.exe作为Windows服务运行。

1685699966_6479bd7e9131328e0c443.png!small?1685699967726

在GigabyteUpdateService.exe可执行程序的服务函数中,其从资源段中释放.NET可执行程序。

1685699971_6479bd836bbf325599c11.png!small?1685699972053

最终使用CreateProcessAsUserW函数调用该.NET可执行文件。

1685699978_6479bd8ad8fbd74f98561.png!small?1685699979621

并且在调用时,根据不同的场景传递不同的参数。

1685699985_6479bd9154f2d80bac685.png!small?1685699986188

在.NET可执行文件中,初始化依赖时创建MainWindow的回调函数。

1685699990_6479bd964c1cd97a2ed81.png!small?1685699990818

在其回调函数中,通过switch case结构来分配不同的分支。

1685699995_6479bd9b9dfc38edb3ac3.png!small?1685699996293

传入的参数为DownloadAndInstall时,向服务器请求下载指定的更新程序,并且下载时拼接的URL可选选项有HTTP和HTTPS。

1685700095_6479bdff8a17b13c79652.png!small?1685700097319

最终在下载后并未做验证就运行下载的程序。

1685700102_6479be0682a6751648f83.png!small?1685700103205

通过代码分析可以看到正如Eclypsium文章中所说,纯HTTP下载永远不应该用于更新特权代码,因为它很容易遭受中间人攻击(MITM),另外即使使用HTTPS选项,也没有实现对远程服务器证书的验证。

影响面分析

Eclypsium 研究人员共列出了两百多种受到影响的技嘉主板型号,国外媒体报道称受影响数量达到百万级别。

通过奇安信威胁情报中心的TIP对更新域名mb.download.gigabyte[.]com查询结果显示,客户端访问量级较大。

1685700112_6479be103a14bf1a1357f.png!small?1685700112856

由于该域名可能挂载了技嘉公司的其他更新服务,根据奇安信的数据视野范围的评估,全球受影响机器的数量级至少在十万以上。

总结

通过对技嘉系统存在潜在后门的代码分析,可以确认其在下载更新程序时,并未做任何有效验证,并且使用HTTP协议进行下载时,很容易造成中间人攻击(MITM)。此外,更新过程的不安全性通过受感染的路由器、同一网段上受感染的设备、DNS中毒或其他网络操纵为中间人攻击(MITM)技术打开了大门。还需要注意的是,存在潜在后门代码中的第三个连接选项https[:]//software-nas/Swhttp/LiveUpdate4不是完全限定的域名,而是可能在本地网络上的机器名。这意味着本地子网上的攻击者可以诱使植入程序连接到他们的系统,而无需DNS欺骗。

在历史上,使用该种类型的OEM潜在后门攻击案例不在少数,甚至有APT组织利用该种手法进行攻击。可见OEM底层代码的安全性不足会产生极其严重的后果。

参考链接

[1].https://www.wired.com/story/gigabyte-motherboard-firmware-backdoor/

[2].https://eclypsium.com/blog/supp


文章来源: https://www.freebuf.com/articles/paper/368380.html
如有侵权请联系:admin#unsafe.sh