Het Tor-project presenteerde een implementatie in de Rust-taal, die in de toekomst de C-versie zal vervangen

De ontwikkelaars van het anonieme Tor-netwerk presenteerden het Arti-project, waarbinnen wordt gewerkt aan een implementatie van het Tor-protocol in de Rust-taal. In tegenstelling tot de C-implementatie, die eerst is ontworpen als een SOCKS-proxy en vervolgens is afgestemd op andere behoeften, is Arti in eerste instantie ontwikkeld in de vorm van een modulair in te sluiten bibliotheek die door verschillende toepassingen kan worden gebruikt. Het werk is al meer dan een jaar aan de gang met financiering uit het Zcash Open Major Grants (ZOMG) subsidieprogramma. De code wordt gedistribueerd onder de Apache 2.0- en MIT-licenties.

De redenen voor het herschrijven van Tor in Rust zijn de wens om een ​​hoger niveau van codebeveiliging te bereiken door een taal te gebruiken die een veilige werking met geheugen garandeert. Volgens Tor-ontwikkelaars zal minstens de helft van alle kwetsbaarheden die door het project worden gemonitord, worden geëlimineerd in een Rust-implementatie als de code geen “onveilige” blokken gebruikt. Rust maakt het ook mogelijk om snellere ontwikkelingssnelheden te bereiken dan met C, vanwege de expressiviteit van de taal en strikte garanties waarmee u geen tijd verspilt aan dubbele controles en het schrijven van onnodige code. Bovendien wordt bij het ontwikkelen van een nieuw project rekening gehouden met alle eerdere Tor-ontwikkelingservaringen, waardoor bekende architectonische problemen worden vermeden en het project modulair en efficiënter wordt.

In de huidige staat kan Arti al verbinding maken met het Tor-netwerk, communiceren met directoryservers en geanonimiseerde verbindingen bovenop Tor creëren met een op SOCKS gebaseerde proxy. De ontwikkeling wordt nog niet aanbevolen voor gebruik in productiesystemen, omdat niet alle privacyfuncties zijn geïmplementeerd en achterwaartse compatibiliteit op API-niveau niet is gegarandeerd. De eerste beveiligingsconforme versie van de client, die guard-nodes en thread-isolatie ondersteunt, zal naar verwachting in oktober worden uitgebracht.

De eerste bètarelease wordt in maart 2022 verwacht met een experimentele implementatie van de embedded bibliotheek en prestatie-optimalisaties. De eerste stabiele release, met een stabiele API, CLI en configuratieformaat, evenals auditing, staat gepland voor medio september 2022. Deze release is geschikt voor het eerste gebruik door algemene gebruikers. Update 2022 wordt eind oktober 1.1 verwacht met ondersteuning voor plug-in transport en bruggen om blokkering te omzeilen. Ondersteuning voor uienservices is gepland voor release 1.2, en het bereiken van pariteit met de C-client wordt verwacht in release 2.0, waarvan de timing nog niet is vastgesteld.

In de toekomst voorspellen de ontwikkelaars een geleidelijke afname van de activiteit met betrekking tot de ontwikkeling van C-code, en een toename van de tijd die wordt besteed aan het bewerken in Rust. Wanneer de Rust-implementatie een niveau bereikt dat de C-versie kan vervangen, zullen de ontwikkelaars stoppen met het toevoegen van nieuwe functies aan de C-implementatie en na enige tijd stoppen met de volledige ondersteuning ervan. Maar dit zal niet snel gebeuren, en totdat de implementatie in Rust het niveau van een volledige vervanging bereikt, zal de ontwikkeling van de Tor-client en het relais in C doorgaan.

Bron: opennet.ru

Voeg een reactie