4 puan yazan GN⁺ 2025-12-14 | 2 yorum | WhatsApp'ta paylaş
  • Tor ağının çekirdek kodu, mevcut C dilinden Rust tabanlı Arti'ye geçiriliyor
  • Mevcut C kodunda buffer overflow, use-after-free, bellek bozulması gibi güvenlik açıkları bulunuyor
  • Yeni sürüm Arti 1.8.0, devre zaman aşımı tasarımını yeniden düzenleyerek öngörülebilir kalıpları ortadan kaldırıyor ve izleme riskini azaltıyor
  • Onion hizmeti operatörlerinin, C tabanlı Tor’dan Arti’ye anahtarları otomatik olarak taşıyabilmesi için yeni bir komut eklendi
  • Bu geçiş, Tor projesi için güvenlik ve kararlılığı artırmaya yönelik önemli bir teknik ilerleme niteliği taşıyor

Arti 1.8.0’daki başlıca değişiklikler

  • Bu sürümün odağında devre zaman aşımının yeniden işlenmesi (circuit timeout rework) yer alıyor

    • Mevcut Tor’daki Circuit Dirty Timeout (CDT), devrenin ne zaman sonlandırılacağını tek bir zamanlayıcıyla kontrol ediyordu
    • Bu yöntem öngörülebilirdi ve trafik gözlemcilerinin kalıpları tanımlamasına olanak tanıyordu
    • Arti 1.8.0, kullanım tabanlı zaman aşımı ve ayrı zamanlayıcılar getirerek devrelerin yeni bağlantıları kabul ederken veya boşta kaldıklarında rastgele zamanlarda kapanmasını sağlıyor
    • Böylece parmak iziyle izleme (fingerprinting) riski azaltılıyor
  • Yeni deneysel arti hsc ctor-migrate komutu eklendi

    • Onion hizmeti operatörleri, kısıtlı keşif anahtarlarını (restricted discovery keys) C tabanlı Tor’dan Arti’nin anahtar deposuna (keystore) taşıyabiliyor
    • Bu anahtarlar istemci kimlik doğrulaması için kullanılıyor ve yeni komut, elle işlem yapmadan otomatik taşıma desteği sunuyor
  • Ek iyileştirmeler

    • Yönlendirme mimarisi, protokol uygulaması, dizin önbelleği desteği, OR port dinleyici yapılandırması gibi birçok iç bileşen geliştirildi
    • Ayrıntılı değişiklikler, Arti 1.8.0’ın resmi değişiklik günlüğünde görülebilir

Rust geçişinin arka planı

  • Tor ağı, 2000’lerin başından bu yana C dili tabanlı olarak çalışıyor
  • Ancak C kod tabanı, bellek güvenliği sorunları nedeniyle sürekli güvenlik açıkları üretiyordu
  • Bu nedenle Tor projesi, Rust’ın bellek güvenliğinden yararlanan Arti yeniden yazım projesini sürdürüyor
  • Arti, Tor’un işlevlerini Rust ile yeniden uygulayarak güvenlik, kararlılık ve bakım kolaylığını güçlendirmeyi hedefliyor

Teknik önemi

  • Rust’a geçiş, Tor’un anonimlik sağlama yapısını temelden güçlendiren bir yönelim anlamına geliyor
  • Öngörülebilir devre davranışının ortadan kaldırılması ve anahtar yönetiminin otomatikleştirilmesi, kullanıcı gizliliği koruma düzeyinin artmasına katkı sağlıyor
  • Arti’nin sürekli güncellenmesi, C tabanlı Tor’un kademeli olarak yerini almasının hızlandığına işaret ediyor

2 yorum

 
GN⁺ 2025-12-14
Hacker News yorumları
  • Kısa süre önce EFF'nin Cover Your Tracks testini denedim; Tor Browser'da JS kapalıyken parmak izi takibine tamamen dirençli görünen tek durum buydu.
    JS açık Tor bile yalnızca “kısmen” dirençli olarak değerlendirildi; Firefox ise JS kapalı olsa bile iyi bir sonuç vermedi. Oldukça ürkütücü bir sonuç, başkalarının deneylerini de merak ediyorum

    • Bu aracın parmak izi korumasını ölçme yöntemi kusurlu. Rastgeleleştirme kullanan korumaları olduğundan düşük değerlendiriyor, yalnızca binning yaklaşımını yüksek puanlıyor.
      Tersine, fingerprinting.com/demo gibi yalnızca kalıcılığı test eden araçlar da sorunlu.
      Asıl tehlike işareti, her iki testte de başarısız olmak
    • macOS Safari ile test ettiğimde “web takibine karşı güçlü koruma” sonucu aldım.
      Yine de Tor Browser kesinlikle dikkat çekiyor, ancak yalnızca bu teste bakarak Tor kullanıcıları arasında parmak izi ayrımı yapmanın kolay olduğu söylenemez
    • Tor Browser, canvas boyutunu yuvarlama gibi yöntemlerle parmak izi kovalarını genişletmeye çalışıyor. Sonuçta kaçınılmaz olan en geniş kova “Tor kullanıcısı”nın kendisi
    • Debian'da varsayılan ayarlı Tor Browser ile test ettiğimde 8,24 bitlik tanımlayıcı bilgi çıktı.
      Güvenlik seviyesi arttıkça tanımlayıcı bitler de artıyor, ancak JS tamamen kapatılınca yeniden düşüyor.
      Yani JS'yi devre dışı bırakmak en yüksek anonimliğe yol açıyor
  • Keşke Mozilla, Firefox'un Rust'a geçişini (oxidizing) daha fazla sürdürseydi. Rust ekosistemi için de olumlu olurdu, biraz yazık olmuş

    • Yine de Chrome ekibi Rust benimsemeyi hâlâ sürdürüyor
    • Mozilla'nın çok sayıda Rust geliştiricisini işten çıkarmasından sonra bile Firefox kodundaki Rust oranı %12'nin üzerine çıktı. Chromium'da ise bu oran %4'ün altında, yani görece daha düşük
      Eğer Rust Mozilla'nın “gizli silahı” olarak kalsaydı, Rust'ın yayılması belki de daha yavaş olabilirdi
    • Servo projesinin başarısızlığı bence Rust'ın değil, Mozilla'nın kurum içi sınırlarının sonucuydu
  • Rust kullanmak onların problemlerini çözmeye yardımcı olacaksa, bunun makul bir tercih olduğunu düşünüyorum.
    Diller; projeye, ekibe ve probleme göre uyarlanan araçlardır

    • Böyle “dil geçişi” hikâyelerinden ziyade bağımlılık optimizasyonu veya performans iyileştirmesi gibi konular çoğu zaman daha ilginç oluyor
    • Asıl blog yazısı C'yi kötülemiyordu; bu yüzden bunu özellikle gündeme getirmenin gerekli olmadığını düşünüyorum
    • Bellek güvenli dilllerin güvenlik açısından teknik olarak üstün olduğu apaçık bir gerçek.
      Bu, Rust fanboyluğu değil; daha çok doktorların ya da pilotların kontrol listelerini reddettiği dönemlerdeki dirence benzeyen bir durum
    • Rust bu vaka için uygun, ama çoğu UI projesi için uygun değil.
      UI tarafında hızlı iterasyon ve GC önemli, performans ise daha az kritik. Rust ile UI yazmak bakım cehennemine dönüşebilir
    • “Her şeyi Rust ile baştan yazalım” tavrını sevmiyorum ama Tor için Rust doğru araç.
      Çünkü Tor, hem güvenliğin hem performansın önemli olduğu çok iş parçacıklı bir ortam.
      Zig bir alternatif olabilir ama henüz yeterince olgun değil. Tigerbeetle gibi determinism odaklı yaklaşımlar da ilginç
  • Tor projesine dair en büyük şikâyetim yavaşlık. Rust'a geçince hızlanacakmış gibi gelmiyor

    • Onion routing'de gizlilik ile performans arasında bir ödünleşim var. Gecikmenin büyük kısmı ağdan kaynaklanıyor
    • Tor'un yavaşlığı koddan çok düğüm sayısının azlığından geliyor. Yeni sürüm daha güvenli olabilir ama daha hızlı değil
    • Trafik dünyanın etrafında iki tur atıyormuş gibi bir yapı var; dolayısıyla gecikme fiziksel olarak kaçınılmaz. Sonuçta mesele ışık hızı sınırı
    • Tor, anonimlik sağlamak için var; video akışı için değil
    • Hızlı anonim bir ağ kurmak son derece zor. Yine de son dönemde Tor eskisine göre çok daha hızlı oldu ve yalnızca onion içinde faaliyet göstermek anonimliğin artmasına yardımcı oluyor
  • Bu Rust geçişi, Zcash Community Grants desteğiyle gerçekleşti. Kripto para AR-GE'sinden de iyi sonuçlar çıkabiliyor

    • Pecunia non olet” (paranın kokusu olmaz) sözü aklıma geliyor; yani para paradır.
      Ama kripto paranın idrardan bile kötü olabileceğine dair şakalı bir benzetme de eklenmiş
  • Tor exit düğümü işletirken hukuki risk endişe veriyor. Sadece whitelist tabanlı izin verecek bir yöntem olup olmadığını merak ediyorum

    • Tor'un resmi blogundaki exit düğümü işletme rehberi faydalı olabilir.
      Mümkünse kurum adına kayıt öneriliyor; daha güvenli bir katkı içinse relay işletmek daha iyi
    • Hukuki dikkat çekmek istemiyorsanız bridge işletmek de bir seçenek.
      Ya da guard/middle relay çalıştırmak ağa ciddi katkı sağlar
    • exit düğümü zorlayıcı, ama bant genişliğini Linux ISO torrentleri veya açık harita tile sunucuları barındırarak da bağışlayabilirsiniz.
      Yalnız bazı Çin ASN'lerini engellemek gerekiyor; sahte indirme trafiği çok oluyor
  • Rust benimsemesi, sanki eski bir kalenin ahşap direklerini çelikle değiştirme süreci gibi.
    Tor'un C tabanlı kodu onlarca yıllık güvenlik tavizlerini ve performans izlerini taşıyor; bu yüzden kademeli Rustlaştırma, güvenliği artırmanın en gerçekçi yolu
    Mesele “tam yeniden yazım” değil, bellek açısından güvensiz alanları küçültmek.
    Yüksek riskli ayrıştırma, kriptografi ve protokol sınırı bölümleri Rust'a taşınırsa Tor daha sağlam hale gelir
    Gelecekte Rust tabanlı pluggable transport ya da hibrit runtime yönünde ilerlemesi de ilginç olabilir

  • Aslında bu karar yeni değil. Tor, 2020'de Rust tabanlı Arti projesini başlattı ve 2022'de Arti 1.0 duyuruldu
    C kod tabanını kademeli olarak refactor etmenin zor olduğuna karar verdiler ve Rust'ın geliştirme hızı, taşınabilirlik ve katkıcı çekme gücünden memnun kaldılar
    Yakın tarihli Arti changelog da geliştirme çalışmalarının aktif biçimde sürdüğünü gösteriyor

    • Arti, kütüphane olarak başka uygulamalara gömülebilecek şekilde tasarlandı.
      Örneğin bir mesajlaşma uygulaması, ayrı bir Tor daemon olmadan ağı kullanabilir. Bence asıl büyük değişim bu
    • Başlığın biraz abartılı olduğunu düşünenler de var. Tor ekibi bunu uzun süredir dikkatli biçimde yürütüyordu
    • Bu bağlantı, asıl kaynaktan çok daha iyi bir referans gibi. “Neden Rust?” tartışmasını peşinen kapatacak kadar net bir strateji ortaya koyuyor
    • Rust'ın C'den işletim sistemleri arası taşınabilirlik açısından gerçekten daha iyi olup olmadığı da sorgulanıyor
  • Tor, tek bir kavram değil; protokolü (onion routing), ağı ve referans implementasyonu birlikte ifade eden bir ad

    • Onion routing protokoldür; Tor ise bunun üzerindeki ağ ve implementasyondur
    • Tor, gerçekten indirilebilen bir üründür ve birden fazla bileşenden oluşur
    • “Tor'u Rust ile yeniden yazıyorlar” ifadesi tamamen yanlış sayılmaz
  • Tor'u Fil-C ile derleyip bellek güvenliğini bedavaya elde edebileceklerine dair yarı şakalı bir öneri de vardı

    • Ancak bu geçiş, Fil-C ortaya çıkmadan önce başlamış bir projeydi