Dezvoltatorii rețelei Tor au publicat versiunea 1.2.0 a proiectului Arti, care dezvoltă clientul Tor, scris în limbajul Rust. Ramura 1.x este marcată ca fiind adecvată pentru utilizatorii obișnuiți și oferă același nivel de confidențialitate, utilizabilitate și stabilitate ca și implementarea principală în limbajul C. Codul este distribuit sub licențele Apache 2.0 și MIT.
Spre deosebire de implementarea în C, care a fost inițial proiectată ca un proxy SOCKS și ulterior ajustată pentru alte nevoi, Arti se dezvoltă inițial sub forma unei biblioteci modulare încorporabile, care va putea fi utilizată de diverse aplicații. În plus, dezvoltarea noului proiect ia în considerare toată experiența anterioară în dezvoltarea Tor, ceea ce permite evitarea problemelor arhitecturale cunoscute, făcând proiectul mai modular și eficient. Când codul în Rust va atinge un nivel capabil să înlocuiască complet varianta în C, dezvoltatorii intenționează să acorde Arti statutul de implementare principală Tor și să oprească suportul pentru implementarea în C.
Ca motiv pentru rescrierea Tor în Rust se menționează dorința de a obține un nivel mai ridicat de siguranță a codului prin utilizarea unui limbaj care asigură o manipulare sigură a memoriei. Potrivit evaluării dezvoltatorilor Tor, utilizarea limbajului Rust fără blocuri „unsafe” va permite să se evite apariția a cel puțin jumătate dintre toate vulnerabilitățile tipice din proiect. Rust va oferi, de asemenea, posibilitatea de a obține o viteză de dezvoltare mai mare decât prin utilizarea limbajului C, datorită expresivității limbajului și garanțiilor stricte care permit economisirea timpului în verificări duble și scrierea codului suplimentar.
Lansarea Arti 1.2 se remarcă prin implementarea suportului stabil pentru serviciile onion. Cu ajutorul Arti, acum nu doar că poți să te conectezi la serviciile onion existente, dar poți și să creezi propriile tale servicii onion.
A început, dar nu este încă finalizată, implementarea funcționalităților asociate legate de asigurarea confidențialității și protecția serviciilor onion, precum protocolul de control al congestiei (RTT Congestion Control), mijloacele de apărare împotriva atacurilor DDoS, reglementarea lățimii de bandă, autorizarea clienților și mecanismul „Vanguard” pentru prevenirea identificării nodurilor Guard. Până la finalizarea implementării acestor funcționalități, crearea serviciilor onion pe baza Arti nu este recomandată pentru implementări de lucru.
În noua versiune a fost eliminată, de asemenea, o vulnerabilitate în codul de procesare a mesajelor de la relays, cauzată de posibilitatea trimiterii mesajelor DATA goale, care pot fi utilizate pentru substituirea indicatorilor de trafic nedetectabili. Problemei i-a fost atribuit un nivel scăzut de pericol, deoarece pachetele DATA sunt acceptate doar pentru fluxurile deja deschise.
Realizarea parității cu clientul în limbajul C este programată în ramura 2.0, în care vor fi oferite și legături pentru utilizarea Arti în codul din diverse limbaje de programare. Când codul în Rust va atinge un nivel capabil să înlocuiască complet varianta în C, dezvoltatorii intenționează să acorde Arti statutul de implementare principală a Tor și să oprească suportul pentru implementarea în C. Suportul pentru versiunea în limbajul C va fi oprit treptat, asigurându-se o migrare lină.
Sursa: opennet.ro
