Eerste bètaversie van Arti, een Rust-implementatie van Tor

De ontwikkelaars van het anonieme Tor-netwerk hebben de eerste bètaversie (0.1.0) van het Arti-project gepresenteerd, dat een Tor-client ontwikkelt die geschreven is in Rust. Het project heeft de status van experimentele ontwikkeling, loopt achter op de functionaliteit van de belangrijkste Tor-client in C en is nog niet klaar om deze volledig te vervangen. In september staat de release van release 1.0 gepland met stabilisatie van de API, CLI en instellingen, die geschikt zal zijn voor eerste gebruik door gewone gebruikers. In de verdere toekomst, wanneer de Rust-code een niveau bereikt dat de C-versie volledig kan vervangen, zijn de ontwikkelaars van plan om Arti de status van de belangrijkste Tor-implementatie te geven en de ondersteuning van de C-implementatie te stoppen.

In tegenstelling tot de C-implementatie, die aanvankelijk was ontworpen als een SOCKS-proxy en vervolgens werd aangepast aan andere behoeften, wordt Arti vanaf het begin ontwikkeld als een modulaire, insluitbare bibliotheek die door verschillende toepassingen kan worden gebruikt. Bovendien wordt bij de ontwikkeling van een nieuw project rekening gehouden met alle eerdere ervaringen met Tor-ontwikkeling. Hierdoor kunnen bekende architectuurproblemen worden vermeden en kan het project modulairder en efficiënter worden gemaakt. De code wordt gedistribueerd onder de Apache 2.0- en MIT-licenties.

De redenen die worden genoemd voor het herschrijven van Tor in Rust zijn onder meer de wens om een ​​hoger niveau van codebeveiliging te bereiken door een taal te gebruiken die veilig met geheugen kan werken. Volgens Tor-ontwikkelaars zal minstens de helft van alle kwetsbaarheden die door het project worden opgespoord, worden geëlimineerd in de Rust-implementatie als de code geen 'onveilige' blokken gebruikt. Met Rust kunt u bovendien hogere ontwikkelsnelheden bereiken dan met C, vanwege de expressiviteit van de taal en de sterke garanties die ervoor zorgen dat u geen tijd verspilt aan dubbele controles en het schrijven van onnodige code.

Wijzigingen in release 0.1.0 omvatten basisstabilisatie van geavanceerde API's en het gereedmaken van de bibliotheek voor experimentele integratie met andere projecten. Wijzigingen omvatten de toevoeging van een API voor het aanmaken van TorClient-instanties, inclusief de mogelijkheid om op de achtergrond te bouwen en te initialiseren (bootstrap) bij het eerste gebruik. Daarnaast is er een nieuwe geavanceerde API voor foutverwerking toegevoegd.

De ontwikkelaars zijn van plan om Arti vóór de release van 1.0.0 volledige ondersteuning te bieden voor het functioneren als Tor-client die toegang biedt tot internet (de implementatie van ondersteuning voor onion-services is uitgesteld naar de toekomst). Dit omvat plannen om op het gebied van netwerkprestaties, CPU-belasting en betrouwbaarheid gelijkheid te bereiken met de belangrijkste C-implementatie. Ook wil men ondersteuning bieden voor alle beveiligingsfuncties.

Bron: opennet.ru