Projekt Tor představil implementaci v jazyce Rust, která v budoucnu nahradí verzi C

Vývojáři anonymní sítě Tor představili projekt Arti, v rámci kterého se pracuje na vytvoření implementace protokolu Tor v jazyce Rust. Na rozdíl od implementace C, která byla nejprve navržena jako SOCKS proxy a poté přizpůsobena dalším potřebám, je Arti zpočátku vyvíjen ve formě modulární embeddovatelné knihovny, kterou mohou používat různé aplikace. Práce probíhají již více než rok s financováním z grantového programu Zcash Open Major Grants (ZOMG). Kód je distribuován pod licencemi Apache 2.0 a MIT.

Důvody pro přepsání Tor v Rust jsou touha dosáhnout vyšší úrovně zabezpečení kódu pomocí jazyka, který zajišťuje bezpečný provoz s pamětí. Podle vývojářů Tor bude minimálně polovina všech zranitelností sledovaných projektem odstraněna v implementaci Rust, pokud kód nepoužívá „nebezpečné“ bloky. Rust také umožní dosáhnout vyšší rychlosti vývoje než použití C, a to díky expresivnosti jazyka a přísným zárukám, které vám umožní vyhnout se ztrátě času dvojitou kontrolou a psaním zbytečného kódu. Kromě toho se při vývoji nového projektu berou v úvahu všechny minulé zkušenosti s vývojem Tor, což zabrání známým architektonickým problémům a projekt bude modulárnější a efektivnější.

Ve svém současném stavu se Arti již může připojit k síti Tor, komunikovat s adresářovými servery a vytvářet anonymizovaná připojení na vrcholu Tor pomocí proxy založeného na SOCKS. Vývoj se zatím nedoporučuje pro použití v produkčních systémech, protože nejsou implementovány všechny funkce ochrany osobních údajů a není zaručena zpětná kompatibilita na úrovni API. První verze klienta vyhovující zabezpečení, která podporuje ochranné uzly a izolaci vláken, má být vydána v říjnu.

První beta verze se očekává v březnu 2022 s experimentální implementací vestavěné knihovny a optimalizací výkonu. První stabilní verze se stabilním API, CLI a konfiguračním formátem a také auditováním je plánována na polovinu září 2022. Tato verze bude vhodná pro počáteční použití běžnými uživateli. Aktualizace 2022 se očekává na konci října 1.1 s podporou plug-in transportu a mostů pro obcházení blokování. Podpora služeb cibule je plánována na verzi 1.2 a dosažení parity s klientem C se očekává ve verzi 2.0, jejíž načasování ještě nebylo stanoveno.

Do budoucna vývojáři předpovídají postupný pokles aktivity související s vývojem kódu C a nárůst času věnovaného úpravám v Rustu. Když implementace Rust dosáhne úrovně, která může nahradit verzi C, vývojáři přestanou do implementace C přidávat nové funkce a po nějaké době ji přestanou úplně podporovat. To se ale brzy nestane a dokud implementace v Rustu nedosáhne úrovně úplné náhrady, bude vývoj Tor klienta a relé v C pokračovat.

Zdroj: opennet.ru

Přidat komentář