Група изследователи от канадски и американски университети разработи техника за атака Port Shadow, позволяваща чрез манипулация с таблиците за транслация на адреси на страна на VPN-сервера да се постигне изпращането на отговор на запитване до друг потребител, свързан към същия VPN-сървър. Методът може да бъде използван за организиране на прихващане или пренасочване на криптиран трафик, провеждане на сканиране на портове и деанонимизиране на потребителите на VPN. Като пример е показано как може да се използва методът за пренасочване на DNS-запитванията на потребител, работещ чрез VPN-сървър, към който атакуващият има възможност да се свърже.
За да извърши атаката, злонамереният потребител трябва да има възможност за свързване към един VPN-сървър с жертвата, което е възможно, например, при използване на стандартни VPN-оператори и публични VPN-сервиси, предоставящи достъп на всеки желаещ. Уязвимостта засяга VPN-сървъри, използващи транслация на адреси (NAT) за организиране на достъпа на клиентите до външни ресурси, при това за приемане на трафик от клиентите и изпращане на запитвания към външни сайтове на сървър трябва да се използва един и същ IP-адрес.
Атаката се основава на това, че чрез изпращане на специално форматирани запитвания, атакуващият, свързан към същия VPN-сървър и използващ общ NAT, може да предизвика изкривяване на съдържанието на таблиците за транслация на адреси, което ще доведе до това, че пакети, адресирани до един потребител, ще бъдат насочени към друг потребител. В таблиците за транслация на адреси информацията за това, с кой вътрешен IP-адрес е свързан изпратеният запит, се определя на база номера на изходния мрежов порт, използван при изпращането на запитването. Атакуващият чрез изпращане на определени SYN и ACK пакети и едновременно манипулации от страна на клиентското свързване към VPN-сървъра и от страна на контролиран от атакуващия външен сървър, може да постигне възникването на колизия в таблицата NAT и добавянето на запис с същия номер на изходния порт, но асоцииран с неговия локален адрес, което ще доведе до това, че отговорите на чуждо запитване ще се върнат на адреса на атакуващия.

В хода на изслушването бяха тествани системи за транслация на адреси в Linux и FreeBSD в комбинация с VPN OpenVPN, OpenConnect и WireGuard. Платформата FreeBSD не беше подложена на атаките за пренасочване на запитванията, извършвани от други потребители, свързани със същия VPN. Подмяната в таблиците NAT можа да бъде осъществена само по време на атаката ATIP (Adjacent-to-In-Path), при която атакуващият може да се вплете в трафика между потребителя и VPN-сървъра (например, когато потребителят се свързва към контролираната от атакуващия Wi-Fi мрежа) или между VPN-сървъра и целевия сайт. При това NAT FreeBSD също беше засегната от атаката, позволяваща да се установи факта на свързването на потребителя с определен сайт (Connection Inference).
Относно Linux, подсистемата Netfilter беше подложена на атаки чрез подмяна на записи в таблицата за транслация на адреси, позволяващи да се пренасочат входящите пакети към друг потребител, да се изпратят пакети извън криптирания VPN-канал (Decapsulation) или да се установят отворени мрежови портове от страна на клиента.

Като мерки за блокиране на атаката, на VPN-провайдерите се препоръчва да използват адекватни методи за рандомизация на номерата на изходните портове в NAT, да ограничат броя на допустимите едновременни връзки към VPN-сървъра от един потребител, както и да блокират възможността клиентът да избира мрежовия порт, приемащ запитванията на страната на VPN-сървъра.
Според представител на компанията Proton AG, атаката не засяга VPN-услугите, при които се използват отделни IP адреси за входящи и изходящи запитвания. Освен това, съществуват съмнения относно възможността атаката да бъде приложена към реални VPN-услуги, тъй като успешна атака досега е демонстрирана само в лабораторни тестове и за нейното провеждане изисква спазването на определени условия на страната на VPN-сървъра и атакувания клиент. Освен това, атаката може да бъде полезна само за манипулации с нешифровани запитвания, като достъп до DNS, докато използването на TLS и HTTPS на ниво приложения прави пренасочването на трафика безполезно.
Атаките, които манипулират таблиците за транслация на адреси, са приложими не само за VPN, но и за безжични мрежи, в които NAT се използва за свързване на потребителите към външни ресурси на точката за достъп. Миналия месец бяха публикувани резултатите от проучване за възможността да се проведе подобна атака за прихващане на TCP връзките на други потребители в безжичната мрежа. Методът на атаката се оказа приложим за 24 от 33 тествани безжични точки за достъп.

Предложената атака за Wi-Fi се оказа значително по-лесна в сравнение с описания метод за VPN, тъй като много точки за достъп не проверяват правилността на номерата на последователностите в TCP пакетите поради приложените оптимизации. В резултат на това, за атаката беше достатъчно да се изпрати фалшив RST пакет за изчистване на записа в таблицата за транслация на адреси, след което да се опита да се насочи отговорът към хоста на атакуващия, за да се определи номера на последователността (SEQ) и потвърждението (ACK), необходими за прихващането на TCP връзката.


Източник: opennet.ru
