A MiraclePtr alkalmazásának hatékonysága a Chrome sebezhetőségeinek megelőzésében

A Google elemezte a C++ nyelvben a MiraclePtr (raw_ptr<T>) típus használatának hatékonyságát a hagyományos mutatók helyett, hogy védelmet nyújtson a már felszabadított memóriaterületekhez való hozzáférés okozta sebezhetőségekkel szemben (use-after-free). A MiraclePtr egy mutatóra épülő burkolatot biztosít, amely további ellenőrzéseket végez, és hiba esetén leállítja az alkalmazást, ha már felszabadított memóriaterületekhez próbálkozik hozzáférni. A MiraclePtr támogatása alapértelmezés szerint 2022 májusában került bevezetésre Windows és Android platformokon (a Chrome 102-ben), a ChromeOS, Linux és macOS platformokon pedig 2023 júniusában került bevezetésre. A MiraclePtr alapú védelem a Chrome-ban minden folyamatra érvényes, kivéve a renderelésért felelős folyamatot.

A sebezhetőségi jelentések és a nem várt leállások elküldésének dinamikájának elemzése, valamint a biztonsággal kapcsolatos incidensek és a fuzzing tesztelések eredményeinek vizsgálata után arra a következtetésre jutottak, hogy a MiraclePtr bevezetése 57%-kal csökkentette a use-after-free sebezhetőségek számát, köszönhetően a MiraclePtr alkalmazásának az osztályok mezőinek és callback paramétereinek terén. Ezen kívül megjegyezték, hogy a tavalyi év során a stabil Chrome ágon az összesen felfedezett 6 kritikus sebezhetőség közül 5-öt a MiraclePtr használatával kapcsolatos baleseti jelentések elemzése révén azonosítottak.

A MiraclePtr használatának ára a memóriafogyasztás növekedése, mivel a mutatók számára további 4 bájt referencia számláló tárolására van szükség. A böngésző fő folyamatának memóriahasználata MiraclePtr alkalmazásakor 5,5-8%-kal nő a desktop rendszerekben, míg az Android verzióban 2%-os növekedés figyelhető meg. Minden folyamat átlagos memóriafogyasztásának növekedését 1-3%-ra becslik. Ezen kívül a MiraclePtr használata során néhány regressziót is megfigyeltek, amelyek teljesítménycsökkenéshez vezettek, de nem kapcsolódnak a kulcsfontosságú mutatókhoz, mint a betöltési és renderelési idő. Az észlelt regressziók között említést nyer egy 1,5%-os késleltetés a Chrome OS első bemeneti válaszában, egy 1,5%-os lassulás a fülmegnyitáskor Android platformon, valamint a fő szál versenyhelyzete miatt 10%-kal megnövekedett beviteli késleltetés valószínűsége a 99. percentilisben.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster