Projekat Tor predstavio je implementaciju na jeziku Rust, koji će u budućnosti zamijeniti C verziju

Programeri anonimne Tor mreže predstavili su projekat Arti u okviru kojeg se radi na izradi implementacije Tor protokola na jeziku Rust. Za razliku od C implementacije, koja je prvo dizajnirana kao SOCKS proxy, a zatim prilagođena drugim potrebama, Arti je prvobitno razvijen u obliku modularne biblioteke koja se može ugraditi koju mogu koristiti različite aplikacije. Rad je u toku više od godinu dana uz finansiranje iz programa grantova Zcash Open Major Grants (ZOMG). Kod se distribuira pod licencama Apache 2.0 i MIT.

Razlozi za prepisivanje Tora u Rust su želja da se postigne viši nivo sigurnosti koda korištenjem jezika koji osigurava siguran rad s memorijom. Prema Tor programerima, najmanje polovina svih ranjivosti koje prati projekat biće eliminisana u Rust implementaciji ako kod ne koristi „nebezbedne“ blokove. Rust će također omogućiti postizanje većih brzina razvoja od korištenja C-a, zbog izražajnosti jezika i strogih garancija koje vam omogućavaju da izbjegnete gubljenje vremena na dvostruku provjeru i pisanje nepotrebnog koda. Osim toga, prilikom razvoja novog projekta uzima se u obzir svo dosadašnje iskustvo razvoja Tor, čime će se izbjeći poznati arhitektonski problemi i projekt učiniti modularnijim i efikasnijim.

U svom trenutnom stanju, Arti se već može povezati na Tor mrežu, komunicirati sa serverima direktorija i kreirati anonimne veze na vrhu Tor-a sa proxy-jem zasnovanim na SOCKS-u. Razvoj se još ne preporučuje za upotrebu u proizvodnim sistemima, jer nisu implementirane sve karakteristike privatnosti i nije zagarantovana kompatibilnost unatrag na nivou API-ja. Prva verzija klijenta usklađena sa sigurnosnim standardima, koja podržava zaštitne čvorove i izolaciju niti, trebala bi biti objavljena u oktobru.

Prvo beta izdanje se očekuje u martu 2022. uz eksperimentalnu implementaciju ugrađene biblioteke i optimizacije performansi. Prvo stabilno izdanje, sa stabilnim API-jem, CLI i konfiguracijskim formatom, kao i revizijom, planirano je za sredinu septembra 2022. godine. Ovo izdanje će biti pogodno za početnu upotrebu od strane običnih korisnika. Ažuriranje 2022 se očekuje krajem oktobra 1.1. sa podrškom za plug-in transport i blokiranje mostova za zaobilaznicu. Podrška za onion servise je planirana za izdanje 1.2, a postizanje pariteta sa C klijentom se očekuje u izdanju 2.0, za koje vrijeme još nije određeno.

U budućnosti programeri predviđaju postepeno smanjenje aktivnosti vezanih za razvoj C koda i povećanje vremena posvećenog uređivanju u Rustu. Kada Rust implementacija dostigne nivo koji može zamijeniti C verziju, programeri će prestati da dodaju nove karakteristike C implementaciji i, nakon nekog vremena, prestat će je u potpunosti podržavati. Ali to se neće dogoditi uskoro, i dok implementacija u Rustu ne dostigne nivo potpune zamjene, razvoj Tor klijenta i releja u C-u će se nastaviti.

izvor: opennet.ru

Dodajte komentar