Vývojári anonymnej siete Tor predstavili projekt Arti, v rámci ktorého sa pracuje na vytvorení implementácie protokolu Tor v jazyku Rust. Na rozdiel od implementácie v C, ktorá bola spočiatku navrhnutá ako SOCKS-proxy a neskôr prispôsobená iným potrebám, Arti sa od začiatku rozvíja ako modulárna vstaviteľná knižnica, ktorú môžu používať rôzne aplikácie. Práca prebieha už viac ako rok s financovaním v rámci grantového programu Zcash Open Major Grants (ZOMG). Kód sa šíri pod licenciami Apache 2.0 a MIT.
Ako dôvody na prepisovanie Tor do Rustu sa uvádza snaha dosiahnuť vyššiu úroveň bezpečnosti kódu vďaka použití jazyka, ktorý zabezpečuje bezpečné nakladanie s pamäťou. Podľa odhadov vývojárov Tor bude najmenej polovica všetkých sledovaných zraniteľností v implementácii v Ruste vylúčená, ak sa v kóde nepoužívajú bloky „unsafe“. Rust tiež umožní dosiahnuť vyššiu rýchlosť vývoja ako pri použití C, vďaka výraznosti jazyka a prísnym zárukám, ktoré umožňujú nestrácať čas na dvojité kontroly a písanie nadbytočného kódu. Okrem toho sa pri vývoji nového projektu zohľadňuje všetka predchádzajúca skúsenosť s vývojom Tor, čo umožní vyhnúť sa známych architektonickým problémom, urobiť projekt modulárnejším a efektívnejším.
V súčasnom stave už Arti môže pripojiť k sieti Tor a zabezpečiť interakciu s servermi adresármi a vytvárať anonymizované spojenia nad Torom s poskytovaním proxy na základe protokolu SOCKS. Vývoj sa zatiaľ neodporúča používať v pracovných systémoch, pretože nie sú realizované všetky možnosti zabezpečenia súkromia a nezaručuje sa spätne kompatibilita na úrovni API. Prvú verziu klienta, ktorá spĺňa bezpečnostné kritériá a podporuje strážne uzly a izoláciu tokov, plánujeme vydať v októbri.
V marci 2022 sa očakáva prvé beta vydanie s experimentálnou implementáciou vstavaných knižníc a optimalizáciami výkonu. Prvé stabilné vydanie, so stabilným API, CLI a formátom konfigurácie, ako aj vykonaním auditu, je naplánované na polovicu septembra 2022. Toto vydanie bude vhodné na počiatočné používanie bežnými používateľmi. Na koniec októbra 2022 sa očakáva aktualizácia 1.1 s podporou pripojiteľného transportu a mostov na obchádzanie blokácií. Podpora onion služieb je plánovaná na vydanie 1.2, pričom dosiahnutie paritného stavu s klientom v jazyku C je očakávané vo verzii 2.0, termíny, ktorých zatiaľ nie sú určené.
V budúcnosti vývojári predpokladajú postupné znižovanie aktivity spojené s vývojom kódu v C a zvyšovanie času venovaného edícii v Ruste. Keď implementácia v Ruste dosiahne úroveň, ktorá dokáže nahradiť variant v C, vývojári prestanú pridávať nové funkcie do implementácie v C a po určitom čase úplne zrušia jej podporu. Ale to sa nestane čoskoro, a zatiaľ čo implementácia v Ruste nedosiahne úroveň plnohodnotnej náhrady, vývoj klienta a relé Tor v C bude pokračovať.
Zdroj: opennet.ru
