Programeri Tor mreže objavili su izdanje projekta Arti 1.2.0, koji razvija Tor klijent napisan na jeziku Rust. Grana 1.x označena je kao prikladna za korištenje od strane općih korisnika i pruža istu razinu privatnosti, upotrebljivosti i stabilnosti kao glavna C implementacija. Kod se distribuira pod licencama Apache 2.0 i MIT.
Za razliku od C implementacije, koja je prvo osmišljena kao SOCKS proxy, a zatim prilagođena drugim potrebama, Arti je inicijalno razvijen u obliku modularne knjižnice koja se može ugraditi i koju mogu koristiti različite aplikacije. Osim toga, prilikom razvoja novog projekta, sva dosadašnja iskustva u razvoju Tor-a uzimaju se u obzir, čime se izbjegavaju poznati arhitektonski problemi i projekt čini modularnijim i učinkovitijim. Kada Rust kod dosegne razinu koja može u potpunosti zamijeniti C verziju, programeri Artiju namjeravaju dati status glavne implementacije Tora i prestati održavati C implementaciju.
Navedeni razlog za ponovno pisanje Tor-a u Rustu je želja da se postigne viša razina sigurnosti koda korištenjem jezika koji je siguran za memoriju. Prema programerima Tor-a, korištenje Rust jezika bez "nesigurnih" blokova spriječit će pojavu barem polovice svih tipičnih ranjivosti u projektu. Rust će također omogućiti postizanje većih brzina razvoja od korištenja C-a, zbog izražajnosti jezika i strogih jamstava koja vam omogućuju da izbjegnete gubljenje vremena na dvostruku provjeru i pisanje nepotrebnog koda.
Izdanje Artija 1.2 značajno je po implementaciji stabilne podrške za onion usluge. Koristeći Arti, sada se ne možete samo povezati s postojećim onion uslugama, već i stvoriti vlastite onion usluge.
Rad je započeo, ali još nije dovršen, na povezanim mogućnostima povezanim s privatnošću i sigurnošću onion usluga, kao što su RTT Congestion Control, DDoS zaštita, prigušivanje propusnosti, autorizacija klijenta i Vanguard » za sprječavanje otkrivanja čvorova Guard. Dok se implementacija ovih značajki ne dovrši, izrada onion usluga temeljenih na Artiju ne preporučuje se za proizvodne implementacije.
Nova verzija također popravlja ranjivost u kodu za obradu relejnih poruka uzrokovanu mogućnošću slanja praznih DATA poruka, koje se mogu koristiti za zamjenu nedetektabilnih indikatora prometa. Problem je ocijenjen kao Nisko jer se DATA paketi prihvaćaju samo za niti koje su već otvorene.
Postizanje pariteta s C klijentom planirano je za granu 2.0, koja će također nuditi povezivanja za korištenje Artija u kodu u različitim programskim jezicima. Kada Rust kod dosegne razinu koja može u potpunosti zamijeniti C verziju, programeri Artiju namjeravaju dati status glavne implementacije Tora i prestati održavati C implementaciju. C verzija će se postupno ukidati kako bi se omogućila glatka migracija.
Izvor: opennet.ru
