「sudo」「su」をRustで再実装、その狙いは?:Internet Security Research GroupのProssimoプロジェクトが発表
Internet Security Research Group(ISRG)のProssimoプロジェクトは、sudoユーティリティーを「Rust」で再実装する方針を明らかにした。
Internet Security Research Group(ISRG)のProssimoプロジェクトは2023年4月26日(米国時間)、sudoユーティリティーを「Rust」で再実装する方針を明らかにした。
ISRGはインターネットのセキュリティ向上を目的として、2013年5月に設立された非営利団体だ。2021年に、ソフトウェアインフラのメモリ安全性向上に向けて取り組むProssimoプロジェクトを立ち上げている。
「私たちの目標は2つある。1つは、インターネットを支えるソフトウェアインフラをメモリ安全のコードに書き換えること。もう1つは、メモリ安全性に関する人々の考え方を変えることだ。『C』や『C++』のようなメモリ安全ではない言語で書かれたソフトウェアを展開するのは危険だという証拠があるにもかかわらず、問題ないと認識されている。人々がそのリスクを十分に認識し、メモリ安全性をソフトウェアの要件と見なすようにしたい」(Prossimoプロジェクトのページより)
なぜsudoとsuをRustで再実装するのか
1980年代に開発されたsudoは、数十年にわたってOSのリスクを最小限に抑えながら更新するための不可欠なツールだった一方、C言語で記述されているため、メモリ安全性に関する多くの脆弱(ぜいじゃく)性を抱える原因になっていたという。
Prossimoプロジェクトは、投資するソフトウェアインフラのリスク基準として以下の4つを挙げており、sudoは4つ全てに当てはまっていたという。またsudoおよびsuよりも重要なソフトウェアを挙げることは難しかったことから、投資対象に選ばれたとしている。
- 非常に広く使われている(ほぼ全てのサーバやクライアントで使われている)
- 重要な境界線上にある
- 重要な機能を実行する
- メモリ安全ではない言語で書かれている(C、C++、アセンブリ)
sudoおよびsuをRustで書き換える作業は、Amazon Web Services(AWS)の支援のもと、Ferrous SystemsとTweede Golfによる合同チームにより進められている。
2023年5月時点で、5つのマイルストーンが設定されており、マイルストーン1(Rustで再実装されたsudoで基本的な機能が実行可能)の実現を目標に活動が進められている。2023年9月に全てのマイルストーンが達成される見通しだ。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Microsoft、安全で高効率のプログラミング言語として「Rust」を高く評価
Microsoft Security Response Center(MSRC)は、ソフトウェアのセキュリティ確保と効率性の両方の要件を満たす最も有望なシステムプログラミング言語の一つとして、「Rust」を高く評価した。メモリ破壊バグをそもそも作り込まないことでセキュリティを確保できるという。 - 深刻なセキュリティバグの約7割がメモリに由来――Chromiumプロジェクトの調査
オープンソースWebブラウザ「Chromium」に2015年以来影響した深刻なセキュリティバグのうち70%程度が、メモリ安全性の問題だったことが分かった。 - プログラミング言語「Rust」とは? "Hello, World!"で基本を押さえる
Rustはどのようなプログラミング言語なのでしょうか? 本連載のスタートとなる今回は、Rust言語の概略と、手元にRustの動作環境構築までを紹介します。導入で利用可能になるコマンドと、最初のHello, World!プログラムも取り上げます。