Badacze z Uniwersytetu Michigan opracowali narzędzie MVPNalyzer do wykrywania wycieków informacji i analizy działania VPN oraz przetestowali w jego ramach 281 aplikacji VPN dla platformy Android. Do badania wybrano najbardziej popularne aplikacje VPN, które są dystrybuowane za pośrednictwem katalogu Google Play. Aplikacje VPN, w których wykryto różne problemy z bezpieczeństwem i prywatnością, łącznie mają 2,4 miliarda instalacji. Główne wnioski:
- W 61 aplikacjach (22%) wykryto przesyłanie danych bez szyfrowania, przeprowadzane poza ustalonym tunelem. Większość aplikacji z tej kategorii cieszy się popularnością i średnio ma 11 milionów instalacji. W 18 aplikacjach dokonano bezpośredniego odwołania do usługi ip-api.com w celu określenia lokalizacji dla adresem IP klienta.
W 5 przypadkach bez szyfrowania klientowi przekazywano pliki konfiguracyjne, zawierające parametry połączenia z serwerem VPN. Badacze przeprowadzili eksperyment i potwierdzili możliwość przeprowadzenia ataku MITM, pozwalającego na przekierowanie ruchu na swój serwer, mając możliwość wniknięcia w kanał komunikacyjny ofiary, na przykład podłączającej się do kontrolowanej przez atakującego publicznej sieci bezprzewodowej. Problematyczne aplikacje (pełna lista wszystkich aplikacji, w których wykryto problemy, znajduje się na 17 stronie raportu PDF):
- BambooVPN: Turbo Fast VPN (free.vpn.unblock.proxy.bamboovpn);
- VPN Pro (com.nebulatech.voocvpnpro);
- Free VPN (com.appoxide.freevpn);
- Hexa VPN (com.secure.vpn.proxy);
- 101 VPN (com.shwe.vpn101).
Badacze powiadomili autorów tych aplikacji o problemach, a po pewnym czasie przeprowadzili ponowną kontrolę najnowszych wersji, która wykazała, że lukę usunięto tylko w dwóch aplikacjach — VPN Pro i Hexa VPN.
- W przypadku 29 aplikacji (10%) występuje wyciek ruchu poza ustalony tunel. W 24 aplikacjach, mających 360 milionów instalacji, nastąpił wyciek informacji o odwiedzanych stronach w wyniku bezpośredniego przesyłania zapytań DNS (20 wysyłało zapytania DNS przez lokalny resolver, a 6 przez publiczne usługi DNS, takie jak Google, Cloudflare, AliDNS i DNSPod). W 6 aplikacjach, mających 54 miliony instalacji, stwierdzono wysyłanie poza tunelem ruchu związanego z działaniem użytkownika w przeglądarce internetowej. W 4 aplikacjach dane przesyłano przez niezaszyfrowany tunel.
- W 169 aplikacjach (60%) nie stosowano obfuskacji ruchu, używano standardowych portów sieciowych oraz monitorowanych protokołów w ogólnym ruchu. Takie zachowanie nie odpowiada oczekiwaniom użytkowników — zgodnie z sondażem przeprowadzonym w zeszłym roku, 82% użytkowników VPN uważa, że VPN zapewnia im anonimowość.
- W 76 aplikacjach (27%) przesyłano unikalne identyfikatory urządzeń AAID (Android Advertising ID), które umożliwiają śledzenie urządzeń i użytkowników. W 246 aplikacjach (87%) zarejestrowano odwołania do znanych sieci reklamowych i usług śledzenia użytkowników (łącznie zarejestrowano odwołania do 3714 różnych URL). Jedna aplikacja wysyłała dokładne współrzędne GPS urządzenia.
- W 107 aplikacjach (38%) zastosowano ustawienia, które nie zapewniają optymalnego poziomu bezpieczeństwa. W 20 aplikacjach, które łącznie miały 40 mln instalacji, stosowano niebezpieczne metody szyfrowania. W 96 aplikacjach, które miały 728 mln instalacji, używano niepewnych mechanizmów uwierzytelniania.
W 3 aplikacjach w ustawieniach OpenVPN parametr data-ciphers był ustawiony na wartość „none”, co umożliwia nawiązywanie połączeń bez szyfrowania. W 8 aplikacjach parametr „cipher” był ustawiony na wartość „none”, co wyłącza szyfrowanie przy użyciu OpenVPN 2.4 i wcześniejszych wersji. W 12 aplikacjach używano dyrektyw, które zostały uznane za przestarzałe. W 61 aplikacji w konfiguracji OpenVPN nie włączono dyrektyw blokujących znane metody ataków.
Źródło: opennet.ru
