BlackHat Europe 2023 议题学习(二)

BlackHat Europe 2023 议题学习(二)

💡 原文中文,约1700字,阅读约需4分钟。
📝

内容提要

本文介绍了BIOS启动时Logo图片解析漏洞及2009年类似漏洞,作者挖掘攻击面发现了低风险漏洞,提到了BIOS固件研究思路和漏洞案例,总结了攻击面挖掘的重要性和研究门槛。

🔎

延伸解读

历史漏洞的重复与启示

文章对比了2009年Attacking Intel BIOS和2023年LogoFAIL两个议题,均涉及BIOS启动时图片解析漏洞,且都利用了整数溢出。这提示我们,尽管技术不断演进,但经典漏洞模式可能在新场景中重现。回顾老议题有助于开阔思路,发现被忽视的攻击面。

攻击面挖掘的价值与方法

作者强调攻击面挖掘是漏洞研究的关键,寻找厂商和安全研究员都未关注过的攻击面,可能收获低垂之果。例如,BIOS更新需数字签名,但Logo图片无需签名且在启动早期被解析,这便是一个理想的攻击面。这种思路可应用于其他类似场景。

UEFI固件图片解析的多样性

LogoFAIL研究发现UEFI固件会解析多种图片格式,包括BMP、GIF、PNG、JPEG、PCX和TGA。每种格式都可能存在解析漏洞,如BMP缓冲区下溢、JPEG内存破坏、PNG整数溢出。这扩大了攻击面,也增加了安全研究的复杂性。

研究门槛与现实挑战

文章指出,LogoFAIL中的研究门槛较高,需要仿真环境和Fuzzing工具(如LibAFL),且种子文件获取不易(如PCX格式样本来自Internet Archive)。在当前国内环境下,一般公司可能不会投入时间进行此类研究,这反映了安全研究资源分配的现实问题。

❓

Q&A

LogoFAIL 议题主要讲了什么?

LogoFAIL 议题介绍了系统启动过程中图像解析的安全隐患,重点分析了 UEFI 固件解析 BMP、GIF、PNG、JPEG、PCX 和 TGA 等图片格式时可能出现的漏洞,如 BMP 解析缓冲区下溢、JPEG 解析内存破坏和 PNG 解析整数溢出。

为什么 BIOS 启动时的 Logo 图片会成为攻击面?

因为 BIOS 固件更新需要数字签名,但 Logo 图片不需要签名,且在启动早期会被解析和显示,这为攻击者提供了无需签名即可利用的入口,属于经典的文件格式解析攻击面。

2009 年 Attacking Intel BIOS 议题中利用了哪个漏洞?

该议题利用了 BMP 图片解析时的整数溢出漏洞。在 ConvertBmpToGopBlt 函数中,计算缓冲区大小时发生整数溢出,导致向目标缓冲区写入大量数据,最终触发 Page Fault 异常,并可被利用执行 Shellcode。

LogoFAIL 研究中发现了哪些图片格式的漏洞?

LogoFAIL 研究发现了 BMP 解析缓冲区下溢漏洞、JPEG 解析内存破坏漏洞(未校验 Huffman Table 个数)以及 PNG 解析整数溢出漏洞。

UEFI 固件在启动时会解析哪些图片格式?

UEFI 固件会解析 BMP、GIF、PNG、JPEG、PCX 以及 TGA 等多种图片格式。

攻击面挖掘在漏洞研究中有什么重要性?

攻击面挖掘是漏洞研究中的重要环节。找到厂商、安全研究员和攻击者都未关注过的攻击面,极有可能发现大量低风险漏洞(Low Hanging Fruits),从而获得突破。

LogoFAIL 研究使用了什么方法进行漏洞挖掘?

作者在仿真环境下使用基于 LibAFL 的 Fuzzing 技术对 UEFI 固件解析图片的过程进行漏洞挖掘。

为什么说 LogoFAIL 研究有较高门槛?

LogoFAIL 研究需要深入理解固件、图片格式解析和漏洞利用技术,且在当前国内环境下,一般公司很可能不会提供足够的时间去进行这类研究,因此门槛较高。

🏷️

标签

➡️

继续阅读