Projekt Tor je predstavil implementacijo v jeziku Rust, ki bo v prihodnosti nadomestil različico C

Razvijalci anonimnega omrežja Tor so predstavili projekt Arti, v okviru katerega poteka delo za ustvarjanje implementacije protokola Tor v jeziku Rust. Za razliko od implementacije C, ki je bila najprej zasnovana kot SOCKS proxy in nato prilagojena drugim potrebam, je Arti prvotno razvit v obliki modularne vdelane knjižnice, ki jo lahko uporabljajo različne aplikacije. Delo poteka že več kot eno leto s financiranjem iz programa nepovratnih sredstev Zcash Open Major Grants (ZOMG). Koda se distribuira pod licencama Apache 2.0 in MIT.

Razlogi za prepis Tora v Rust so v želji po doseganju višje stopnje varnosti kode z uporabo jezika, ki zagotavlja varno delovanje s pomnilnikom. Po mnenju razvijalcev Tor bo vsaj polovica vseh ranljivosti, ki jih spremlja projekt, odpravljena v implementaciji Rust, če koda ne uporablja "nevarnih" blokov. Rust bo prav tako omogočil doseganje hitrejših razvojnih hitrosti kot uporaba C, zaradi izraznosti jezika in strogih garancij, ki vam omogočajo, da se izognete izgubljanju časa z dvojnim preverjanjem in pisanjem nepotrebne kode. Poleg tega se pri razvoju novega projekta upoštevajo vse pretekle razvojne izkušnje Tor, s čimer se bomo izognili znanim arhitekturnim težavam in naredili projekt bolj modularen in učinkovit.

V trenutnem stanju se Arti že lahko poveže z omrežjem Tor, komunicira z imeniškimi strežniki in ustvari anonimizirane povezave na vrhu Tor s proxyjem, ki temelji na SOCKS. Razvoj še ni priporočljiv za uporabo v produkcijskih sistemih, ker niso implementirane vse funkcije zasebnosti in združljivost za nazaj na ravni API-ja ni zagotovljena. Prva z varnostjo združljiva različica odjemalca, ki podpira zaščitna vozlišča in izolacijo niti, naj bi bila izdana oktobra.

Prvo izdajo beta pričakujemo marca 2022 s poskusno implementacijo vdelane knjižnice in optimizacijami delovanja. Prva stabilna izdaja s stabilnim API-jem, CLI in obliko konfiguracije ter revizijo je načrtovana za sredino septembra 2022. Ta izdaja bo primerna za prvo uporabo splošnih uporabnikov. Posodobitev 2022 se pričakuje konec oktobra 1.1 s podporo za vtični transport in mostove za obhod blokad. Podpora za čebulne storitve je načrtovana za izdajo 1.2, doseganje paritete z odjemalcem C pa se pričakuje v izdaji 2.0, katere čas še ni določen.

V prihodnosti razvijalci napovedujejo postopno zmanjševanje aktivnosti, povezanih z razvojem kode C, in povečanje časa, namenjenega urejanju v Rustu. Ko implementacija Rust doseže raven, ki lahko nadomesti različico C, bodo razvijalci prenehali dodajati nove funkcije implementaciji C in jo čez nekaj časa popolnoma prenehali podpirati. Toda to se ne bo zgodilo kmalu in dokler implementacija v Rust ne doseže ravni popolne zamenjave, se bo razvoj odjemalca Tor in releja v C nadaljeval.

Vir: opennet.ru

Dodaj komentar