前一段时间 Checkpoint 研究人员发布的天数 消息称他们已经确定了三个漏洞(CVE-2021-0661、CVE-2021-0662、CVE-2021-0663) 在联发科 DSP 芯片的固件中, 以及 MediaTek Audio HAL 音频处理层的漏洞 (CVE-2021-0673)。 如果成功利用这些漏洞,攻击者可以组织从 Android 平台的非特权应用程序窃听用户。
在2021 联发科约占37% 专用芯片的出货量 智能手机和 SoC (其他数据显示,2021年第二季度,联发科在智能手机DSP芯片厂商中的份额为43%)。
其中,联发科 DSP 芯片 它们用于小米、Oppo、Realme 和 Vivo 的旗舰智能手机。 联发科芯片基于 Tensilica Xtensa 微处理器,用于智能手机中执行声音、图像和视频处理等操作,用于增强现实系统的计算、计算机视觉和机器学习,以及实现快速充电。
DSP芯片逆向工程固件 来自联发科基于 FreeRTOS 平台 揭示了在固件端运行代码并获得对 DSP 操作的控制的各种方法 通过从 Android 平台的非特权应用程序发送特制的请求。
在配备联发科 MT9 SoC(天玑 5U)的小米红米 Note 6853 800G 上演示了实际攻击示例。 值得注意的是,OEM 厂商已经在联发科 XNUMX 月的固件更新中收到了漏洞修复。
我们研究的目标是找到一种攻击 Android Audio DSP 的方法。 首先,我们需要了解运行在应用处理器 (AP) 上的 Android 如何与音频处理器进行通信。 显然,必须有一个控制器等待来自 Android 用户空间的请求,然后使用某种处理器间通信 (IPC) 将这些请求转发给 DSP 进行处理。
我们使用基于MT9(天玑5U)芯片组的小米红米Note 6853 800G智能手机作为测试设备。 操作系统为 MIUI Global 12.5.2.0 (Android 11 RP1A.200720.011)。
由于设备上只有少数与媒体相关的驱动程序,因此不难找到负责 AP 和 DSP 之间通信的驱动程序。
通过在 DSP 芯片的固件级别执行其代码可以进行的攻击包括:
- 访问控制系统绕过和权限提升:隐形捕获数据,例如照片、视频、通话录音、麦克风数据、GPS 等。
- 拒绝服务和恶意操作:阻止访问信息,在快速充电期间禁用过热保护。
- 隐藏恶意活动 - 创建在固件级别运行的完全不可见且无法消除的恶意组件。
- 附加标签以监视用户,例如向图像或视频添加微妙的标签,然后将发布的数据链接到用户。
联发科音频 HAL 漏洞的详细信息尚未披露, 但是我作为其他三个漏洞 在 DSP 固件中 由处理 IPI 消息时不正确的边缘检查引起 (Inter-Processor Interrupt)由audio_ipi 音频驱动程序发送到DSP。
这些问题可能导致固件提供的处理程序中的受控缓冲区溢出,其中有关传输数据大小的信息取自 IPI 数据包中的字段,而无需验证共享内存中分配的实际大小.
为了在实验期间访问控制器,我们使用直接 ioctls 调用或 /vendor/lib/hw/audio.primary.mt6853.so 库,这些库是常规 Android 应用程序无法访问的。 然而,研究人员找到了一种基于第三方应用程序可用调试选项发送命令的解决方案。
可以通过调用Android AudioManager 服务来更改指定的参数,以攻击联发科Aurisys HAL 库(libfvaudio.so),该库提供与DSP 交互的调用。 为了阻止这个解决方案,联发科移除了通过 AudioManager 使用 PARAM_FILE 命令的功能。
最后 如果您有兴趣了解更多信息, 您可以查看详细信息 在下面的链接中。