Descobriu 3 vulnerabilidades no firmware em chips MediaTek DSP

Algum atrás dias de lançamento dos pesquisadores do Checkpoint a notícia de que eles identificaram três vulnerabilidades (CVE-2021-0661, CVE-2021-0662, CVE-2021-0663) no firmware dos chips MediaTek DSP, bem como uma vulnerabilidade na camada de processamento de áudio do MediaTek Audio HAL (CVE-2021-0673). No caso de uma exploração bem-sucedida das vulnerabilidades, um invasor pode organizar a escuta do usuário a partir de um aplicativo sem privilégios para a plataforma Android.

Em 2021, MediaTek é responsável por aproximadamente 37% de remessas de chips especializados para smartphones e SoCs (De acordo com outros dados, no segundo trimestre de 2021, a participação da MediaTek entre os fabricantes de chips DSP para smartphones foi de 43%).

Entre outras coisas, chips MediaTek DSP Eles são usados ​​nos smartphones carro-chefe da Xiaomi, Oppo, Realme e Vivo. Os chips MediaTek, baseados no microprocessador Tensilica Xtensa, são usados ​​em smartphones para realizar operações como processamento de som, imagem e vídeo, em computação para sistemas de realidade aumentada, visão computacional e aprendizado de máquina, além de implementar carregamento rápido.

Firmware de engenharia reversa para chips DSP da MediaTek com base na plataforma FreeRTOS revelou várias maneiras de executar código no lado do firmware e obter controle sobre as operações DSP enviando solicitações especialmente criadas de aplicativos sem privilégios para a plataforma Android.

Exemplos práticos de ataques foram demonstrados em um Xiaomi Redmi Note 9 5G equipado com MediaTek MT6853 SoC (Dimensity 800U). É observado que os OEMs já receberam correções de vulnerabilidade na atualização de firmware de outubro da MediaTek.

O objetivo de nossa pesquisa é encontrar uma maneira de atacar o Android Audio DSP. Primeiro, precisamos entender como o Android em execução no processador de aplicativo (AP) se comunica com o processador de áudio. Obviamente, deve haver um controlador que aguarda as solicitações do espaço do usuário do Android e, em seguida, usando algum tipo de comunicação entre processadores (IPC), encaminha essas solicitações ao DSP para processamento.

Usamos um smartphone Xiaomi Redmi Note 9 5G com root baseado no chipset MT6853 (Dimensity 800U) como dispositivo de teste. O sistema operacional é MIUI Global 12.5.2.0 (Android 11 RP1A.200720.011).

Como há apenas alguns drivers relacionados à mídia apresentados no dispositivo, não foi difícil encontrar o driver responsável pela comunicação entre o AP e o DSP.

Entre os ataques que podem ser realizados executando seu código no nível de firmware do chip DSP:

  • Desvio do sistema de controle de acesso e escalonamento de privilégios: captura invisível de dados como fotos, vídeos, gravações de chamadas, dados de um microfone, GPS, etc.
  • Negação de serviço e ações maliciosas: bloqueie o acesso às informações, desative a proteção contra superaquecimento durante o carregamento rápido.
  • Ocultar atividades maliciosas - crie componentes maliciosos completamente invisíveis e indeléveis que são executados no nível do firmware.
  • Anexe tags para espionar um usuário, como adicionar tags sutis a uma imagem ou vídeo e, em seguida, vincular os dados postados ao usuário.

Detalhes da vulnerabilidade no MediaTek Audio HAL ainda não foram revelados, mas eucomo três outras vulnerabilidades no firmware DSP são causados ​​por uma verificação de borda incorreta ao processar mensagens IPI (Inter-Processor Interrupt) enviado pelo driver de áudio audio_ipi para o DSP.

Esses problemas possibilitam causar um estouro de buffer controlado nos manipuladores fornecidos pelo firmware, em que as informações sobre o tamanho dos dados transmitidos foram retiradas de um campo dentro do pacote IPI, sem verificar o tamanho real alocado na memória compartilhada .

Para acessar o controlador durante os experimentos, usamos chamadas ioctls diretas ou a biblioteca /vendor/lib/hw/audio.primary.mt6853.so, que são inacessíveis para aplicativos Android regulares. No entanto, os pesquisadores encontraram uma solução para enviar comandos com base no uso de opções de depuração disponíveis para aplicativos de terceiros.

Os parâmetros especificados podem ser alterados chamando o serviço Android AudioManager para atacar as bibliotecas MediaTek Aurisys HAL (libfvaudio.so), que fornecem chamadas para interagir com o DSP. Para bloquear essa solução, a MediaTek removeu a capacidade de usar o comando PARAM_FILE por meio do AudioManager.

Finalmente se você estiver interessado em saber mais sobre isso, você pode verificar os detalhes no link a seguir.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: AB Internet Networks 2008 SL
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.