Verhindern heutige Router gefälschte IP-Header?


11

Ich weiß, dass Benutzer die IP-Header ändern und die Quell-IP-Adresse ändern können, aber es sollte für Netzwerkgeräte einfach sein, diese Nachrichten zu erkennen. Wenn nicht, warum ist es so schwer? Fügt es zu viel Overhead hinzu?


Hinweis: Der richtige Ausdruck lautet "Anti-Spoofing". Fälschung sagt zu mir "Fälschung von Rolexes" (was übrigens ein völlig anderer Netzwerk-Hack / Angriff ist)
Ricky Beam

Antworten:


17

Ich weiß, dass Benutzer die IP-Header ändern und die Quell-IP-Adresse ändern können, aber es sollte für Netzwerkgeräte einfach sein, diese Nachrichten zu erkennen.

Gefälschte IP-Quelladressen in Headern können in kommerziellen Netzwerkgeräten erkannt und blockiert werden. Andere gefälschte IPv4-Header sind möglicherweise etwas schwieriger zu identifizieren. Die meisten Leute bezeichnen die Funktion zum Erkennen gefälschter Quell-IP-Adressen als "Unicast Reverse Path Forwarding", was als uRPF abgekürzt wird . uRPF ist in RFC 3704 definiert und gilt als Best Current Practice im Internet . uRPF sollte am ersten Router vom Kundenstandort oder am Edge-Router in einem Unternehmensnetzwerk angewendet werden.

Wenn nicht, warum ist es so schwer? Fügt es zu viel Overhead hinzu?

Solange der Router kein CPU-basierter Router ist, gibt es keine Leistungseinbußen. Viele der von ISPs verwendeten Router / Switches verfügen über diese Funktion, die in einen ASIC in der Hardware integriert ist. Normalerweise gibt es keine großen Leistungseinbußen beim Einschalten. Manchmal gibt es Funktionskonflikte, aber auch dies ist in den meisten Fällen keine große Sache.

Die Richtlinien und Kompetenzen des ISP-Technik- / Betriebspersonals variieren, und viele ISPs (insbesondere in kleineren Ländern) sind so damit beschäftigt, Dinge "funktionieren" zu lassen, dass sie keine Zyklen haben, um Dinge "gut funktionieren" zu lassen.


1
Was ist, wenn isp a und isp b miteinander verbunden sind? Wenn isp a kein uRPF verwendet, kann isp b etwas dagegen tun?
Nachos

Wenn Sie "etwas dagegen tun", gehen Sie davon aus, dass ISP B nicht über den ersten Router des CPE verfügt. Ja, ISP B kann auch uRPF verwenden, muss es jedoch aufgrund der asymmetrischen Natur des BGP-Routings im sogenannten Loose-Modus bereitstellen. Dies bedeutet, dass es beim Blockieren gefälschter Header nicht so effektiv ist. Es stellt im Wesentlichen nur sicher, dass eine Route für die Quell-IP-Adresse in der Routing-Tabelle vorhanden ist. Wenn also jemand Datenverkehr sendet, der vollständig nicht routingfähig ist, kann er blockiert werden.
Mike Pennington

Es ist nicht unbedingt richtig, dass nur CPU-basierte Leistungseinbußen erleiden. Zum Beispiel können Sie in 7600/6500 / PFC3 ohne uRPF in WS-X67040-10GE Linerate bei Paketen mit minimaler Größe beobachten, uRFP aufdrehen und der kleinste Frame wird fast auf 101B verdoppelt, das Sie bei Linerate senden können. Neuere Geräte, die auf NPUs basieren (ASR9k, MX, SR usw.), verursachen in uRPF ebenfalls Kosten ungleich Null. Die Paketverarbeitungs-Engine benötigt bei Aktivierung mehr Zeit als bei Deaktivierung. Eine Überdimensionierung kann dazu beitragen, die Kosten zu abstrahieren.
Ytti

4
@ytti, der Internetverkehr liegt im Durchschnitt weit über 101 Bytes. Dies ist kein ernstes Problem für imix.
Mike Pennington

1
@ytti, ich war sehr klar in der Qualifikation meiner Antwort ... Ich sagte "normalerweise gibt es keine große Leistungsstrafe für das Einschalten". Vergessen wir nicht, dass der 6500 Sup7203BXL ein 400Mpps-Computer ist, wenn er vollständig mit DFCs gefüllt ist. Setzen Sie einen DFC pro WS-X6704 in das Gehäuse ein, und Sie müssen sich keine Sorgen machen ... Wenn Sie verrückt genug sind, nur von der PFC3-Weiterleitung für das gesamte Gehäuse abhängig zu sein, haben Sie nach dem Problem gefragt, das Sie haben.
Mike Pennington

10

Um eine Änderung der Quell-IP-Adresse zu verhindern, sind entweder Zugriffslisten (ACL) oder Unicast-Reverse-Path-Filterung (uRPF) erforderlich.

Weder kommen kostenlos. uRPF erfordert normalerweise eine zusätzliche Suche oder eine komplexere einzelne Suche, sodass sich die Suchleistung auf einigen Plattformen sogar halbieren kann. ACL verlangsamt die Suche und verwendet Speicher.

uRPF ist wartungsfrei, Sie konfigurieren es nur einmal und vergessen es. ACL benötigt ein System, das weiß, welche Adressen sich hinter der Schnittstelle befinden, und sicherstellt, dass die ACL auf dem neuesten Stand bleibt.

ACL wird häufiger unterstützt als uRPF. URPF ist eine vergleichsweise seltene Funktion in L3-Switch-Level-Geräten. In "echten" Routern sind normalerweise beide Funktionen verfügbar.

Selbst wenn beide Funktionen verfügbar sind, kann die Konfiguration von uRPF an einer falschen Stelle im Netzwerk das Netzwerk beschädigen. Wenn Sie die plattformspezifischen ACL-Einschränkungen nicht verstehen, kann dies zu Ausfällen führen.

Normalerweise profitieren Sie selbst nicht davon, das Spoofing von Quelladressen zu verhindern. Meistens profitiert das Internet insgesamt. Sie tragen ein Risiko ungleich Null, wenn Sie versuchen, dies zu tun, da Sie möglicherweise Dinge kaputt machen. Und Ihre Kunden werden keinen Nutzen daraus ziehen, niemand wird Sie mehr dafür bezahlen, sie umzusetzen. Die Belohnung ist also gering.

Verantwortliche Dienstanbieter tun dies, weil es das Richtige ist, aber es ist unrealistisch zu erwarten, dass wir in einem relevant großen Teil der bereitgestellten Zugriffsgeräte Antispoofing erhalten. Ein viel realistischeres Ziel ist, wenn wir ACL in IP-Transitverbindungen verwenden, da es dort nur etwa 6000 oder so stumpfe AS-Nummern gibt.

Warum dies überhaupt ein Problem ist, liegt an UDP-Reflexionsangriffen, die durch Protokolle wie QUIC und MinimaLT behoben werden können, die sicherstellen, dass die Reflexion keine Gewinne erzielt, da eingehende Abfragen garantiert größer sind als ausgehende Antworten, sodass Spoofing seinen Vorteil verliert.

In letzter Zeit ist es wieder sehr beliebt geworden, UDP-Reflektion als DDoS-Angriff zu verwenden. Es gibt viele weit geöffnete DNS-Server in CPE-Geräten für Verbraucher, die den Verbrauchern nicht bekannt sind. Daher leiden diese Verbraucher, da ihre Heimverbindung überlastet ist, da sie Angriffe widerspiegelt. Und es ist auch eine einfache Möglichkeit, eine signifikante Verstärkung zu erzielen. Eine kleine Abfrage von mehreren zehn Bytes kann eine große Antwort von über tausend Bytes ergeben. Es gab Reflexions-DDoS-Angriffe, die mehrere hundert Gigabit pro Sekunde betragen, und kleinere sind täglich, nur am Sonntagabend haben wir einen Angriff mit 43 Gbit / s zu einem unserer Kunden transportiert.


5

Das Filtern von Quelladressen ist in der realen Welt nicht trivial, da das Internet-Routing asymmetrisch ist. Daher benötigen wir im Prinzip eine fundierte Vermutung, ob ein Paket von dieser Quelle wahrscheinlich auf dieser eingehenden Schnittstelle erscheint.

Dafür gibt es keine einfache Formel, denn für jede Regel, die in fast allen Fällen funktioniert, gibt es auch einen Anwendungsfall, der geschäftlich sinnvoll ist und dann brechen würde.

Die Umkehrpfadfilterung funktioniert hervorragend bei Edge-Routern, bei denen "innen" und "außen" klar definiert sind. Außenstehende dürfen keine "inneren" Adressen verwenden und umgekehrt. Es wird komplizierter, sobald ich aus Redundanzgründen mehrere Edge-Router verwende.

Für Backbone-Router besteht die einzige Möglichkeit, eine Umkehrpfadfilterung zu implementieren, darin, eingehende Pakete zuzulassen, wenn der Peer eine Arbeitsroute ankündigt (unabhängig davon, ob dies unsere Präferenz wäre). Das wäre eine unerschwinglich lange Suche, die leicht umgangen werden kann und den Anwendungsfall bricht, in dem ich absichtlich Transit kaufe, aber mein Präfix nicht über diesen Link ankündige.


1
Das Filtern von Quelladressen ist in der realen Welt nicht trivial. Dies sollte in uRPF / strict geändert werden. Da das Filtern von Quelladressen über die Verwendung von ACL unabhängig von der Routing-Symmetrie ist. Das heißt, es ist mir nicht möglich, meine mehrfach verbundenen IP-Transit-Kunden zu uRPF / strikt zu machen, aber es fällt mir leicht, sie zu ACLen.
Ytti
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.