一位安全研究人员演示了 Switch 2 的纯软件部分越狱,获得了“用户态”访问权限,使用户能够运行自制程序(homebrew)、对 Switch 2 游戏进行逆向工程和修改、备份存档,并通过 MMIO 访问大多数外设。
此次破解依赖于 Smile Basic 4 的原版 Switch 版本。Smile Basic 是一系列历史悠久的编程环境,最新版本运行于任天堂硬件之上。所谓“绑定式”(tethered)破解还需要一台与主机处于同一网络的 macOS 或 Linux 电脑,运行一个用于获取特权系统访问的 Node.js 软件包。
研究人员 Sammy Hajhamid(网上化名 Pepsipu)借助 OpenAI 的 Codex 对 Smile Basic 的语言解释器进行探测,并使用自定义的测试框架,通过 USB 向系统发送命令,再经 HDMI 查看结果。在“约两周的大量投入”之后,该框架在 Smile Basic 中从数组移除元素时发现了一个 32 位整数溢出。这一错误使其获得了数组指针,从而可以读写系统内存的部分区域。
随后,Hajhamid 在主机的文件系统服务模块中发现一个缓冲区溢出,暴露了一个缓存数据指针,从而获得任意读写权限。他通过伪造的文件系统进程实现了原生代码执行,并以《马力欧赛车 世界》中的修改角色作为概念验证加以展示。
来源: Ars Technica · 由HeadlinesBriefing整理摘要