Proyek Tor menghadirkan implementasi dalam bahasa Rust, yang nantinya akan menggantikan versi C

Pengembang jaringan Tor anonim mempresentasikan proyek Arti, di mana pekerjaan sedang dilakukan untuk membuat implementasi protokol Tor dalam bahasa Rust. Berbeda dengan implementasi C yang pertama kali dirancang sebagai proxy SOCKS dan kemudian disesuaikan dengan kebutuhan lain, Arti pada awalnya dikembangkan dalam bentuk perpustakaan modular yang dapat disematkan yang dapat digunakan oleh berbagai aplikasi. Pekerjaan ini telah berlangsung selama lebih dari setahun dengan pendanaan dari program hibah Zcash Open Major Grants (ZOMG). Kode ini didistribusikan di bawah lisensi Apache 2.0 dan MIT.

Alasan penulisan ulang Tor di Rust adalah keinginan untuk mencapai tingkat keamanan kode yang lebih tinggi melalui penggunaan bahasa yang menjamin pengoperasian memori yang aman. Menurut pengembang Tor, setidaknya setengah dari semua kerentanan yang dipantau oleh proyek akan dihilangkan dalam implementasi Rust jika kode tersebut tidak menggunakan blok β€œtidak aman”. Rust juga akan memungkinkan untuk mencapai kecepatan pengembangan yang lebih cepat daripada menggunakan C, karena ekspresi bahasanya dan jaminan ketat yang memungkinkan Anda menghindari membuang waktu untuk memeriksa ulang dan menulis kode yang tidak perlu. Selain itu, ketika mengembangkan proyek baru, semua pengalaman pengembangan Tor di masa lalu juga diperhitungkan, yang akan menghindari masalah arsitektur yang diketahui dan menjadikan proyek lebih modular dan efisien.

Dalam kondisi saat ini, Arti sudah dapat terhubung ke jaringan Tor, berkomunikasi dengan server direktori, dan membuat koneksi anonim di atas Tor dengan proxy berbasis SOCKS. Pengembangan ini belum direkomendasikan untuk digunakan dalam sistem produksi, karena tidak semua fitur privasi diterapkan dan kompatibilitas ke belakang pada tingkat API tidak dijamin. Versi klien pertama yang memenuhi persyaratan keamanan, mendukung node penjaga dan isolasi thread, dijadwalkan akan dirilis pada bulan Oktober.

Rilis beta pertama diharapkan pada Maret 2022 dengan implementasi eksperimental perpustakaan tertanam dan optimalisasi kinerja. Rilis stabil pertama, dengan API stabil, CLI dan format konfigurasi, serta audit, direncanakan pada pertengahan September 2022. Rilis ini akan cocok untuk penggunaan awal oleh pengguna umum. Pembaruan 2022 diharapkan pada akhir Oktober 1.1 dengan dukungan untuk transportasi plug-in dan jembatan untuk melewati pemblokiran. Dukungan untuk layanan bawang direncanakan pada rilis 1.2, dan pencapaian keseimbangan dengan klien C diharapkan terjadi pada rilis 2.0, yang waktunya belum ditentukan.

Di masa depan, pengembang memperkirakan penurunan bertahap dalam aktivitas terkait pengembangan kode di C, dan peningkatan waktu yang dicurahkan untuk pengeditan di Rust. Ketika implementasi Rust mencapai tingkat yang dapat menggantikan versi C, pengembang akan berhenti menambahkan fitur baru ke implementasi C dan, setelah beberapa waktu, berhenti mendukungnya sepenuhnya. Namun hal ini tidak akan terjadi dalam waktu dekat, dan hingga implementasi di Rust mencapai tingkat penggantian penuh, pengembangan klien Tor dan relay di C akan terus berlanjut.

Sumber: opennet.ru

Tambah komentar