Rust を信頼する: Apache を強化するため、ISRG は C 言語を捨て、新しい TLS 暗号化モジュールに天才言語を採用

Table of Contents

Rust を信頼する: Apache を強化するため、ISRG は C 言語を捨て、新しい TLS 暗号化モジュールに天才言語を採用

Apache HTTP Server ( ) は、登場からほぼ 26 年が経過していますがhttpd、メモリの問題を抱えています。Apache HTTP Server は、メモリの安全性に欠けることで知られる言語である C で記述されています。

C言語では、プログラマーがコンピュータのメモリをほぼ自ら管理する必要がありますが、必ずしもうまく管理できているとは限りません。メモリ管理が不十分だと、メモリリークや、バッファオーバーフロー、ヌルポインタ参照、use-after-free() 問題といった問題につながる可能性があります。最近のLibgcryptのバグは、C言語のコードの不具合がどのような問題を引き起こすかを示す好例です。

このhttpdサーバーには以前にもメモリ安全性のバグがあり、現在でも広く使用されており、Web サーバーの約 3 分の 1 を占めていることから、インターネット セキュリティ リサーチ グループ (ISRG) は修復プログラムを導入することを決定しました。

Let's Encrypt を監督するサンフランシスコを拠点とする非営利団体は、昨年 curl に対して行ったのと同様に、由緒あるサーバーソフトウェアを Rust の新しいバージョンで再活性化する取り組みを支援している。

バグ

GPGなどで使用されているLibgcryptの深刻なバグが大きな問題を引き起こし、パッチの緊急配布を促している

続きを読む

Rustプログラミング言語の主な利点の一つは、メモリセーフな方法で使用できることです。これにより、様々な潜在的なエラーが製品版コードに侵入するのを防ぐことができます。Rustは、所有権の概念などにより、意図せず安全でない操作をビルド時にブロックします。httpdのような広く使用されているCベースのソフトウェアの場合、次善策は重要なネットワークコンポーネントを書き直すことです。

「現在、リクエストを処理するためにネットワークエッジに数百万行のCコードを展開することが標準的な慣行となっている世界に生きています。しかし、そのような動作が安全ではないという証拠は山ほどあります」と、The Register紙の公開に先立って公開されたブログ記事で、エグゼクティブディレクターのジョシュ・アース氏は述べています。「私たちの業界は、メモリ安全ではないコードをネットワークトラフィック処理に展開することが危険で無責任であることが広く理解されるような状況に到達する必要があります。」

この目標達成に向けて、ISRGはGoogleに資金提供を依頼し、​httpd​ 用の新しいTLSモジュール ​ を開発しmod_tlsて に代わることにしましたmod_ssl。この委託モジュールは、主にC言語で記述されているOpenSSLではなく、Rust TLSモジュールを使用します。すぐに に代わるわけではありませんが、最終的には がデフォルトになるmod_sslことを期待しています。mod_tls

「Apacheはhttpd誕生から26年経った今でも、インフラとして極めて重要な存在です」と、オープンソースのHyperledgerプロジェクトのエグゼクティブディレクターであり、Apacheの共同開発者でもあるブライアン・ベーレンドルフ氏は声明で述べた。「最初の共同開発者として、このような抜本的な刷新は多くの人々を守り、httpd将来にわたってその重要性を維持できる可能性を秘めていると感じています。」

ISRGは、GreenbytesのStefan Eissing氏に開発作業を依頼しました。Eissing氏はhttpd既にプロジェクトにコードをコミットしているため、ソースコードの理解に多くの時間を費やす必要はないでしょうhttpd

ISRGがApacheの配管修理をApache Foundationに任せず、自ら行う理由を問われると、Aas氏は次のように答えた。「我々はこの作業を完了させたかったので、それを実現する方法を見つけました。この種の作業がASF(オーストラリア財団)の業務かどうかは分かりません。Apacheコミュニティのメンバーとは調整を行いましたが、ASF自体とは調整を行っていません。」

アース氏は、この取り組みのきっかけとなったApacheの特定のバグはなかったと述べた。「この作業は、一般的なリスクプロファイルを理由に実施されました」と述べ、「Nginxや、CまたはC++で書かれた他の一般的なインフラソフトウェアにも、同様の作業を実施してもらえることを期待しています」と付け加えた。

Discover More