Zagrożenia w Internecie

Transkrypt

Zagrożenia w Internecie
Przegląd zagrożeń
związanych z DNS
Tomasz Bukowski, Paweł Krześniak
CERT Polska
Warszawa, styczeń 2011
Agenda
Agenda
• Zagrożenia w Internecie
• Komunikacja w DNS
• Zagrożenia w DNS
• Metody i skutki ataków
 Zagrożenia w Internecie
 Zagrożenia w Internecie
• Atak na zdalny serwer
• Atak na łącze
• Atak na stacje roboczą
 Ataki na zdalny serwer
• wykorzystanie niezałatanej luki
• kradzież hasła dostępowego
•
•
•
•
modyfikacja lub usunięcie danych
dostęp do wrażliwych informacji
umieszczenie fałszywych/szkodliwych informacji
podmiana treści
 Ataki na łącze
• sniffing
• spoofing
• dostęp do wrażliwych danych
• modyfikacja przesyłanych informacji
 Ataki na stację roboczą
• wykorzystanie niezałatanej luki
• malware
• dostęp do wrażliwych informacji
• przejęcie kontroli nad komputerem
Usługa DNS
i ataki na nią
 Struktura DNS
 Rozwiązywanie nazwy
 Komunikacja
• TCP lub UDP
• port 53
• Brak szyfrowania
 TCP
•
•
•
•
Protokół połączeniowy (3-way handshake)
Mało wydajny dla potrzeb DNS (RTT)
Rzadko wykorzystywany
Parametry połączenia:
•
•
•
IP źródłowe, port źródłowy
IP docelowe, port docelowy
Numery sekwencyjne połączenia
 UDP
•
•
•
•
Ponad 99,9% ruchu DNS
Protokół bezpołączeniowy
Protokół bezstanowy
Parametry połączenia:
•
•
IP źródłowe, port źródłowy
IP docelowe, port docelowy
• Rozszerzenie EDNS0 pozwala na obsługę wiadomości
dłuższych niż 512 bajtów (domyślnie 4kB)
 Struktura pakietu DNS
 Parametry charakteryzujące komunikacje DNS
• Warstwa 3 i 4 (IP+UDP)
•
•
Adres IP
Numer portu źródłowego – 16 bitów
• DNS
•
•
QNAME
ID – 16 bitów
 Co zawiera pytanie DNS
• losowa wartość QUERY-ID
• flaga QUERY=0
• jeden rekord ANSWER - pytanie
• brak innych danych
 Co zawiera odpowiedź DNS
• ta sama wartość QUERY-ID
• flaga QUERY=1
• sekcja ANSWER identyczna jak w
zapytaniu DNS
• informacje dotyczące domeny w
pozostałych sekcjach (TTL - czas
ważności informacji)
 Rodzaje informacji zawartych w DNS
• rekordy A oraz AAAA - translacja nazwy domenowej do
adresu IP
• rekord MX - nazwy serwerów pocztowy obsługujący pocztę
dla danej domeny
• rekordy NS - nazwy serwerów DNS obsługujący daną
domenę
• rekord SRV - informacje o serwisach/usługach dostępnych
dla danej domeny
• rekord CNAME - nazwa kanoniczna - alias do nazwy (innej)
domenowej
 Miejsca ataku NA KOMUNIKACJE DNS
 Na serwer DNS
• Włamanie do systemu
• Zatruwanie cache tzw cache-poisoning
 Na komunikacje
• Man-in-the-middle
• Cache poisoning
 Na stację roboczą
• Rożnego rodzaju malware
 Skutki ataków
Dostarczenie fałszywych informacji
• „podmiana” stron WWW („web site impersonation”)
• przejmowanie poczty email
• obchodzenie zabezpieczeń na stronach WWW dzięki funkcji
„zapomniałem hasła”
 Skutki ataków
 Skutki ataków
 Skutki ataków – przykład
• 08-01-2011 atak na Google Bangladesz google.com.bd
 Cache poisoning
• Łatwy dzięki niezmiennym parametrom komunikacji:
•
•
Adresy IP
Porty (źródłowy i docelowy to 53/udp)
• Zmienne parametry komunikacji:
•
ID zapytania DNS (16 bitów)
 Cache poisoning – sposób ataku
• W 1999 Daniel Bernstein zauważył że 16 bitowowe ID
•
•
transakcji może zostać odgadnięte poprzez atak brute
force
Odpowiedź społeczności DNS: TTL rekordów ogranicza
atakującego do jeden próby sfałszowania odpowiedzi
na okres ważności rekordu (typowo 1 dzień), co
uniemożliwi skuteczny atak
W lipcu 2008 Dan Kaminsky zweryfikował te
twierdzenia i pokazał jak ominąć TTL
 Cache poisoning – sposób ataku (c.d.)
• TTL jest atrybutem każdego rekordu, więc aby
wymusić zapytanie z jednego serwera do drugiego
należy generować zapytania o losowe nazwy w tej
domenie:
• abc1.domena.pl
• abc2.domena.pl
• abc3.domena.pl
• ....
 Cache poisoning – sposób ataku (c.d.)
• W strumieniu oszukanych odpowiedzi od serwera
należy spreparować sekcje AUTHORITATIVE i/lub
ADDITIONAL i podać tam inne serwery NS dla
atakowanej domeny lub ich inne adresy IP. Serwer DNS
otrzymując nowe adresy IP zapamięta je i przy
rozwiązywaniu kolejnych nazw użyje serwerów DNS
atakującego
 Obrona przed cache-poisoningiem
• Filtrowanie pakietów z oszukanym adresem źródłowym u
•
•
samego źródła ([BCP38, RFC3704] uRPF, czyli Unicast
Reverse Path Forwarding)
Użycie TCP
Randomizacja portu źródłowego (dodatkowe max 16 bitów)
•
Przy losowym ID i porcie źródłowym atak nadal jest możliwy, ale
do jego przeprowadzenia potrzeba dużego pasma kilkanaście –
kilkdziesiąt Mbit i kilku dni (1-10)
– http://labs.nic.cz/files/labs/DNS-cache-poisoning-attackanalysis-summary.pdf
 Obrona przed cache-poisoningiem (c.d.)
• Zwiększenie liczby bitów dla ID transakcji DNS poprzez
zmianę wielkości liter w zapytaniu DNS
•
•
•
Trick opisany w draft-vixie-dnsext-dns0x20
Otrzymujemy N dodatkowych bitów dla ID transakcji, gdzie N
równe jest sumie długości etykiet pytanej nazwy:
– www.nask.pl
111 1111 11
– WwW.NaSk.Pl
010 0101 01
– WWW.nask.PL
000 1111 00
Brak pewności, że będzie to zaimplementowane we wszystkich
popularnych serwerach DNS, gdyż nie jest to RFC.
• DNSSEC
Podsumowanie
Pytania

Podobne dokumenty