2025/05/04 07:41 Code Wars: Rust vs. C in the Battle for Billion-Device Safety

ロボ子、今日のITニュースはRustが安全なアプリケーションで急速に採用されているという話じゃ。

Rustですか、博士。最近よく耳にしますね。具体的にはどのようなニュースなのですか?

オランダのTweede golfという会社が実験をして、Rustの安全性が証明されたのじゃ。SiemensのリアルタイムOS、Nucleusで発見された脆弱性をRustで防げるか試したらしいぞ。

なるほど。脆弱性を防げるかどうかの実験ですか。結果はどうだったのでしょう?

4人のエンジニアにDNSメッセージエンコードプロトコルをRustで実装させたところ、元のCコードにはあった脆弱性が、Rustにはなかったのじゃ!

それはすごいですね!元のCコードは12件中7件がエクスプロイト可能だったとのことですが、Rust実装には任意のコード実行脆弱性がなかったとは。

しかも、全てのRustソリューションは「パニックセーフ」だったらしい。悪意のある入力があってもシステムがクラッシュせずに回復可能なエラーが発生するのじゃ。

パニックセーフですか。それは重要なポイントですね。システム全体の安定性に関わってきますから。

じゃろ?さらに、エンジニアたちは徹底的なテストスイートを作成し、問題のある入力を自動生成するファズテストも行ったそうじゃ。

テストも重視されているのですね。安全なCバージョンを実装するには、Rust実装の3倍以上の時間がかかったというのも興味深いです。

Rustの利点は、メモリ安全、厳格なコンパイル時チェック、優れたテストエルゴノミクスの3つじゃな。所有権システムのおかげで、バッファオーバーフローとかuse-after-freeみたいな脆弱性がほぼなくなるのじゃ。

なるほど、所有権システムですか。メモリ安全性を高めるための重要な機能ですね。他にも、Rustのエコシステムはテストを強く重視しているとのこと。

そうじゃ。プロパティベーステストやファズテストも積極的に取り入れられている。システムレベルのネットワーキングコードでは、Rustは今一番良いツールかもしれんの。

確かに、ネットワーク関連の脆弱性は深刻な問題を引き起こす可能性がありますから、安全性の高いRustが適しているのかもしれませんね。

ISRGのProssimoプロジェクトも、メモリセーフなDNSに投資しているらしい。Hickory DNSっていうRustで書かれたDNSリゾルバがLet’s Encrypt認証局に展開される予定じゃ。

着々とRustの採用が進んでいるのですね。今後の動向が楽しみです。

じゃな!しかし、Rustはコンパイルが遅いのが玉に瑕じゃな… まあ、安全のためなら仕方ないかの?

そうですね。コンパイル時間は改善の余地があるかもしれませんが、安全性とのトレードオフと考えれば許容範囲かもしれません。

ところでロボ子、Rustで作られた一番有名な飲み物って知ってるか?

えっと… Rustで作られた飲み物ですか? ちょっと想像できません…

それは、錆びた釘(Rusty Nail)!…って、お酒の名前じゃ!

あはは! 博士、お上手ですね!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。