Odkryto 3 luki w oprogramowaniu układowym w układach MediaTek DSP

Jakiś czas temu dni opublikowania badaczy Checkpoint wiadomość, że zidentyfikowali trzy luki (CVE-2021-0661, CVE-2021-0662, CVE-2021-0663) w oprogramowaniu układów MediaTek DSP, jak również luka w warstwie przetwarzania dźwięku MediaTek Audio HAL (CVE-2021-0673). W przypadku udanego wykorzystania luk, atakujący może zorganizować podsłuchiwanie użytkownika z nieuprzywilejowanej aplikacji na platformę Android.

S 2021, MediaTek stanowi około 37% wysyłek chipów specjalistycznych do smartfony i SoC (Według innych danych, w II kwartale 2021 r. udział MediaTeka wśród producentów chipów DSP do smartfonów wyniósł 43%).

Między innymi chipy MediaTek DSP Znajdują zastosowanie we flagowych smartfonach Xiaomi, Oppo, Realme i Vivo. Chipy MediaTek, oparte na mikroprocesorze Tensilica Xtensa, są wykorzystywane w smartfonach do wykonywania takich operacji, jak przetwarzanie dźwięku, obrazu i wideo, w obliczeniach dla systemów rzeczywistości rozszerzonej, wizji komputerowej i uczeniu maszynowym, a także do szybkiego ładowania.

Oprogramowanie układowe do inżynierii odwrotnej dla układów DSP od MediaTek na platformie FreeRTOS ujawnił różne sposoby uruchamiania kodu po stronie oprogramowania i przejmowania kontroli nad operacjami DSP wysyłając specjalnie spreparowane żądania z nieuprzywilejowanych aplikacji na platformę Android.

Praktyczne przykłady ataków zostały zademonstrowane na Xiaomi Redmi Note 9 5G wyposażonym w MediaTek MT6853 SoC (Dimensity 800U). Należy zauważyć, że producenci OEM otrzymali już poprawki luk w październikowej aktualizacji oprogramowania układowego MediaTek.

Celem naszych badań jest znalezienie sposobu na zaatakowanie DSP Android Audio. Najpierw musimy zrozumieć, w jaki sposób system Android działający na procesorze aplikacji (AP) komunikuje się z procesorem dźwięku. Oczywiście musi istnieć kontroler, który czeka na żądania z przestrzeni użytkownika Androida, a następnie za pomocą pewnego rodzaju komunikacji międzyprocesorowej (IPC) przekazuje te żądania do DSP w celu przetworzenia.

Jako urządzenia testowego użyliśmy zrootowanego smartfona Xiaomi Redmi Note 9 5G opartego na chipsecie MT6853 (Dimensity 800U). System operacyjny to MIUI Global 12.5.2.0 (Android 11 RP1A.200720.011).

Ponieważ w urządzeniu dostępnych jest tylko kilka sterowników związanych z mediami, nie było trudno znaleźć sterownik odpowiedzialny za komunikację między punktem dostępowym a DSP.

Wśród ataków, które można przeprowadzić, wykonując jego kod na poziomie oprogramowania układowego chipa DSP:

  • Obejście systemu kontroli dostępu i eskalacja uprawnień: niewidoczne przechwytywanie danych, takich jak zdjęcia, filmy, nagrania rozmów, dane z mikrofonu, GPS itp.
  • Odmowa usługi i złośliwe działania: blokuj dostęp do informacji, wyłączaj ochronę przed przegrzaniem podczas szybkiego ładowania.
  • Ukryj złośliwą aktywność — Twórz całkowicie niewidoczne i nieusuwalne złośliwe komponenty, które działają na poziomie oprogramowania układowego.
  • Dołącz tagi, aby szpiegować użytkownika, na przykład dodaj subtelne tagi do obrazu lub wideo, a następnie połącz opublikowane dane z użytkownikiem.

Szczegóły luki w MediaTek Audio HAL nie zostały jeszcze ujawnione, ale jajako trzy inne podatności w oprogramowaniu DSP są spowodowane nieprawidłowym sprawdzaniem krawędzi podczas przetwarzania komunikatów IPI (Inter-Processor Interrupt) wysyłane przez sterownik audio audio_ipi do procesora DSP.

Problemy te pozwalają na wywołanie kontrolowanego przepełnienia bufora w handlerach dostarczanych przez firmware, w których informacja o rozmiarze przesyłanych danych była pobierana z pola w pakiecie IPI, bez weryfikacji rzeczywistego rozmiaru przydzielonego w pamięci współdzielonej .

Aby uzyskać dostęp do kontrolera podczas eksperymentów, używamy bezpośrednich wywołań ioctls lub biblioteki /vendor/lib/hw/audio.primary.mt6853.so, które są niedostępne dla zwykłych aplikacji na Androida. Jednak naukowcy znaleźli rozwiązanie umożliwiające wysyłanie poleceń w oparciu o opcje debugowania dostępne dla aplikacji innych firm.

Określone parametry można zmienić, wywołując usługę Android AudioManager w celu zaatakowania bibliotek HAL MediaTek Aurisys (libfvaudio.so), które zapewniają wywołania interakcji z DSP. Aby zablokować to rozwiązanie, MediaTek usunął możliwość korzystania z polecenia PARAM_FILE przez AudioManager.

W końcu jeśli chcesz dowiedzieć się więcej na ten temat, możesz sprawdzić szczegóły W poniższym linku.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.