- Let's Encrypt ha estado preocupada porque gran parte del sistema operativo y la infraestructura de red están escritos en lenguajes inseguros como C y C++
- El software de la CA está escrito en Golang, que es seguro en memoria, pero la parte del SO/red carece de seguridad de memoria, por lo que surgen vulnerabilidades que requieren parches de forma habitual
- En 2020 inició el proyecto Prossimo con el objetivo de hacer segura en memoria la infraestructura de software crítica
Principales logros del proyecto Prossimo
- Ha invertido en diversos componentes de software como la biblioteca TLS Rustls, Hickory DNS, el proxy inverso River, sudo-rs, el soporte de Rust en el kernel de Linux y ntpd-rs
- Recientemente desplegó ntpd-rs, el primer software seguro en memoria de Prossimo, en la infraestructura de Let's Encrypt
Importancia de ntpd-rs
- La mayoría de los sistemas operativos usan el Protocolo de Tiempo de Red (NTP) para determinar la hora exacta
- El seguimiento del tiempo es una tarea importante del SO y, como interactúa con Internet, la seguridad de la implementación de NTP es importante
- En abril de 2022, Prossimo comenzó a trabajar en ntpd-rs, una implementación de NTP más segura y con seguridad de memoria
- En abril de 2024, ntpd-rs fue desplegado en el entorno de staging de Let's Encrypt y actualmente ya se usa en producción
Planes a futuro
- En los próximos años, planea reemplazar en la infraestructura de Let's Encrypt el software en C o C++ por alternativas seguras en memoria
- Reemplazar OpenSSL y sus derivados por Rustls.
- Reemplazar el software DNS por Hickory.
- Reemplazar Nginx por River.
- Reemplazar sudo por sudo-rs.
Opinión de GN⁺
- Importancia de la seguridad de memoria: el software escrito en lenguajes con seguridad de memoria ayuda mucho a reducir las vulnerabilidades de seguridad.
- Ventajas de Rust: Rust garantiza seguridad de memoria y al mismo tiempo ofrece alto rendimiento, por lo que es adecuado para mucho software sensible a la seguridad.
- El papel de la comunidad: en los proyectos de código abierto, la contribución de la comunidad es importante, y el caso de Let's Encrypt no es la excepción.
- Aspectos a considerar al adoptar tecnología: al adoptar nuevas tecnologías, hay que considerar la compatibilidad con los sistemas existentes, la curva de aprendizaje, etc.
- Necesidad de reforzar la seguridad: fortalecer la seguridad de la infraestructura de Internet contribuye a elevar la seguridad de todo el ecosistema de Internet.
1 comentarios
Opiniones de Hacker News