一般来说,Linux 桌面用户比 Windows 桌面用户感觉更安全。然而,正如安全研究员 Chris Evans 刚刚在一项研究中证明的那样,免费操作系统并不总是比其他操作系统更容易受到攻击。博客文章。他刚刚创建了一个漏洞,允许您仅使用 MP3 或 FLAC 文件在 Ubuntu 或 Fedora Linux 上执行任意代码。用户所需要做的就是下载损坏的文件,然后运行它或在文件资源管理器中查看它。研究人员制作了两个视频来演示他的黑客攻击,一个在 Fedora 下,另一个在 Ubuntu 下。在这两种情况下,“有效负载”的执行都是通过打开 Linux 计算器来象征的。
该攻击实际上是基于超级任天堂系统(.SPC)音频文件管理中的缺陷。事实上,在 Linux 下管理多媒体文件处理的 GStreamer 平台完全能够读取这些文件,这要归功于模拟超级任天堂游戏机的 CPU 和音频处理器的模拟器。这是令人难以置信的,我们不确定为什么它仍然存在,但它是真的。
Chris Evans 发现,在某些条件下,处理此类文件时可能会导致堆溢出。因此,可以访问模拟器的指令集,从而授权以用户权限执行代码。为了更容易欺骗受害者,研究人员干脆将SPC扩展名改为MP3或FLAC。克里斯·埃文斯不仅展示了这个缺陷,还展示了如何弥补它。那Ubuntu工程师不久之后就做了。
GStreamer,真正的 bug 巢穴
研究人员强调,如果管理 Linux 下多媒体文件处理的 GStreamer 平台有一个沙箱来隔离其执行,那么这种攻击就不可能发生。
这并不是克里斯·埃文斯第一次顶住这个平台。去年11月,他就已经发现了两起类似的攻击事件。 11 月 21 日,它在FLIC解码器GStreamer 的改进使得绕过地址空间的随机分布(ASLR,地址空间布局随机化)成为可能,这是一种旨在限制内存溢出攻击的保护措施。 11 月 14 日,克里斯·埃文斯 (Chris Evans) 发现了一个缺陷音乐文件管理 NSF(任天堂娱乐系统声音格式)。在这两个案例中,研究人员系统地更改了文件扩展名,以更好地欺骗受害者。