# Let's Encrypt의 메모리 안전성 강화: ntpd-rs 배포

> Clean Markdown view of GeekNews topic #15518. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=15518](https://news.hada.io/topic?id=15518)
- GeekNews Markdown: [https://news.hada.io/topic/15518.md](https://news.hada.io/topic/15518.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-06-25T19:33:12+09:00
- Updated: 2024-06-25T19:33:12+09:00
- Original source: [letsencrypt.org](https://letsencrypt.org/2024/06/24/ntpd-rs-deployment.html)
- Points: 6
- Comments: 1

## Topic Body

- Let's Encrypt는 운영 체제와 네트워크 인프라의 많은 부분이 C와 C++ 같은 안전하지 않은 언어로 작성된 것에 대해 우려 해왔음  
- CA 소프트웨어는 메모리 안전한 Golang으로 작성되었지만, OS/네트워크 부분은 메모리 안전성이 부족하여 패치가 필요한 취약점이 일상적으로 발생  
- 2020년에 Prossimo 프로젝트를 시작하여 중요한 소프트웨어 인프라를 메모리 안전하게 만드는 것을 목표로 함  
  
#### Prossimo 프로젝트의 주요 성과  
- Rustls TLS 라이브러리, Hickory DNS, River 리버스 프록시, sudo-rs, Linux 커널의 Rust 지원, ntpd-rs 등 다양한 소프트웨어 구성 요소에 투자함  
- 최근 Let's Encrypt 인프라에 Prossimo의 첫 번째 메모리 안전 소프트웨어인 ntpd-rs를 배포함  
  
#### ntpd-rs의 중요성  
- 대부분의 운영 체제는 정확한 시간을 결정하기 위해 네트워크 시간 프로토콜(NTP)을 사용함  
- 시간 트래킹은 OS의 중요한 작업이며, 인터넷과 상호작용하게 되므로 NTP 구현의 보안은 중요함  
- 2022년 4월 Prossimo는 메모리 안전하고 더 안전한 NTP 구현인 ntpd-rs 작업을 시작  
- 2024년 4월 ntpd-rs가 Let's Encrypt의 스테이징 환경에 배포되었고, 현재는 프로덕션 환경에서 사용 중  
  
#### 향후 계획  
- 향후 몇 년 동안 Let's Encrypt 인프라에서 C 또는 C++ 소프트웨어를 메모리 안전한 대안으로 교체할 계획  
  - OpenSSL과 그 파생 제품을 Rustls로 교체.  
  - DNS 소프트웨어를 Hickory로 교체.  
  - Nginx를 River로 교체.  
  - sudo를 sudo-rs로 교체.  
  
### GN⁺의 의견  
- **메모리 안전성의 중요성**: 메모리 안전한 언어로 작성된 소프트웨어는 보안 취약점을 줄이는 데 큰 도움이 됨.  
- **Rust의 장점**: Rust는 메모리 안전성을 보장하면서도 높은 성능을 제공하여 많은 보안 민감 소프트웨어에 적합함.  
- **커뮤니티의 역할**: 오픈 소스 프로젝트는 커뮤니티의 기여가 중요하며, Let's Encrypt의 경우도 예외가 아님.  
- **기술 도입 시 고려사항**: 새로운 기술을 도입할 때는 기존 시스템과의 호환성, 학습 곡선 등을 고려해야 함.  
- **보안 강화의 필요성**: 인터넷 인프라의 보안을 강화하는 것은 전체 인터넷 생태계의 안전성을 높이는 데 기여함.

## Comments



### Comment 26598

- Author: neo
- Created: 2024-06-25T19:33:13+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=40778594) 
- **NTPD를 Rust로 구현하는 아이디어**: NTPD를 Rust로 구현하는 아이디어에 관심이 있음. 성능에 대한 자료를 찾고 있으며, 특히 네트워크 문제 상황에서 시간 동기화 성능에 관심이 있음. Chrony와의 비교도 보고 싶음.
- **NTP 문제의 복잡성**: NTP는 아직 완전히 해결된 문제가 아니며, 메모리 안전성보다 성능이 더 중요함. Chrony가 시스템 기본 제공 NTP보다 훨씬 나아서 사용 중임.
- **Rust 애호가의 의견**: Rust 애호가로서, ntpd-rs가 Chrony의 성능에 근접해야 고려할 가치가 있음.
- **메모리 안전성 논의**: 메모리 안전성을 강조하는 것이 이상하게 느껴짐. NTPD는 공격 벡터가 적고, 메모리 문제 없이 잘 작동 중임. 더 중요한 컴포넌트를 메모리 안전한 언어로 재작성하는 것이 필요함.
- **JSON 의존성 질문**: 왜 NTPD에 JSON 의존성이 있는지 궁금함.
- **BGP 재작성 제안**: 다음으로 BGP를 메모리 안전한 언어로 재작성하는 것이 좋겠음.
- **NTPsec 사용 여부**: NTPsec을 실제로 사용하는 사람이 있는지 궁금함.
- **NTP 서버 문제**: NTP의 문제는 클라이언트가 아니라 위조된 UDP 패킷을 처리해야 하는 서버에 있음. NTPD가 TCP 전용이 될 가능성에 대해 회의적임. 10년 전부터 공용 stratum 3 서버 운영을 중단함.
