やじうまの杜
「Sudo for Windows」はRustで開発されている! 「バージョン 24H2」にも導入決定
メモリ安全が重視される分野で採用が広がるRust言語
2024年5月28日 06:45
「やじうまの杜」では、ニュース・レビューにこだわらない幅広い話題をお伝えします。
次期大型更新「Windows 11 バージョン 24H2」に搭載されることが確定した「Sudo for Windows」ですが、なんとRust言語で開発されているとのこと。
Windowsにも新しく追加されるsudoコマンドがRust製、すてきhttps://t.co/suqNNlB1AH
— React脳の恐怖 (@yuta0801_)May 24, 2024
「Sudo for Windows」はオープンソースで開発されており(ライセンスは「MIT」)、ソースコードが「GitHub」が公開されているのですが、確かに開発言語の71.8%がRustになっているようですね。この開発言語の割合にはセットアップやドキュメントで使われる言語も含まれているので、ほぼ「Pure Rust」製と言ってよさそうです。
Rustはシステム開発向けのプログラミング言語で、コンパイラーがメモリ管理を厳格にチェックしてくれるため、メモリの安全性を保障できるのが特徴です。つまり、メモリ破壊系の脆弱性が発生しにくいというわけ。
既存のプログラミング言語にはない概念があるため習熟に多少時間がかかるのが難点ですが、C/C++と同等の実行速度を確保できるとのことで、Windowsカーネルでも採用が進んでいます。この成果の一部も「Windows 11 バージョン 24H2」に導入される予定。
「Sudo for Windows」はコマンドラインで一時的に管理者権限を利用できるようにするツールですが――Linuxでお馴染みのヤツです――、扱いを間違えれば致命的な脆弱性につながりかねない管理者権限を扱うこともあって、Rust言語が選ばれたのでしょう。今後も新規のコンポーネントやツールでRust言語の採用が増えそうですね。