Gotovo četvrtina Androida 13 napisana je u Rustu

Rust android 13

Android 13 je prva verzija Androida gdje je većina novog koda dodanog u verziju na jeziku koji je siguran za memoriju.

Kroz post na blogu, Googleovi inženjeri objavio je sažetak prvih rezultata uvoda Podrška za razvoj Rusta na Androidu.

Android 13, kompajlirano oko 21% novog koda Agregat je napisan u Rustu i 79% u C/C++, što je AOSP (Android Open Source Project) repozitorij, koji razvija izvorni kod za Android platformu, koja ima približno 1,5 milijuna redaka Rust koda.

Kod pruža AOSP odnosi se na nove komponente kao što su Keystore2 kriptografsko spremište ključeva, stog za UWB (Ultra-Wideband) čipove, implementacija DNS protokola preko HTTP3, AVF virtualizacijski okvir (Android Virtualization Framework), eksperimentalni nizovi za Bluetooth i Wi-Fi.

U redu s gore usvojenom strategijom za smanjenje rizika od ranjivosti memorijskih pogrešaka, Do sada se Rust uglavnom koristio za razvoj novog koda i za postupno jačanje sigurnosti najranjivijih i vitalnih komponenti softvera.

Kako se smanjio broj novih memorijsko nesigurnih kodova koji ulaze u Android, smanjio se i broj sigurnosnih propusta u memoriji. Od 2019. do 2022. pao je sa 76% na 35% ukupnih ranjivosti Androida. 2022. označava prvu godinu u kojoj sigurnosne ranjivosti memorije ne predstavljaju većinu ranjivosti Androida.

Generalni cilj prebacivanja cijele platforme na Rust nije postavljen, te stari kod ostaje u C/C++, a borba protiv bugova u njemu se vrši pomoću fuzzing testova, statičke analize i korištenja sličnih tehnika. korištenje tipa MiraclePtr (vezivanje preko sirovih pokazivača, koji obavlja dodatne provjere za pristup oslobođenim memorijskim područjima), Scudo sustav dodjele memorije (sigurna zamjena za malloc/free) i mehanizama za otkrivanje grešaka pri radu s HWAsan (Hardware Assisted AddressSanitizer) memorijom , GWP-ASAN i KFENCE.

Što se tiče statistike o prirodi ranjivosti na Android platformi, uočeno je da as smanjuje količinu novog koda koji radi s memorijom na nesigurne načine, također smanjuje broj ranjivosti uzrokovanih pogreškama pri radu s memorijom.

Na primjer, udio ranjivosti uzrokovanih problemima s memorijom smanjio se sa 76% u 2019. na 35% u 2022. U apsolutnim brojevima, 223 ranjivosti povezane s memorijom identificirane su 2019., 150 2020., 100 2021. i 85 2022. godine. nisu pronađeni). 2022. bila je prva godina u kojoj su ranjivosti povezane s memorijom prestale dominirati.

Do danas nisu otkrivene sigurnosne ranjivosti memorije u Android Rust kodu.

Ne očekujemo da će taj broj zauvijek ostati na nuli, ali s obzirom na količinu novog Rust koda u dvije verzije Androida i sigurnosno osjetljive komponente gdje se koristi, to je značajan rezultat. To pokazuje da Rust služi predviđenoj svrsi sprječavanja najčešćeg izvora ranjivosti Androida.

S obzirom da ranjivosti povezane s pamćenjem često su najopasnije, ukupna statistika također pokazuje smanjenje broja kritičnih problema i problema koji se mogu iskoristiti na daljinu. Istodobno, dinamika otkrivanja ranjivosti koje nisu povezane s radom s memorijom bila je na približno istoj razini zadnje 4 godine - 20 ranjivosti mjesečno.

Omjer opasnih problema i ranjivosti uzrokovanih greškama u memoriji također je isti (ali kako se smanjuje broj ranjivosti, smanjuje se i broj opasnih problema).

Statistika također prati korelaciju između količine novog koda koji radi s memorijom na nesiguran način i broja ranjivosti povezanih s memorijom (preljevi međuspremnika, pristup već oslobođenoj memoriji itd.).

Ovo zapažanje potvrditi pretpostavku o da je glavna pozornost u implementacija tehnika sigurnog programiranja treba ga dati novom kodu, a ne prepisivati ​​postojeći, budući da se većina identificiranih ranjivosti nalazi u novom kodu.

izvor: https://security.googleblog.com/


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.