Udviklerne af det anonyme Tor-netværk har udgivet Arti 0.0.3-projektet, som udvikler en Tor-klient skrevet i Rust-sproget. Projektet har status som eksperimentel udvikling, halter bagefter funktionaliteten af den primære Tor-klient i C og er endnu ikke klar til fuldt ud at erstatte den. I marts forventes udgivelsen af 0.1.0, som er positioneret som den første betaudgivelse af projektet, og i efteråret udgivelsen af 1.0 med stabilisering af API, CLI og indstillinger, som vil være egnet til første brug af almindelige brugere. I en mere fjern fremtid, når Rust-koden når et niveau, der fuldstændigt kan erstatte C-versionen, har udviklerne til hensigt at forfremme Arti til status som den primære Tor-implementering og stoppe med at vedligeholde C-implementeringen.
I modsætning til C-implementeringen, der først blev designet som en SOCKS-proxy og derefter skræddersyet til andre behov, er Arti oprindeligt udviklet i form af et modulært indlejrbart bibliotek, der kan bruges af forskellige applikationer. Derudover tages der ved udvikling af et nyt projekt hensyn til al tidligere Tor udviklingserfaring, hvilket vil undgå kendte arkitektoniske problemer og gøre projektet mere modulært og effektivt. Koden distribueres under Apache 2.0- og MIT-licenserne.
Årsagerne til at omskrive Tor i Rust er ønsket om at opnå et højere niveau af kodesikkerhed ved at bruge et sprog, der sikrer sikker drift med hukommelse. Ifølge Tor-udviklere vil mindst halvdelen af alle sårbarheder, der overvåges af projektet, blive elimineret i en Rust-implementering, hvis koden ikke bruger "usikre" blokke. Rust vil også gøre det muligt at opnå hurtigere udviklingshastigheder end at bruge C, på grund af sprogets udtryksevne og strenge garantier, der gør, at du undgår at spilde tid på at dobbelttjekke og skrive unødvendig kode.
Ændringer i version 0.0.3 inkluderer en komplet overhaling af konfigurationssystemet og dets tilhørende API. Ændringen tillod, at indstillinger kunne ændres fra Rust undervejs, mens Tor-klienten kørte. Et nyt system til præemptiv kredsløbskonstruktion er også blevet tilføjet, som tager højde for tidligere anvendte porte til præemptivt at oprette kredsløb, der sandsynligvis vil blive nødvendige i fremtiden.
Kilde: opennet.ru
