VPN-udbyderen Mullvad, der udvikler webbrowseren Mullvad Browser og leverer infrastruktur til Mozilla VPN-tjenesten, har afsløret GotaTun-projektet, som implementerer en VPN-protokol. WireGuard, skrevet i Rust og kører i brugerområdet. Projektets kode distribueres under en BSD-licens. Mullvad har allerede brugt GotaTun i sin VPN-klient til platformen. Android og har til hensigt at migrere desktop- og iOS-applikationer til den næste år.
GotaTun er en forgrening af BoringTun-værktøjssættet udviklet af Cloudflare og brugt i WARP-appen. GotaTun adskiller sig fra BoringTun ved, at den understøtter platformen fuldt ud. Android, ydeevneoptimeringer og yderligere funktioner til beskyttelse af personlige oplysninger.
GotaTun integrerer understøttelse af DAITA-teknologi (Defense Against AI-guided Traffic Analysis) for at beskytte mod krypteret transittrafikanalyse udført ved hjælp af maskinlæringsbaserede værktøjer. DAITA normaliserer størrelsen af sendte pakker, tilføjer tilfældig baggrundstrafik og forvrænger typiske dataflowmønstre. GotaTun implementerer også en Multihop-tilstand, der giver adgang til VPN-servere ikke direkte, men gennem en række transitknudepunkter, som for eksempel muliggør organisering af trafikflow langs mere optimale ruter.
For at forbedre ydeevnen implementerer GotaTun multi-threaded-behandling og bruger en nul-kopi-hukommelsesstyringsstrategi uden mellemliggende buffering, idet den kun bruger den oprindeligt leverede buffer.
Tidligere brugte Mullvads applikationer en fork af implementeringen WireGuard på Go-sproget — wireguard-go, udvidet med DAITA- og Multihop-understøttelse. Ifølge Google-statistikker er 85 % af alle brugerindsendte nedbrudsrapporter Android-Mulvad-klienter blev linket til koden wireguard-go, så Mullvad besluttede at erstatte implementeringen WireGuard til en mere pålidelig mulighed.
Rust-implementeringen blev valgt, fordi Mullvad VPN-applikationen er skrevet i Rust, bortset fra koden. wireguard-go, hvor interaktionen blev organiseret via en kompleks FFI (foreign function interface)-grænseflade, der anvendte usikre blokke. I udgivelsen udgivet i slutningen af november Android-Mulvad-klientimplementering wireguard-go blev erstattet af GotaTun, som løste pålidelighedsproblemer - sammenlignet med tidligere versioner ændredes den metrikke, der afspejler antallet af nedbrud, fra 0.40% til 0.01%.
Kilde: opennet.ru
