ΠΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΎΡ Checkpoint ΡΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π»ΠΈ ΡΡΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ (CVE-2021-0661, CVE-2021-0662, CVE-2021-0663) Π²ΡΠ² ΡΡΡΠΌΡΠ΅ΡΠ° Π½Π° MediaTek DSP ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ Π² ΡΠ»ΠΎΡ Π·Π° Π°ΡΠ΄ΠΈΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° MediaTek Audio HAL (CVE- 2021- 0673). ΠΠΊΠΎ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ, Π½Π°ΠΏΠ°Π΄Π°ΡΠ΅Π»ΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ΄ΡΠ»ΡΡΠ²Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» ΠΎΡ Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Android.
ΠΡΠ΅Π· 2021 Π³. MediaTek ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π° ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ 37% ΠΎΡ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈΡΠ΅ Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ Π·Π° ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΈ ΠΈ SoC (ΡΠΏΠΎΡΠ΅Π΄ Π΄ΡΡΠ³ΠΈ Π΄Π°Π½Π½ΠΈ ΠΏΡΠ΅Π· Π²ΡΠΎΡΠΎΡΠΎ ΡΡΠΈΠΌΠ΅ΡΠ΅ΡΠΈΠ΅ Π½Π° 2021 Π³. Π΄Π΅Π»ΡΡ Π½Π° MediaTek ΡΡΠ΅Π΄ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° DSP ΡΠΈΠΏΠΎΠ²Π΅ Π·Π° ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΈ Π΅ Π±ΠΈΠ» 43%). DSP ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ Π½Π° MediaTek ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΈ Π²ΡΠ² Π²ΠΎΠ΄Π΅ΡΠΈ ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΈ ΠΎΡ Xiaomi, Oppo, Realme ΠΈ Vivo. Π§ΠΈΠΏΠΎΠ²Π΅ΡΠ΅ Π½Π° MediaTek, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΠΎΡ Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Tensilica Xtensa, ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π² ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΈ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠ°ΡΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π°ΡΠ΄ΠΈΠΎ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ, Π² ΠΊΠΎΠΌΠΏΡΡΡΠΈ Π·Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΡΠ΅Π°Π»Π½ΠΎΡΡ, ΠΊΠΎΠΌΠΏΡΡΡΡΠ½ΠΎ Π·ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π·Π° ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π±ΡΡΠ·ΠΎ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅.
ΠΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΎΠ±ΡΠ°ΡΠ½ΠΎΡΠΎ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡΡΠ²ΠΎ Π½Π° ΡΡΡΠΌΡΠ΅ΡΠ° Π·Π° MediaTek DSP ΡΠΈΠΏΠΎΠ²Π΅, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° FreeRTOS, Π±ΡΡ Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π½Π°ΡΠΈΠ½Π° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄ ΠΎΡ ΡΡΡΠ°Π½Π° Π½Π° ΡΡΡΠΌΡΠ΅ΡΠ° ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π²ΡΡΡ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π² DSP ΡΡΠ΅Π· ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ ΠΈΠ·ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΠΎΡ Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Android. ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π·Π° Π°ΡΠ°ΠΊΠΈ Π±ΡΡ Π° Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠ°Π½ΠΈ Π½Π° ΡΠΌΠ°ΡΡΡΠΎΠ½ Xiaomi Redmi Note 9 5G, ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½ Ρ MediaTek MT6853 (Dimensity 800U) SoC. ΠΡΠ±Π΅Π»ΡΠ·Π²Π° ΡΠ΅, ΡΠ΅ OEM ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π²Π΅ΡΠ΅ ΡΠ° ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ Π·Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈΡΠ΅ Π² ΠΎΠΊΡΠΎΠΌΠ²ΡΠΈΠΉΡΠΊΠ°ΡΠ° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΡΡΠΌΡΠ΅ΡΠ° Π½Π° MediaTek.
Π‘ΡΠ΅Π΄ Π°ΡΠ°ΠΊΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·Π²ΡΡΡΠ΅Π½ΠΈ ΡΡΠ΅Π· ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π²Π°ΡΠΈΡ ΠΊΠΎΠ΄ Π½Π° Π½ΠΈΠ²ΠΎ ΡΡΡΠΌΡΠ΅Ρ Π½Π° DSP ΡΠΈΠΏΠ°:
- ΠΡΠΊΠ°Π»Π°ΡΠΈΡ Π½Π° ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ ΠΈ Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° - ΡΠΊΡΠΈΡΠΎ Π·Π°ΡΠ½Π΅ΠΌΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΊΠ°ΡΠΎ ΡΠ½ΠΈΠΌΠΊΠΈ, Π²ΠΈΠ΄Π΅ΠΎΠΊΠ»ΠΈΠΏΠΎΠ²Π΅, Π·Π°ΠΏΠΈΡΠΈ Π½Π° ΡΠ°Π·Π³ΠΎΠ²ΠΎΡΠΈ, Π΄Π°Π½Π½ΠΈ ΠΎΡ ΠΌΠΈΠΊΡΠΎΡΠΎΠ½Π°, GPS Π΄Π°Π½Π½ΠΈ ΠΈ Π΄Ρ.
- ΠΡΠΊΠ°Π· ΠΎΡ ΡΡΠ»ΡΠ³Π° ΠΈ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ - Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΠΈΡΠ°ΡΠ° ΠΎΡ ΠΏΡΠ΅Π³ΡΡΠ²Π°Π½Π΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π±ΡΡΠ·ΠΎ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅.
- Π‘ΠΊΡΠΈΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½Π° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡ Π΅ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π½Π°ΠΏΡΠ»Π½ΠΎ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΠΈ ΠΈ Π½Π΅ΠΎΡΡΡΡΠ°Π½ΠΈΠΌΠΈ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ, ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Π½ΠΈ Π½Π° Π½ΠΈΠ²ΠΎ ΡΡΡΠΌΡΠ΅Ρ.
- ΠΡΠΈΠΊΠ°ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π³ΠΎΠ²Π΅ Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π», ΠΊΠ°ΡΠΎ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΈ ΡΠ°Π³ΠΎΠ²Π΅ ΠΊΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ»ΠΈΠΏ, Π·Π° Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ Π΄Π°Π»ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ.
ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π·Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Π² MediaTek Audio HAL Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ° ΡΠ°Π·ΠΊΡΠΈΡΠΈ, Π½ΠΎ Π΄ΡΡΠ³ΠΈΡΠ΅ ΡΡΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π²ΡΠ² ΡΡΡΠΌΡΠ΅ΡΠ° Π½Π° DSP ΡΠ° ΠΏΡΠΈΡΠΈΠ½Π΅Π½ΠΈ ΠΎΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π³ΡΠ°Π½ΠΈΡΠΈΡΠ΅ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° IPI (Inter-Processor Interrupt) ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΈ ΠΎΡ audio_ipi Π°ΡΠ΄ΠΈΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΠΊΡΠΌ DSP. Π’Π΅Π·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΄Π° ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°ΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°Π½ΠΎ ΠΏΡΠ΅ΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° Π±ΡΡΠ΅ΡΠ° Π² ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΈ ΠΎΡ ΡΡΡΠΌΡΠ΅ΡΠ°, ΠΏΡΠΈ ΠΊΠΎΠΈΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π·Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΠΏΡΠ΅Ρ Π²ΡΡΠ»Π΅Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ Π΅ Π²Π·Π΅ΡΠ° ΠΎΡ ΠΏΠΎΠ»Π΅ Π²ΡΡΡΠ΅ Π² IPI ΠΏΠ°ΠΊΠ΅ΡΠ°, Π±Π΅Π· Π΄Π° ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ, Π½Π°ΠΌΠΈΡΠ°Ρ ΡΠ΅ Π² ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½Π°ΡΠ° ΠΏΠ°ΠΌΠ΅Ρ.
ΠΠ° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠ΅ Π±ΡΡ
Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΈ ioctl ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° /vendor/lib/hw/audio.primary.mt6853.so, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° Π΄ΠΎΡΡΡΠΏΠ½ΠΈ Π·Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π° Android. ΠΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅ ΠΎΠ±Π°ΡΠ΅ ΡΠ° Π½Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΎ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΠΏΡΠΈΠΈ Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, Π΄ΠΎΡΡΡΠΏΠ½ΠΈ Π·Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ. Π’Π΅Π·ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ΠΈ ΡΡΠ΅Π· ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° AudioManager Android Π·Π° Π°ΡΠ°ΠΊΠ° Π½Π° HAL Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅ Π½Π° MediaTek Aurisys (libfvaudio.so), ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ DSP. ΠΠ° Π΄Π° Π±Π»ΠΎΠΊΠΈΡΠ° ΡΠΎΠ²Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, MediaTek ΠΏΡΠ΅ΠΌΠ°Ρ
Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° PARAM_FILE ΡΡΠ΅Π· AudioManager.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru