Přejít k navigační liště

Zdroják » Zprávičky » Mullvad VPN má skrytou slabinu: exit IP adresy můžou prozradit, kdo jste

Mullvad VPN má skrytou slabinu: exit IP adresy můžou prozradit, kdo jste

Zprávičky Různé

Nálepky:

Bezpečnostní výzkumník na blogu tmctmt přišel na zajímavou věc o Mullvad VPN, jednom z nejoblíbenějších providerů mezi lidmi, co řeší soukromí. Mullvad totiž nepřiděluje uživatelům exit IP adresy náhodně, ale deterministicky podle WireGuard klíče. To znamená, že se stejným klíčem dostanete na konkrétním serveru vždycky tu samou IP.

Autor si napsal skript, který opakovaně měnil veřejný klíč a sbíral exit IP adresy z 9 různých serverů. Za noc vygeneroval data pro 3650 klíčů. A tady přichází překvapení: i když součet velikostí všech IP poolů dává přes 8,2 bilionu možných kombinací, ve skutečnosti se všechny testované klíče dostaly jen do 284 unikátních kombinací.

Důvod? Mullvad zřejmě používá Rust random_range, který má překvapivou vlastnost, a to když změníte horní hranici, RNG vygeneruje pořád stejný float (jen ho přeškáluje). Takže vám server s 11 IP adresami a server s 60 IP adresami přiřadí adresu na stejné procentuální pozici (např. obě v 81. percentilu jejich poolu).

Co to znamená v praxi: autor vytvořil nástroj, který z kombinace tvých exit IP odhadne float seed s přesností kolem 0,34 %. Při odhadovaných 100 000 aktivních uživatelích to znamená, že to zúží na ~340 lidí. Když si moderátor fóra (nebo někdo s přístupem k IP logům z data breachů) všimne, že dva účty mají překrývající se float rozsahy, dá se s >99% jistotou říct, že jde o stejnou osobu – i přes VPN.

Jak se bránit: nepřepínat servery v rámci jednoho klíče a občas si vynutit rotaci klíče odhlášením z Mullvad aplikace.

Není to úplný konec světa (Mullvad pořád zůstává jeden z lepších VPN providerů), ale je to pěkná ukázka toho, jak nenápadná implementační volba, pochopení toho, jak se chová RNG při změně bounds, může otevřít vektor pro korelační útoky a deanonymizaci.

Komentáře

Odebírat
Upozornit na
guest
0 Komentářů
Nejstarší
Nejnovější Most Voted

TypeScript 7 v Go: rychlejší buildy, chybějící API

Betaverze TypeScriptu 7.0 ukazuje víc než rychlejší tsc. Microsoft převádí kompilátor a jazykovou službu z původní kódové základny psané v TypeScriptu a běžící jako JavaScript do Go, přidává paralelní typovou kontrolu a připravuje novou editorovou část postavenou na LSP. Pro část nástrojů ale nepůjde o prostou výměnu binárky: TypeScript 7 zatím nemá stabilní náhradu dnešního Compiler API.