Tor-projektet presenterade en implementering i språket Rust, som i framtiden kommer att ersätta C-versionen

Utvecklarna av det anonyma Tor-nätverket presenterade Arti-projektet, inom vilket arbete pågår för att skapa en implementering av Tor-protokollet på språket Rust. 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. Arbetet har pågått i över ett år med finansiering från Zcash Open Major Grants (ZOMG) anslagsprogram. 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. 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.

I sitt nuvarande tillstånd kan Arti redan ansluta till Tor-nätverket, kommunicera med katalogservrar och skapa anonymiserade anslutningar ovanpå Tor med en SOCKS-baserad proxy. Utvecklingen rekommenderas ännu inte för användning i produktionssystem, eftersom inte alla sekretessfunktioner är implementerade och bakåtkompatibilitet på API-nivå inte garanteras. Den första säkerhetskompatibla versionen av klienten, som stöder skyddsnoder och trådisolering, är planerad att släppas i oktober.

Den första betaversionen väntas i mars 2022 med en experimentell implementering av det inbäddade biblioteket och prestandaoptimeringar. Den första stabila utgåvan, med ett stabilt API, CLI och konfigurationsformat, samt revision, är planerad till mitten av september 2022. Den här utgåvan kommer att vara lämplig för första användning av vanliga användare. Uppdatering 2022 väntas i slutet av oktober 1.1 med stöd för plug-in transport och broar för att kringgå blockering. Stöd för onion-tjänster planeras för release 1.2, och att uppnå paritet med C-klienten förväntas i release 2.0, vars tidpunkt ännu inte har fastställts.

I framtiden förutspår utvecklarna en gradvis minskning av aktiviteten relaterad till utvecklingen av C-kod, och en ökning av tiden som ägnas åt redigering i Rust. När Rust-implementeringen når en nivå som kan ersätta C-versionen, kommer utvecklarna att sluta lägga till nya funktioner till C-implementeringen och efter en tid sluta stödja den helt. Men detta kommer inte att ske snart, och tills implementeringen i Rust når nivån på en full ersättning kommer utvecklingen av Tor-klienten och reläet i C att fortsätta.

Källa: opennet.ru

Lägg en kommentar