ΠΠ½ΠΆΠ΅Π½Π΅ΡΠΈΡΠ΅ ΠΎΡ Google ΠΎΠ±ΠΎΠ±ΡΠΈΡ Π° ΠΏΡΡΠ²ΠΈΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ ΠΎΡ Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΅Π·ΠΈΠΊΠ° Rust Π² ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Android. Π 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 (ΠΎΠ±Π²ΡΡΠ·Π²Π°Π½Π΅ Π²ΡΡΡ Ρ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄Π΅Π½ΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°), ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° 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