6 poin oleh GN⁺ 2024-06-25 | 1 komentar | Bagikan ke WhatsApp
  • Let's Encrypt telah lama mengkhawatirkan bahwa banyak bagian dari sistem operasi dan infrastruktur jaringan ditulis dalam bahasa yang tidak aman seperti C dan C++
  • Perangkat lunak CA ditulis dalam Golang yang aman terhadap memori, tetapi bagian OS/jaringan masih kurang aman terhadap memori sehingga kerentanan yang memerlukan patch terjadi secara rutin
  • Pada tahun 2020, mereka memulai proyek Prossimo dengan tujuan menjadikan infrastruktur perangkat lunak penting aman terhadap memori

Pencapaian utama proyek Prossimo

  • Berinvestasi pada berbagai komponen perangkat lunak seperti pustaka TLS Rustls, Hickory DNS, reverse proxy River, sudo-rs, dukungan Rust di kernel Linux, dan ntpd-rs
  • Baru-baru ini, mereka menerapkan ntpd-rs, perangkat lunak aman terhadap memori pertama dari Prossimo, ke infrastruktur Let's Encrypt

Pentingnya ntpd-rs

  • Sebagian besar sistem operasi menggunakan Network Time Protocol (NTP) untuk menentukan waktu yang akurat
  • Pelacakan waktu adalah tugas penting OS dan karena berinteraksi dengan internet, keamanan implementasi NTP sangat penting
  • Pada April 2022, Prossimo mulai mengerjakan ntpd-rs, implementasi NTP yang aman terhadap memori dan lebih aman
  • Pada April 2024, ntpd-rs diterapkan di lingkungan staging Let's Encrypt, dan kini digunakan di lingkungan produksi

Rencana ke depan

  • Dalam beberapa tahun ke depan, Let's Encrypt berencana mengganti perangkat lunak C atau C++ di infrastrukturnya dengan alternatif yang aman terhadap memori
    • Mengganti OpenSSL dan turunannya dengan Rustls.
    • Mengganti perangkat lunak DNS dengan Hickory.
    • Mengganti Nginx dengan River.
    • Mengganti sudo dengan sudo-rs.

Opini GN⁺

  • Pentingnya keamanan memori: Perangkat lunak yang ditulis dalam bahasa yang aman terhadap memori sangat membantu mengurangi kerentanan keamanan.
  • Keunggulan Rust: Rust menjamin keamanan memori sekaligus memberikan performa tinggi, sehingga cocok untuk banyak perangkat lunak yang sensitif terhadap keamanan.
  • Peran komunitas: Kontribusi komunitas sangat penting bagi proyek open source, dan kasus Let's Encrypt juga tidak berbeda.
  • Hal yang perlu dipertimbangkan saat adopsi teknologi: Saat mengadopsi teknologi baru, perlu mempertimbangkan kompatibilitas dengan sistem yang ada, kurva pembelajaran, dan sebagainya.
  • Perlunya penguatan keamanan: Memperkuat keamanan infrastruktur internet berkontribusi pada peningkatan keamanan seluruh ekosistem internet.

1 komentar

 
GN⁺ 2024-06-25
Komentar Hacker News
  • Ide menerapkan NTPD dengan Rust: Tertarik pada ide menerapkan NTPD dengan Rust. Sedang mencari data tentang performa, terutama performa sinkronisasi waktu saat terjadi masalah jaringan. Juga ingin melihat perbandingan dengan Chrony.
  • Kompleksitas masalah NTP: NTP masih bukan masalah yang sepenuhnya terselesaikan, dan performa lebih penting daripada keamanan memori. Menggunakan Chrony karena jauh lebih baik daripada NTP bawaan sistem.
  • Pendapat penggemar Rust: Sebagai penggemar Rust, ntpd-rs layak dipertimbangkan jika performanya mendekati Chrony.
  • Diskusi tentang keamanan memori: Penekanan pada keamanan memori terasa agak aneh. NTPD punya sedikit vektor serangan dan sudah berjalan baik tanpa masalah memori. Lebih penting menulis ulang komponen yang lebih krusial dengan bahasa yang aman terhadap memori.
  • Pertanyaan tentang dependensi JSON: Bertanya-tanya mengapa NTPD memiliki dependensi pada JSON.
  • Usulan penulisan ulang BGP: Berikutnya akan bagus jika BGP ditulis ulang dengan bahasa yang aman terhadap memori.
  • Apakah ada yang memakai NTPsec: Penasaran apakah ada orang yang benar-benar menggunakan NTPsec.
  • Masalah pada server NTP: Masalah NTP ada pada server yang harus menangani paket UDP palsu, bukan pada klien. Skeptis terhadap kemungkinan NTPD menjadi khusus TCP. Sudah berhenti mengoperasikan server stratum 3 publik sejak 10 tahun lalu.