6 puan yazan GN⁺ 2024-06-25 | 1 yorum | WhatsApp'ta paylaş
  • Let's Encrypt, işletim sistemi ve ağ altyapısının büyük bölümünün C ve C++ gibi güvenli olmayan dillerle yazılmış olmasından uzun süredir endişe duyuyordu
  • CA yazılımı bellek güvenli Golang ile yazılmış olsa da, OS/ağ tarafında bellek güvenliği eksik olduğundan yama gerektiren güvenlik açıkları rutin olarak ortaya çıkıyordu
  • 2020'de önemli yazılım altyapılarını bellek güvenli hale getirmeyi hedefleyen Prossimo projesi başlatıldı

Prossimo projesinin başlıca çıktıları

  • Rustls TLS kütüphanesi, Hickory DNS, River ters proxy'si, sudo-rs, Linux çekirdeğinde Rust desteği ve ntpd-rs dahil çeşitli yazılım bileşenlerine yatırım yapıldı
  • Kısa süre önce Let's Encrypt altyapısına Prossimo'nun ilk bellek güvenli yazılımı olan ntpd-rs dağıtıldı

ntpd-rs neden önemli?

  • Çoğu işletim sistemi doğru zamanı belirlemek için Ağ Zaman Protokolü'nü (NTP) kullanır
  • Zaman takibi, OS'nin kritik görevlerinden biridir ve internetle etkileşime girdiği için NTP uygulamalarının güvenliği önemlidir
  • Nisan 2022'de Prossimo, bellek güvenli ve daha emniyetli bir NTP uygulaması olan ntpd-rs üzerinde çalışmaya başladı
  • Nisan 2024'te ntpd-rs, Let's Encrypt'in staging ortamına dağıtıldı ve şu anda production ortamında kullanılıyor

Gelecek planları

  • Önümüzdeki birkaç yıl içinde Let's Encrypt altyapısındaki C veya C++ yazılımlarını bellek güvenli alternatiflerle değiştirmeyi planlıyorlar
    • OpenSSL ve türevlerini Rustls ile değiştirmek
    • DNS yazılımlarını Hickory ile değiştirmek
    • Nginx'i River ile değiştirmek
    • sudoyu sudo-rs ile değiştirmek

GN⁺ görüşü

  • Bellek güvenliğinin önemi: Bellek güvenli dillerle yazılmış yazılımlar, güvenlik açıklarını azaltmada büyük fayda sağlar.
  • Rust'ın avantajları: Rust, bellek güvenliğini garanti ederken yüksek performans da sunduğu için güvenliğe duyarlı birçok yazılım için uygundur.
  • Topluluğun rolü: Açık kaynak projelerde topluluk katkıları kritik önemdedir ve Let's Encrypt de bunun istisnası değildir.
  • Teknoloji benimserken dikkat edilmesi gerekenler: Yeni teknoloji kullanıma alınırken mevcut sistemlerle uyumluluk, öğrenme eğrisi gibi unsurlar göz önünde bulundurulmalıdır.
  • Güvenliği güçlendirme ihtiyacı: İnternet altyapısının güvenliğini artırmak, genel internet ekosisteminin güvenliğine katkı sağlar.

1 yorum

 
GN⁺ 2024-06-25
Hacker News görüşü
  • NTPD’yi Rust ile uygulama fikri: NTPD’yi Rust ile uygulama fikri ilgisini çekiyor. Performansla ilgili veri arıyor; özellikle ağ sorunları yaşanırken zaman senkronizasyonu performansını merak ediyor. Chrony ile karşılaştırma da görmek istiyor.
  • NTP sorununun karmaşıklığı: NTP hâlâ tamamen çözülmüş bir sorun değil ve bellek güvenliğinden çok performans daha önemli. Chrony, sistemin varsayılan NTP’sinden çok daha iyi olduğu için onu kullanıyor.
  • Bir Rust meraklısının görüşü: Bir Rust meraklısı olarak, ntpd-rs’nin Chrony’nin performansına yaklaşması hâlinde değerlendirmeye değer olacağını düşünüyor.
  • Bellek güvenliği tartışması: Bellek güvenliğinin bu kadar vurgulanması tuhaf geliyor. NTPD’nin saldırı vektörü az, bellek sorunları olmadan da iyi çalışıyor. Daha önemli bileşenlerin bellek güvenli bir dille yeniden yazılması gerektiğini düşünüyor.
  • JSON bağımlılığı sorusu: NTPD’nin neden JSON bağımlılığına sahip olduğunu merak ediyor.
  • BGP’yi yeniden yazma önerisi: Sıradaki adım olarak BGP’nin bellek güvenli bir dille yeniden yazılmasının iyi olacağını söylüyor.
  • NTPsec kullanım durumu: NTPsec’i gerçekten kullanan biri olup olmadığını merak ediyor.
  • NTP sunucusu sorunu: NTP’de asıl sorun istemci tarafında değil, sahte UDP paketlerini işlemek zorunda olan sunucuda. NTPD’nin yalnızca TCP’ye geçmesi ihtimaline kuşkuyla yaklaşıyor. 10 yıl önce herkese açık bir stratum 3 sunucusu çalıştırmayı bırakmış.