自動ニュース作成G
sudoとsuがRustで書き直される。メモリ安全性向上へ
https://pc.watch.impress.co.jp/docs/news/1498034.html
2023-05-03 11:23:48
>sudoは1980年代に開発され、何十年にも渡りOSへのリスクを最小限に抑えながら変更を実行するためのツールとして活用されてきたが、sudoはC言語で記述されており、メモリの安全性に関連する脆弱性の問題を過去に経験してきたという。
>Prossimoプロジェクトでは、どのようなソフトウェアに投資するべきかを考慮する際に、1.非常に広く使われており、2.重要な境界線において、3.重要な機能を実行していて、4.メモリセーフではない言語(C、C++、asmなど)で書かれている、という4つのリスク基準を考慮しているが、sudoはこのリスク基準に完全に適合し、sudoやsuよりもはるかに重要なソフトウェアを想像するのは困難であることから、投資ならびに作業が決行した。
・Rustも機械語で実行される訳で、Rust自体の実装にバグがあったら無意味。言語のバグは放置され難いとかなのかな。再コンパイルだけで直るから修正忘れは無くなるだろう。
・#1 何わけのわかんないこと書いてるんだ?Rustは設計的に安全だから選ばれているわけで言語のバグとか関係ないよ>「Rustは安全でも難しい」といわれる理由――メモリ安全を実現する「所有権」の仕組みhttps://atmarkit.itmedia.co.jp/ait/articles/2111/25/news008.html
・#2 もっと単純な話で、機械語とか説明しているからもっとローレベルな話だ。「設計的に安全」と言うのはきちんと動いた場合の話であって、sudoであってもきちんと動いてさえ居れば「メモリの安全性に関連する脆弱性の問題」は起きないだろ?Rustにバグがあれば防げない訳だが、個々のアプリで対処するよりはマシなのだろうとの話で、その説明とも矛盾しないとの認識だ。
・その「所有権」がどう役立つかと言うと、意図しない動作をした(バグ発生やそれを利用した不正メモリアクセス)時に処理を中断させられると言う事では?
・#4 違う。そもそもバッファオーバーフローが起きないようコンパイル時にエラーになる
・その所有権とやらが面倒と感じるプログラマが共用体っぽいコードをRustで書き始めるのに1ジンバブエドルを賭けるぜ
・Cが自由過ぎたよね
・#2 Rust名前は訊いたことあったけど、この記事読んでなんとなく思想がわかった。良い記事ね@20年前に引退した汎用機OSプログラマ(非常に記述性の低いプロプラの言語)、その後SEを経て現在樹脂射出成形の現場ワーカー(笑) 一般的な言語はC言語しか経験なく、最近javascriptを独学で学んでる
・共用体も型安全なenumなるものに代わっとる。なんでunionじゃなくてenumやねんって思うけど。