Baenjiniere ba Google ba akarelitse liphetho tsa pele tsa ts'ebetsong sethaleng Android tšehetso bakeng sa nts'etsopele puong ea Rust. Android 13 Hoo e ka bang 21% ea khoutu e sa tsoa hlophisoa e ekelitsoeng e ngotsoe ka Rust, 'me 79% ka C/C++. Sebakeng sa polokelo ea AOSP (Android Morero oa Mohloli o Bulehileng), o hlahisang khoutu ea mohloli oa sethala Android, ho na le mela e ka bang limilione tse 1.5 ea khoutu ho Rust e amanang le likarolo tse ncha tse kang polokelo ea senotlolo sa cryptographic ea Keystore2, stack bakeng sa li-chips tsa UWB (Ultra-Wideband), ts'ebetsong ea protocol ea DNS-over-HTTP3, moralo oa virtualization oa AVF (Android Virtualization Framework), mekgobo ya diteko bakeng sa Bluetooth le Wi-Fi.

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.
Mabapi le lipalo-palo mabapi le mofuta oa bofokoli sethaleng Android, ho hlokometsoe hore ha palo ea khoutu e ncha e sebetsanang le memori ka mokhoa o sa sireletsehang e fokotseha, palo ea bofokoli bo bakoang ke liphoso tsa memori le eona ea fokotseha. Mohlala, karolo ea bofokoli bo bakoang ke mathata a memori e fokotsehile ho tloha ho 76% ka 2019 ho ea ho 35% ka 2022. Ka lipalo tse felletseng, bofokoli bo 223 bo amanang le memori bo ile ba fumanoa ka 2019, 150 ka 2020, 100 ka 2021, le 85 ka 2022 (bofokoli bohle bo tlalehiloeng bo ne bo le khoutung ea C/C++; ha ho na mathata a tšoanang a fumanoeng khoutung ea Rust). 2022 e tšoaea selemo sa pele seo bofokoli bo amanang le memori bo ileng ba khaotsa ho ba matla ho sona.

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).

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.

Source: opennet.ru
