Eerste stabiele release van Arti, de officiële implementatie van Tor in Rust

De ontwikkelaars van het anonieme Tor-netwerk hebben de eerste stabiele release (1.0.0) van het Arti-project ontwikkeld, dat een Tor-client ontwikkelt die geschreven is in Rust. Release 1.0 is gemarkeerd als geschikt voor gebruik door gewone gebruikers en biedt hetzelfde niveau van privacy, bruikbaarheid en stabiliteit als de hoofdimplementatie in C. De API, die is voorgesteld voor het gebruik van Arti-functionaliteit in andere applicaties, is eveneens gestabiliseerd. De code wordt gedistribueerd onder Apache 2.0- en MIT-licenties.

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 uiteenlopende toepassingen kan worden gebruikt. Bovendien worden bij de ontwikkeling van een nieuw project alle eerdere ervaringen met Tor-ontwikkeling meegenomen. Hierdoor kunnen bekende architectuurproblemen worden vermeden en wordt het project modulairder en efficiënter.

De reden voor het herschrijven van Tor in Rust was om een ​​hoger niveau van codebeveiliging te bereiken door een taal te gebruiken die veilige geheugenverwerking biedt. Volgens Tor-ontwikkelaars zal minstens de helft van alle door het project gevolgde kwetsbaarheden in de Rust-implementatie worden geëlimineerd als de code geen "onveilige" blokken gebruikt. Rust zal ook een hogere ontwikkelsnelheid mogelijk maken dan bij gebruik van C dankzij de expressiviteit van de taal en sterke garanties die voorkomen dat u tijd verspilt aan dubbel controleren en het schrijven van onnodige code.

Op basis van de resultaten van de ontwikkeling van de eerste versie heeft het gebruik van de Rust-taal zich bewezen. Zo werd bijvoorbeeld opgemerkt dat er in elke fase van de Rust-code minder fouten werden gemaakt dan bij vergelijkbare ontwikkeling in C – de fouten die tijdens het ontwikkelingsproces naar voren kwamen, hadden voornamelijk betrekking op logica en semantiek. De buitensporige eisen van de Rustc-compiler, door sommigen als een nadeel genoemd, bleken in feite een zegen, want als de code compileert en tests doorstaat, neemt de kans op correctheid aanzienlijk toe.

De nieuwe versie bevestigde ook een hogere ontwikkelsnelheid, wat niet alleen te danken is aan het feit dat de functionaliteit opnieuw is gecreëerd op basis van een bestaande template, maar ook aan de expressievere Rust-semantiek, handige functiebibliotheken en het gebruik van Rusts codebeveiligingsmogelijkheden. Nadelen zijn onder meer de grote omvang van de resulterende assembly's: aangezien de standaard Rust-bibliotheek niet standaard in systemen wordt meegeleverd, moet deze worden opgenomen in de pakketten die te downloaden zijn.

De 1.0-release richt zich primair op de basisclientervaring. 1.1 zal pluggable transport en blocking bridges ondersteunen. 1.2 zal naar verwachting onion-services en gerelateerde functies zoals RTT Congestion Control en DDoS-mitigatie ondersteunen. Pariteit met de C-client is gepland voor de 2.0-branch, die ook bindingen zal bieden voor het gebruik van Arti in code in verschillende programmeertalen.

De komende jaren zal de focus liggen op het implementeren van de functionaliteit die nodig is voor de werking van het relais. servers mappen. Zodra de Rust-code een niveau bereikt waarop de C-versie volledig kan worden vervangen, zijn de ontwikkelaars van plan Arti de primaire Tor-implementatie te maken en de ondersteuning voor de C-versie stop te zetten. De ondersteuning voor de C-versie zal geleidelijk worden afgebouwd, waardoor een soepele migratie mogelijk is.

Bron: opennet.ru

Koop betrouwbare hosting voor sites met DDoS-bescherming, VPS VDS-servers 🔥 Koop betrouwbare websitehosting met DDoS-bescherming, VPS- en VDS-servers | ProHoster