Az Arti első stabil kiadása, a Tor hivatalos megvalósítása Rust nyelven

A Tor anonim hálózat fejlesztői megalkották az Arti projekt első stabil kiadását (1.0.0), amely a Rust nyelven írt Tor klienst fejleszti. Az 1.0 kiadást alkalmasnak minősítették normál felhasználók számára, és ugyanazt a szintű adatvédelmet, használhatóságot és stabilitást biztosítja, mint a C nyelvű alapváltozat. Stabilizálták az Arti egyéb alkalmazások számára kínált API-t is. A kód az Apache 2.0 és MIT licenc alatt terjesztendő.

A C nyelvű megvalósítással ellentétben, amelyet először SOCKS-proxiként terveztek, majd más igényekhez igazítottak, az Arti kezdetben moduláris beágyazható könyvtár formájában fejlődik, amelyet különböző alkalmazások használhatnak. Ezen kívül az új projekt fejlesztése során figyelembe veszik a Tor fejlesztés korábbi tapasztalatait, ami lehetővé teszi a már ismert architekturális problémák elkerülését, a projekt modulárisabbá és hatékonyabbá tételét.

A Tor Rust nyelvre való átírásának oka a kód magasabb szintű biztonságának elérése volt, egy olyan nyelv használatával, amely biztonságos memóriakezelést biztosít. A Tor fejlesztői szerint minden nyomon követett sebezhetőség legalább fele ki lesz zárva a Rust megvalósításban, feltéve, hogy a kód nem tartalmaz 'unsafe' blokkokat. A Rust emellett lehetőséget biztosít a gyorsabb fejlesztésre, mint a C használata, a nyelv kifejezőképessége és a szigorú garanciák révén, így időt takarít meg a dupla ellenőrzések és felesleges kód írása elkerülésével.

Az első verzió fejlesztésének végén a Rust nyelv használata igazolta magát. Például észrevették, hogy Rust kódban minden szakaszban kevesebb hiba történt, mint hasonló C-fejlesztés során — a fejlesztés során felmerült hibák döntő többsége a logikával és szemantikával volt kapcsolatos. A rustc fordító túlzott követelményeit néhányan hátrányként említik, de valójában áldásnak bizonyult, mivel ha a kód lefordul és átesik a teszteken, jelentősen megnövekszik a helyesség valószínűsége.

A legújabb változat kidolgozása során megerősítést nyert, hogy a fejlesztési sebesség növekedett, ami nemcsak a meglévő sablon alapján történő funkcionalitás újraalkotásának köszönhető, hanem a Rust kifejezőbb szemantikájának, a kényelmes funkciókönyvtáraknak és a Rust kódbiztonsági lehetőségeinek alkalmazásának is. A hátrányok közé tartozik a keletkező összeállítások nagy mérete, mivel a Rust szabványos könyvtára nem része a rendszereknek alapértelmezés szerint, ezért azt bele kell foglalni a letölthető csomagokba.

Az 1.0-ás kiadás elsősorban az alapvető kliensfunkciókra összpontosít. Az 1.1-es verzióban tervezik a csatlakoztatható transzportok és hídok támogatásának megvalósítását a blokkolások megkerülésére. A 1.2-es verzióban a hagyma szolgáltatások és a hozzájuk tartozó lehetőségek, például a késleltetési ellenőrzési protokoll (RTT Congestion Control) és a DDoS támadások elleni védelem támogatása várható. A C nyelvű klienssel való paritás elérése a 2.0-ás ágon van tervbe véve, amelyben az Arti használatára történő kötéseket is javasolnak különböző programozási nyelveken.

A következő néhány évben a munka a relék működéséhez szükséges funkciók megvalósítására összpontosít és szerverek könyvtárak. Amikor a Rust kód eléri azt a szintet, amely teljes mértékben helyettesíti a C nyelvű változatot, a fejlesztők szándékoznak az Arti-t a Tor alapértelmezett megvalósításának státuszába emelni, és leállítani a C nyelvű megvalósítás karbantartását. A C nyelvű verzió támogatását fokozatosan fognák megszüntetni, biztosítva a zökkenőmentes migrálás lehetőségét.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster