ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π‘heckpoint Π²ΡΡΠ²ΠΈΠ»ΠΈ ΡΡΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ (CVE-2021-0661, CVE-2021-0662, CVE-2021-0663) Π² ΠΏΡΠΎΡΠΈΠ²ΠΊΠ°Ρ DSP-ΡΠΈΠΏΠΎΠ² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ MediaTek, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π² ΠΏΡΠΎΡΠ»ΠΎΠΉΠΊΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π²ΡΠΊΠ° MediaTek Audio HAL (CVE-2021-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