Chromium プロジェクトは Rust ライブラリの使用をサポートします

クロム

、Chromium プロジェクトは、Chromium でのサードパーティの C++ Rust ライブラリの使用をサポートします。

Googleが発表 最近のニュースでは、Chromium プロジェクトの背後にあるチームが Rust ツールチェーンの追加に取り組んでいます 本番環境からビルド システムまで。

Rust をまだ知らない人は、よく覚えておく必要があります。このプログラミング言語は Mozilla によって特にブラウザの作成に使用するために開発されたもので、多くの重要なプロジェクトに浸透し、受け入れられ始めています。 Rust カーネル、Linux。

これにより、来年中に Rust コードを Chrome バイナリに含めることができます。 目標は、小さく始めて、準備ができたときにどのライブラリを検討するかについて明確な期待を設定することです。

したがって、Chromium がついにその技術も展開し始めたのは当然のことです。 Google にとって、Chromium に Rust を導入することで、開発をスピードアップし、Chrome のセキュリティを向上させるという XNUMX つのルールに準拠するためのより簡単で安全な方法を提供するという目的が達成され、セキュリティが向上し、メモリ エラーが除去されます。コード内のエラーの密度を減らします。

C++ と Rust は、cxx、autocxx bindgen、cbindgen、diplomat、(実験的な) crubit などのツールのおかげで、非常にうまく連携できることがわかっています。 ただし、制限もあります。 これらの制限の形は、新しいツールや改善されたツールによって時間の経過とともに変化することが予想されますが、ここでの決定と説明は、現在のテクノロジの状態に基づいています。

決定 メモリエラーの発生を防ぐ取り組みの一環として行われた Chrome コードベースで。 70 年前に提供された統計によると、Chromium の重大かつ危険なセキュリティ問題の XNUMX% はメモリ エラーが原因です。

安全なメモリ管理に重点を置いた Rust 言語の使用 また、自動メモリ管理を提供することで、解放後のメモリ領域へのアクセスやバッファ オーバーフローなどの問題によって引き起こされる脆弱性のリスクを軽減します。

Rust を Chromium に導入する目的は、開発をスピードアップする (書くコードを少なくする) ために、XNUMX のルールを満たすためのより簡単 (IPC なし) かつ安全 (一般的に複雑でない C++、サンドボックス化されたメモリ安全バグがない) 方法を提供することです。 、設計ドキュメントの削減、セキュリティ パッチの削減)、および Chrome のセキュリティの向上 (メモリ内のセキュリティ バグのないコード行の増加、コード バグ密度の低下) を実現します。 さらに、同社はサードパーティの Rust ライブラリを使用してこの目標を達成できると確信しています。

2022 年の初めに、Chromium チームはすでに Rust の実験を行っていました。 そして、数ヶ月後、結論に達しました この言語は、既存のコードと並行して動作する必要がある非同期コードを使用する複雑なタスクの C++ の代替として、最初は適していません。

そのため、 ChromiumでのRustの計画的な使用は、最初は明らかに制限されています. 一つには、相互運用は一方向にしか進みません: C++ から Rust へ。 一方、最初はサードパーティのライブラリの使用のみが許可されています。 これらはスタンドアロン コンポーネントとして機能し、Chromium の内部コンポーネントから独立しています。 ライブラリには、特定のタスク用の単純な API が必要です。 その後、Chromium チームがライブラリを調べます。

最後に、そのように言及する価値があります Chromium にサポートを追加すると、Rust コードを Chrome バイナリに移植できるようになります 来年から。 この決定は、主にセキュリティの問題に注目しています。Rust は、メモリへの書き込み時に C++ よりも優れたセキュリティを提供し、書き込まれていない変数の読み取り、配列によって設定された制限を超えたアクセス、null または無効なポインターの逆参照、オーバーライドされた反復子の使用などの潜在的に有害な動作を禁止します。 .

あなたがそれについてもっと知りたいなら、あなたは詳細を調べることができます 次のリンクで。


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。