Proyek Tor sedang beralih ke Rust
(itsfoss.com)- Kode inti jaringan Tor sedang dialihkan dari bahasa C yang lama ke Arti berbasis Rust
- Basis kode C lama memiliki kerentanan seperti buffer overflow, use-after-free, dan kerusakan memori
- Versi baru Arti 1.8.0 menghapus pola yang dapat diprediksi dan mengurangi risiko pelacakan melalui perancangan ulang timeout sirkuit
- Ditambahkan perintah baru yang memungkinkan operator layanan onion untuk memigrasikan kunci secara otomatis dari Tor berbasis C ke Arti
- Peralihan ini merupakan kemajuan teknis penting bagi proyek Tor untuk meningkatkan keamanan dan stabilitas
Perubahan utama di Arti 1.8.0
-
Inti dari rilis ini adalah penerapan circuit timeout rework
- Circuit Dirty Timeout (CDT) pada Tor lama mengendalikan kapan sirkuit diakhiri dengan satu timer tunggal
- Pendekatan ini dapat diprediksi sehingga pengawas lalu lintas bisa mengidentifikasi polanya
- Arti 1.8.0 memperkenalkan timeout berbasis penggunaan dan timer individual, sehingga sirkuit diakhiri pada waktu acak saat menerima koneksi baru atau ketika sedang idle
- Ini mengurangi risiko fingerprinting
-
Ditambahkan perintah eksperimental
arti hsc ctor-migrate- Operator layanan onion dapat memindahkan restricted discovery keys dari Tor berbasis C ke keystore milik Arti
- Kunci-kunci ini digunakan untuk autentikasi klien, dan perintah baru tersebut mendukung migrasi otomatis tanpa pekerjaan manual
-
Peningkatan tambahan
- Berbagai komponen internal juga ditingkatkan, termasuk arsitektur routing, implementasi protokol, dukungan cache direktori, dan konfigurasi listener port OR
- Rincian perubahan dapat dilihat di log perubahan resmi untuk Arti 1.8.0
Latar belakang peralihan ke Rust
- Jaringan Tor telah beroperasi dengan basis bahasa C sejak awal 2000-an
- Namun, basis kode C terus menimbulkan kerentanan keamanan karena masalah keamanan memori
- Karena itu, proyek Tor sedang mendorong proyek penulisan ulang Arti dengan memanfaatkan keamanan memori Rust
- Arti mengimplementasikan ulang fungsi Tor dalam Rust dengan tujuan memperkuat keamanan, stabilitas, dan kemudahan pemeliharaan
Makna teknis
- Peralihan ke Rust mengarah pada penguatan mendasar terhadap struktur jaminan anonimitas Tor
- Penghapusan perilaku sirkuit yang dapat diprediksi dan otomatisasi pengelolaan kunci membantu meningkatkan tingkat perlindungan privasi pengguna
- Pembaruan Arti yang berkelanjutan dinilai sebagai sinyal percepatan penggantian bertahap Tor berbasis C
2 komentar
Rilis Arti 1.0.0 - implementasi Tor yang ditulis dengan Rust
Komentar Hacker News
Baru-baru ini saya mencoba tes EFF Cover Your Tracks, dan hasilnya menunjukkan bahwa hanya browser Tor dengan JS dimatikan yang sepenuhnya tahan terhadap pelacakan sidik jari
Bahkan Tor dengan JS aktif dinilai hanya tahan “sebagian”, dan Firefox tidak memberikan hasil meski JS dimatikan. Hasilnya cukup menyeramkan, jadi saya penasaran dengan percobaan orang lain
Sebaliknya, alat yang hanya menguji persistensi seperti fingerprinting.com/demo juga bermasalah.
Sinyal bahaya yang sebenarnya adalah jika gagal di kedua tes tersebut
Namun, walaupun browser Tor memang cukup mencolok, dari tes ini saja belum tentu bisa disimpulkan bahwa pembedaan sidik jari antar pengguna Tor itu mudah
Semakin tinggi level keamanan, justru bit identifikasi bertambah, lalu turun lagi ketika JS dimatikan sepenuhnya.
Artinya, menonaktifkan JS memberikan anonimitas tertinggi
Rasanya akan bagus jika Mozilla melanjutkan transisi Firefox ke Rust (oxidizing) lebih jauh lagi. Itu juga akan berdampak positif bagi ekosistem Rust, jadi agak disayangkan
Kalau Rust tetap menjadi ‘senjata rahasia’ Mozilla, penyebaran Rust justru mungkin akan lebih lambat
Jika penggunaan Rust membantu mereka memecahkan masalah, itu adalah pilihan yang rasional.
Bahasa adalah alat yang cocoknya berbeda tergantung proyek, tim, dan masalah yang dihadapi
Ini bukan klaim fanboy Rust, melainkan bentuk resistensi yang mirip dengan masa ketika dokter atau pilot menolak checklist
UI butuh iterasi cepat dan GC itu penting, sementara performa kurang penting. Menulis UI dengan Rust bisa menjadi neraka pemeliharaan
Karena Tor adalah lingkungan multithreaded di mana keamanan dan performa sama-sama penting.
Zig bisa jadi alternatif, tetapi belum cukup matang. Pendekatan yang menekankan determinisme seperti Tigerbeetle juga menarik
Keluhan terbesar terhadap proyek Tor adalah penurunan kecepatan. Dipindah ke Rust tampaknya tidak akan membuatnya lebih cepat
Transisi ke Rust kali ini didukung oleh Zcash Community Grants. Bahkan dari R&D kripto pun bisa muncul hasil yang bagus
Meski begitu, ditambahkan juga candaan bahwa kripto mungkin lebih buruk daripada urine
Saya khawatir soal risiko hukum saat menjalankan exit node Tor. Saya penasaran apakah ada cara untuk hanya mengizinkan akses berbasis whitelist
Kalau memungkinkan, disarankan mendaftarkannya atas nama organisasi, dan jika ingin membantu dengan cara yang lebih aman maka menjalankan relay lebih baik
Atau jalankan guard/middle relay karena itu sangat membantu jaringan
Hanya saja, beberapa ASN di China perlu diblokir. Trafik unduhan palsu cukup banyak
Adopsi Rust ini terasa seperti proses mengganti tiang kayu di benteng tua dengan baja.
Basis kode Tor yang berbasis C menyimpan jejak kompromi keamanan dan performa selama puluhan tahun, jadi peralihan bertahap ke Rust adalah cara paling realistis untuk meningkatkan keamanan
Intinya bukan “menulis ulang total”, melainkan mengurangi area yang tidak aman terhadap memori.
Jika hanya bagian berisiko tinggi seperti parsing, kriptografi, dan batas protokol yang dipindahkan ke Rust, Tor akan menjadi jauh lebih tangguh
Menarik juga membayangkan apakah ke depannya ini akan berkembang menjadi plugin transport berbasis Rust atau runtime hibrida
Sebenarnya keputusan ini bukan hal baru. Tor memulai proyek Arti berbasis Rust pada 2020, dan pada 2022 mengumumkan Arti 1.0
Mereka menilai bahwa merapikan basis kode C secara bertahap sulit dilakukan, dan merasa puas dengan kecepatan pengembangan, portabilitas, dan masuknya kontributor yang dibawa Rust
Baru-baru ini pun, menurut changelog Arti, pengembangannya masih sangat aktif
Misalnya, aplikasi pesan bisa memanfaatkan jaringannya tanpa daemon Tor terpisah. Menurut saya, itu perubahan yang lebih besar
Tor bukan sekadar konsep, melainkan nama yang mencakup protokol (onion routing), jaringan, dan juga implementasi referensi
Ada usulan bercanda bahwa jika Tor dikompilasi dengan Fil-C, bukankah keamanan memori bisa didapat gratis