Udviklerne af Tor-netværket har offentliggjort en udgave af projektet Arti 1.2.0, som udvikler en Tor-klient skrevet i Rust. Version 1.x er markeret som egnet til almindelige brugere og tilbyder samme niveau af fortrolighed, brugervenlighed og stabilitet som den primære implementering skrevet i C. Koden distribueres under licenserne Apache 2.0 og MIT.
I modsætning til implementeringen i C, der oprindeligt blev designet som en SOCKS-proxy og senere tilpasset til andre behov, udvikles Arti fra starten som et modulært indbygget bibliotek, som forskellige applikationer kan anvende. Desuden tages der under udviklingen af det nye projekt hensyn til al tidligere erfaring med Tor-udvikling, hvilket muliggør undgåelse af kendte arkitektoniske problemer og gør projektet mere modulært og effektivt. Når koden i Rust når et niveau, der fuldstændigt kan erstatte versionen i C, har udviklerne til hensigt at give Arti status som den primære implementering af Tor og stoppe vedligeholdelsen af implementeringen i C.
Som årsag til omskrivningen af Tor i Rust nævnes ønsket om at opnå en højere grad af kodebeskyttelse ved hjælp af et sprog, der sikrer sikker hukommelseshåndtering. Ifølge vurderingen fra Tor-udviklerne vil brugen af Rust uden 'unsafe'-blokke forhindre mindst halvdelen af alle typiske sårbarheder i projektet. Rust vil også muliggøre en hurtigere udvikling end ved brug af C, takket være sprogets udtryksfuldhed og strenge garantier, der gør det unødvendigt at bruge tid på dobbelte kontroller og skrivning af overflødige koder.
Udgivelsen af Arti 1.2 er bemærkelsesværdig ved implementeringen af stabil support til onion-tjenester. Med Arti kan man nu ikke kun oprette forbindelse til eksisterende onion-tjenester, men også skabe sine egne onion-tjenester.
Arbejdet med implementeringen af tilknyttede funktioner relateret til privatliv og beskyttelse af onion-tjenester, såsom RTT Congestion Control-protokol, DDoS-beskyttelsesmidler, båndbredderegulering, klientautorisering og "Vanguard"-mekanismen til at forhindre identifikation af Guard-noder, er påbegyndt, men endnu ikke afsluttet. Indtil disse funktioner er fuldt implementeret, anbefales det ikke at oprette onion-tjenester baseret på Arti til praktiske anvendelser.
I den nye version er der også rettet en sårbarhed i koden til behandling af meddelelser fra relæer, forårsaget af muligheden for at sende tomme DATA-meddelelser, som kan bruges til at substituere ubestemmelige trafikindikatorer. Problemet er klassificeret som lav risiko, da DATA-pakker kun accepteres for allerede åbne strømme.
Opnåelse af paritet med klienten på C-sprog er planlagt i version 2.0, hvor der også vil blive tilbudt bindestreger til brug af Arti i kode skrevet på forskellige programmeringssprog. Når koden på Rust når et niveau, der helt kan 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 afsluttet med mulighed for en glidende migration.
Kilde: opennet.ru
