Около 21% Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² Android 13 написано Π½Π° языкС Rust

Π˜Π½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ 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.

Около 21% Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² Android 13 написано Π½Π° языкС Rust

Π’ соотвСтствии с Ρ€Π°Π½Π΅Π΅ принятой стратСгиСй сниТСния риска появлСния уязвимостСй, Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹Ρ… ошибками ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, язык 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 Π³ΠΎΠ΄ стал ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π³ΠΎΠ΄ΠΎΠΌ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ связанныС с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ уязвимости пСрСстали Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Около 21% Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² Android 13 написано Π½Π° языкС Rust

Π’Π°ΠΊ ΠΊΠ°ΠΊ связанныС с Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ уязвимости ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ опасными, Π² ΠΎΠ±Ρ‰Π΅ΠΉ статистикС Ρ‚Π°ΠΊΠΆΠ΅ отмСчаСтся сниТСниС числа критичСских ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ эксплуатированы ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎ. ΠŸΡ€ΠΈ этом Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠ° выявлСния уязвимостСй Π½Π΅ связанных с Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, послСдниС 4 Π³ΠΎΠ΄Π° сохраняСтся ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ — 20 уязвимостСй Π² мСсяц. Π’Π°ΠΊΠΆΠ΅ сохраняСтся ΠΈ доля опасных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ срСди узявимостСй, Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹Ρ… ошибками ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ (Π½ΠΎ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ сниТаСтся число ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… уязвимостСй, сниТаСтся ΠΈ число опасных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ).

Около 21% Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² Android 13 написано Π½Π° языкС Rust

Π’ статистикС Ρ‚Π°ΠΊΠΆΠ΅ отслСТиваСтся коррСляция ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΡ‘ΠΌΠΎΠΌ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, нСбСзопасно Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, ΠΈ числом уязвимостСй, связанных с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ (ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡƒΡ„Π΅Ρ€Π°, ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΡƒΠΆΠ΅ освобоТдённой памяти ΠΈ Ρ‚.ΠΏ.). Π”Π°Π½Π½ΠΎΠ΅ наблюдСниС ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ основноС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊ бСзопасного программирования слСдуСт ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Π½ΠΎΠ²ΠΎΠΌΡƒ ΠΊΠΎΠ΄Ρƒ, Π° Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Π½ΠΈΡŽ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ основная масса выявляСмых уязвимостСй приходится Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄.

Около 21% Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² Android 13 написано Π½Π° языкС Rust


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