Utvecklarna av det anonyma nÀtverket Tor har presenterat projektet Arti, dÀr arbete pÄgÄr för att skapa en implementation av Tor-protokollet i Rust. Till skillnad frÄn implementationen i C, som först designades som en SOCKS-proxy och sedan anpassades för andra behov, utvecklas Arti frÄn början som en modulÀr, inbÀddad biblioteksform som olika applikationer kan anvÀnda. Arbetet har pÄgÄtt i över ett Är med finansiering frÄn Zcash Open Major Grants (ZOMG). Koden distribueras under licenserna Apache 2.0 och MIT.
Som skÀl för att skriva om Tor i Rust anges önskan att uppnÄ en högre sÀkerhetsnivÄ i koden genom att anvÀnda ett sprÄk som sÀkerstÀller sÀker hantering av minne. Enligt Tor-utvecklarna kommer minst hÀlften av alla sÄrbarheter som övervakas av projektet att uteslutas i Rust-implementationen, om inga "unsafe"-block anvÀnds i koden. Rust kommer ocksÄ att möjliggöra en snabbare utvecklingshastighet Àn vad som Àr möjligt med C, tack vare sprÄkets uttrycksfullhet och strikta garantier som gör att man slipper dubbelkontroller och onödig kod. Dessutom tas all tidigare erfarenhet frÄn Tor-utvecklingen i beaktande vid utvecklingen av det nya projektet, vilket kommer att möjliggöra att undvika kÀnda arkitektoniska problem och göra projektet mer modulÀrt och effektivt.
I sitt nuvarande tillstÄnd kan Arti redan ansluta till Tor-nÀtverket, sÀkerstÀlla interaktion med servrar kataloger och skapa anonymiserade anslutningar ovanpÄ Tor med tillhandahÄllande av en proxy baserad pÄ SOCKS-protokollet. Utvecklingen rekommenderas Ànnu inte för anvÀndning i produktionssystem, eftersom alla funktioner för att sÀkerstÀlla konfidentialitet inte Àr implementerade och bakÄtkompatibilitet pÄ API-nivÄ inte garanteras. Den första versionen av klienten, som uppfyller sÀkerhetskriterier, stödjer övervakningsnoder och isolering av strömmar, planeras att slÀppas i oktober.
I mars 2022 förvÀntas den första beta-versionen med en experimentell implementation av det inbyggda biblioteket och prestandaoptimeringar. Den första stabila versionen, med stabilt API, CLI och konfigurationsformat, samt en genomförd revision, Àr planerad till mitten av september 2022. Denna version kommer att vara anvÀndbar för grundlÀggande anvÀndning av vanliga anvÀndare. I slutet av oktober 2022 förvÀntas uppdatering 1.1 med stöd för plug-in transport och broar för att kringgÄ blockeringar. Stöd för onion-tjÀnster Àr planerat till version 1.2, medan uppnÄendet av paritet med klienten i C-sprÄket förvÀntas i version 2.0, vars tidsramar Ànnu inte har faststÀllts.
Framöver förutser utvecklarna en gradvis minskning av aktiviteten relaterad till kodutveckling i C-sprÄket, och en ökning av tiden som Àgnas Ät redigering i Rust. NÀr implementeringen i Rust nÄr en nivÄ som kan ersÀtta C-versionen, kommer utvecklarna att sluta lÀgga till nya funktioner i C-implementationen och efter en tid helt avsluta dess stöd. Men det kommer inte att hÀnda snart, och sÄ lÀnge implementationen i Rust inte nÄr nivÄn av en fullstÀndig ersÀttning kommer utvecklingen av Tor-klienten och relÀet i C att fortsÀtta.
KĂ€lla: opennet.ru
