Let's Encryptの全体的なセキュリティ体制を検討する際、最も懸念されることの一つは、オペレーティングシステムやネットワークインフラストラクチャの多くがCやC++のような安全でない言語で書かれていることです。CAソフトウェア自体はメモリ安全なGolangで書かれていますが、サーバーのオペレーティングシステムからネットワーク機器に至るまで、メモリ安全性の欠如が定期的なパッチが必要な脆弱性につながっています。

Let's Encryptのため、そしてより広いインターネットのため、2020年にProssimoという新しいプロジェクトを開始しました。Prossimoの目標は、インターネットにとって最も重要なソフトウェアインフラストラクチャの一部をメモリ安全にすることです。それ以来、Rustls TLSライブラリHickory DNSRiverリバースプロキシsudo-rsLinuxカーネルのRustサポートntpd-rsを含む幅広いソフトウェアコンポーネントに投資してきました。

Let's Encryptは、長い間計画されていた一歩を踏み出しました。Let's Encryptインフラストラクチャに導入されたProssimo初のメモリ安全ソフトウェアであるntpd-rsを導入しました。

ほとんどのオペレーティングシステムは、Network Time Protocol(NTP)を使用して正確な時間を判断します。時間の追跡はオペレーティングシステムにとって重要なタスクであり、インターネットとのやり取りが含まれるため、NTP実装が安全であることを確認することが重要です。

2022年4月、Prossimoはメモリ安全で全体的に安全性の高いNTP実装であるntpd-rsの開発を開始しました。それ以来、実装は成熟し、現在はProject Pendulumによってメンテナンスされています。2024年4月に、ntpd-rsがLet's Encryptのステージング環境に導入され、現在、本番環境で稼働しています。

今後数年間で、Let's Encryptインフラストラクチャ内のCまたはC++ソフトウェアを、RustlsによるOpenSSLとその派生物、HickoryによるDNSソフトウェア、RiverによるNginx、sudo-rsによるsudoなどのメモリ安全な代替手段に置き換える予定です。メモリ安全性は全体的なセキュリティ方程式の一部にすぎませんが、重要な部分であり、これらの改善を行うことができて嬉しく思います。

私たちは、サービスを提供するために、ユーザーとサポーターのコミュニティからの貢献に依存しています。あなたの会社や組織がLet's Encryptのスポンサーになることを希望する場合は、sponsor@letsencrypt.orgまでメールでお問い合わせください。可能な範囲で個人的な貢献をお願いします。