Gairebé una quarta part d'Android 13 està escrit a Rust

Rust android 13

Android 13 és la primera versió d'Android en què la majoria del codi nou agregat a la versió està en un llenguatge segur per a la memòria.

Mitjançant una publicació de bloc, els enginyers de Google van donar a conèixer el resum dels primers resultats de la introducció del suport de desenvolupament de Rust a Android.

Un Android 13, aproximadament el 21% del nou codi compilat agregat està escrit a Rust i el 79% a C/C++, sent el repositori d'AOSP (Android Open Source Project), que desenvolupa el codi font de la plataforma Android, que té aproximadament 1,5 milions de línies de codi Rust.

el codi proporcionat per AOSP està relacionat amb nous components com el magatzem de claus criptogràfiques Keystore2, la pila per a xips UWB (Ultra-Wideband), implementació del protocol DNS sobre HTTP3, marc de virtualització AVF (Android Virtualization Framework), piles experimentals per a Bluetooth i Wi-Fi.

en línia amb l'estratègia adoptada anteriorment per reduir el risc de vulnerabilitats d'errors de memòria, fins ara Rust s'ha utilitzat principalment per al desenvolupament de codi nou i per reforçar gradualment la seguretat dels components de programari més vulnerables i vitals.

A mesura que ha disminuït la quantitat de nous codis no segurs per a la memòria que ingressen a Android, també ha disminuït la quantitat de vulnerabilitats de seguretat de la memòria. Del 2019 al 2022, es va reduir del 76% al 35% de les vulnerabilitats totals d'Android. 2022 és el primer any en què les vulnerabilitats de seguretat de la memòria no representen la majoria de les vulnerabilitats d'Android.

L'objectiu general de transferir tota la plataforma a Rust no està establert, i el codi antic roman en C/C++, i la lluita contra els errors s'hi realitza mitjançant l'ús de proves de fuzzing, anàlisi estàtica i ús de tècniques similars a l'ús del tipus MiraclePtr (enllaç sobre punters sense format, que realitza comprovacions addicionals per accedir a àrees de memòria alliberades), el sistema d'assignació de memòria Scudo (un reemplaçament segur per a malloc/free) i mecanismes de detecció d'errors quan es treballa amb memòria HWAsan(AddressSanitizer assistit per maquinari), GWP-ASAN i KFENCE.

Pel que fa a les estadístiques sobre la naturalesa de les vulnerabilitats a la plataforma Android, s'observa que a mesura que disminueix la quantitat de codi nou que funciona amb la memòria de manera insegura, també disminueix la quantitat de vulnerabilitats causades per errors en treballar amb la memòria.

Per exemple, la proporció de vulnerabilitats causades per problemes de memòria va disminuir del 76% el 2019 al 35% el 2022. En nombres absoluts, es van identificar 223 vulnerabilitats relacionades amb la memòria el 2019, 150 el 2020, 100 el 2021 i 85 no es van trobar). 2022 va ser el primer any en què les vulnerabilitats relacionades amb la memòria van deixar de dominar.

Fins ara, no s'han descobert vulnerabilitats de seguretat de memòria al codi Rust d'Android.

No esperem que aquest número romangui en zero per sempre, però atès el volum del nou codi Rust en dues versions d'Android i els components sensibles a la seguretat on es fa servir, és un resultat significatiu. Demostra que Rust està complint el propòsit previst de prevenir la font més comuna de vulnerabilitats d'Android.

atès que les vulnerabilitats relacionades amb la memòria solen ser les més perilloses, les estadístiques generals també mostren una disminució en la quantitat de problemes crítics i problemes que es poden explotar de forma remota. Alhora, la dinàmica de detecció de vulnerabilitats no relacionades amb el treball amb memòria s'ha mantingut aproximadament al mateix nivell durant els darrers 4 anys: 20 vulnerabilitats per mes.

La proporció de problemes perillosos entre les vulnerabilitats causades per errors de memòria també es manté (però a mesura que disminueix la quantitat de vulnerabilitats, també disminueix la quantitat de problemes perillosos).

Les estadístiques també rastregen la correlació entre la quantitat de codi nou que funciona amb la memòria de manera insegura i la quantitat de vulnerabilitats relacionades amb la memòria (desbordaments de memòria intermèdia, accés a memòria ja alliberada, etc.).

Aquesta observació confirma la suposició de que l'atenció principal a la implementació de tècniques de programació segura s'ha de donar al codi nou i no a reescriure l'existent, ja que la major part de les vulnerabilitats identificades són al codi nou.

font: https://security.googleblog.com/


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.