ΠΠ½ΠΆΠ΅Π½Π΅ΡΡ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Google ΠΏΠΎΠ΄Π²Π΅Π»ΠΈ ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΈΡΠΎΠ³ΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π² ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Android ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° ΡΠ·ΡΠΊΠ΅ Rust. Π Android 13 ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 21% ΠΎΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π½Π° Rust, Π° 79% Π½Π° C/C++. Π ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ AOSP (Android Open Source Project), Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ΅ΠΊΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Android, Π½Π°ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 1.5 ΠΌΠ»Π½ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° Π½Π° Rust, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ Π½ΠΎΠ²ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌ, ΠΊΠ°ΠΊ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ Keystore2, ΡΡΠ΅ΠΊ Π΄Π»Ρ UWB-ΡΠΈΠΏΠΎΠ² (Ultra-Wideband), ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° DNS-over-HTTP3, ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ AVF (Android Virtualization Framework), ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅ΠΊΠΈ Π΄Π»Ρ Bluetooth ΠΈ Wi-Fi.
Π ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΠ°Π½Π΅Π΅ ΠΏΡΠΈΠ½ΡΡΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠ΅ΠΉ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΡΠΈΡΠΊΠ° ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ, Π²ΡΠ·Π²Π°Π½Π½ΡΡ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΏΠ°ΠΌΡΡΡΡ, ΡΠ·ΡΠΊ Rust ΠΏΠΎΠΊΠ° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ Π΄Π»Ρ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠΈΠ»Π΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π½Π΅Π·Π°ΡΠΈΡΡΠ½Π½ΡΡ ΠΈ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². ΠΠ±ΡΠ΅ΠΉ ΡΠ΅Π»ΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° Π²ΡΠ΅ΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π½Π° Rust Π½Π΅ ΡΡΠ°Π²ΠΈΡΡΡ ΠΈ ΡΡΠ°ΡΡΠΉ ΠΊΠΎΠ΄ ΠΎΡΡΠ°ΡΡΡΡ Π½Π° C/C++,Π° Π±ΠΎΡΡΠ±Π° Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ Π² Π½ΡΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ fuzzing-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ΅Ρ Π½ΠΈΠΊ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΏΠ° MiraclePtr (ΠΎΠ±Π²ΡΠ·ΠΊΠ° Π½Π°Π΄ raw-ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ°Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄ΡΠ½Π½ΡΠΌ ΠΎΠ±Π»Π°ΡΡΡΠΌ ΠΏΠ°ΠΌΡΡΠΈ), ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Scudo (Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π°Ρ Π·Π°ΠΌΠ΅Π½Π° malloc/free) ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°ΠΌ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΏΠ°ΠΌΡΡΡΡ HWAsan (Hardware-assisted AddressSanitizer), GWP-ASAN ΠΈ KFENCE.
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΠΎ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ Π² ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Android, ΠΎΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π³ΠΎ Ρ ΠΏΠ°ΠΌΡΡΡΡ, Π½Π°Π±Π»ΡΠ΄Π°Π΅ΡΡΡ ΠΈ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ, Π²ΡΠ·Π²Π°Π½Π½ΡΡ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΏΠ°ΠΌΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠ»Ρ Π²ΡΠ·Π²Π°Π½Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ Ρ ΠΏΠ°ΠΌΡΡΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ ΡΠΎΠΊΡΠ°ΡΠΈΠ»ΠΎΡΡ Ρ 76% Π² 2019 Π³ΠΎΠ΄Ρ Π΄ΠΎ 35% Π² 2022 Π³ΠΎΠ΄Ρ. Π Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΡ ΡΠΈΡΠ»Π°Ρ Π² 2019 Π³ΠΎΠ΄Ρ Π±ΡΠ»ΠΎ Π²ΡΡΠ²Π»Π΅Π½ΠΎ 223 ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΠ°Π±ΠΎΡΠΎΠΉ Ρ ΠΏΠ°ΠΌΡΡΡΡ, Π² 2020 — 150, Π² 2021 — 100, Π° Π² 2022 — 85 (Π²ΡΠ΅ ΠΎΡΠΌΠ΅ΡΠ΅Π½Π½ΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π² ΠΊΠΎΠ΄Π΅ Π½Π° C/C++, Π² ΠΊΠΎΠ΄Π΅ Π½Π° Rust ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ»ΠΎ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ). 2022 Π³ΠΎΠ΄ ΡΡΠ°Π» ΠΏΠ΅ΡΠ²ΡΠΌ Π³ΠΎΠ΄ΠΎΠΌ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΏΠ°ΠΌΡΡΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π»ΠΈ Π΄ΠΎΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΠ°Π±ΠΎΡΠΎΠΉ Ρ ΠΏΠ°ΠΌΡΡΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ²Π»ΡΡΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠΏΠ°ΡΠ½ΡΠΌΠΈ, Π² ΠΎΠ±ΡΠ΅ΠΉ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π° ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠΈΡΠΎΠ²Π°Π½Ρ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎ. ΠΡΠΈ ΡΡΠΎΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠ° Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΠ°Π±ΠΎΡΠΎΠΉ Ρ ΠΏΠ°ΠΌΡΡΡΡ, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 4 Π³ΠΎΠ΄Π° ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ — 20 ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ Π² ΠΌΠ΅ΡΡΡ. Π’Π°ΠΊΠΆΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ ΠΈ Π΄ΠΎΠ»Ρ ΠΎΠΏΠ°ΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΡΠ΅Π΄ΠΈ ΡΠ·ΡΠ²ΠΈΠΌΠΎΡΡΠ΅ΠΉ, Π²ΡΠ·Π²Π°Π½Π½ΡΡ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΏΠ°ΠΌΡΡΡΡ (Π½ΠΎ ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ½ΠΈΠΆΠ°Π΅ΡΡΡ ΡΠΈΡΠ»ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΡΠ½ΠΈΠΆΠ°Π΅ΡΡΡ ΠΈ ΡΠΈΡΠ»ΠΎ ΠΎΠΏΠ°ΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ).
Π ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ±ΡΡΠΌΠΎΠΌ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π³ΠΎ Ρ ΠΏΠ°ΠΌΡΡΡΡ, ΠΈ ΡΠΈΡΠ»ΠΎΠΌ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΏΠ°ΠΌΡΡΡΡ (ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡΡΠ΅ΡΠ°, ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠΆΠ΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄ΡΠ½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Ρ.ΠΏ.). ΠΠ°Π½Π½ΠΎΠ΅ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠΈ ΡΠ΅Ρ Π½ΠΈΠΊ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ΄Π°Π»ΡΡΡ Π½ΠΎΠ²ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ, Π° Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΠΌΠ°ΡΡΠ° Π²ΡΡΠ²Π»ΡΠ΅ΠΌΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π½Π° Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru