Skupina výskumníkov z kanadských a amerických univerzít vyvinula techniku útoku Port Shadow, ktorá umožňuje cez manipuláciu s tabulkami prekladania adries na strane VPN servera dosiahnuť poslanie odpovede na dopyt inému používateľovi pripojenému k rovnakému VPN serveru. Metóda môže byť využitá na organizovanie odpočúvania alebo presmerovania šifrovaného prenosu, vykonávanie skenovania portov a deanonimizáciu používateľov VPN. Ako príklad je ukázané, ako je možné využiť metódu na presmerovanie DNS požiadaviek používateľa, ktorý pracuje cez VPN server, ku ktorému má ako klient možnosť pripojiť sa útočník.
Na vykonanie útoku musí mať útočník možnosť pripojiť sa k jednému VPN-serveru so svojou obetou, čo je možné napríklad pri používaní štandardných VPN operátorov a verejných VPN služieb poskytujúcich prístup všetkým záujemcom. Zraniteľnosť zasahuje VPN servery, ktoré používajú prekladanie adries (NAT) na organizáciu prístupu klientov k vonkajším zdrojom, pričom pre prijímanie prenosu od klientov a posielanie dopytov na vonkajšie weby by sa serveri mala používať rovnaká IP adresa.
Útok je založený na tom, že cez posielanie špeciálne formátovaných dopytov útočník, pripojený k rovnakému VPN serveru a používajúci spoločný NAT, môže dosiahnuť skreslenie obsahu tabuliek prekladania adries, čo povedie k tomu, že pakety adresované jednému používateľovi budú smerované inému používateľovi. V tabuľkách prekladania adries sa informácie o tom, s ktorým vnútorným IP adresou je zaslaný dopyt spárovaný, určujú na základe čísla výstupného sieťového portu použitých pri zasielaní dopytu. Útočník prostredníctvom posielania určitých SYN a ACK paketov a súčasných manipulácií zo strany klientského pripojenia k VPN serveru a zo strany útočníkmi kontrolovaného vonkajšieho servera môže dosiahnuť vznik kolízie v NAT tabuľke a pridať záznam so rovnakým číslom výstupného portu, ale asociovaným s jeho lokálnou adresou, čo povedie k tomu, že odpovede na cudzí dopyt budú vrátené na adresu útočníka.

V rámci výskumu boli testované systémy pre preklad adries Linux a FreeBSD v kombinácii s VPN OpenVPN, OpenConnect a WireGuard. Platforma FreeBSD sa ukázala ako odolná voči útokom na presmerovanie požiadaviek zo strany iných používateľov pripojených k tej istej VPN. Nahradenie v tabuľkách NAT sa podarilo uskutočniť len počas útoku ATIP (Adjacent-to-In-Path), pri ktorom sa útočník môže vmiešať do prevádzky medzi používateľom a VPN serverom (napríklad keď sa používateľ pripojí k sieti Wi-Fi ovládanej útočníkom) alebo medzi VPN serverom a cieľovým webom. Pri tom NAT FreeBSD zasiahlo aj útok, ktorý umožňuje určiť, že používateľ je pripojený na určitú stránku (Connection Inference).
Pokiaľ ide o Linux, podsystem Netfilter sa ukázal byť vystavený útokom na nahradenie záznamov v tabuľke prekladu adries, čo umožňuje presmerovať prichádzajúce pakety inému používateľovi, dosiahnuť odosielanie paketov mimo šifrovaného VPN kanála (Decapsulation) alebo určiť otvorené sieťové ports na strane klienta.

Aby sa zablokovali útoky, VPN poskytovateľom sa odporúča používať adekvátne metódy náhodného generovania čísel zdrojových portov v NAT, obmedziť počet povolených súčasných pripojení k VPN serveru od jedného používateľa a tiež zablokovať možnosť výberu sieťového portu klientom na prijímanie požiadaviek na strane VPN servera.
Podľa zástupcu spoločnosti Proton AG útok nezahŕňa VPN služby, ktoré používajú oddelené IP adresy pre prichádzajúce a odchádzajúce požiadavky. Okrem toho sú pochybnosti o možnosti aplikácie útoku na reálne VPN služby, pretože úspešný útok bol zatiaľ demonštrovaný iba v laboratórnych testoch a na jeho vykonanie sú potrebné určité podmienky na strane VPN servera a napadnutého klienta. Okrem toho môže byť útok užitočný iba na manipulácie s nezašifrovanými požiadavkami, ako je prístup k DNS, zatiaľ čo používanie TLS a HTTPS na úrovni aplikácií robí presmerovanie prevádzky zbytočným.
Manipulácie s tabuľkami prekladu adries útokov sú použiteľné nielen pre VPN, ale aj pre bezdrôtové siete, v ktorých sa na organizáciu pripojenia používateľov k externým zdrojom na prístupovom bode používa NAT. Minulý mesiac boli zverejnené výsledky výskumu možného vykonania podobného útoku na zachytenie TCP pripojení iných používateľov bezdrôtovej siete. Metóda útoku sa ukázala ako použiteľná na 24 z 33 testovaných bezdrôtových prístupových bodov.

Navrhnutý útok na Wi-Fi sa ukázal byť podstatne jednoduchší ako vyššie uvedená metóda pre VPN, pretože v dôsledku optimalizácií mnohé prístupové body nekontrolujú správnosť čísel sekvencií v TCP paketochn. Nakoniec na útok stačilo poslať falošný RST paket na vymazanie záznamu v tabuľke prekladu adries a potom dosiahnuť nasmerovanie odpovede na hostiteľa útočníka na určenie čísel sekvencie (SEQ) a potvrdenia (ACK), potrebných na zachytenie TCP pripojenia.


Zdroj: opennet.ru
