Spoločnosť Mullvad predstavila GotaTun, implementáciu VPN WireGuard v jazyku Rust.

VPN poskytovateľ Mullvad, ktorý vyvíja webový prehliadač Mullvad Browser a poskytuje infraštruktúru pre službu Mozilla VPN, predstavil projekt GotaTun s realizáciou VPN protokolu WireGuard, napísaného v jazyku Rust a fungujúceho v užívateľskom priestore. Kód projektu je distribuovaný pod licenciou BSD. Spoločnosť Mullvad už implementovala GotaTun v VPN kliente pre platformu Android a v nasledujúcom roku plánuje preniesť aplikácie pre desktop a iOS.

GotaTun je forkom nástroja BoringTun, ktorý vyvíja spoločnosť Cloudflare a ktorý sa používa v aplikácii WARP. GotaTun sa líši od BoringTun plnohodnotnou podporou platformy Android, optimalizáciami výkonu a dodatočnými možnosťami na ochranu súkromia.

V GotaTun je integrovaná podpora technológie DAITA (Defense Against AI-guided Traffic Analysis) na ochranu pred analýzou šifrovaného transitného trafiku, vykonaného s využitím nástrojov založených na systémoch strojového učenia. DAITA normalizuje veľkosť odosielaných paketov, primiešava náhodný pozadiajúci prevádzku a skresľuje vzorce typových tokov údajov. GotaTun tiež implementuje režim Multihop, ktorý umožňuje pristupovať k VPN-serverom nie priamo, ale prostredníctvom série tranzitných uzlov, čo napríklad umožňuje organizovať prechod prevádzky po optimalizovanejších trasách.

Pre zvýšenie výkonu v GotaTun je implementované viaceré spracovanie a je použitá stratégia práce s pamäťou v režime zero-copy, bez medzipamäte, pričom sa využíva iba pôvodne poskytnutý buffer.

Vo vydaniach spoločnosti Mullvad bol predtým použitý fork implementácie WireGuard v jazyku Go — wireguard-go, vylepšený podporou DAITA a Multihop. Podľa štatistík Google 85% zo všetkých používateľských správ o haváriách Android klienta Mullvad bolo spojených s kódom wireguard-go, preto sa spoločnosť Mullvad rozhodla nahradiť implementáciu WireGuard spoľahlivejšou variantou.

Implementácia v jazyku Rust bola zvolená, pretože aplikácia Mullvad VPN je napísaná v jazyku Rust, s výnimkou kódu wireguard-go, s ktorým sa interakcia uskutočňuje prostredníctvom zložitého a využívajúceho bloky unsafe rozhrania FFI (foreign function interface). V publikovanom na konci novembra vydaní Android klienta Mullvad bola implementácia wireguard-go nahradená GotaTun, čo vyriešilo problémy s spoľahlivosťou — v porovnaní s predchádzajúcimi verziami, metrika, ktorá odráža počet havarijných ukončení, sa zmenila z 0,40 % na 0,01 %.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster