Luka w oprogramowaniu układów MediaTek DSP stosowanych w wielu smartfonach

Badacze z Checkpoint zidentyfikowali trzy luki (CVE-2021-0661, CVE-2021-0662, CVE-2021-0663) w oprogramowaniu układów MediaTek DSP, a także lukę w warstwie przetwarzania dźwięku MediaTek Audio HAL (CVE- 2021-0673). Jeśli luki zostaną pomyślnie wykorzystane, osoba atakująca może podsłuchać użytkownika z nieuprzywilejowanej aplikacji na platformę Android.

W 2021 roku na MediaTek przypada około 37% dostaw specjalistycznych chipów do smartfonów i układów SoC (według innych danych, w drugim kwartale 2021 roku udział MediaTek wśród producentów chipów DSP do smartfonów wyniósł 43%). Chipy MediaTek DSP są stosowane także we flagowych smartfonach marek Xiaomi, Oppo, Realme i Vivo. Chipy MediaTek, oparte na mikroprocesorze o architekturze Tensilica Xtensa, wykorzystywane są 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 we wdrażaniu trybu szybkiego ładowania.

Podczas inżynierii wstecznej oprogramowania układowego dla układów MediaTek DSP opartych na platformie FreeRTOS zidentyfikowano kilka sposobów wykonania kodu po stronie oprogramowania sprzętowego i przejęcia kontroli nad operacjami w procesorze DSP poprzez wysyłanie specjalnie spreparowanych żądań z nieuprzywilejowanych aplikacji na platformę Android. Praktyczne przykłady ataków zademonstrowano na smartfonie Xiaomi Redmi Note 9 5G wyposażonym w SoC MediaTek MT6853 (Dimensity 800U). Należy zauważyć, że producenci OEM otrzymali już poprawki luk w październikowej aktualizacji oprogramowania układowego MediaTek.

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

  • Eskalacja uprawnień i obejście zabezpieczeń — potajemnie przechwytuj dane, takie jak zdjęcia, filmy, nagrania rozmów, dane z mikrofonu, dane GPS itp.
  • Odmowa usługi i złośliwe działania - blokowanie dostępu do informacji, wyłączanie zabezpieczenia przed przegrzaniem podczas szybkiego ładowania.
  • Ukrywanie złośliwej aktywności polega na tworzeniu całkowicie niewidocznych i nieusuwalnych szkodliwych komponentów uruchamianych na poziomie oprogramowania sprzętowego.
  • Dołączanie tagów w celu śledzenia użytkownika, np. dodawanie dyskretnych tagów do obrazu lub filmu, aby następnie określić, czy opublikowane dane są powiązane z użytkownikiem.

Szczegóły luki w MediaTek Audio HAL nie zostały jeszcze ujawnione, ale pozostałe trzy luki w oprogramowaniu DSP są spowodowane nieprawidłowym sprawdzaniem granic podczas przetwarzania komunikatów IPI (Inter-Processor Interrupt) wysyłanych przez sterownik audio audio_ipi do DSP. Problemy te pozwalają na wywołanie kontrolowanego przepełnienia bufora w procedurach obsługi dostarczonych przez firmware, w których informacja o rozmiarze przesyłanych danych została pobrana z pola wewnątrz pakietu IPI, bez sprawdzania rzeczywistego rozmiaru znajdującego się w pamięci współdzielonej.

Aby uzyskać dostęp do sterownika podczas eksperymentów, wykorzystano bezpośrednie wywołania ioctls lub bibliotekę /vendor/lib/hw/audio.primary.mt6853.so, która nie jest dostępna dla zwykłych aplikacji na Androida. Jednak badacze znaleźli obejście problemu wysyłania poleceń w oparciu o wykorzystanie opcji debugowania dostępnych w aplikacjach innych firm. Parametry te można zmienić, wywołując usługę AudioManager Android w celu zaatakowania bibliotek HAL MediaTek Aurisys (libfvaudio.so), które zapewniają wywołania interakcji z procesorem DSP. Aby zablokować to obejście, MediaTek usunął możliwość używania polecenia PARAM_FILE w programie AudioManager.

Źródło: opennet.ru

Dodaj komentarz