マイクロソフトによると、過去12年間にMS製品で見つかったセキュリティ問題の70%は、メモリ安全性(Memory Safety)の問題が原因で発生したそうです。近年人気を集めているシステムプログラミング言語のRustは、こうしたメモリ安全性の問題をコンパイル時点で検出できるとされており、これに注目したMSは昨年夏からWindows内部コードの一部をC++からRustへ書き換える実験を進めていたとのことです。
実験結果は良好だったものの、MSから見ると、まだ若いプロジェクトであるRustには自分たちが使うには機能が少し足りない部分もあったようです。そこでMSは、Project Veronaという名前で、Rustから派生した新しいシステムプログラミング言語の開発を始めたそうです。Rustと比べて特に異なる点は、メモリ所有権モデルが個々のオブジェクトではなく、領域(region)単位で適用されることだといいます。これにより、メモリ空間を区画ごとに分けて管理でき、特に既存のレガシーコードをサンドボックス区画に入れて利用できるとのことです。おそらく、膨大なレガシーコードをすべて捨てることができないMSの事情から、このような機能が必要だったのではないかと思われます。現在のProject Veronaは研究室レベルですが、近いうちにオープンソースとして公開される予定だそうです。
他の記事:
関連発表動画およびスライド:
MS製品のセキュリティ問題の70%はメモリ安全性の問題:
Windowsの一部をRustで書き換える実験:
4件のコメント
Rust にコントリビュートすべきなのに……始めた途端にフォークするのか!
Rustはかなりホットですね。
ああ……なんだか J# みたいに、いかにも MS らしい変種を作るんじゃないかと心配にもなります。
来る時はメローナ