MENU
  • TECHテクノロジー
  • SCIENCEサイエンス
  • ENTERTAINMENTエンターテインメント
  • REVIEWSレビュー
あなたの好奇心を刺激する、テクノロジー・科学の最新ニュースサイト | TEXAL
TEXAL
  • TECHテクノロジー
  • SCIENCEサイエンス
  • ENTERTAINMENTエンターテインメント
  • REVIEWSレビュー
  • テクノロジー
  • サイエンス
  • モバイル
  • エンタメ
  • ゲーム
TEXAL
  • TECHテクノロジー
  • SCIENCEサイエンス
  • ENTERTAINMENTエンターテインメント
  • REVIEWSレビュー
  1. ホーム
  2. テクノロジー
  3. Google、ChromeのバイナリにRustコードを含める計画を明らかに – 開発のスピードアップとセキュリティ向上が見込める

Google、ChromeのバイナリにRustコードを含める計画を明らかに – 開発のスピードアップとセキュリティ向上が見込める

2023 1/13
テクノロジー
2023年1月13日

スポンサーリンク

Googleは、同社のビルドシステムにプロダクションRustツールチェーンを導入する作業を開始し、年内にChromeのバイナリにRustのコードを含める計画である事を明らかにした。

なぜ、ChromiumにRustを搭載する事にしたのか?これについて、ChromeセキュリティチームのDana Jansens氏は以下のように説明する。

RustをChromiumに取り込む目的は、よりシンプル(IPCなし)で安全(全体的に複雑でないC++、サンドボックスでもメモリ安全性のバグなし)な方法で2の法則を満たし、開発のスピードアップ(書くべきコードの削減、設計ドキュメントの削減、セキュリティレビュー削減)とChromeのセキュリティ向上(メモリ安全性のバグがないコード行数の増加、コードのバグ密度の減少)を実現させることです。そして、この目標に向かって、サードパーティのRustライブラリを利用することができると考えています。

Rustは、”unsafe“と書かれていない場合、Chromiumで確認された深刻なセキュリティバグの70%を占めるメモリ安全性の欠陥を回避することができるという。Rustは、コードの安全性を保証するものではないが、潜在的な欠陥の数を大幅に減らすことができるのだ。

Rustを用いることの有用性について、Googleは以前から認識しており、Rustの採用によってAndroidのメモリ脆弱性の低減にも繋がっているようだ。

Jansens氏は、Rustが成熟し、独自の財団を設立するに値するだけの外部支援を集めるまで、その開発を支援したMozillaに「Mozillaのシステムソフトウェア業界への多大な貢献に感謝します。」と、謝辞を述べている。

Chromiumの基盤であるRustとC++は、cxx、autocxx bindgen、cbindgen、diplomat、crubitといったツールでやり取りできると、Jansens氏は説明する。これらのツールは、RustのコードからC++のコードを呼び出したり、その逆をしたりする安全な方法を提供する。しかし、2つの言語間の相互運用性には、それぞれの設計の違いから限界がある。

「例えば、Rustは、ライフタイム(推論または明示的に記述)と排他的変異性という2つの入力に依存する静的解析によって、時間的メモリ安全性を保証しています。後者は、ChromiumのC++の大半が書かれている方法と互換性がありません。」と、Jansens氏は説明する。

Jansens氏は、RustとC++は異なるルールで動いているため、相互運用性が簡単に損なわれる可能性があると指摘した。だからこそ、Googleは慎重なアプローチを取っているのだ。

C++からRustへの単一方向のみの相互運用をサポートします。ChromiumはC++で書かれており、スタックフレームの大部分は、main()からexit()まで、C++のコードであるため、この方向を選択しました。相互運用を一つの方向に限定することで、依存関係ツリーの形状を制御することができます。RustはC++に依存しないので、依存性注入を除いて、C++の型や関数を知ることはできません。このように、Rustは任意のC++コードに着地することはできず、C++からAPIを介して渡される関数にのみ着地することができます。

そして今のところ、ChromiumがRustに触れるのは、サードパーティのライブラリを通じてのみである。

とはいえ、GoogleのRustへの取り組みが深まることで、Rustパッケージのエコシステムが大幅に充実することが期待できる。同社は、C++とRustの双方向の相互運用性を高めるcrubitなどのツールを開発・保守している。

Googleは、すでにAndroidのエコシステムにRustを導入している。Microsoft AzureのCTOであるMark Russinovich氏は、新規プロジェクトにおいてC++ではなくRustを使用するよう呼びかけている。Linuxカーネルは、Rustのサポートを追加した。そして、自分たちがコントロールできない技術を嫌うAppleでさえも、Rustを使用している。


Source

  • Google Security Blog: Supporting the Use of Rust in the Chromium Project
  • via The Register: Google polishes Chromium code with a layer of Rust

TEXALでは、テクノロジー、サイエンス、ゲーム、エンターテインメントなどからその日の話題のニュースや、噂、リーク情報、レビューなど、毎日配信しています。最新のニュースはホームページで確認出来ます。Googleニュース、Twitter、FacebookでTEXALをフォローして、最新情報を入手する事も出来ます。記事の感想や、お問い合わせなども随時受け付けています。よろしくお願いいたします。

スポンサーリンク

テクノロジー
Chrome Google Rust
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする コメントをキャンセル

CAPTCHA


スポンサーリンク
今読まれている記事
人気のタグ
AI Amazon AMD Android Apple CPU DJI Google GPU Intel iOS iPadOS iPhone iPhone 14 Pro Mac Meta Microsoft NASA Nintendo Switch NVIDIA PCゲーム PS5 Qualcomm Samsung SNS Sony The Conversation TSMC Twitter VR Windows XR アップデート ガジェット ゲーム サブスクリプション スマートフォン ドローン ベータテスト 乗り物 半導体 噂 天文学 宇宙 自動車
PVアクセスランキング にほんブログ村
スポンサーリンク
  • テクノロジー
  • サイエンス
  • モバイル
  • エンタメ
  • ゲーム