Вразливість у прошивках DSP-чіпів MediaTek, що використовуються у багатьох смартфонах

Дослідники з компанії Сheckpoint виявили три вразливості (CVE-2021-0661, CVE-2021-0662, CVE-2021-0663) у прошивках DSP-чіпів компанії MediaTek, а також вразливість у прошарку для обробки звуку MediaTek Audio HAL2021 0673). У разі успішної експлуатації вразливостей атакуючий може організувати підслуховування користувача з непривілейованої програми для платформи Android.

У 2021 році на компанію MediaTek припадає приблизно 37% поставок спеціалізованих чіпів для смартфонів та SoC (за іншими даними у другому кварталі 2021 частка MediaTek серед виробників DSP-чіпів для смартфонів становила 43%). У тому числі DSP-чіпи MediaTek використовуються у флагманських смартфонах компанією Xiaomi, Oppo, Realme та Vivo. Чіпи MediaTek, засновані на мікропроцесорі з архітектурою Tensilica Xtensa, використовуються у смартфонах для здійснення таких операцій як обробка звуку, зображень та відео, у обчисленнях для систем доповненої реальності, комп'ютерного зору та машинного навчання, а також реалізації режиму швидкої зарядки.

У ході зворотного інжинірингу прошивок для DSP-чіпів MediaTek, заснованих на платформі FreeRTOS, було виявлено кілька способів виконання коду на стороні прошивки та отримання контролю над операціями в DSP через відправлення спеціально оформлених запитів із непривілейованих програм для платформи Android. Практичні приклади атак продемонстровані на смартфоні Xiaomi Redmi Note 9 5G, оснащеному SoC MediaTek MT6853 (Dimensity 800U). Зазначається, що OEM-виробники вже отримали виправлення уразливостей у жовтневому оновленні прошивок MediaTek.

Серед атак, які можна провести, виконавши свій код на рівні прошивки DSP-чіпа:

  • Підвищення привілеїв та обхід системи розмежування доступу – непомітне захоплення даних, таких як фотографії, відео, записи дзвінків, дані з мікрофона, GPS тощо.
  • Відмова в обслуговуванні та вчинення шкідливих дій - блокування доступу до інформації, відключення захисту від перегріву при швидкій зарядці.
  • Приховування шкідливої ​​активності - створення повністю непомітних і невдалих шкідливих компонентів, що виконуються на рівні прошивки.
  • Прикріплення позначок для стеження за користувачем, наприклад, додавання непомітних позначок до зображення або відео для подальшого визначення зв'язку опублікованих даних з користувачем.

Деталі вразливості в MediaTek Audio HAL поки не розкриваються, але три інші вразливості в прошивці DSP викликані некоректною перевіркою кордонів при обробці IPI-повідомлень (Inter-Processor Interrupt), що направляються звуковим драйвером audio_ipi до DSP. Зазначені проблеми дозволяють викликати контрольоване переповнення буфера в оброблюваних прошивкою, в яких відомості про розмір передаваних даних бралися з поля всередині пакета IPI, без перевірки фактичного розміру, розміщеного в пам'яті, що розділяється.

Для звернення до драйвера під час експериментів використовувалися прямі ioctls-дзвінки або бібліотека /vendor/lib/hw/audio.primary.mt6853.so, які недоступні звичайним додаткам Android. Тим не менш, дослідники знайшли обхідний шлях відправлення команд, заснований на використанні параметрів налагодження, доступних стороннім додаткам. Вказані параметри можуть змінюватися через звернення до Android-сервісу AudioManager для атаки на бібліотеки MediaTek Aurisys HAL (libfvaudio.so), які надають дзвінки для взаємодії з DSP. Для блокування даного обхідного методу MediaTek видалила можливість використання команди PARAM_FILE через AudioManager.

Джерело: opennet.ru

Додати коментар або відгук