, proyek Chromium bakal ndhukung panggunaan perpustakaan C++ Rust pihak katelu ing Chromium
Google mbukak warta bubar sing tim konco project Chromium digunakake kanggo nambah toolchain Rust saka produksi menyang sistem mbangun sampeyan.
Kanggo sing isih ora ngerti babagan Rust, mesthine kudu eling amarga basa pamrograman iki, sing dikembangake dening Mozilla khusus kanggo nulis browser, wis wiwit mlebu lan ditampa ing pirang-pirang proyek penting, salah sijine yaiku Kernel Rust. Linux.
Iki bakal ngidini kita nyakup kode Rust ing binar Chrome sajrone taun ngarep. Tujuane kanggo miwiti cilik lan nyetel pangarepan sing jelas kanggo perpustakaan sing bakal dianggep nalika wis siyap.
Dadi ana alesan manawa Chromium pungkasane wiwit ngluncurake teknologi kasebut uga. Kanggo Google, introduksi Rust ing Chromium bakal ngrampungake tujuan nyedhiyakake cara sing luwih gampang lan luwih aman kanggo netepi aturan loro, yaiku nyepetake pangembangan lan nambah keamanan Chrome, saliyane nambah keamanan, mbusak kesalahan memori. lan nyuda Kapadhetan kasalahan ing kode.
Kita ngerti manawa C ++ lan Rust bisa digunakake kanthi apik, amarga alat kaya cxx, autocxx bindgen, cbindgen, diplomat, lan crubit (eksperimen). Nanging, ana uga watesan. Kita bisa nyana wangun saka watesan iki kanggo ngganti liwat wektu karo alat anyar utawa apik, nanging pancasan lan katrangan kene adhedhasar negara saiki teknologi.
Keputusan dijupuk minangka bagéan saka inisiatif kanggo nyegah kasalahan memori katon ing basis kode Chrome. Miturut statistik sing diwenehake rong taun kepungkur, 70% masalah keamanan kritis lan mbebayani ing Chromium amarga kesalahan memori.
Panggunaan basa Rust, kang fokus ing Manajemen memori aman lan nyedhiyakake manajemen memori otomatis, bakal nyuda risiko kerentanan sing disebabake dening masalah kayata ngakses area memori sawise dibebasake lan kebanjiran buffer.
Tujuane nggawa Rust menyang Chromium yaiku nyedhiyakake cara sing luwih gampang (ora ana IPC) lan luwih aman (kurang kompleks C ++ umume, ora ana kewan omo keamanan memori sandboxed) kanggo nyukupi aturan loro, supaya bisa nyepetake pembangunan (kurang kode kanggo nulis. , dokumen desain luwih sithik, patch keamanan luwih sithik) lan nambah keamanan (garis kode luwih akeh tanpa bug keamanan ing memori, kapadhetan bug kode luwih murah) Chrome. Kajaba iku, perusahaan yakin manawa kita bisa nggunakake perpustakaan Rust pihak katelu kanggo nggayuh tujuan kasebut.
Ing awal 2022, tim Chromium wis nyoba karo Rust lan, sawise sawetara sasi, teka menyang kesimpulan yen basa kasebut wiwitane ora cocog minangka panggantos C ++ kanggo tugas rumit kanthi kode asinkron sing kudu digarap bebarengan karo kode sing wis ana.
Mulane, ngrancang nggunakake Rust ing Chromium cetha winates ing kawitan. Siji-sijine, interop mung bakal dadi siji: saka C ++ nganti Rust. Ing sisih liya, wiwitane mung nggunakake perpustakaan pihak katelu sing diidini. Iki bisa digunakake minangka komponen mandiri lan ora gumantung karo komponen internal Chromium. Pustaka kudu duwe API sing prasaja kanggo tugas tartamtu sampeyan. Tim Chromium banjur bakal mriksa perpustakaan.
Akhire, iku worth sebutno sing kaya mengkono nambah dhukungan ing Chromium bakal ngidini kode Rust port menyang binari Chrome wiwit taun ngarep. Kaputusan utamane katon ing masalah keamanan: Rust nawakake keamanan sing luwih gedhe nalika nulis ing memori tinimbang C ++ lan nglarang prilaku sing bisa mbebayani kayata maca variabel sing ora ditulis, ngakses ngluwihi watesan sing disetel dening array, dereferencing null utawa pitunjuk sing ora bener, panggunaan iterator sing ditindhes. .
Yen kasengsem ing ngerti liyane babagan, sampeyan bisa takon rincian Ing link ing ngisor iki.
Dadi pisanan komentar