Utvecklarna av Tor-nÀtverket har offentliggjort utgÄvan av projektet Arti 1.2.0, som utvecklar en Tor-klient skriven i Rust. Version 1.x har mÀrkts som lÀmplig för vanliga anvÀndare och erbjuder samma nivÄ av sekretess, anvÀndarvÀnlighet och stabilitet som den huvudsakliga implementationen skriven i C. Koden distribueras under licenserna Apache 2.0 och MIT.
Till skillnad frÄn implementationen i C, som först designades som en SOCKS-proxy och sedan justerades för andra behov, utvecklas Arti frÄn början som ett modulÀrt, inbÀddat bibliotek som olika applikationer kan anvÀnda. Dessutom beaktas all tidigare erfarenhet frÄn Tor-utvecklingen vid skapandet av det nya projektet, vilket gör det möjligt att undvika kÀnda arkitektoniska problem och göra projektet mer modulÀrt och effektivt. NÀr koden i Rust nÄr en nivÄ som helt kan ersÀtta C-versionen, planerar utvecklarna att ge Arti status som huvudimplementation av Tor och upphöra med underhÄllet av C-implementationen.
Som anledning till att skriva om Tor i Rust nÀmns önskan att uppnÄ en högre sÀkerhetsnivÄ för koden genom att anvÀnda ett sprÄk som erbjuder sÀker hantering av minne. Enligt Tor-utvecklarna kommer anvÀndningen av Rust utan 'unsafe'-block att förhindra minst hÀlften av alla typiska sÄrbarheter i projektet. Rust kommer ocksÄ att möjliggöra en högre utvecklingshastighet Àn vid anvÀndning av C, tack vare sprÄkets uttrycksfullhet och strikta garantier som gör att man slipper dubbelkontroller och skrivning av överflödig kod.
UtgÄvan av Arti 1.2 Àr anmÀrkningsvÀrd för sin stabila stöd för onion-tjÀnster. Med Arti kan man nu inte bara ansluta till befintliga onion-tjÀnster, utan Àven skapa sina egna onion-tjÀnster.
Arbetet med att genomföra relaterade funktioner för att sÀkerstÀlla integritet och skydd av onion-tjÀnster har pÄbörjats, men inte slutförts. Detta inkluderar protokollet för överbelastningskontroll (RTT Congestion Control), skydd mot DDoS-attacker, bandbreddsreglering, kundautorisering och mekanismen "Vanguard" för att förhindra identifiering av Guard-noder. Tills dessa funktioner Àr fÀrdiga rekommenderas det inte att skapa onion-tjÀnster baserade pÄ Arti för produktionsÀndamÄl.
I den nya versionen har ocksÄ en sÄrbarhet i koden för hantering av meddelanden frÄn relÀer ÄtgÀrdats, orsakad av möjligheten att skicka tomma DATA-meddelanden, som kan anvÀndas för att injicera obestÀmda trafikindikatorer. Problemet bedöms ha lÄg farlighet, eftersom DATA-paket endast accepteras för redan öppnade strömmar.
MÄlet att uppnÄ paritet med klienten pÄ C-sprÄket Àr planerat i version 2.0, dÀr Àven bindningar för att anvÀnda Arti i kod pÄ olika programmeringssprÄk kommer att erbjudas. NÀr koden i Rust nÄr en nivÄ som helt kan ersÀtta C-versionen, avser utvecklarna att ge Arti status som huvudimplementation av Tor och avsluta underhÄllet av C-implementationen. Stöd för C-versionen kommer gradvis att upphöra, med möjligheter till smidig migration.
KĂ€lla: opennet.ru
