Beveik ketvirtadalis „Android 13“ parašyta rūdžių kalba

Rūdžių android 13

„Android 13“ yra pirmoji „Android“ versija, kurioje didžioji dalis naujojo kodo, pridėto prie versijos, yra atmintyje saugia kalba.

Per tinklaraščio įrašą „Google“ inžinieriai paskelbė pirmųjų rezultatų santrauką įvado Rust plėtros palaikymas „Android“.

„Android 13“, apie 21% naujo kodo sudaryta Agregatas parašytas Rust ir 79% C/C++, nes tai yra AOSP (Android Open Source Project) saugykla, kuri kuria Android platformos šaltinio kodą, kuriame yra maždaug 1,5 milijono Rust kodo eilučių.

Kodas teikia AOSP tai susiję su naujais komponentais, tokiais kaip Keystore2 kriptografinė raktų saugykla, UWB (Ultra-Wideband) lustų krūva, DNS protokolo įgyvendinimas per HTTP3, AVF virtualizacijos sistema (Android Virtualization Framework), eksperimentiniai Bluetooth ir Wi-Fi dėklai.

Eilėje taikant pirmiau priimtą strategiją, siekiant sumažinti atminties klaidų pažeidžiamumo riziką, Iki šiol Rust daugiausia buvo naudojamas kuriant naują kodą ir palaipsniui stiprinant pažeidžiamiausių ir gyvybiškai svarbių programinės įrangos komponentų saugumą.

Sumažėjus naujų, nesaugių atminties kodų, patenkančių į Android, sumažėjo ir atminties saugos spragų skaičius. Nuo 2019 m. iki 2022 m. jis sumažėjo nuo 76% iki 35% visų „Android“ spragų. 2022 m. yra pirmieji metai, kai atminties saugos spragos nesudaro daugumos „Android“ spragų.

Bendras tikslas perkelti visą platformą į Rust nėra nustatytas, o senasis kodas išlieka C/C++, o kova su klaidomis jame vyksta naudojant neryškius testus, statinę analizę ir panašias technikas. MiraclePtr tipo naudojimas (surišimas per neapdorotas nuorodas, kuris atlieka papildomus patikrinimus, kad būtų pasiektos atlaisvintos atminties zonos), Scudo atminties paskirstymo sistema (saugus malloc/free pakaitalas) ir klaidų aptikimo mechanizmai dirbant su HWAsan (Hardware Assisted AddressSanitizer) atmintimi. , GWP-ASAN ir KFENCE.

Dėl statistikos apie pobūdį pažeidžiamumas Android platformoje pastebima, kad kaip sumažina naujo kodo, kuris veikia su atmintimi nesaugiais būdais, skaičių, tai taip pat sumažina pažeidžiamumų, atsirandančių dėl klaidų dirbant su atmintimi, skaičių.

Pavyzdžiui, pažeidžiamumų, atsiradusių dėl atminties problemų, dalis sumažėjo nuo 76 % 2019 m. iki 35 % 2022 m. Absoliučiais skaičiais 223 m. buvo nustatyti 2019 su atmintimi susiję pažeidžiamumai, 150 m. – 2020, 100 m. – 2021, o 85 m. – 2022 2022. nebuvo rasti). XNUMX m. buvo pirmieji metai, kai nustojo dominuoti su atmintimi susiję pažeidžiamumai.

Iki šiol „Android Rust“ kode nebuvo aptikta jokių atminties saugos spragų.

Nesitikime, kad šis skaičius amžinai išliks lygus nuliui, tačiau atsižvelgiant į naujojo „Rust“ kodo apimtį dviejose „Android“ versijose ir saugos požiūriu jautrius komponentus, kuriuose jis naudojamas, tai yra reikšmingas rezultatas. Tai rodo, kad „Rust“ atlieka numatytą tikslą – užkirsti kelią dažniausiai pasitaikančiam „Android“ spragų šaltiniui.

Nuo su atmintimi susiję pažeidžiamumai dažnai yra patys pavojingiausi, bendra statistika taip pat rodo, kad sumažėjo kritinių problemų ir problemų, kuriomis galima pasinaudoti nuotoliniu būdu, skaičius. Tuo pačiu metu pažeidžiamumų, nesusijusių su darbu su atmintimi, aptikimo dinamika pastaruosius 4 metus buvo maždaug tokio paties lygio – 20 pažeidžiamumų per mėnesį.

Pavojingų problemų ir pažeidžiamumų, atsiradusių dėl atminties klaidų, santykis taip pat yra toks pat (tačiau mažėjant pažeidžiamumų skaičiui mažėja ir pavojingų problemų).

Statistika taip pat stebi ryšį tarp naujo kodo, kuris nesaugiai veikia su atmintimi, ir su atmintimi susijusių pažeidžiamumų (buferio perpildymo, prieigos prie jau atlaisvintos atminties ir kt.) skaičiaus.

Šis pastebėjimas patvirtinti prielaidą kad pagrindinis dėmesys į saugaus programavimo metodų diegimas jis turėtų būti suteiktas naujam kodui, o ne perrašyti esamą, nes dauguma nustatytų spragų yra naujajame kode.

Fuente: https://security.googleblog.com/


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Už duomenis atsakingas: AB Internet Networks 2008 SL
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.