Den første stabile udgave af Arti, den officielle implementering af Tor skrevet i Rust

Udviklerne af det anonyme netværk Tor har lanceret den første stabile version (1.0.0) af projektet Arti, der udvikler en Tor-klient skrevet i Rust. Udgivelsen 1.0 er markeret som brugbar for almindelige brugere og sikrer det samme niveau af fortrolighed, brugervenlighed og stabilitet, som den primære implementering skrevet i C. API'et, der tilbydes til brug af Arti's funktionalitet i andre applikationer, er også stabiliseret. Koden distribueres under licenserne Apache 2.0 og MIT.

I modsætning til implementeringen i C, som oprindeligt blev designet som en SOCKS-proxy og derefter tilpasset til andre behov, udvikles Arti oprindeligt som et modulært indbygget bibliotek, som forskellige applikationer kan bruge. Desuden tages der i udviklingen af det nye projekt hensyn til al tidligere erfaring med udvikling af Tor, hvilket gør det muligt at undgå kendte arkitektoniske problemer og gøre projektet mere modulært og effektivt.

Som årsagen til genskrivningen af Tor i Rust nævnes ønsket om at opnå et højere niveau af beskyttelse af koden ved at bruge et sprog, der sikrer sikker hukommelsesadgang. Ifølge Tor's udviklere vil mindst halvdelen af alle sårbarheder, der overvåges af projektet, blive udelukket i implementeringen i Rust, hvis der ikke bruges 'unsafe' blokke i koden. Rust vil også muliggøre en hurtigere udviklingsfart end ved brugen af C, takket være sproglets udtryksfuldhed og strenge garantier, som sparer tid på dobbelt tjek og unødvendig kode.

Som følge af udviklingen af den første version har brugen af Rust vist sig at være berettiget. For eksempel er det blevet bemærket, at der opstod færre fejl i koden skrevet i Rust på hvert trin end ved en sammenlignelig udvikling i C – de fejl, der dukkede op under udviklingen, var primært relateret til logik og semantik. Den strenge krav fra compileren rustc, der af nogle er blevet nævnt som en ulempe, viste sig i virkeligheden at være en velsignelse, da hvis koden komileres og består tests, er sandsynligheden for dens korrekthed betydeligt højere.

Arbejdet med den nye version bekræftede også en øget udviklingshastighed, hvilket dels skyldes, at funktionaliteten blev genskabt på baggrund af en eksisterende skabelon, men også med Rust's mere udtryksfulde semantik, bekvemme funktionsbiblioteker og anvendelsen af Rusts evner til kodebeskyttelse. En af ulemperne er den store størrelse af de resulterende builds – da Rust's standartbibliotek ikke leveres som standard i systemer, må det inkluderes i de downloadbare pakker.

Udgaven 1.0 fokuserer hovedsageligt på grundlæggende funktionalitet som klient. I version 1.1 planlægges det at implementere understøttelse af tilslutningsprotokoller og broser til at omgå blokeringer. I version 1.2 forventes det, at der vil være understøttelse af onion-tjenester og tilhørende funktioner såsom RTT Congestion Control og DDoS-beskyttelsesforanstaltninger. At opnå paritet med klienten på C-sprog er planlagt til version 2.0, som også vil inkludere bindings til brug af Arti i kode på forskellige programmeringssprog.

I løbet af de næste par år vil arbejdet fokusere på implementering af funktionalitet, der er nødvendig for at køre relay- og servere kataloger. Når Rust-koden når et niveau, der er i stand til fuldt ud at erstatte C-versionen, har udviklerne til hensigt at give Arti status som den primære Tor-implementering og stoppe vedligeholdelsen af C-implementeringen. Støtten til C-versionen vil gradvist blive ophævet med mulighed for en glidende migration.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster