Proiectul Chromium va sprijini utilizarea bibliotecilor Rust

Crom

, proiectul Chromium va sprijini utilizarea bibliotecilor Rust C++ terțe în Chromium

Google a dezvăluit știri recent că echipa din spatele proiectului Chromium lucrează la adăugarea unui lanț de instrumente Rust de la producție la sistemul dvs. de construcție.

Pentru cei care încă nu cunosc Rust, ar trebui să-l amintească bine, deoarece acest limbaj de programare, care a fost dezvoltat de Mozilla special pentru a fi folosit în scrierea unui browser, a început să se introducă și să fie acceptat în multe proiecte importante, unul dintre ele fiind Rust Kernel. Linux.

Acest lucru ne va permite să includem codul Rust în binarul Chrome în anul următor. Scopul este de a începe cu mici și de a stabili așteptări clare pentru care bibliotecile vor fi luate în considerare atunci când vor fi pregătite.

Deci, este de la sine înțeles că Chromium începe în sfârșit să lanseze și această tehnologie. Pentru Google, introducerea Rust în Chromium va îndeplini obiectivul de a oferi o modalitate mai ușoară și mai sigură de a respecta regula de doi, care este de a accelera dezvoltarea și de a îmbunătăți securitatea Chrome, pe lângă îmbunătățirea securității, eliminarea erorilor de memorie. și reducerea densității erorilor din cod.

Știm că C++ și Rust pot funcționa foarte bine împreună, datorită instrumentelor precum cxx, autocxx bindgen, cbindgen, diplomat și crubit (experimental). Cu toate acestea, există și limitări. Ne putem aștepta ca forma acestor limitări să se schimbe în timp cu instrumente noi sau îmbunătățite, dar deciziile și descrierile de aici se bazează pe starea actuală a tehnologiei.

Decizie a fost luată ca parte a unei inițiative pentru a preveni apariția erorilor de memorie în baza de cod Chrome. Conform statisticilor furnizate în urmă cu doi ani, 70% dintre problemele de securitate critice și periculoase din Chromium se datorează erorilor de memorie.

Utilizarea limbajului Rust, care se concentrează pe gestionarea în siguranță a memoriei și oferă management automat al memoriei, va reduce riscul vulnerabilităților cauzate de probleme precum accesarea unei zone de memorie după ce aceasta a fost eliberată și depășirea tamponului.

Scopul aducerii Rust la Chromium este de a oferi o modalitate mai ușoară (fără IPC) și mai sigură (C++ mai puțin complex în general, fără erori de siguranță ale memoriei în sandbox) de a satisface regula de doi, pentru a accelera dezvoltarea (mai puțin cod de scris). , mai puține documente de proiectare, mai puține corecții de securitate) și pentru a îmbunătăți securitatea (mai multe linii de cod fără erori de securitate în memorie, densitate mai mică a erorilor de cod) din Chrome. În plus, compania are încredere că putem folosi biblioteci Rust terțe pentru a atinge acest obiectiv.

La începutul lui 2022, echipa Chromium a experimentat deja Rust și, după câteva luni, a ajuns la concluzie că limbajul este inițial nepotrivit ca înlocuitor C++ pentru sarcini complexe cu cod asincron care trebuie să funcționeze alături de codul existent.

În consecință, utilizarea planificată a Rust în Chromium este clar limitată la început. În primul rând, interoperabilitatea va merge într-un singur sens: de la C++ la Rust. Pe de altă parte, inițial este permisă doar utilizarea bibliotecilor terțe. Acestea funcționează ca componente independente și sunt independente de componentele interne ale Chromium. Bibliotecile ar trebui să aibă un API simplu pentru sarcina dumneavoastră specifică. Echipa Chromium va examina apoi bibliotecile.

În sfârșit, merită menționat că, ca atare adăugarea de suport în Chromium va permite codului Rust să fie portat în fișierele binare Chrome începând cu anul viitor. Decizia se uită în principal la problema securității: Rust oferă o securitate mai mare atunci când scrieți în memorie decât C++ și interzice comportamente potențial dăunătoare, cum ar fi citirea variabilelor nescrise, accesarea dincolo de limitele stabilite de matrice, dereferențiarea pointerilor nule sau invalide, utilizarea iteratoarelor suprascrise. .

Daca esti interesat sa afli mai multe despre el, poti consulta detaliile În următorul link.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.