Asi 21 % nového zkompilovaného kódu v Androidu 13 je napsáno v Rustu

Inženýři z Google shrnuli první výsledky zavedení podpory vývoje v jazyce Rust do platformy Android. V Androidu 13 je přibližně 21 % nově přidaného zkompilovaného kódu napsáno v Rustu a 79 % v C/C++. Úložiště AOSP (Android Open Source Project), které vyvíjí zdrojový kód platformy Android, obsahuje přibližně 1.5 milionu řádků kódu Rust spojeného s takovými novými součástmi, jako je úložiště kryptografických klíčů Keystore2, zásobník pro čipy UWB (Ultra-Wideband) , implementace protokolu DNS-over-HTTP3, virtualizační framework AVF (Android Virtualization Framework), experimentální stacky pro Bluetooth a Wi-Fi.

Asi 21 % nového zkompilovaného kódu v Androidu 13 je napsáno v Rustu

V souladu s dříve přijatou strategií snižování rizika zranitelností způsobených chybami při práci s pamětí je jazyk Rust v současnosti využíván především při vývoji nového kódu a k postupnému posilování bezpečnosti nejzranitelnějších a životně důležitých softwarových komponent. Neexistuje žádný obecný cíl převedení celé platformy na Rust a starý kód zůstává v C/C++ a boj proti chybám v něm se provádí pomocí fuzzing testování, statické analýzy a použití při vývoji technik podobných pomocí typu MiraclePtr (vazba přes nezpracované ukazatele, provádění dodatečných kontrol pro přístup k uvolněným oblastem paměti), systém alokace paměti Scudo (bezpečná náhrada za malloc/free) a mechanismy detekce chyb při práci s pamětí HWAsan (Hardware-assisted AddressSanitizer), GWP-ASAN a KFENCE.

Pokud jde o statistiky o povaze zranitelností na platformě Android, je třeba poznamenat, že jak ubývá nového kódu, který s pamětí nepracuje bezpečně, klesá počet zranitelností způsobených chybami při práci s pamětí. Například podíl zranitelností způsobených problémy s pamětí se snížil ze 76 % v roce 2019 na 35 % v roce 2022. V absolutních číslech bylo v roce 2019 identifikováno 223 zranitelností souvisejících s pamětí, 2020 v roce 150, 2021 v roce 100 a 2022 v roce 85 (všechny uvedené zranitelnosti byly v kódu C/C++; v kódu Rust zatím žádné podobné problémy nebyly. nalezeno). Rok 2022 byl prvním rokem, kdy zranitelnosti související s pamětí přestaly dominovat.

Asi 21 % nového zkompilovaného kódu v Androidu 13 je napsáno v Rustu

Protože zranitelnosti související s pamětí jsou obvykle nejnebezpečnější, celkové statistiky také ukazují pokles počtu kritických problémů a problémů, které lze zneužít na dálku. Dynamika identifikace zranitelností nesouvisejících s prací s pamětí přitom zůstává poslední 4 roky na přibližně stejné úrovni – 20 zranitelností za měsíc. Zůstává také podíl nebezpečných problémů mezi zranitelnostmi způsobenými chybami při práci s pamětí (ale jelikož počet takových zranitelností klesá, klesá i počet nebezpečných problémů).

Asi 21 % nového zkompilovaného kódu v Androidu 13 je napsáno v Rustu

Statistiky také sledují korelaci mezi množstvím nového kódu, který nepracuje bezpečně s pamětí, a počtem zranitelností souvisejících s pamětí (přetečení vyrovnávací paměti, přístup k již uvolněné paměti atd.). Toto pozorování potvrzuje předpoklad, že zaměření při implementaci technik bezpečného programování by mělo být spíše na odstraňování nového kódu než na přepisování existujícího kódu, protože většina identifikovaných zranitelností je v novém kódu.

Asi 21 % nového zkompilovaného kódu v Androidu 13 je napsáno v Rustu


Zdroj: opennet.ru

Přidat komentář