Az Android 13 majdnem negyede Rust nyelven íródott

Rust android 13

Az Android 13 az Android első olyan verziója, ahol a verzióhoz hozzáadott új kód nagy része memóriabiztos nyelven van.

Egy blogbejegyzésen keresztül a Google mérnökei közzétette az első eredmények összefoglalóját a bevezetésről Rust fejlesztési támogatás Androidon.

Android 13, az új kód mintegy 21%-a lefordítva Az aggregátum Rust, 79%-a C/C++ nyelven íródott, ez az AOSP (Android Open Source Project) tároló, amely az Android platform forráskódját fejleszti, amely körülbelül 1,5 millió sornyi Rust kódot tartalmaz.

A kód az AOSP biztosítja olyan új komponensekhez kapcsolódik, mint a Keystore2 kriptográfiai kulcstároló, az UWB (Ultra-Wideband) chipek veremje, a DNS-protokoll HTTP3-on keresztüli megvalósítása, az AVF virtualizációs keretrendszer (Android Virtualization Framework), a Bluetooth és a Wi-Fi kísérleti stackjei.

Sorban a memóriahiba-sebezhetőségek kockázatának csökkentése érdekében a fent elfogadott stratégiával, Eddig a Rustot főként új kódok fejlesztésére és a legsebezhetőbb és leglényegesebb szoftverkomponensek biztonságának fokozatos megerősítésére használták.

Ahogy csökkent az Androidba belépő új, memória nem biztonságos kódok száma, a memóriabiztonsági sebezhetőségek száma is csökkent. 2019 és 2022 között az összes Android sebezhetőség 76%-ról 35%-ra esett vissza. 2022 az első év, amikor a memória biztonsági rései nem magyarázzák az Android sebezhetőségeinek többségét.

Az általános cél, hogy a teljes platform Rust-ra kerüljön, a régi kód megmarad C/C++-ban, a benne lévő hibák elleni küzdelem pedig fuzzing tesztekkel, statikus elemzéssel és hasonló technikák alkalmazásával történik. a MiraclePtr típus (a nyers mutatók feletti kötés, amely további ellenőrzéseket végez a felszabadult memóriaterületek eléréséhez), a Scudo memóriakiosztási rendszer (a malloc/free biztonságos helyettesítője) és a hibaészlelési mechanizmusok használata a HWAsan (Hardware Assisted AddressSanitizer) memóriával végzett munka során , GWP-ASAN és KFENCE.

A természetre vonatkozó statisztikákkal kapcsolatban a sérülékenységeket Android platformon megfigyelhető, hogy as csökkenti az új kódok mennyiségét, amelyek nem biztonságos módon működnek együtt a memóriával, csökkenti a memóriával végzett munka során fellépő hibák által okozott sebezhetőségek számát is.

Például a memóriaproblémák okozta sérülékenységek aránya a 76-es 2019%-ról 35-re 2022%-ra csökkent. Abszolút számokban 223-ben 2019, 150-ban 2020, 100-ben 2021, 85-ban pedig 2022 memóriával kapcsolatos biztonsági rést azonosítottak. nem találhatók). 2022 volt az első év, amikor a memóriával kapcsolatos sebezhetőségek megszűntek dominálni.

A mai napig nem fedeztek fel memória biztonsági rést az Android Rust kódban.

Nem számítunk arra, hogy ez a szám örökké nullán marad, de figyelembe véve az új Rust kód mennyiségét az Android két verziójában és a biztonsági szempontból érzékeny összetevőket, ahol használják, ez jelentős eredmény. Ez azt mutatja, hogy a Rust teljesíti a célját, hogy megakadályozza az Android sebezhetőségeinek leggyakoribb forrását.

feltéve, hogy a memóriával kapcsolatos sebezhetőségek gyakran a legveszélyesebbek, az általános statisztikák a kritikus és távolról is kihasználható problémák számának csökkenését is mutatják. Ugyanakkor a memóriával nem kapcsolatos sebezhetőségek észlelésének dinamikája az elmúlt 4 évben megközelítőleg azonos szinten volt - havonta 20 sebezhetőség.

A veszélyes problémák és a memóriahibák okozta sebezhetőségek aránya is azonos (de a sérülékenységek számának csökkenésével a veszélyes problémák száma is csökken).

A statisztika azt is nyomon követi, hogy a memóriával nem biztonságos módon dolgozó új kód mennyisége és a memóriával kapcsolatos sebezhetőségek száma (puffertúlcsordulás, a már felszabadult memóriához való hozzáférés stb.) milyen korrelációt mutat.

Ez a megfigyelés erősítse meg a feltételezést hogy a fő figyelem a biztonságos programozási technikák megvalósítása az új kódhoz kell adni és nem a meglévőt átírni, mivel a legtöbb azonosított sebezhetőség az új kódban található.

forrás: https://security.googleblog.com/


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: AB Internet Networks 2008 SL
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.