A Tor hálózat fejlesztői közzétették az Arti 1.2.0 projekt kiadását, amely egy Rust nyelven írt Tor klienst fejleszt. Az 1.x ág általános felhasználók általi használatra alkalmasnak van jelölve, és ugyanolyan szintű adatvédelmet, használhatóságot és stabilitást biztosít, mint a fő C implementáció. A kódot Apache 2.0 és MIT licencek alatt terjesztik.
A C implementációtól eltérően, amelyet először SOCKS proxynak terveztek, majd más igényekre szabtak, az Arti-t kezdetben egy moduláris beágyazható könyvtár formájában fejlesztették ki, amelyet különféle alkalmazások használhatnak. Ezenkívül egy új projekt kidolgozásakor minden korábbi Tor fejlesztési tapasztalatot figyelembe vesznek, ami elkerüli az ismert építészeti problémákat, és modulárisabbá és hatékonyabbá teszi a projektet. Amikor a Rust kód eléri azt a szintet, amely teljesen leválthatja a C verziót, a fejlesztők szándékaik szerint Artinak a Tor fő implementációjának státuszát adják, és leállítják a C implementáció karbantartását.
A Tor Rust-ban való átírásának oka a magasabb szintű kódbiztonság elérése egy memóriabiztos nyelv használatával. A Tor fejlesztői szerint a Rust nyelv „nem biztonságos” blokkok nélküli használata megakadályozza a projektben található összes tipikus sebezhetőség legalább felének megjelenését. A Rust a nyelv kifejezőképességének és a szigorú garanciáknak köszönhetően gyorsabb fejlesztési sebesség elérését is lehetővé teszi, mint a C használata, amely lehetővé teszi, hogy elkerülje az időveszteséget a dupla ellenőrzésre és a felesleges kód írására.
Az Arti 1.2 kiadása a hagymaszolgáltatások stabil támogatásának megvalósításáról nevezetes. Az Arti használatával mostantól nemcsak a meglévő hagymaszolgáltatásokhoz kapcsolódhat, hanem saját hagymaszolgáltatásokat is létrehozhat.
A munka megkezdődött, de még nem fejeződött be az olyan kapcsolódó képességeken, mint az RTT Congestion Control, a DDoS védelem, a sávszélesség korlátozása, az ügyfél engedélyezése és a Vanguard », hogy megakadályozzák a Guard csomópontok észlelését. Amíg ezeknek a funkcióknak a megvalósítása be nem fejeződik, az Arti alapú onion-szolgáltatások létrehozása éles megvalósításokhoz nem javasolt.
Az új verzió az üres DATA üzenetek küldésének képességéből adódó sérülékenységet is javítja a továbbító üzenet-feldolgozó kódban, amely az észlelhetetlen forgalomjelzők helyettesítésére használható. A probléma alacsony besorolású, mivel a DATA-csomagokat csak a már nyitott szálak fogadják el.
A C-klienssel való paritás elérését a 2.0-s ágban tervezik, amely kötéseket is kínál majd az Arti kódbeli használatához különböző programozási nyelveken. Amikor a Rust kód elér egy olyan szintet, amely teljesen leválthatja a C verziót, a fejlesztők szándékaik szerint Artinak a Tor fő implementációjának státuszát kell megadni, és leállítják a C implementáció karbantartását. A C verzió fokozatosan megszűnik a zökkenőmentes átállás érdekében.
Forrás: opennet.ru
