Kanada ja Ameerika Ühendriikide ülikoolide teadlaste rühm arendas välja Port Shadow rünnetehnika, mis võimaldab VPN-serveri aadresside tõlketabelite manipuleerimise kaudu saadetud vastuse edastamist teisele samasse VPN-serverisse ühendatud kasutajale. Meetodit saab kasutada krüpteeritud liikluse pealtkuulamiseks või suunamiseks, portide skannimiseks ja VPN-kasutajate deanonüümimiseks. Näiteks on näidatud, kuidas saab seda meetodit kasutada rünnakute hosti DNS-päringute suunamiseks VPN-serveri kaudu töötava kasutaja juuresolekul, kellele ründaja saab kliendina ühenduda.
Rünnaku sooritamiseks peab ründajal olema võimalus ühendust luua ühe VPN-server to a victim, which is possible, for example, when using typical VPN operators and public VPN services that offer access to anyone. The vulnerability affects VPN servers that utilize address translation (NAT) to organize client requests to external resources, while ensuring that the same IP address is used for receiving traffic from clients and sending requests to external sites. serveril a single IP address must be used.
Rünnak põhineb sellel, et ründaja, kes on ühendatud sama VPN-serveriga ja kasutab ühist NAT-d, suudab saadetud kujundatud päringute kaudu saavutada aadressitranslatsiooni tabelite sisu moonutamise, mis toob kaasa selle, et ühele kasutajale suunatud paketid saadetakse teisele kasutajale. Aadressitranslatsiooni tabelites määratakse, millise sise-IP-aadressiga on saadetud päring seotud, lähtudes saadetud päringu algse võrkpordi numbri kasutamisest. Ründaja, saates teatud SYN- ja ACK-pakette ning samaaegse manipuleerimisega kliendiühenduses VPN-serveriga ja ründaja kontrollitava välisherveriga, võib saavutada NAT-tabelis kollisiooni tekkimise ja kirje lisamise, millel on sama algse pordi number, kuid mis on seotud tema kohalikku aadressiga, mis toob kaasa selle, et vastused võõrale päringule saadetakse ründaja aadressile.

Uuringu käigus testiti Linuxi ja FreeBSD aadressitõlkesüsteeme koos VPN-idega OpenVPN, OpenConnect ja WireGuard. FreeBSD platvorm osutus immuunseks rünnakute suhtes, mis suunavad päringud teiste kasutajate poolt, kes on ühendatud sama VPN-iga. NAT-tabelite asendamine õnnestus ainult ATIP (Adjacent-to-In-Path) rünnaku käigus, kus ründaja suudab sekkuda kasutaja ja VPN-serveri vahelisse liiklusesse (näiteks siis, kui kasutaja on ühendatud ründajale kuuluvasse Wi-Fi võrku) või VPN-serveri ja sihtveebi vahel. Samuti mõjutas FreeBSD NAT-i rünnak, mis võimaldab määrata, kas kasutaja on ühendatud teatud veebisaidiga (Connection Inference).
Mis puudutab Linuxi, siis Netfilter alamsüsteem osutus alti rünnakutele, mis võimaldavad aadressitõlke tabelisse kirjeid asendada, võimaldades suunata sisenevaid pakette teisele kasutajale, saata pakette väljapoole krüpteeritud VPN-kanalit (Decapsulation) või määrata avatud võrgu pordid kliendi poolel.

VPN-teenuste rünnakute blokeerimiseks soovitatakse VPN-provideerijatel rakendada sobivaid meetodeid lähteportide numbrite juhuslikuks muutmiseks NAT-is, piirata sama kasutaja poolt VPN-serveriga lubatud samaaegsete ühenduste arvu ja takistada kliendil valida võrgupordi, mis võtab vastu päringuid VPN-serveri poolel.
Proton AG esindaja sõnul ei puuduta rünnak VPN-teenuseid, kus kasutatakse eraldi IP-aadresse sisenevate ja väljaminevate päringute jaoks. Lisaks on kahtlusi, kas rünnakut on võimalik rakendada tegelikele VPN-teenustele, kuna seni on edukas rünnak demonstreeritud ainult laboritestides ning selle läbiviimiseks on vajalikud teatud tingimused VPN-serveri ja rünnatava kliendi pool. Lisaks võib rünnak olla kasulik ainult krüpteerimata päringute, näiteks DNS-i päringute manipuleerimiseks, samas kui TLS-i ja HTTPS-i kasutamine rakenduste tasandil muudab liikluse suunamise kasutu.
Aadresside tõlketabelitega manipuleerimise meetodid on rakendatavad mitte ainult VPN-ide, vaid ka traadita võrkudes, kus NAT-i kasutatakse kasutajate ühendamiseks väliste ressurssidega pääsupunktis. Eelmisel kuul avaldati uuringu tulemused, mis käsitlevad sarnase rünnaku võimalust teiste traadita võrgu kasutajate TCP-ühenduste haaramiseks. Rünnaku meetod osutus rakendatavaks 24-st 33 testitud traadita pääsupunktist.

Wi-Fi jaoks ettenähtud rünnak osutus oluliselt lihtsamaks kui eespool mainitud meetod VPN-ide jaoks, kuna paljud pääsupunktid ei kontrolli TCP-paketis järjestuse numbrite kohasust, tänu optimeerimisele. Tulemuseks oli see, et rünnaku jaoks piisab vale RST-paketi saatmisest aadresside tõlketabeli salvestuse tühjendamiseks, seejärel on vajalik suunata vastus ründaja hostile, et määrata järjestuse (SEQ) ja kinnituse (ACK) numbrid, mis on vajalikud TCP-ühenduse katmiseks.


Allikas: opennet.ru
