Udviklerne af det anonyme netværk Tor har præsenteret udgivelsen af projektet Arti 0.2.0, som udvikler en Tor-klient skrevet i Rust. Projektet har status som eksperimentel udvikling og er funktionelt bagud i forhold til den primære Tor-klient skrevet i C, og det er endnu ikke klar til at erstatte den fuldt ud. I september er der planer om at lave en 1.0-udgivelse med stabilisering af API, CLI og indstillinger, som vil være egnet til begyndere blandt almindelige brugere. I en fjernere fremtid, når Rust-koden når det niveau, der helt kan erstatte C-versionen, ønsker udviklerne at give Arti status som den primære Tor-implementering og stoppe vedligeholdelsen af C-implementeringen.
I modsætning til implementeringen på C, som først blev designet som en SOCKS-proxy, og derefter tilpasset til andre behov, udvikles Arti oprindeligt som et modulært indbyggeligt bibliotek, som forskellige applikationer kan anvende. Derudover tages der ved udviklingen af det nye projekt hensyn til al tidligere erfaring med udviklingen af Tor, hvilket vil undgå kendte arkitektoniske problemer og gøre projektet mere modulært og effektivt. Koden distribueres under licenserne Apache 2.0 og MIT.
Som årsager til at skrive Tor om på Rust nævnes ønsket om at opnå et højere niveau af kodebeskyttelse ved at bruge et sprog, der sikrer sikker hukommelseshåndtering. Ifølge Tor-udviklerne vil mindst halvdelen af alle sårbarheder, der er registreret af projektet, blive udelukket i implementeringen på Rust, hvis der ikke anvendes 'unsafe'-blokke i koden. Rust vil også muliggøre en højere udviklingshastighed end ved brug af C, takket være sprogets udtryksfuldhed og strenge garantier, der gør det muligt at undgå tidsspilde på dobbelttjek og unødvendig kode.
De mest markante ændringer i udgivelsen 0.2.0 vedrører arbejdet med at forbedre ydeevne og pålidelighed. Der er forbedret funktionalitet i netværk, der kun understøtter IPv6. Forbruget af hukommelse til datalagring er blevet reduceret fra servere mapper. Der er tilføjet en dns_port-option, der gør det muligt at konfigurere sending af DNS-forespørgsler gennem Tor. Der er foreslået ny kode til konfiguration. API'er er tilføjet for at bestemme regler for isolation af strømme og aktivering af dvaletilstand (pause for inaktive klienter). Muligheden for at tilslutte alternative implementeringer af koden til at arbejde med servere mapper.
Før udgivelsen af version 1.0.0 har udviklerne til hensigt at sikre fuld support for Arti som en Tor-klient, der giver adgang til internettet (implementeringen af support til onion-tjenester er udsat til fremtiden). Derudover planlægges det at nå paritet med den primære implementering på C i områder som netværksydelse, CPU-belastning og pålidelighed, samt at sikre støtte til alle funktioner relateret til sikkerhed.
Kilde: opennet.ru
