Hoo e ka bang 21% ea khoutu e ncha e hlophisitsoeng ho Android 13 e ngotsoe ka Rust

Baenjiniere ba tsoang Google ba ile ba akaretsa liphetho tsa pele tsa ho hlahisa tšehetso bakeng sa nts'etsopele ea puo ea Rust sethaleng sa Android. Ho Android 13, hoo e ka bang 21% ea khoutu e ncha e kopantsoeng e ngotsoe ka Rust, le 79% ho C/C++. Sebaka sa polokelo ea AOSP (Android Open Source Project), se hlahisang khoutu ea mohloli oa sethala sa Android, se na le mela e ka bang limilione tse 1.5 ea Rust code e amanang le likarolo tse ncha tse kang Keystore2 cryptographic key store, stack for UWB chips (Ultra-Wideband) , ts'ebetsong ea protocol ea DNS-over-HTTP3, moralo oa virtualization oa AVF (Android Virtualization Framework), mekotla ea liteko bakeng sa Bluetooth le Wi-Fi.

Hoo e ka bang 21% ea khoutu e ncha e hlophisitsoeng ho Android 13 e ngotsoe ka Rust

Ho ea ka leano le amohetsoeng pele la ho fokotsa kotsi ea bofokoli bo bakoang ke liphoso tsa ho sebetsa ka mohopolo, puo ea Rust hajoale e sebelisoa haholo-holo ho nts'etsopele ea khoutu e ncha le ho matlafatsa butle-butle ts'ireletso ea likarolo tsa software tse tlokotsing le tsa bohlokoa. Ha ho na sepheo se akaretsang sa ho fetisetsa sethala kaofela ho Rust le khoutu ea khale e ntse e le C / C ++, 'me ntoa e khahlanong le liphoso ho eona e etsoa ka tšebeliso ea tlhahlobo ea fuzzing, tlhahlobo e tsitsitseng le tšebeliso ea tsoelo-pele ea mekhoa e tšoanang. ho sebelisa mofuta oa MiraclePtr (e tlamang lintlha tse tala, ho etsa licheke tse eketsehileng bakeng sa ho fihlella libaka tsa memori tse lokolotsoeng), sistimi ea kabo ea memori ea Scudo (e leng sebaka se bolokehileng bakeng sa malloc / mahala) le mekhoa ea ho lemoha liphoso ha o sebetsa ka memori ea HWAsan (Aterese e thusitsoeng ke HardwareSanitizer), GWP-ASAN le KFENCE.

Ha e le lipalo-palo mabapi le tlhaho ea bofokoli sethaleng sa Android, hoa hlokomeloa hore ha khoutu e ncha e sebetsang ka mokhoa o sa sireletsehang ka mohopolo e fokotseha, ho na le ho fokotseha ha palo ea bofokoli bo bakoang ke liphoso ha u sebetsa ka mohopolo. Mohlala, karolo ea bofokoli bo bakoang ke mathata a ho hopola e theohile ho tloha ho 76% ka 2019 ho isa ho 35% ka 2022. Ka lipalo tse felletseng, ho ile ha fumanoa likotsi tse amanang le mohopolo tse 2019 ka 223, 2020 ka 150, 2021 ka 100, le 2022 ka 85 (bofokoli bohle bo boletsoeng bo ne bo le khoutu ea C / C ++; ka khoutu ea Rust, ha ho na mathata a ts'oanang ho fihlela joale. fumanehile). 2022 e bile selemo sa pele moo bofokoli bo amanang le mohopolo bo ileng ba khaotsa ho busa.

Hoo e ka bang 21% ea khoutu e ncha e hlophisitsoeng ho Android 13 e ngotsoe ka Rust

Kaha liphoso tse amanang le mohopolo hangata ke tsona tse kotsi ka ho fetesisa, lipalo-palo ka kakaretso li boetse li bonts'a phokotseho ea litaba tse mahlonoko le litaba tse ka sebelisoang hampe. Ka nako e ts'oanang, matla a ho khetholla bofokoli bo sa amaneng le ho sebetsa ka mohopolo o ntse o le boemong bo batlang bo lekana bakeng sa lilemo tse 4 tse fetileng - bofokoli ba 20 ka khoeli. Karolo ea mathata a kotsi har'a bofokoli bo bakoang ke liphoso ha u sebetsa ka mohopolo le eona e ntse e le teng (empa kaha palo ea bofokoli bo joalo e fokotseha, palo ea mathata a kotsi le eona ea fokotseha).

Hoo e ka bang 21% ea khoutu e ncha e hlophisitsoeng ho Android 13 e ngotsoe ka Rust

Lipalo-palo li boetse li lekola kamano pakeng tsa palo ea khoutu e ncha e sebetsang ka mokhoa o sa sireletsehang ka mohopolo le palo ea bofokoli bo amanang le mohopolo (buffer overflows, phihlello ea mohopolo o seng o lokolotsoe, joalo-joalo). Tlhokomeliso ena e tiisa maikutlo a hore sepheo ha ho sebelisoa mekhoa e sireletsehileng ea mananeo e lokela ho ba ho tlosa khoutu e ncha ho e-na le ho ngola khoutu e teng hape, kaha bongata ba bofokoli bo khethiloeng bo teng khoutu e ncha.

Hoo e ka bang 21% ea khoutu e ncha e hlophisitsoeng ho Android 13 e ngotsoe ka Rust


Source: opennet.ru

Eketsa ka tlhaloso