G.O.S.S.I.P 阅读推荐 2023-12-12 LogoFAIL攻击!

admin 2023年12月13日17:34:25评论8 views字数 1819阅读6分3秒阅读模式

先看一段视频(绝对清朗)。看完这段视频你有何感想(或者是完全没看懂)?这是今年Black Hat Europe上由Binarly REsearch team(https://binarly.io 官网)介绍的一种新型安全攻击——LogoFAIL攻击,利用了UEFI firmware ecosystem中的图像处理库存在的解析漏洞,攻击计算机的启动过程,然后入侵系统。

G.O.S.S.I.P 阅读推荐 2023-12-12 LogoFAIL攻击!

在上个世纪90年代的网吧,怀揣4块钱还生怕被爸妈抓住的我们,最熟悉的电脑启动屏幕是图这样的。我们这些年逾三旬的老年(研究)人(员)其实不太能理解90后和2000后,为什么现在连内存条都流行搞个跑马灯特效,而在上个世纪计算机硬件资源十分紧张的时期,恨不得一切的特效都关掉,就为了换取系统响应速度的一点点提升(多玩一局红色警戒)。而今天要介绍的LogoFAIL攻击,也是利用了用户喜欢DIY这一习惯,把攻击目标瞄准了计算机的开机屏幕。

G.O.S.S.I.P 阅读推荐 2023-12-12 LogoFAIL攻击!


现在一些系统允许用户自己保存一张图片在某个特定位置,然后开机的时候BIOS(今天已经是UEFI)就去读取加载这张图片,让你开机的时候能够看到心仪的帅哥美女美图。然而,对复杂二进制文件格式的解析,永远是一个天坑,2015年Android系统的stagefright漏洞还历历在目,没有吸取教训的UEFI开发人员沿着前人犯下的错误继续犯错,然后就被安全研究人员逮个正着:只要放上一个恶意构造的图片格式文件,就能够轻而易举地控制系统。Binarly REsearch team首先总结了一些经验教训(然并卵,以后肯定还会有人继续犯错的):

  • 各家BIOS开发商都自顾自地实现私有的图片格式解析器(当然也可能从GitHub上找个项目抄一抄),这些乱七八糟的实现生态显然引入了更多的(供应链安全)风险;

  • BIOS开发商挖空心思讨好用户,想方设法提供各种用户自定义开机界面的特性,特性越多,攻击风险越高,而且还不需要什么特别的权限就可以实施攻击;

  • 由于加载图片这个过程是在启动过程,这部分实现代码一般都是用(内存不安全的)C语言开发的,而且还不像现代操作系统一样部署了各种防御措施(例如DEP、ASLR),开发exploit的攻击者做梦都要笑醒。

实际上,现代的UEFI BIOS都部署了很多启动期的安全校验技术,例如Intel Boot Guard这种,对没有签名的代码绝不加载执行。这样好的安全特性,就被王八蛋BIOS厂商引入的自定义图片加载给毁了——很明显,用户有了一个非常好的注入恶意数据的攻击界面(attack surface)。一般的厂商会允许用户在EFI System Partition(ESP分区,数据一般没有签名保护)上存放自定义图片,然后在启动的时期进行加载。就算厂商没有提供加载图片的接口,用户通过一些flash可编程器也可以改掉这个分区数据(貌似有一些Android设备也可以用这种方法来改掉开机的logo)。

G.O.S.S.I.P 阅读推荐 2023-12-12 LogoFAIL攻击!

让我们看看Binarly REsearch team的研究心路历程,首先他们关注了UEFI BIOS一般会处理什么格式的图片:

G.O.S.S.I.P 阅读推荐 2023-12-12 LogoFAIL攻击!

由于很多UEFI BIOS的固件都可以拿到并且能够逆向分析,而Binarly REsearch team开始“吹嘘”他们的模拟分析框架,号称能够模拟执行并且fuzz这些固件,当然他们确实找到了一大堆的内存破坏漏洞,覆盖了Acer、Dell、Gigabyte、HP、Intel、Lenovo、MSI、Samsung、Supermicro等一大堆主板厂商。

G.O.S.S.I.P 阅读推荐 2023-12-12 LogoFAIL攻击!

Binarly REsearch team的研究人员也展示了一些很典型的存在漏洞的代码,例如下图就是Insyde firmware里面BMP图像解析器里面的out-of-bound(OOB)越界写错误的代码片段:

G.O.S.S.I.P 阅读推荐 2023-12-12 LogoFAIL攻击!

下图则是AMI firmware中PNG图像解析器的整型溢出(integer overflow)漏洞代码片段:

G.O.S.S.I.P 阅读推荐 2023-12-12 LogoFAIL攻击!

我们可以看看LogoFAIL攻击对整个(可信)启动链的影响:由于加载logo图片的过程比UEFI secure boot还要早,所以这个攻击直接破坏了整个启动过程的安全!

G.O.S.S.I.P 阅读推荐 2023-12-12 LogoFAIL攻击!


技术文章:https://binarly.io/posts/finding_logofail_the_dangers_of_image_parsing_during_system_boot/


原文始发于微信公众号(安全研究GoSSIP):G.O.S.S.I.P 阅读推荐 2023-12-12 LogoFAIL攻击!

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月13日17:34:25
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   G.O.S.S.I.P 阅读推荐 2023-12-12 LogoFAIL攻击!http://cn-sec.com/archives/2292444.html

发表评论

匿名网友 填写信息