A Tor projekt fejlesztői kiadták az Arti 1.4.0 verziót, amely a Tor-kliens Rust nyelven írt megvalósítása. Az 1.x ág alkalmasnak van minősítve normál felhasználók számára, és ugyanazt a szintű titkosságot, használhatóságot és stabilitást biztosít, mint a C nyelvű fő megvalósítás. A C nyelvű klienssel való paritás elérése a 2.0 ágban van tervben. Amikor a Rust kód eléri azt a szintet, ami teljes mértékben helyettesíti a C verziót, a fejlesztők szándékoznak az Arti-t a Tor fő megvalósításaként kezelni, és fokozatosan leállítani a C nyelvű implementáció támogatását. A kód Apache 2.0 és MIT licenc alatt terjed.
Az Arti eredetileg moduláris beágyazható könyvtár formájában fejlődik, amelyet különböző alkalmazások használhatnak. Az Arti megtervezésekor figyelembe vették a Tor fejlesztésének múltbeli tapasztalatait, ami lehetővé tette a C nyelvű implementációval kapcsolatos ismert architekturális problémák elkerülését, amelyek kezdetben SOCKS-proxiként lettek megtervezve, majd később más igényekhez igazították őket.
A Tor Rust nyelvre való átírásának oka a biztonságos kódírás iránti vágy volt, mivel olyan nyelvet használnak, amely biztonságos memória használatot biztosít. A Tor fejlesztői szerint a Rust nyelv "unsafe" blokkja nélkül lehetővé teszi, hogy legalább a tipikus sebezhetőségek felének megjelenését megakadályozzák a projekt során. Továbbá várható, hogy a Rust növeli a fejlesztési sebességet a nyelv kifejezőképessége és a szigorú garanciák révén, amelyek lehetővé teszik az időmegtakarítást a duplázott ellenőrzések és a fölösleges kód írása elkerülésével.
Az új kiadásban készen áll az új RPC interfész, amely felváltotta a TCP-porton keresztül vezérelt protokollt, amelyet a ControlPort paraméter határoz meg. Az RPC alkalmazások és szolgáltatások Arti-hoz való integrációjára használható ahelyett, hogy az alkalmazásba beágyaznák az Arti funkcionalitású könyvtárat.
Az új protokoll kulcsfontosságú eltérései:
- JSON formátum használata a specifikus formátum helyett, amely saját parser-t igényel;
- A protokoll egyszerű bővíthetősége. A formális szabályozás arról, hogy a kliensnek és szerver hogyan kell kezelnie az unsupported üzeneteket, paramétereket és adatokat;
- Mechanizmus az RPC elérhetőségének meghatározására;
- Több kérés egyidejű kezelésének támogatása egy hálózati kapcsolatban;
- Kész ügyfélkönyvtárak elérhetősége C, Python és Rust nyelven.
Az Arti 1.4.0 egyéb változása között említést nyer a felkészítő munkák elvégzése a relék támogatásához, valamint az onion szolgáltatások DDoS-támadások elleni védelmére vonatkozó lehetőségek folytatása.
Forrás: opennet.ru
