Projekt Chromium podpoří používání knihoven Rust

Chróm

, projekt Chromium bude podporovat použití knihoven C++ Rust třetích stran v Chromiu

Google představen nedávné zprávy, že tým stojící za projektem Chromium pracuje na přidání Rust toolchainu od výroby až po váš sestavovací systém.

Pro ty, kteří stále neznají Rust, měli by si to dobře zapamatovat, protože tento programovací jazyk, který byl vyvinut Mozillou speciálně pro použití při psaní prohlížeče, začal pronikat a být přijímán v mnoha důležitých projektech, jedním z nich je Rust Kernel. Linux.

To nám umožní zahrnout kód Rust do binárky Chrome během příštího roku. Cílem je začít v malém a stanovit jasná očekávání, o kterých bude u knihoven uvažovat, až budou připraveny.

Je tedy logické, že Chromium konečně začíná zavádět i tuto technologii. Pro Google splní zavedení Rust in Chromium cíl poskytnout snazší a bezpečnější způsob, jak splnit pravidlo dvou, což je kromě zlepšení zabezpečení a odstranění chyb paměti urychlit vývoj a zlepšit zabezpečení Chromu. a snížení hustoty chyb v kódu.

Víme, že C++ a Rust mohou velmi dobře spolupracovat díky nástrojům jako cxx, autocxx bindgen, cbindgen, diplomat a (experimentální) crubit. Existují však také omezení. Můžeme očekávat, že se podoba těchto omezení časem změní s novými nebo vylepšenými nástroji, ale rozhodnutí a popisy zde vycházejí ze současného stavu technologie.

Rozhodnutí byla přijata jako součást iniciativy, která má zabránit výskytu chyb paměti v kódové základně Chrome. Podle statistik poskytnutých před dvěma lety je 70 % kritických a nebezpečných bezpečnostních problémů v prohlížeči Chromium způsobeno chybami paměti.

Použití jazyka Rust, který se zaměřuje na bezpečnou správu paměti a poskytuje automatickou správu paměti, sníží riziko zranitelnosti způsobených problémy, jako je přístup k oblasti paměti po jejím uvolnění a přetečení vyrovnávací paměti.

Cílem zavedení Rust do Chromia je poskytnout snazší (žádné IPC) a bezpečnější (méně složité C++ obecně, žádné chyby bezpečnosti paměti v sandboxu), jak splnit pravidlo dvou, aby se urychlil vývoj (méně kódu k zápisu , méně návrhových dokumentů, méně bezpečnostních záplat) a ke zlepšení zabezpečení (více řádků kódu bez bezpečnostních chyb v paměti, nižší hustota chyb v kódu) prohlížeče Chrome. Kromě toho je společnost přesvědčena, že k dosažení tohoto cíle můžeme použít knihovny Rust třetích stran.

Na začátku roku 2022 již tým Chromium experimentoval s Rustem a po několika měsících dospěl k závěru že jazyk je zpočátku nevhodný jako náhrada C++ pro složité úlohy s asynchronním kódem, který musí fungovat vedle stávajícího kódu.

Proto, plánované použití Rustu v Chromiu je zpočátku jasně omezené. Za prvé, interop půjde pouze jedním směrem: od C++ k Rustu. Na druhou stranu je zpočátku povoleno pouze použití knihoven třetích stran. Tyto fungují jako samostatné součásti a jsou nezávislé na vnitřních součástech prohlížeče Chromium. Knihovny by měly mít jednoduché API pro váš konkrétní úkol. Tým Chromium poté prozkoumá knihovny.

Nakonec stojí za zmínku, že jako takové přidání podpory v Chromiu umožní kódu Rust portovat do binárních souborů Chrome od příštího roku. Rozhodnutí se zaměřuje především na otázku zabezpečení: Rust nabízí větší zabezpečení při zápisu do paměti než C++ a zakazuje potenciálně škodlivé chování, jako je čtení nezapsaných proměnných, přístup za limity stanovené poli, dereferencování nulových nebo neplatných ukazatelů, použití přepsaných iterátorů. .

Máte-li zájem dozvědět se o něm více, můžete si prokonzultovat podrobnosti Na následujícím odkazu.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.