Rust ΠΎΠΏΠ΅Ρ€Π΅Π΄ΠΈΠ» C/C++ ΠΏΠΎ ΠΎΠ±ΡŠΡ‘ΠΌΡƒ ΠΊΠΎΠ΄Π°, добавляСмого Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Android

Компания Google ΠΏΠΎΠ΄Π²Π΅Π»Π° ΠΈΡ‚ΠΎΠ³ΠΈ использования ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π½Π° языкС Rust Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Android. БтратСгия ΠΏΠΎ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΡŽ Π² Android ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² бСзопасной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° оказалась ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ. Π’ 2025 Π³ΠΎΠ΄Ρƒ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ доля уязвимостСй, Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹Ρ… ошибками ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, оказалось мСньшС 20% ΠΎΡ‚ ΠΎΠ±Ρ‰Π΅Π³ΠΎ числа уязвимостСй. Для сравнСния Π² 2024 Π³ΠΎΠ΄Ρƒ этот ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π² Android составлял 24%, Π° Π² 2019 Π³ΠΎΠ΄Ρƒ β€” 76%. ΠŸΡ€ΠΈ этом срСдний ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎ индустрии ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ 70%.

 Rust ΠΎΠΏΠ΅Ρ€Π΅Π΄ΠΈΠ» C/C++ ΠΏΠΎ ΠΎΠ±ΡŠΡ‘ΠΌΡƒ ΠΊΠΎΠ΄Π°, добавляСмого Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Android

ИспользованиС ΠΊΠΎΠ΄Π° Π½Π° Rust ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ систСмных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Android Π½Π°Ρ‡Π°Π»ΠΎΡΡŒ Π² 2020 Π³ΠΎΠ΄Ρƒ. Π’ 2025 Π³ΠΎΠ΄Ρƒ ΠΎΠ±ΡŠΡ‘ΠΌ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° Rust Π² Android прСвысил ΠΎΠ±ΡŠΡ‘ΠΌ добавляСмого Π·Π° Π³ΠΎΠ΄ ΠΊΠΎΠ΄Π° Π½Π° C ΠΈ C++.

 Rust ΠΎΠΏΠ΅Ρ€Π΅Π΄ΠΈΠ» C/C++ ΠΏΠΎ ΠΎΠ±ΡŠΡ‘ΠΌΡƒ ΠΊΠΎΠ΄Π°, добавляСмого Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Android

НакоплСнная статистика ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ Ρ€Π°Π½Π΅Π΅ высказанноС ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ основным источником ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ являСтся Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄, Π° для старого ΠΊΠΎΠ΄Π° Π½Π°Π±Π»ΡŽΠ΄Π°Π΅Ρ‚ΡΡ ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ бСзопасности ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ β€” со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π² старом ΠΊΠΎΠ΄Π΅ ошибки Π²Ρ‹ΡΠ²Π»ΡΡŽΡ‚ΡΡ всё Ρ€Π΅ΠΆΠ΅ ΠΈ Ρ€Π΅ΠΆΠ΅. Π’ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счётС Π² Google Ρ€Π΅ΡˆΠΈΠ»ΠΈ Π½Π΅ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ старый ΠΊΠΎΠ΄ Π½Π° языках бСзопасно Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, Π° ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° использовании ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… языков для Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

Помимо бСзопасности Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ Rust ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ повлияло Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΈ качСство Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Для ΠΊΠΎΠ΄Π° Π½Π° Rust зафиксировано Π² 4 Ρ€Π°Π·Π° мСньшС ΠΎΡ‚ΠΊΠ°Ρ‚ΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выявлСния Π½Π΅ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Π½Π½Ρ‹Ρ… ошибок, Π° Ρ‚Π°ΠΊΠΆΠ΅ сниТСниС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ рСцСнзирования Π½Π° 25%.

 Rust ΠΎΠΏΠ΅Ρ€Π΅Π΄ΠΈΠ» C/C++ ΠΏΠΎ ΠΎΠ±ΡŠΡ‘ΠΌΡƒ ΠΊΠΎΠ΄Π°, добавляСмого Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Android
 Rust ΠΎΠΏΠ΅Ρ€Π΅Π΄ΠΈΠ» C/C++ ΠΏΠΎ ΠΎΠ±ΡŠΡ‘ΠΌΡƒ ΠΊΠΎΠ΄Π°, добавляСмого Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Android

ΠŸΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π² состав Android ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ сопоставимого Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, измСнСния Π½Π° Rust Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π½Π° 20% мСньшС Ρ€Π΅Π²ΠΈΠ·ΠΈΠΉ, Ρ‡Π΅ΠΌ ΠΈΡ… эквивалСнты Π½Π° C++.

 Rust ΠΎΠΏΠ΅Ρ€Π΅Π΄ΠΈΠ» C/C++ ΠΏΠΎ ΠΎΠ±ΡŠΡ‘ΠΌΡƒ ΠΊΠΎΠ΄Π°, добавляСмого Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Android

Π”Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‚ΡΡ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ΠΌ тСстирования ΠΈ смСщСниСм выявлСния ошибок Π½Π° Ρ€Π°Π½Π½ΠΈΠ΅ стадии Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ошибки становятся Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹ Π΅Ρ‰Ρ‘ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ приступаСт ΠΊ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ ΠΊΠΎΠ΄Π°. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π·Π° счёт ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Ρ… расходов Π½Π° sandbox-ΠΈΠ·ΠΎΠ»ΡΡ†ΠΈΡŽ Π² ΠΊΠΎΠ΄Π΅ Π½Π° Rust ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Из Π½Π΅Π΄Π°Π²Π½ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², связанных с использованиСм Rust Π² Android, ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½ΠΎ задСйствованиС Π² ядрС Linux 6.12 ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΡˆΠΈΡ€ΠΎΠΊΠΎ примСняСмого Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π½Π° языкС Rust, Π° Ρ‚Π°ΠΊΠΆΠ΅ использованиС Rust ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΎΠΊ ΠΈ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Помимо ΡƒΠΆΠ΅ примСняСмого Π² ядрС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π½Π° Rust, совмСстно с компаниями ARM ΠΈ Collabora Π½Π° Π΄Π°Π½Π½ΠΎΠΌ языкС развиваСтся Π½ΠΎΠ²Ρ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ GPU. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½Π° языкС Rust ΠΈ задСйствован Π² Google Play Services ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Nearby Presence для обнаруТСния Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… устройств ΠΏΠΎ Bluetooth. Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π»ΠΈΠ· прилоТСния Google Messages Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° MLS, написанной Π½Π° Rust. Π’ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½ΠΎΠΌ Π΄Π²ΠΈΠΆΠΊΠ΅ Chromium задСйствованы написанныС Π½Π° Rust парсСры для web-ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ², ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ PNG ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° JSON.

Π’ настоящСС врСмя Π² Android Π½Π° Rust написано ΠΎΠΊΠΎΠ»ΠΎ 5 ΠΌΠ»Π½ строк ΠΊΠΎΠ΄Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… выявлСна лишь ΠΎΠ΄Π½Π° ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ, вызванная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… уязвимостСй Π² ΠΊΠΎΠ΄Π΅ Π½Π° Rust составила 0.2 уязвимости Π½Π° ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ строк ΠΊΠΎΠ΄Π°. Для сравнСния Π² ΠΊΠΎΠ΄Π΅ Π½Π° языках C ΠΈ C++ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ составляСт ΠΎΠΊΠΎΠ»ΠΎ 1000 уязвимостСй Π½Π° ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ строк ΠΊΠΎΠ΄Π°. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ источником ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² Rust являСтся ΠΊΠΎΠ΄, находящийся Π² unsafe-Π±Π»ΠΎΠΊΠ°Ρ…. Доля ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° оцСниваСтся Π² 4% ΠΎΡ‚ всСго ΠΊΠΎΠ΄Π°, написанного Π½Π° Rust.

ΠžΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π½Π°Ρ Π²Ρ‹ΡˆΠ΅ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ CVE-2025-48530 Π½Π°ΠΉΠ΄Π΅Π½Π° Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Crabby Avif, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅ΠΉ парсСр ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ для Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Avif. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π±Ρ‹Π»Π° выявлСна сотрудниками Google Π΄ΠΎ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ€Π΅Π»ΠΈΠ·Π° ΠΈ Π½Π΅ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΠ»Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° ошибкой Π² unsafe-Π±Π»ΠΎΠΊΠ΅, ΠΏΡ€ΠΈΠ²Π΅Π΄ΡˆΠ΅ΠΉ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ Π±ΡƒΡ„Π΅Ρ€Π°. ΠžΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ Ссли Π±Ρ‹ ошибка Π½Π΅ Π±Ρ‹Π»Π° Π·Π°ΠΌΠ΅Ρ‡Π΅Π½Π° Π΅Ρ‘ эксплуатация Π±Ρ‹Π»Π° Π±Ρ‹ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π° поставляСмой Π² Android систСмой распрСдСлСния памяти Scudo, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ задСйствованной Π² ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ°Ρ… для Google Pixel ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… устройств.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ