Kanada ja Ameerika Ühendriikide ülikoolide teadlaste rühm on töötanud välja Port Shadow ründe tehnika, mis võimaldab VPN-serveri poolel aadresside tõlke tabelite manipuleerimise kaudu suunata vastuse päringule teisele kasutajale, kes on ühendatud sama VPN-serveriga. Meetodit saab kasutada krüpteeritud liikluse pealtkuulamiseks või suunamiseks, sadamate skaneerimise läbiviimiseks ja VPN-kasutajate deanonüümimiseks. Näitena on toodud, kuidas saab kasutada meetodit, et suunata ründealuse DNS-päringud kasutajalt, kes töötab VPN-serveri kaudu, ründealuse poolt ühendatavale hostile.
Ründe teostamiseks peab ründaja olema võimeline ühenduma ühe VPN-serveriga, kus on ohver, mis on võimalik näiteks tavaliste VPN-teenuse pakkujate ja avalike VPN-teenuste kasutamise kaudu, mis pakuvad juurdepääsu kõigile soovijaile. Haavatavus mõjutab VPN-servereid, mis kasutavad aadresside tõlget (NAT) klientide juurdepääsu korraldamiseks välistele ressurssidele, tingimusel, et kliendilt saadud liikluse vastuvõtmiseks ja päringute edastamiseks välishostidele kasutatakse serveris üht ja sama IP-aadressi.
Rünnak põhineb sellel, et ründaja, kes on ühendatud sama VPN-serveriga ja kasutab ühise NAT-i, suudab saata spetsiaalselt koostatud päringud, mis moonutavad aadresside tõlke tabeli sisu, mille tulemusena saadetud paketid ühele kasutajale suunatakse teisele kasutajale. Aadresside tõlke tabelites määratakse teabe olemasolu, millega sisemine IP-aadress vastab saadetud päringule, lähtudes päringu saatmisel kasutatud algse võrgu pordi numbrist. Ründaja suudab, saates teatud SYN- ja ACK-pakette ning samal ajal manipuleerides VPN-serveriga oleva kliendiühenduse ja ründaja poolt kontrollitava välise serveri poolelt, põhjustada NAT-tabelis kollisioni ja lisada kirje sama algse pordi numbriga, kuid seostatuna tema kohaliku aadressiga, mis toob kaasa selle, et vastused teise päringu kohta saadetakse ründaja aadressile.

Uuringu käigus testiti Linuxi ja FreeBSD aadressi tõlkesüsteeme koos VPN-idega OpenVPN, OpenConnect ja WireGuard. FreeBSD platvorm osutus vastuvõtlikuks teiste VPN-iga ühendatud kasutajate päringute suunamise rünnakute meetoditele. NAT-tabelite asendamine õnnestus vaid ATIP (Adjacent-to-In-Path) rünnaku käigus, kus ründaja suudab sekkuda liiklusesse kasutaja ja VPN-serveri vahel (nt kui kasutaja on ühendatud ründajale kuuluvasse Wi-Fi-võrku) või VPN-serveri ja sihtveebi vahel. Samuti mõjutas NAT FreeBSD-d rünnak, mis võimaldab kindlaks teha, et kasutaja on ühendatud teatud veebilehega (Connection Inference).
Mis puutub Linuxisse, siis alamsüsteem Netfilter osutus vastuvõtlikuks rünnakutele, mis võimaldavad asendada aadressi tõlketabeli kirjeid, mis võivad suunata sissetulevaid pakette teisele kasutajale, saavutada pakettide saatmist väljaspool krüpteeritud VPN-kanalit (Decapsulation) või kindlaks teha avatud võrguportid kliendi poolel.

Rünnaku tõkestamiseks soovitatakse VPN-teenuse pakkujatele rakendada piisavaid algportide juhuslikkuse meetodeid NAT-is, piirata sama kasutaja samal ajal VPN-serveriga lubatud ühenduste arvu ning samuti blokeerida klientide võimalus valida VPN-serveris päringute vastuvõtmiseks võrguporda.
Proton AG esindaja sõnul ei mõjuta rünnak VPN-teenuseid, kus kasutatakse eraldi IP-aadresse sissetulevatele ja väljaminevatele päringutele. Lisaks on kahtlusi rünnaku rakendamise võimaluses reaalsetele VPN-teenustele, kuna edukat rünnakut on seni näidatud vaid laboratoorsetes testides ning selleks on vajalikud teatud tingimuste täitmine VPN-serveri ja rünnaku all oleva kliendi poolel. Samuti võib rünnak olla kasulik ainult krüpteerimata päringute manipuleerimiseks, nagu näiteks DNS-ile pöördumine, samas kui TLS-i ja HTTPS-i kasutamine rakendustasandil muudab liikluse suunamise mõttetuks.
Aadressi tõlketabeliga manipuleerimine ei ole rakendatav ainult VPN-idele, vaid ka juhtmeta võrkudele, kus NAT-i kasutatakse kasutajate ühendamiseks välistele ressurssidele pääsupunktis. Eelmisel kuul avaldati uuringu tulemused, mis käsitlevad sarnase rünnaku võimalust, kus muude juhtmeta võrguteenuste TCP-ühendusi võidakse kinni haarata. Rünnakumeetod osutus rakendatavaks 24-st 33 testitud juhtmeta pääsupunktist.

Wi-Fi rünnak, mida pakuti, osutus märksa lihtsamaks kui eespool mainitud meetod VPN-i jaoks, kuna paljude pääsupunktide puhul ei kontrollita järjestuse numbrite õigsust TCP-pakkides mitmesuguste optimeerimiste tõttu. Selle tulemusena oli rünnaku jaoks piisav vale RST-paki saatmine, et puhastada aadressi tõlketabeli kandeid, ning seejärel saavutada vastuse suunamine ründaja hostile, et määrata kindlaks vajalikud järjestuse (SEQ) ja tunnustamise (ACK) numbrid TCP-ühenduse haaramiseks.


Allikas: opennet.ru
