pharming
| Po angielsku | pharming |
|---|---|
| Którą formą pisać | po angielsku Polski odpowiednik istnieje, ale w praktyce nikt tak nie pisze. Zostaw angielski, polski trzymaj jako synonim. |
| Inne formy | przekierowanie na fałszywą stronę mimo poprawnego adresu · podmiana DNS na routerze · zatrucie DNS |
| Kategoria | Ataki i socjotechnika |
Pharming to atak, w którym ofiara trafia na podstawioną witrynę, choć wpisała poprawny adres. NIST definiuje go jako przekierowanie użytkownika na fałszywą stronę, najczęściej podszywającą się pod usługę logowania, przez zepsucie usługi infrastrukturalnej, takiej jak DNS, albo urządzenia końcowego ofiary [1]. Skutkiem może być ujawnienie hasła, pobranie złośliwego oprogramowania albo udział w oszustwie [1]. Nazwa nawiązuje do phishingu, ale mechanizm jest inny: ofiara nie musi kliknąć podejrzanego linku.
Jak działa
Przeglądarka zamienia nazwę domeny na adres IP za pomocą systemu DNS. Pharming atakuje właśnie ten krok. Jeśli odpowiedź DNS jest fałszywa, przeglądarka łączy się z serwerem atakującego, a pasek adresu nadal pokazuje właściwą nazwę. MITRE opisuje, że atakujący przekierowuje użytkowników na podrobioną stronę przez zatrucie rekordów DNS albo pliku hosts, a potem zbiera wprowadzane tam dane [2].
Starsza definicja NIST, z wytycznych dotyczących serwerów WWW, ujmuje to prościej: pharming to techniczne przekierowanie użytkowników na fałszywą stronę, która udaje prawdziwą i skłania ich do ujawnienia danych osobowych [1]. Kluczowe jest słowo „techniczne”. W phishingu ofiara sama wybiera zły adres, bo dała się przekonać wiadomości. W pharmingu ofiara robi wszystko poprawnie, a błąd leży w infrastrukturze, której nie widzi i nie kontroluje. Dlatego szkolenia uczące sprawdzania linków niewiele tu pomagają.
Przebieg ataku przez przejęty router domowy pokazuje schemat poniżej.
Odmiany
Pharming dzieli się według miejsca, w którym fałszowana jest odpowiedź. Im wyżej w łańcuchu, tym więcej ofiar naraz.
| Miejsce ataku | Mechanizm | Zasięg |
|---|---|---|
| plik hosts na urządzeniu | wpis narzucający adres IP domeny [2] | jedno urządzenie |
| router domowy | zmiana serwerów DNS w konfiguracji [3] | cała sieć lokalna [3] |
| serwer DNS | DNS cache poisoning [2] | wszyscy klienci resolvera |
| rejestrator lub strefa domeny | przejęcie DNS | wszyscy odwiedzający domenę |
Przypadek z routerem jest groźny, bo dotyczy każdego urządzenia w sieci. CERT Polska podkreślał, że zapytania o nazwy wysyłane przez wszystkie urządzenia z sieci wewnętrznej obsługiwały wtedy podstawione serwery DNS, niezależnie od systemu operacyjnego, jeśli urządzenia pobierały ustawienia DNS z routera [3].
W WordPressie
Pharming uderza w odwiedzających stronę, a nie w samą instalację WordPressa. Kod strony pozostaje nietknięty, więc skaner plików ani monitorowanie integralności plików niczego nie wykryją. Mimo to właściciel witryny ma wpływ na to, jak trudne będzie podstawienie jej kopii.
- Pełne HTTPS. Strona z ważnym certyfikatem SSL/TLS na każdej podstronie utrudnia atak, bo fałszywy serwer nie przedstawi zaufanego certyfikatu dla cudzej domeny. MITRE wymienia obsługę wszystkich wrażliwych danych przez bezpieczne połączenie jako podstawowe zabezpieczenie [2].
- HSTS. Nagłówek HSTS (HTTP Strict Transport Security) każe przeglądarce łączyć się z witryną wyłącznie bezpiecznym połączeniem [6]. RFC 6797 wymienia wśród zagrożeń, którym przeciwdziała, aktywnego atakującego w sieci posługującego się między innymi fałszowaniem DNS [6].
- Konto u rejestratora i w DNS. Przejęcie panelu domeny daje efekt pharmingu dla wszystkich odwiedzających. Dostęp do niego warto chronić uwierzytelnianiem wieloskładnikowym.
- DNSSEC. DNSSEC dodaje do DNS uwierzytelnienie pochodzenia danych i ochronę ich integralności [5], ale działa tylko wtedy, gdy resolver sprawdza podpisy.
Na komputerze dewelopera wpisy w pliku hosts są codziennym narzędziem, na przykład do podglądu migracji strony przed zmianą DNS. Ten sam mechanizm w rękach złośliwego oprogramowania służy do pharmingu [2].
Zagrożenia i skutki
Pharming jest skuteczny, bo omija nawyk sprawdzania linku. Ofiara wpisuje adres ręcznie albo korzysta z zakładki i nadal trafia do atakującego. Połączenie z atakiem man-in-the-middle pozwala działać w czasie rzeczywistym: atakujący loguje się do prawdziwego serwisu danymi podanymi przez ofiarę i prosi ją o kod jednorazowy do autoryzacji własnej operacji [4]. Tak wyglądały ataki na klientów polskich banków w latach 2013–2014 [3].
Atak może też kończyć się pobraniem złośliwego pliku z podstawionej strony [1] albo przekierowaniem na witrynę z złośliwym oprogramowaniem.
Jak się bronić
MITRE zaleca szybkie łatanie znanych podatności w oprogramowaniu DNS, routerach i systemach operacyjnych oraz podawanie wrażliwych danych tylko na stronach z bezpiecznym połączeniem i ważnym certyfikatem wystawionym przez uznany urząd [2]. CERT Polska w 2014 roku zalecał wyłączenie zdalnej konfiguracji routera, zmianę domyślnych danych logowania, instalację poprawek producenta i obserwowanie ostrzeżeń przeglądarki o certyfikatach [3]. Dwa pierwsze zalecenia odpowiadają hasłom domyślne hasło i aktualizacja firmware.
Przed wyłudzeniem danych na podstawionej stronie chronią metody logowania powiązane z domeną. Klucze dostępu i klucze sprzętowe FIDO2 / WebAuthn nie zadziałają na obcej domenie, więc ofiara nie ma czego przekazać atakującemu.
Historia i przykłady
Pod koniec 2013 roku do CERT Polska trafiły potwierdzone informacje o komunikatach sugerujących modyfikację stron bankowych na iPhone’ach; użytkownicy widzieli prośby o potwierdzenie zmiany numeru rachunku kodem jednorazowym [3]. Przyczyną okazały się luki w routerach domowych, które pozwalały zdalnie zmienić ich konfigurację, w tym serwery DNS [3]. CERT Polska opublikował analizę 6 lutego 2014 roku [3].
Niebezpiecznik opisał 2 lutego 2014 roku klienta mBanku, który stracił 16 000 zł po takim ataku [4]. Według serwisu podatne routery mogło mieć około 1,2 miliona polskich gospodarstw domowych [4]. Atakujący podszywał się pod bank na adresie z przedrostkiem „ssl-” i równocześnie wykonywał te same czynności w prawdziwym serwisie, żeby przechwycić kod SMS [4].
Przypisy
6- [1] Glossary: pharming · NIST CSRC
- [2] CAPEC-89: Pharming · MITRE
- [3] Ruch klientów banków jest przechwytywany i modyfikowany na skutek luk w routerach · CERT Polska
- [4] Stracił 16 000 PLN, bo miał dziurawy router. Prawie 1,2 miliona Polaków może być podatnych na ten atak · Niebezpiecznik
- [5] RFC 4033: DNS Security Introduction and Requirements · IETF
- [6] RFC 6797: HTTP Strict Transport Security (HSTS) · IETF