Daudzos viedtālruņos izmantoto MediaTek DSP mikroshēmu programmaparatūras ievainojamība

Pētnieki no Checkpoint ir identificējuši trīs ievainojamības (CVE-2021-0661, CVE-2021-0662, CVE-2021-0663) MediaTek DSP mikroshēmu programmaparatūrā, kā arī ievainojamību MediaTek Audio HAL audio apstrādes slānī (CVE- 2021-0673). Ja ievainojamības tiek veiksmīgi izmantotas, uzbrucējs var noklausīties lietotāju no Android platformai nepiešķirtas lietojumprogrammas.

2021. gadā MediaTek veido aptuveni 37% no viedtālruņiem un SoC specializēto mikroshēmu sūtījumiem (saskaņā ar citiem datiem 2021. gada otrajā ceturksnī MediaTek īpatsvars viedtālruņu DSP mikroshēmu ražotāju vidū bija 43%). MediaTek DSP mikroshēmas izmanto arī Xiaomi, Oppo, Realme un Vivo vadošajos viedtālruņos. MediaTek mikroshēmas, kuru pamatā ir mikroprocesors ar Tensilica Xtensa arhitektūru, tiek izmantotas viedtālruņos, lai veiktu tādas darbības kā audio, attēlu un video apstrāde, papildinātās realitātes sistēmu skaitļošanā, datorredzēšanā un mašīnmācībā, kā arī ātrās uzlādes režīma ieviešanā.

Programmaparatūras reversās inženierijas laikā MediaTek DSP mikroshēmām, kuru pamatā ir FreeRTOS platforma, tika identificēti vairāki veidi, kā izpildīt kodu programmaparatūras pusē un iegūt kontroli pār darbībām DSP, nosūtot īpaši izstrādātus pieprasījumus no Android platformai nepiešķirtām lietojumprogrammām. Praktiski uzbrukumu piemēri tika demonstrēti viedtālrunim Xiaomi Redmi Note 9 5G, kas aprīkots ar MediaTek MT6853 (Dimensity 800U) SoC. Tiek atzīmēts, ka oriģinālo iekārtu ražotāji jau ir saņēmuši oktobra MediaTek programmaparatūras atjauninājuma ievainojamību labojumus.

Starp uzbrukumiem, ko var veikt, izpildot jūsu kodu DSP mikroshēmas programmaparatūras līmenī:

  • Privilēģiju palielināšana un drošības apiešana — slēpti tveriet datus, piemēram, fotoattēlus, videoklipus, zvanu ierakstus, mikrofona datus, GPS datus utt.
  • Pakalpojuma atteikums un ļaunprātīgas darbības - piekļuves bloķēšana informācijai, pārkaršanas aizsardzības atspējošana ātrās uzlādes laikā.
  • Ļaunprātīgas darbības slēpšana ir pilnīgi neredzamu un nenoņemamu ļaunprātīgu komponentu izveide, kas tiek izpildīti programmaparatūras līmenī.
  • Tagu pievienošana lietotāja izsekošanai, piemēram, diskrētu atzīmju pievienošana attēlam vai videoklipam, lai pēc tam noteiktu, vai publicētie dati ir saistīti ar lietotāju.

Sīkāka informācija par MediaTek Audio HAL ievainojamību vēl nav izpausta, taču pārējās trīs DSP programmaparatūras ievainojamības izraisa nepareiza robežu pārbaude, apstrādājot IPI (Inter-Processor Interrupt) ziņojumus, ko audio_ipi audio draiveris nosūtījis uz DSP. Šīs problēmas ļauj izraisīt kontrolētu bufera pārpildīšanu apdarinātājos, ko nodrošina programmaparatūra, kurā informācija par pārsūtīto datu lielumu tika ņemta no lauka IPI paketē, nepārbaudot faktisko izmēru, kas atrodas koplietotajā atmiņā.

Lai eksperimentu laikā piekļūtu draiverim, tika izmantoti tiešie ioctls izsaukumi vai /vendor/lib/hw/audio.primary.mt6853.so bibliotēka, kas nav pieejama parastajām Android lietojumprogrammām. Tomēr pētnieki ir atraduši risinājumu komandu nosūtīšanai, pamatojoties uz trešo pušu lietojumprogrammām pieejamo atkļūdošanas opciju izmantošanu. Šos parametrus var mainīt, izsaucot AudioManager Android pakalpojumu, lai uzbruktu MediaTek Aurisys HAL bibliotēkām (libfvaudio.so), kas nodrošina zvanus, lai mijiedarbotos ar DSP. Lai bloķētu šo risinājumu, MediaTek ir noņēmis iespēju izmantot komandu PARAM_FILE, izmantojot AudioManager.

Avots: opennet.ru

Pievieno komentāru