Dlaczego ARP jest zastępowane przez NDP w IPv6?

49

ARP został zastąpiony NDP (Neighbor Discovery Protocol). Ale nie znam dokładnej przyczyny tego.

  • Czy są jakieś problemy bezpieczeństwa w ARP?
  • Dlaczego ARP zastępuje NDP?
  • Jakie są zalety ARP?

Czy ktoś może to wyjaśnić w prosty sposób?

Ganeshgm7
źródło

Odpowiedzi:

67

Czy są jakieś problemy bezpieczeństwa w ARP?

Tak. Oto niektóre:

  • ARP Spoofing.

    Fałszywe wiadomości ARP są wysyłane przez sieć LAN, co powoduje połączenie adresu MAC atakującego z adresem IP legalnego komputera lub serwera w sieci.

    Zobacz poniżej więcej informacji na temat ARP Spoofing / Zatrucia.

  • Powódź na MAC.

    Tabela translacji, która śledzi adresy MAC, na których portach fizycznych ma ograniczoną ilość pamięci. Pozwala to na wykorzystanie przełącznika poprzez zalanie tabeli translacji. Prymitywne przełączniki, nie wiedząc, jak poradzić sobie z nadmiarem danych, „nie otworzą się” i rozgłaszają wszystkie ramki sieciowe do wszystkich portów.

  • Powielanie adresów MAC.

    W ataku polegającym na powielaniu adresów MAC przełącznik jest mylony, ponieważ dwa porty mają ten sam adres MAC. Ponieważ dane będą przekazywane do obu portów, przekazywanie adresów IP nie jest konieczne.

Źródło bezpieczeństwa protokołu rozpoznawania adresów TCP / IP (ARP)


Dlaczego ARP zastąpiono NDP?

Zapewnia ulepszenia i dodatkowe funkcje dla IPv6.

Zobacz poniżej porównanie NDP i protokołów protokołu rozpoznawania adresów [ARP], wykrywania routera ICMP [RDISC] i przekierowania ICMP [ICMPv4].


Jak NDP broni się przed fałszowaniem / zatruciem ARP?

Wykorzystuje protokół Secure Neighbor Discovery (SEND). Kryptograficznie wygenerowane adresy zapewniają, że żądane źródło wiadomości NDP jest właścicielem żądanego adresu.

Jedną z funkcji protokołu NDP (IPV6 Neighbor Discovery Protocol) jest przekształcanie adresów warstwy sieci (IP) na adresy warstwy łącza (na przykład Ethernet), funkcja wykonywana w IPv4 przez protokół rozpoznawania adresów (ARP). Protokół Secure Neighbor Discovery (SEND) uniemożliwia osobie atakującej, która ma dostęp do segmentu transmisji, wykorzystywanie NDP lub ARP w celu oszukiwania hostów w wysyłaniu ruchu atakującego przeznaczonego dla kogoś innego, technika znana jako zatrucie ARP.

Aby zabezpieczyć się przed zatruciem ARP i innymi atakami na funkcje NDP, SEND należy wdrożyć tam, gdzie uniemożliwienie dostępu do segmentu transmisji może być niemożliwe.

SEND wykorzystuje pary kluczy RSA do tworzenia adresów generowanych kryptograficznie, jak zdefiniowano w RFC 3972, Cryptographically Generated Addresses (CGA). Zapewnia to, że żądane źródło wiadomości NDP jest właścicielem żądanego adresu.

Źródło Konfigurowanie bezpiecznego wykrywania sąsiadów IPv6


Jak działa ARP Spoofing?

ARP Spoofing jest również określany jako ARP Poison Routing (APR) lub ARP Cache Poisoning.

Fałszowanie ARP to rodzaj ataku, w którym złośliwy aktor wysyła sfałszowane wiadomości ARP (Address Resolution Protocol) przez sieć lokalną. Powoduje to powiązanie adresu MAC osoby atakującej z adresem IP legalnego komputera lub serwera w sieci.

Gdy adres MAC atakującego zostanie połączony z autentycznym adresem IP, atakujący zacznie otrzymywać dane przeznaczone dla tego adresu IP.

Fałszowanie ARP może umożliwić złośliwym stronom przechwytywanie, modyfikowanie, a nawet zatrzymywanie przesyłanych danych. Ataki fałszowania ARP mogą wystąpić tylko w sieciach lokalnych korzystających z protokołu rozpoznawania adresów.

Źródło Veracode ARP Spoofing


Jak działa ARP Spoofing Attack?

Kroki do ataku polegającego na fałszowaniu ARP zwykle obejmują:

  1. Atakujący otwiera narzędzie fałszowania ARP i ustawia adres IP tego narzędzia, aby pasował do podsieci IP celu. Przykłady popularnych programów fałszujących ARP to Arpspoof, Cain & Abel, Arpoison i Ettercap.

  2. Atakujący używa narzędzia fałszowania ARP do skanowania adresów IP i MAC hostów w podsieci celu.

  3. Atakujący wybiera swój cel i rozpoczyna wysyłanie pakietów ARP przez sieć LAN, które zawierają adres MAC atakującego i adres IP celu.

  4. Gdy inne hosty w sieci LAN buforują sfałszowane pakiety ARP, dane wysyłane przez te hosty do ofiary trafią do atakującego. Stąd atakujący może ukraść dane lub przeprowadzić bardziej zaawansowany atak uzupełniający.

Źródło Veracode ARP Spoofing

Atakujący może wybrać kontrolę pakietów (szpiegostwo), przekazując ruch do faktycznej bramy domyślnej, aby uniknąć wykrycia, zmodyfikować dane przed przekazaniem (atak typu man-in-the-middle) lub uruchomić atak typu „odmowa usługi” atak, powodując upuszczenie części lub wszystkich pakietów w sieci.

Źródło Wikipedia ARP spoofing


Porównanie [NDP] z IPv4

Protokół IPv6 Neighbor Discovery odpowiada kombinacji protokołów IPv4 Protocol Resolution Protocol [ARP], ICMP Router Discovery [RDISC] i ICMP Redirect [ICMPv4].

W IPv4 nie ma ogólnie uzgodnionego protokołu ani mechanizmu wykrywania nieosiągalnego sąsiedztwa, chociaż dokument wymagań gospodarza [HR-CL] określa niektóre możliwe algorytmy wykrywania martwej bramy (podzbiór problemów, które rozwiązuje wykrywanie nieosiągalności sąsiada).

Protokół Neighbor Discovery zapewnia wiele ulepszeń w stosunku do zestawu protokołów IPv4:

  • Wykrywanie routerów jest częścią podstawowego zestawu protokołów; hosty nie muszą „szpiegować” protokołów routingu.

  • Reklamy routera zawierają adresy warstwy łącza; żadna dodatkowa wymiana pakietów nie jest potrzebna do rozwiązania adresu warstwy łącza routera.

  • Reklamy routera zawierają prefiksy łącza; nie ma potrzeby posiadania osobnego mechanizmu do konfiguracji „maski sieci”.

  • Reklamy routera umożliwiają autokonfigurację adresu.

  • Routery mogą reklamować MTU dla hostów do użycia w łączu, upewniając się, że wszystkie węzły używają tej samej wartości MTU w łączach pozbawionych dobrze zdefiniowanego MTU.

  • Multiemisje z rozwiązywaniem adresów są „rozproszone” na 16 milionów (2 ^ 24) adresów multiemisji, co znacznie zmniejsza przerwania związane z rozwiązywaniem adresów w węzłach innych niż cel. Ponadto maszyny inne niż IPv6 nie powinny być w ogóle przerywane.

  • Przekierowania zawierają adres warstwy łącza nowego pierwszego przeskoku; oddzielne rozpoznawanie adresu nie jest potrzebne po otrzymaniu przekierowania.

  • Z tym samym linkiem można powiązać wiele prefiksów. Domyślnie hosty uczą się wszystkich prefiksów w linkach z ogłoszeń routera. Jednak routery mogą być skonfigurowane tak, aby pomijały niektóre lub wszystkie prefiksy z ogłoszeń routera. W takich przypadkach hosty zakładają, że miejsca docelowe są odłączone i wysyłają ruch do routerów. Router może następnie odpowiednio przekierowywać.

  • W przeciwieństwie do IPv4 odbiorca przekierowania IPv6 zakłada, że ​​nowy następny przeskok jest połączony. W IPv4 host ignoruje przekierowania, określając następny przeskok, który nie jest połączony zgodnie z maską sieciową łącza. Mechanizm przekierowania IPv6 jest analogiczny do narzędzia XRedirect określonego w [SH-MEDIA]. Oczekuje się, że będzie przydatny w nierozsyłanych i współdzielonych łączach medialnych, w których jest niepożądane lub niemożliwe, aby węzły znały wszystkie prefiksy dla miejsc docelowych łącza.

  • Wykrywanie nieosiągalności sąsiada jest częścią bazy, co znacznie poprawia niezawodność dostarczania pakietów w przypadku awarii routerów, częściowo nieudanych lub podzielonych na partycje łączy lub węzłów, które zmieniają adresy warstwy łącza. Na przykład węzły mobilne mogą się odsunąć bez utraty łączności z powodu przestarzałych pamięci podręcznych ARP.

  • W odróżnieniu od ARP, funkcja Neighbor Discovery wykrywa awarie łącza pośredniego (za pomocą funkcji Neighbor Unreachability Detection) i unika wysyłania ruchu do sąsiadów, w których nie ma dwukierunkowej łączności.

  • W odróżnieniu od Wykrywania routera IPv4 komunikaty Reklamy routera nie zawierają pola preferencji. Pole preferencji nie jest potrzebne do obsługi routerów o różnej „stabilności”; Wykrywanie nieosiągalności sąsiada wykryje martwe routery i przełączy się na działający.

  • Użycie adresów lokalnych dla łącza w celu jednoznacznej identyfikacji routerów (w przypadku reklam routera i komunikatów przekierowujących) umożliwia hostom utrzymanie powiązań routerów w przypadku zmiany numeracji witryny w celu użycia nowych globalnych prefiksów.

  • Ustawiając Limit przeskoku na 255, Neighbor Discovery jest odporny na nadawców odsyłających, którzy przypadkowo lub celowo wysyłają wiadomości ND. W IPv4 nadawcy off-link mogą wysyłać zarówno przekierowania ICMP, jak i komunikaty reklam routera.

  • Umieszczenie rozdzielczości adresów w warstwie ICMP sprawia, że ​​protokół jest bardziej niezależny od mediów niż ARP i umożliwia stosowanie ogólnych mechanizmów uwierzytelniania i zabezpieczeń warstwy IP, stosownie do przypadku.

Źródło RFC 4861 Neighbor Discovery w IPv6


Dalsza lektura

DavidPostill
źródło
Jak NDP broni agaistowskiego zatrucia?
grawity
@grawity Dobre pytanie! Wykorzystuje protokół Secure Neighbor Discovery (SEND). Odpowiedź zaktualizowana.
DavidPostill
2
Hmm, ile systemów operacyjnych używa SEND
grawity
2
@DavidPostill Nie, IPsec działa na innej warstwie niż ARP / NDP. Potrzebuje działającego kanału komunikacji do ustanowienia swoich zabezpieczeń.
scai
4
@DavidPostill Świetny post. Jednak twój post wprowadza w błąd, ponieważ sugeruje, że SeND jest (a) integralną częścią NDP i (b) wspólnym rozwiązaniem. Tak nie jest - SeND jest dodatkiem, a poza eksperymentalnymi nie ma żadnych implementacji SeND. Ponadto SeND ma swoje wady i otwiera możliwości ataków typu „odmowa usługi”. Wreszcie uzasadnione jest założenie, że SeND nigdy nie wystartuje (przynajmniej nie w obecnej formie) i dlatego nie należy go proponować zbyt głośno.
kontr
9

NDP ma więcej funkcji niż ARP , w tym:

  • Poprzez NDP urządzenia w sieci mogą ustalić adres MAC / adres warstwy łącza (ta sama funkcja co ARP).

  • Korzystając z NDP, urządzenia w sieci mogą zlokalizować ścieżkę do innego urządzenia w sieci zewnętrznej, lokalizując najlepszy router do urządzenia docelowego.

  • NDP umożliwia automatyczną konfigurację adresów IPv6.

W porównaniu z ARP mechanizm jest inny:

ARP korzysta z wiadomości rozgłoszeniowych, a NDP używa wiadomości multiemisji ICMPv6.

Urządzenie wysyła komunikat multiemisji zwany „komunikatem ICMP Neic Solicitation” lub NS . Urządzenie docelowe odpowiada komunikatem „Komunikat ICMP reklamy sąsiedzkiej” lub NA .

Wiadomość NS używa specjalnego adresu docelowego multiemisji zwanego pożądanym adresem multiemisji, który reprezentuje wszystkie hosty z tymi samymi ostatnimi 24 bitami ich adresów IPv6. Zastosowanie multiemisji zamiast emisji zmniejsza przepływ niepotrzebnego ruchu w sieci.

jcbermu
źródło
5

Wprowadzenie NDP zamiast ARP było głównie spowodowane chęcią skonsolidowania protokołów kontrolnych wokół IP. IPv4 korzysta z kilku protokołów sterowania, takich jak ICMP, IGMP i ARP / RARP. Z IPv6 NDP (następca ARP), a także MLD (następca IGMP) zostały zaprojektowane jako pod-protokoły ICMPv6, dzięki czemu istnieje tylko jeden protokół kontrolny. Nie było tego powodu bezpieczeństwa, ND jest tak samo podatne na fałszowanie jak ARP, a ND nie zostało zaprojektowane dla bezpieczeństwa.

We wczesnym okresie rozwoju IPv6 IPsec był postrzegany jakoogólny środek bezpieczeństwa i dlatego był obowiązkowy. Wymóg ten został jednak obniżony do rekomendacji (RFC 6434, uważam, że głównie ze względu na urządzenia wbudowane i Internet Rzeczy, które po prostu nie są w stanie wykonać obliczeń klucza publicznego, a także potknęłyby się o wszelkiego rodzaju problemy PKI , w każdym razie) i nie działa dobrze (grzecznie mówiąc) w celu zabezpieczenia ND. SeND wprowadzono, aby wprowadzić zabezpieczenia do ND, ale jak w przypadku praktycznie wszystkich poprzednich prób projektowania oprogramowania z mocą wsteczną wynik był, powiedzmy, mniej niż optymalny. Ponieważ wciąż nie ma implementacji SeND, poza eksperymentalnymi, SeND nie istnieje. Co więcej, istnieją powody, by sądzić, że SeND - przynajmniej w obecnej formie - nigdy nie odejdzie.

W przeciwieństwie do tego, SAVI wygląda bardziej obiecująco, ale wymaga zmian w infrastrukturze przełączania, a urządzenia obsługujące SAVI nie są dość tanie, dlatego też nie będą się szybko rozprzestrzeniać. SAVI działa na tej podstawie, że w obrębie witryny powinno być „znane”, które odwzorowania między adresami HW (tj. Adres MAC) a adresami IP są prawidłowe, a zatem powinna istnieć możliwość identyfikacji i usuwania fałszywych komunikatów NDP.

Najlepsze przepisy są najprostsze, ale często są pomijane: Podziel duże sieci LAN na mniejsze, aby spoofing ARP i ND działał tylko dla celów w tej samej sieci LAN. Dlatego samo umieszczenie niewiarygodnych urządzeń w ich własnych segmentach LAN (nie są wymagane żadne reguły zapory / filtrowania) znacznie zmniejszą powierzchnię ataku.

przeciwdziałanie
źródło