Projekt Tor predstavil implementáciu v jazyku Rust, ktorá v budúcnosti nahradí verziu C

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 C, ktorá bola najprv navrhnutá ako SOCKS proxy a potom prispôsobená iným potrebám, Arti je spočiatku vyvinutý vo forme modulárnej embeddovateľnej knižnice, ktorú môžu používať rôzne aplikácie. Práce prebiehajú už viac ako rok s financovaním z grantového programu Zcash Open Major Grants (ZOMG). Kód je distribuovaný pod licenciami Apache 2.0 a MIT.

Dôvody na prepísanie Tor v Rust sú snaha dosiahnuť vyššiu úroveň zabezpečenia kódu pomocou jazyka, ktorý zaisťuje bezpečnú prevádzku s pamäťou. Podľa vývojárov Tor bude najmenej polovica všetkých zraniteľností monitorovaných projektom odstránená v implementácii Rust, ak kód nebude používať „nebezpečné“ bloky. Rust tiež umožní dosiahnuť vyššiu rýchlosť vývoja ako pri použití C, a to vďaka expresívnosti jazyka a prísnym zárukám, ktoré vám umožnia vyhnúť sa strate času dvojitou kontrolou a písaním zbytočného kódu. Okrem toho sa pri vývoji nového projektu berú do úvahy všetky predchádzajúce skúsenosti s vývojom Tor, čo zabráni známym architektonickým problémom a projekt bude modulárnejší a efektívnejší.

Vo svojom súčasnom stave sa Arti už môže pripojiť k sieti Tor, komunikovať s adresárovými servermi a vytvárať anonymizované pripojenia na vrchole Tor pomocou proxy na báze SOCKS. Vývoj sa zatiaľ neodporúča na použitie v produkčných systémoch, pretože nie sú implementované všetky funkcie ochrany osobných údajov a nie je zaručená spätná kompatibilita na úrovni API. Prvá verzia klienta vyhovujúca bezpečnosti, ktorá podporuje ochranné uzly a izoláciu vlákien, je naplánovaná na október.

Prvé beta vydanie sa očakáva v marci 2022 s experimentálnou implementáciou vstavanej knižnice a optimalizáciou výkonu. Prvé stabilné vydanie so stabilným API, CLI a konfiguračným formátom, ako aj auditovaním, je naplánované na polovicu septembra 2022. Toto vydanie bude vhodné na prvé použitie bežnými používateľmi. Aktualizácia 2022 sa očakáva na konci októbra 1.1 s podporou plug-in dopravy a mostov na obídenie blokovania. Podpora pre cibuľové služby je naplánovaná na vydanie 1.2 a dosiahnutie parity s klientom C sa očakáva vo vydaní 2.0, ktorého načasovanie ešte nebolo určené.

Do budúcnosti vývojári predpovedajú postupné znižovanie aktivity súvisiacej s vývojom kódu C a zvyšovanie času venovaného úpravám v Ruste. Keď implementácia Rust dosiahne úroveň, ktorá môže nahradiť verziu C, vývojári prestanú pridávať nové funkcie do implementácie C a po určitom čase ju prestanú úplne podporovať. Čoskoro sa to ale nestane a kým implementácia v Ruste nedosiahne úroveň úplnej náhrady, vývoj klienta a relé Tor v C bude pokračovať.

Zdroj: opennet.ru

Pridať komentár