Kwetsbaarheid in de firmware van MediaTek DSP-chips die in veel smartphones worden gebruikt

Onderzoekers van Checkpoint hebben drie kwetsbaarheden (CVE-2021-0661, CVE-2021-0662, CVE-2021-0663) in de firmware van MediaTek DSP-chips geïdentificeerd, evenals een kwetsbaarheid in de MediaTek Audio HAL-audioverwerkingslaag (CVE- 2021-0673). Als de kwetsbaarheden succesvol worden uitgebuit, kan een aanvaller een gebruiker afluisteren vanuit een onbevoegde applicatie voor het Android-platform.

In 2021 is MediaTek goed voor ongeveer 37% van de verzendingen van gespecialiseerde chips voor smartphones en SoC's (volgens andere gegevens bedroeg het aandeel van MediaTek onder de fabrikanten van DSP-chips voor smartphones in het tweede kwartaal van 2021 43%). MediaTek DSP-chips worden ook gebruikt in vlaggenschip-smartphones van Xiaomi, Oppo, Realme en Vivo. MediaTek-chips, gebaseerd op een microprocessor met Tensilica Xtensa-architectuur, worden in smartphones gebruikt om bewerkingen uit te voeren zoals audio-, beeld- en videoverwerking, bij computers voor augmented reality-systemen, computervisie en machine learning, en bij het implementeren van de snellaadmodus.

Tijdens reverse engineering van firmware voor MediaTek DSP-chips op basis van het FreeRTOS-platform werden verschillende manieren geïdentificeerd om code aan de firmware-kant uit te voeren en controle te krijgen over operaties in de DSP door speciaal vervaardigde verzoeken te verzenden van niet-bevoorrechte applicaties voor het Android-platform. Praktische voorbeelden van aanvallen werden gedemonstreerd op een Xiaomi Redmi Note 9 5G-smartphone uitgerust met een MediaTek MT6853 (Dimensity 800U) SoC. Opgemerkt wordt dat OEM's al oplossingen hebben ontvangen voor de kwetsbaarheden in de MediaTek-firmware-update van oktober.

Onder de aanvallen die kunnen worden uitgevoerd door uw code uit te voeren op het firmwareniveau van de DSP-chip:

  • Privilege-escalatie en beveiligingsomzeiling - leg heimelijk gegevens vast zoals foto's, video's, gespreksopnamen, microfoongegevens, GPS-gegevens, enz.
  • Denial of service en kwaadwillige acties - toegang tot informatie blokkeren, bescherming tegen oververhitting uitschakelen tijdens snel opladen.
  • Het verbergen van kwaadaardige activiteiten is het creëren van volledig onzichtbare en niet-verwijderbare kwaadaardige componenten, uitgevoerd op firmwareniveau.
  • Het toevoegen van tags om een ​​gebruiker te volgen, zoals het toevoegen van discrete tags aan een afbeelding of video om vervolgens te bepalen of de geposte gegevens aan de gebruiker zijn gekoppeld.

Details van de kwetsbaarheid in MediaTek Audio HAL zijn nog niet bekendgemaakt, maar de andere drie kwetsbaarheden in de DSP-firmware worden veroorzaakt door onjuiste grenscontrole bij het verwerken van IPI-berichten (Inter-Processor Interrupt) die door het audio_ipi-audiostuurprogramma naar de DSP worden verzonden. Door deze problemen kunt u een gecontroleerde bufferoverflow veroorzaken in handlers die door de firmware worden geleverd, waarbij informatie over de grootte van de overgedragen gegevens uit een veld in het IPI-pakket wordt gehaald, zonder de werkelijke grootte in het gedeelde geheugen te controleren.

Om tijdens de experimenten toegang te krijgen tot het stuurprogramma, werden directe ioctls-aanroepen of de bibliotheek /vendor/lib/hw/audio.primary.mt6853.so gebruikt, die niet beschikbaar is voor reguliere Android-applicaties. Onderzoekers hebben echter een oplossing gevonden voor het verzenden van opdrachten op basis van het gebruik van foutopsporingsopties die beschikbaar zijn voor applicaties van derden. Deze parameters kunnen worden gewijzigd door de AudioManager Android-service aan te roepen om de MediaTek Aurisys HAL-bibliotheken (libfvaudio.so) aan te vallen, die oproepen bieden voor interactie met de DSP. Om deze oplossing te blokkeren heeft MediaTek de mogelijkheid verwijderd om de opdracht PARAM_FILE via AudioManager te gebruiken.

Bron: opennet.ru

Voeg een reactie