Vývojári anonymnej siete Tor publikovali vydanie projektu Arti 1.1.0, ktorý vyvíja Tor klient napísaný v jazyku Rust. Veta 1.x je označená ako vhodná na použitie bežnými používateľmi a poskytuje rovnakú úroveň súkromia, použiteľnosti a stability ako základná implementácia v jazyku C. Kód je distribuovaný pod licenciami Apache 2.0 a MIT.
Na rozdiel od implementácie v C, ktorá bola najprv navrhnutá ako SOCKS proxy a neskôr prispôsobená iným potrebám, Arti sa pôvodne vyvíja ako modulárna zabudovateľná knižnica, ktorú môžu používať rôzne aplikácie. Okrem toho sa pri vývoji nového projektu zohľadňuje celá predchádzajúca skúsenosť vývoja Tor, čo umožňuje vyhnúť sa známym architektonickým problémom a spraviť projekt modulárnejším a efektívnejším.
Ako dôvod prepisovania Tor do Rustu sa uvádza túžba dosiahnuť vyššiu úroveň bezpečnosti kódu vďaka použitiu jazyka, ktorý poskytuje bezpečné zachádzanie s pamäťou. Podľa odhadov vývojárov Tor bude v implementácii v Rustu vylúčená aspoň polovica všetkých sledovaných zraniteľností, ak v kóde nie sú použité bloky 'unsafe'. Rust taktiež umožní dosiahnuť vyššiu rýchlosť vývoja než pri používaní C, vďaka expresivite jazyka a prísnym zárukám, ktoré umožňujú nestrácať čas na dvojité overovania a písanie nadbytočného kódu.
Vo verzii 1.1 bola implementovaná podpora mostov na obídenie blokád a pripojiteľných transportov. Z testovaných transportov pre Arti na skrytie tрафiku a boj proti blokádam sú spomenuté obfs4proxy a snowflake. Zvýšili sa požiadavky na сборочное prostredie — na zostavenie Arti teraz vyžaduje minimálne vetvu Rust 1.60.
V nasledujúcej verzii (1.2) sa očakáva podpora onion služieb a sprievodných možností, ako je protokol riadenia preťaženia (RTT Congestion Control) a prostriedky na ochranu pred DDoS útokmi. Dosiahnutie parity s klientom v jazyku C je naplánované vo vetve 2.0, v ktorej budú tiež ponúknuté väzby na používanie Arti v kóde v rôznych programovacích jazykoch. V priebehu nasledujúcich rokov bude práca zameraná na realizáciu funkcií potrebných na fungovanie relé. serverov adresárov. Keď kód napísaný v Rust dosiahne úroveň, ktorá dokáže plne nahradiť variant napísaný v jazyku C, vývojári majú v úmysle priradiť Arti status hlavnej implementácie Tor a ukončiť podporu implementácie v C. Podpora verzie napísanej v jazyku C bude postupne ukončená s poskytnutím možnosti plynulej migrácie.
Zdroj: opennet.ru
