Dezvoltatorii rețelei anonime Tor au lansat prima versiune beta (0.1.0) a proiectului Arti, care dezvoltă clientul Tor, scris în limbajul Rust. Proiectul are statut de dezvoltare experimentală, este în urma funcționalității clientului principal Tor scris în C și nu este încă pregătit să îl înlocuiască complet. În septembrie, este planificată formarea versiunii 1.0, cu stabilizarea API-ului, CLI-ului și setărilor, care va fi adecvată pentru utilizarea de bază de către utilizatorii obișnuiți. Într-un viitor mai îndepărtat, când codul în Rust va atinge un nivel capabil să înlocuiască complet varianta în C, dezvoltatorii intenționează să acorde lui Arti statutul de implementare principală a Tor și să oprească suportul pentru implementarea în C.
Spre deosebire de implementarea în C, care inițial a fost proiectată ca un proxy SOCKS și ulterior adaptată la alte nevoi, Arti se dezvoltă inițial sub forma unei biblioteci modulare încorporabile, pe care diverse aplicații o vor putea folosi. În plus, la dezvoltarea noului proiect se ia în considerare întreaga experiență anterioară de dezvoltare a Tor, ceea ce va permite evitarea problemelor arhitecturale cunoscute, făcând proiectul mai modular și eficient. Codul este distribuit sub licențele Apache 2.0 și MIT.
Printre motivele pentru rescrierea Tor în Rust se numără dorința de a obține un nivel mai ridicat de securitate a codului prin utilizarea unui limbaj care asigură lucrul sigur cu memoria. Potrivit estimărilor dezvoltatorilor de la Tor, cel puțin jumătate din toate vulnerabilitățile urmărite de proiect vor fi excluse în implementarea în Rust, dacă în cod nu sunt utilizate blocuri „unsafe”. Rust va permite, de asemenea, obținerea unei viteze de dezvoltare mai mari decât utilizarea C-ului, datorită expresivității limbajului și garanțiilor stricte, care permit economisirea timpului și evitarea verificărilor duble și a scrierii codului inutil.
Printre schimbările din versiunea 0.1.0 se remarcă stabilizarea de bază a API-urilor de nivel înalt și pregătirea bibliotecii pentru integrarea experimentală cu alte proiecte. Printre noutăți se menționează adăugarea unui API pentru crearea instanțelor TorClient, inclusiv posibilitatea montării și inițializării (bootstrap) în fundal la prima utilizare. În plus, a fost adăugat un nou API de nivel înalt pentru gestionarea erorilor.
Până la publicarea versiunii 1.0.0, dezvoltatorii intenționează să asigure în Arti suport complet pentru funcționarea ca și client Tor, care oferă acces la internet (implementarea suportului pentru servicii onion a fost amânată pentru viitor). De asemenea, se planifică atingerea parității cu implementarea principală în limbajul C în domenii precum performanța de rețea, încărcarea CPU și fiabilitatea, precum și asigurarea suportului pentru toate funcționalitățile legate de securitate.
Sursa: opennet.ro
