Google、「ファームウェアでC/C++をRustに置き換えるのは簡単」
(theregister.com)- Googleは最近、Android Virtualization Frameworkの保護された仮想マシン向けファームウェアをRust言語で書き直し、ファームウェアを扱う人にも同じことを勧めている
- Google Security Blogで公開した「Deploying Rust in Existing Firmware Codebases」で、AndroidエンジニアはレガシーなCおよびC++コードをRustに置き換える技術的な詳細を掘り下げている
- 「そのまま置き換えられるRust実装でセキュリティを強化するのがどれほど簡単かが分かるはずで、Rustツールチェーンが特殊なベアメタル対象をどのように扱えるかも実演する予定だ」
- 「学習曲線が急だ」と言われるプログラミング言語に対して、「簡単」 という言葉が使われることはあまりない
- CとC++の開発者に世界をRustのレンズで見てもらうのも簡単ではない
- Rust for Linuxプロジェクトのメンテナーの1人が最近辞任し、その理由としてLinuxカーネル開発者たちの抵抗を挙げた
- Linuxカーネルのコントリビューターの1人は今年初め、あるカンファレンスでのリアルタイム討論中に 「私たち全員にRustを学べと強制することはできない」 と述べた
- それでもGoogleはRustの利用を推進している
- ファームウェアには高水準のセキュリティ機構が不足しているが、これはしばしばCやC++のようなメモリ安全でない言語で書かれているためだ
- Rustは、大規模コードベースで重大な脆弱性の大半を占めるバッファオーバーフローやuse-after-freeのようなメモリ安全性バグを回避する手段を提供する
- 「RustはCおよびC++に対するメモリ安全な代替手段を提供し、性能とコードサイズも同等だ」
- 「さらに、オーバーヘッドなしでCとの相互運用性をサポートする」
- 政府とテック企業による支援
- 最近の米国政府は、主要テック企業と非営利イニシアチブであるmemorysafety.orgの支援を受け、重要なオープンソースプロジェクトやコンポーネントをRustで書き直すことを強調している
- サイバーセキュリティ・インフラセキュリティ庁(CISA)は昨年、ソフトウェアベンダーに対し「製品ラインにおけるメモリ安全性の脆弱性を減らし、最終的には排除することを最優先の企業目標にすべきだ」と勧告した
- Googleはすでにこの考えに強く関心を示しており、Rust開発者はC++エンジニアより2倍生産的だと結論づけている
- GoogleのRust利用は引き続き拡大している
「Googleでは、メモリ安全性の脆弱性を減らすために、Android、Chromium などでRustの利用を拡大している。
Rustエコシステムと協力してRust導入を促進し、開発者に必要なリソースとトレーニングを提供することに注力しており、
組み込みとファームウェアにRustを導入するこの取り組みは、スタックのもう1つの重要な部分に対処するものだ」
1件のコメント
興味深く読みました。