Udviklerne af det anonyme netværk Tor har offentliggjort udgivelsen af projektet Arti 1.1.0, som udvikler en Tor-klient skrevet i Rust. 1.x-grenen er markeret som brugbar for almindelige brugere og sikrer det samme niveau af fortrolighed, brugervenlighed og stabilitet som hovedimplementeringen i C. 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.
Årsagen til at omskrive Tor i Rust nævnes som ønsket om at opnå et højere niveau af kodebeskyttelse ved at anvende et sprog, der sikrer sikker hukommelsehåndtering. Ifølge Tor-udviklerne vil mindst halvdelen af de sårbarheder, som projektet overvåger, blive udelukket i Rust-implementeringen, hvis der ikke anvendes 'unsafe' blokke i koden. Rust vil også muliggøre en hurtigere udviklingshastighed end med C, takket være sprogets udtryksfuldhed og strenge garantier, der gør det muligt at spare tid på dobbelte kontroller og unødvendig kode.
I version 1.1 er der tilføjet support for broer til at omgå blokeringer og tilslutningsprotokoller. Blandt de testede transportprotokoller til at skjule trafik og bekæmpe blokeringer er obfs4proxy og snowflake blevet bemærket. Kravene til byggeomgivelserne er blevet skærpet – for at bygge Arti kræves nu mindst Rust 1.60.
I den næste version (1.2) forventes det, at der vil komme understøttelse af onion-tjenester og tilknyttede funktioner som RTT Congestion Control protokollen og DDoS-beskyttelse. Målet om paritet med C-klienten er planlagt til version 2.0, som også vil tilbyde bindingsmuligheder for brugen af Arti i kode på forskellige programmeringssprog. I de kommende år vil arbejdet fokusere på implementeringen af den nødvendige funktionalitet for drift af relæer 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
