More Memory Safety for Let's Encrypt: Deploying ntpd-rs
Let's Encrypt enhances memory safety with ntpd-rs, a secure NTP implementation, part of the Prossimo project. Transitioning to memory-safe alternatives aligns with broader security goals, supported by community and sponsorships.
Read original articleLet's Encrypt has taken steps to enhance memory safety within its infrastructure by deploying ntpd-rs, a memory-safe Network Time Protocol (NTP) implementation. Concerned about vulnerabilities stemming from unsafe languages like C and C++, Let's Encrypt initiated the Prossimo project in 2020 to secure critical Internet software. ntpd-rs, developed by Project Pendulum, replaces traditional NTP implementations and has been integrated into Let's Encrypt's production environment. This move aligns with Let's Encrypt's broader goal of transitioning to memory-safe alternatives for key components like Rustls for OpenSSL, Hickory for DNS, River for Nginx, and sudo-rs for sudo. By prioritizing memory safety, Let's Encrypt aims to bolster overall security across its infrastructure. The organization relies on community support and sponsorships to sustain its services and advance a more secure and privacy-conscious web.
Related
The Pre-Scheme Restoration
The Pre-Scheme Restoration project, funded by NLnet foundation, aims to modernize the Pre-Scheme compiler, a subset of Scheme, for a new functional programming language. Led by Andrew Whatson, the project focuses on compatibility, tooling, and documentation.
My experience crafting an interpreter with Rust (2021)
Manuel Cerón details creating an interpreter with Rust, transitioning from Clojure. Leveraging Rust's safety features, he faced challenges with closures and classes, optimizing code for performance while balancing safety.
Memory sealing for the GNU C Library
The GNU C Library introduces mseal() system call for enhanced security by preventing address space changes. Adhemerval Zanella's patch series adds support, improving memory manipulation protection in upcoming releases.
Vulnerability in Popular PC and Server Firmware
Eclypsium found a critical vulnerability (CVE-2024-0762) in Intel Core processors' Phoenix SecureCore UEFI firmware, potentially enabling privilege escalation and persistent attacks. Lenovo issued BIOS updates, emphasizing the significance of supply chain security.
SquirrelFS: Using the Rust compiler to check file-system crash consistency
The paper introduces SquirrelFS, a crash-safe file system using Rust's typestate pattern for compile-time operation order enforcement. Synchronous Soft Updates ensure crash safety by maintaining metadata update order. SquirrelFS offers correctness guarantees without separate proofs, quickly verifying crash consistency during compilation. Comparative evaluations show SquirrelFS performs similarly or better than NOVA and WineFS.
Particularly interested in the performance stats, how well the daemon keeps time in the face of various network problems. Chrony is very good at this. Some of the other NTP implementations (not on that chart) are so bad they shouldn't be used in production.
For example, we only use chrony because it’s so much better than whatever came with your system (especially on virtual machines). ntpd-rs would have to come at least within spitting distance of chrony’s time keeping abilities to even be up for consideration.
(And I say this as a massive rust aficionado using it for both work and pleasure.)
It's ntpd, it doesn't seem like a place for any sort of attack vector and it's been running on many VMs without exploding memory for a while now.
I'd think there are far more critical components to rewrite in a memory safe language than the clock synchronizer.
https://github.com/hcfman/sbts-aru
It installs with a single command on all Raspberry Pi versions and takes care of all the dependencies, configuration and startup order details to install and start working with one command.
It’s a sound localizing audio recorder platform and that’s why it also sets up accurate time.
It’s using GPS to get its time from.
Related
The Pre-Scheme Restoration
The Pre-Scheme Restoration project, funded by NLnet foundation, aims to modernize the Pre-Scheme compiler, a subset of Scheme, for a new functional programming language. Led by Andrew Whatson, the project focuses on compatibility, tooling, and documentation.
My experience crafting an interpreter with Rust (2021)
Manuel Cerón details creating an interpreter with Rust, transitioning from Clojure. Leveraging Rust's safety features, he faced challenges with closures and classes, optimizing code for performance while balancing safety.
Memory sealing for the GNU C Library
The GNU C Library introduces mseal() system call for enhanced security by preventing address space changes. Adhemerval Zanella's patch series adds support, improving memory manipulation protection in upcoming releases.
Vulnerability in Popular PC and Server Firmware
Eclypsium found a critical vulnerability (CVE-2024-0762) in Intel Core processors' Phoenix SecureCore UEFI firmware, potentially enabling privilege escalation and persistent attacks. Lenovo issued BIOS updates, emphasizing the significance of supply chain security.
SquirrelFS: Using the Rust compiler to check file-system crash consistency
The paper introduces SquirrelFS, a crash-safe file system using Rust's typestate pattern for compile-time operation order enforcement. Synchronous Soft Updates ensure crash safety by maintaining metadata update order. SquirrelFS offers correctness guarantees without separate proofs, quickly verifying crash consistency during compilation. Comparative evaluations show SquirrelFS performs similarly or better than NOVA and WineFS.