Första betaversionen av Arti, en implementering av Tor i Rust

Utvecklarna av det anonyma Tor-nätverket presenterade den första betaversionen (0.1.0) av Arti-projektet, som utvecklar en Tor-klient skriven i Rust. Projektet har status som en experimentell utveckling, det släpar efter funktionaliteten hos den huvudsakliga Tor-klienten i C och är ännu inte redo att helt ersätta den. I september är det planerat att skapa release 1.0 med stabilisering av API, CLI och inställningar, som kommer att vara lämplig för initial användning av vanliga användare. I en mer avlägsen framtid, när Rust-koden når en nivå som helt kan ersätta C-versionen, avser utvecklarna att ge Arti status som huvudimplementeringen av Tor och sluta underhålla C-implementationen.

Till skillnad från C-implementationen, som först designades som en SOCKS-proxy och sedan skräddarsyddes för andra behov, är Arti initialt utvecklad i form av ett modulärt inbäddningsbart bibliotek som kan användas av olika applikationer. Dessutom, när man utvecklar ett nytt projekt, beaktas all tidigare Tor-utvecklingserfarenhet, vilket kommer att undvika kända arkitektoniska problem och göra projektet mer modulärt och effektivt. Koden distribueras under Apache 2.0 och MIT-licenserna.

Skälen till att skriva om Tor i Rust är önskan att uppnå en högre nivå av kodsäkerhet genom att använda ett språk som säkerställer säker drift med minne. Enligt Tor-utvecklare kommer minst hälften av alla sårbarheter som övervakas av projektet att elimineras i en Rust-implementation om koden inte använder "osäkra" block. Rust kommer också att göra det möjligt att uppnå snabbare utvecklingshastigheter än att använda C, på grund av språkets uttrycksfullhet och strikta garantier som gör att du slipper slösa tid på att dubbelkolla och skriva onödig kod.

Bland ändringarna i release 0.1.0 finns en grundläggande stabilisering av API:er på hög nivå och att biblioteket blir redo för experimentell integration med andra projekt. Bland ändringarna nämns tillägget av ett API för att skapa TorClient-instanser, inklusive möjligheten att bygga och initiera (bootstrap) i bakgrunden vid första användning. Dessutom har ett nytt högnivå-API för felhantering lagts till.

Innan publiceringen av release 1.0.0 avser utvecklarna att ge Arti fullt stöd för att arbeta som en Tor-klient som ger tillgång till Internet (implementeringen av support för onion-tjänster skjuts upp för framtiden). Detta inkluderar att uppnå paritet med den vanliga C-implementeringen inom områden som nätverksprestanda, CPU-belastning och tillförlitlighet, samt tillhandahålla stöd för alla säkerhetsrelaterade funktioner.

Källa: opennet.ru

Lägg en kommentar