-
TECHNISCHES GEBIET
-
Die vorliegende Erfindung betrifft allgemein Computernetzwerke und insbesondere das Address Resolution Protocol mit Nachbarermittlung (ARP/ND) in Computernetzwerken.
-
HINTERGRUND
-
Switches müssen zunehmend IPv6-bewusst sein, um das Netzwerk, insbesondere in sicheren Umgebungen, vor bösartigem oder unkontrolliertem Verhalten zu schützen. Zum Beispiel handelt es sich bei der „First-Hop-Sicherheit” (Sicherheit des ersten Hop) für IPv6 (Internet Protocol Version 6) um ein Merkmal eines Switch, welches das Netzwerk auf der Sicherungsschicht (Schicht 2, L2) vor dem Missbrauch von IPv6-Protokollen wie NDP (Neighbor Discovery Protocol) und DHCP (Dynamic Host Configuration Protocol) schützt.
-
Bei einem wohl bekannten Angriff handelt es sich um einen Scan-Angriff von außen, wobei ein Angreifer ein Paket an eine große Anzahl von IPv6-Adressen sendet, die von einem selben Teilnetz abgeleitet sind. Für ND (Neighbor Discovery, Nachbarermittlung) ist es erforderlich, dass ein empfangender Router für jede dieser gescannten Adressen einen ND-Cache-Eintrag erstellt und diesen Eintrag mehrere Sekunden lang beibehält, was zu einer Erschöpfung des Speichers in dem Router führen und die Fähigkeit des Routers, vorhandene Hosts in dem Teilnetz zu bedienen, einschränken kann. Dieser Angriff ist in IPv6 wegen des Umfangs des Teilnetzes (was es dem Angreifer erlaubt, mehrere Zustände in dem Router zu erzeugen) und weil es von dem Router erwartet wird, dass er Pakete speichert, welche die Auflösung ausgelöst haben, Anlass zu großer Sorge.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die in dem vorliegenden Dokument dargelegten Ausführungsbeispiele können unter Bezugnahme auf die folgende Beschreibung in Verbindung mit den beigefügten Zeichnungen besser verständlich sein, in denen gleiche Bezugszeichen identische oder funktionell ähnliche Elemente bezeichnen. Es zeigen:
-
1 ein beispielhaftes Kommunikationsnetzwerk;
-
2 eine beispielhafte Netzwerkeinrichtung/einen beispielhaften Knoten;
-
3 bis 5 beispielhafte Zeitsteuerungsdiagramme für den Nachrichtenaustausch des Nachschlage-Ablaufs mit Nachbaranfrage (NS, Neighbor Solicitation) in einem zustandslosen Ausführungsbeispiel;
-
6 bis 7 beispielhafte Zeitsteuerungsdiagramme für den Nachrichtenaustausch des NS-Nachschlage-Ablaufs in einem zustandsbehafteten Ausführungsbeispiel mit Registrierungsstellenoption;
-
8 bis 10 beispielhafte Zeitsteuerungsdiagramme für den Nachrichtenaustausch des NUD-Nachschlage-Ablaufs (Neighbor Unreachability Detection, Erkennung der Nichterreichbarkeit des Nachbarn);
-
11 eine beispielhafte, vereinfachte Prozedur zum Schützen eines ARP/ND-Cache (Address Resolution Protocol/Neighbor Discovery) vor DoS-Angriffen (Denial of Service, Dienstverweigerung) in einem Computernetzwerk, insbesondere aus der Perspektive eines Switch oder einer Registrierungseinheit; und
-
12 eine beispielhafte, vereinfachte Prozedur zum Schützen des ARP/ND-Cache vor DoS-Angriffen in einem Computernetzwerk, insbesondere aus der Perspektive eines Routers.
-
BESCHREIBUNG BEISPIELHAFTER AUSFÜHRUNGSBEISPIELE
-
Übersicht
-
Gemäß einem oder mehreren Ausführungsbeispielen der Offenbarung pflegt eine Einrichtung (zum Beispiel ein Switch oder eine Registrierungseinheit) eine Bindetabelle für alle IP-Adressen (IP = Internet Protocol) in einem mit der Einrichtung verbundenen Teilnetz, und als Antwort auf das Empfangen einer Nachschlagenachricht der Nachbaranfrage (NS) von einem Router für eine bestimmte Adresse bestimmt sie, ob die bestimmte Adresse in der Bindetabelle enthalten ist. Wenn die bestimmte Adresse nicht in der Bindetabelle enthalten ist, veranlasst die Einrichtung den Router, die bestimmte Adresse nicht in einem ND-Cache (Neighbor Discovery, Nachbarermittlung) auf dem Router zu speichern (zum Beispiel, indem er so antwortet, dass der Cache geleert wird, oder indem er den Vorgang ignoriert, um zu verhindern, dass ein Zustand erstellt wird).
-
Gemäß einem oder mehreren zusätzlichen Ausführungsbeispielen der Offenbarung empfängt ein Router eine Nachricht an eine bestimmte Adresse innerhalb eines bestimmten Teilnetzes und erzeugt eine NS-Nachschlagenachricht für die bestimmte Adresse. Durch Übertragen der NS-Nachschlagenachricht an eine Registrierungseinheit wird eine Einrichtung mit einer Bindetabelle aller IP-Adressen (IP = Internet Protocol) in dem bestimmten Teilnetz veranlasst zu bestimmen, ob die bestimmte Adresse innerhalb des Teilnetzes vorhanden ist. Der Router kann somit als Antwort darauf, dass die Einrichtung angibt, dass die bestimmte Adresse nicht in der Bindetabelle der Einrichtung enthalten ist (zum Beispiel eine explizite Antwort, dass geleert werden soll, oder das Fehlen einer Anweisung, einen Zustand zu speichern), sicherstellen, dass die bestimmte Adresse nicht in einem ND-Cache auf dem Router behalten wird.
-
Beschreibung
-
Unter einem Computernetzwerk versteht man eine geografisch verteilte Sammlung von Knoten, die untereinander mittels Kommunikationsverbindungen und Segmenten zum Transport von Daten zwischen Endknoten, wie beispielsweise PCs und Arbeitsplatzrechnern oder anderen Einrichtungen wie beispielsweise Sensoren, usw. verbunden sind. Es sind viele Arten von Netzwerken verfügbar, von lokalen Netzwerken (LANs) bis hin zu Weitverkehrsnetzwerken (WANs). In LANs sind die Knoten typischerweise über eigene private Kommunikationsverbindungen miteinander verbunden, die sich an demselben physischen Ort, wie zum Beispiel einem Gebäude oder Campus, befinden. WANs andererseits verbinden typischerweise geografisch voneinander getrennte Knoten über Langstrecken-Kommunikationsverbindungen, wie zum Beispiel Telefonleitungen eines Netzbetreibers, optische Lichtwellenleiter, SONET-Verbindungen (= Synchronous Optical Networks, synchrone optische Netze), SDH-Verbindungen (= Synchronous Digital Hierarchy, synchrone digitale Hierarchie) oder PLC-Verbindungen (= Powerline Communications, Trägerfrequenz-Datenübertragung über das Stromnetz) und andere.
-
1 ist ein schematisches Blockdiagramm eines beispielhaften Computernetzwerks 100, das zur Veranschaulichung dienende Knoten/Einrichtungen 200, wie beispielsweise eine oder mehrere Client-Einrichtungen (zum Beispiel Zielknoten 110) aufweist, die über einen Switch 120 mit einem Router 130 eines Netzwerks (zum Beispiel WAN) 140 verbunden sind. Es sei darauf hingewiesen, dass bei bestimmten Ausführungsbeispielen, wie in dem vorliegenden Dokument beschrieben, auch eine Registrierungseinrichtung 115 mit dem Switch 120 verbunden sein kann. Außerdem kann sich ein externer Knoten 150 außerhalb des lokalen Netzwerks des Zielknotens (zum Beispiel zwischen dem Router 130 und dem Zielknoten 110) befinden. Bei den Verbindungen zwischen den Einrichtungen kann es sich um drahtgebundene Verbindungen oder gemeinsam verwendete Medien (zum Beispiel drahtlose Verbindungen, PLC-Verbindungen, usw.) handeln, wobei bestimmte Knoten 200 mit anderen Knoten 200 kommunizieren können (zum Beispiel auf der Grundlage einer physischen Verbindungskonfiguration, des aktuellen Betriebszustands, des Abstands, der Position der Signalstärke, usw.). Fachleute auf diesem Gebiet verstehen, dass eine beliebige Anzahl von Knoten, Einrichtungen, Verbindungen, usw. in dem Computernetzwerk verwendet werden können und dass die in dem vorliegenden Dokument gezeigte Ansicht zur Vereinfachung dient.
-
Datenpakete 160 (zum Beispiel zwischen den Einrichtungen/Knoten gesendeter Datenverkehr und/oder zwischen den Einrichtungen/Knoten gesendete Nachrichten) können zwischen den Knoten/Einrichtungen des Computernetzwerks 100 mittels vordefinierter Netzwerk-Kommunikationsprotokolle, wie beispielsweise bestimmten bekannten drahtgebundenen Protokollen, drahtlosen Protokollen oder anderen Protokollen zur gemeinsamen Verwendung von Medien ausgetauscht werden, wo dies angemessen ist. In diesem Zusammenhang besteht ein Protokoll aus einem Satz von Regeln, welche definieren, wie die Knoten miteinander interagieren.
-
2 ist ein schematisches Blockdiagramm eines beispielhaften Knotens/einer beispielhaften Einrichtung 200, der bzw. die mit einem oder mehreren der in dem vorliegenden Dokument beschriebenen Ausführungsbeispiele verwendet werden kann, zum Beispiel als eine der in 1 oben gezeigten Einrichtungen, insbesondere ein Router, ein Switch und/oder eine Registrierungseinrichtung 115, wie nachfolgend beschrieben. Die Einrichtung kann eine oder mehrere Netzwerkschnittstellen 210 aufweisen (zum Beispiel drahtgebunden, drahtlos, usw.), wenigstens einen Prozessor 220 und einen Speicher 240, die miteinander mittels eines Systembusses 250 verbunden sind, sowie eine Stromversorgung 260 (zum Beispiel Batterie, Plug-In-Modul, usw.).
-
Die Netzwerkschnittstelle(n) 210 enthält bzw. enthalten die mechanischen, elektrischen und signaltechnischen Schaltungen zum Übertragen von Daten über mit dem Netzwerk 100 gekoppelte Verbindungen. Die Netzwerkschnittstellen können so konfiguriert sein, dass sie Daten mittels einer Vielzahl von unterschiedlichen Kommunikationsprotokollen übertragen und/oder empfangen. Es sei ferner darauf hingewiesen, dass die Knoten zwei unterschiedliche Arten von Netzwerkverbindungen 210 aufweisen können, zum Beispiel drahtlose und drahtgebundene/physische Verbindungen, und dass die Ansicht hier lediglich der Veranschaulichung dient. Während außerdem die Netzwerkschnittstelle 210 getrennt von der Stromversorgung 260 gezeigt ist, kann bei PLC die Netzwerkschnittstelle 210 über die Stromversorgung 260 kommunizieren, oder sie kann ein Bestandteil der Stromversorgung sein.
-
Der Speicher 240 weist eine Vielzahl von Speicherpositionen auf, die über den Prozessor 220 und die Netzwerkschnittstellen 210 adressierbar sind, um Softwareprogramme und Datenstrukturen zu speichern, die mit den in dem vorliegenden Dokument beschriebenen Ausführungsbeispielen verbunden sind. Der Prozessor 220 kann notwendige Elemente oder Logik aufweisen, die geeignet sind bzw. ist, um die Softwareprogramme auszuführen und die Datenstrukturen 245 zu handhaben, wie beispielsweise einen Router-ND-Cache (= Neighbor Discovery, Nachbarermittlung) 246 (auf einem Router 130) oder eine Bindetabelle/Registrierungseinheit 247 (auf einem Switch 120 bzw. einer Registrierungseinheit 115). Ein Betriebssystem 242, von dem Teile typischerweise in dem Speicher 240 resident sind und mittels des Prozessors ausgeführt werden, organisiert die Einrichtung funktionell unter anderem durch Aufrufen von Vorgängen zur Unterstützung von Softwareprozessen und/oder Services, die auf der Einrichtung ausgeführt werden. Diese Softwareprozesse und/oder Dienste können einen zur Veranschaulichung dienenden Weiterleitungs-/Vermittlungsprozess 244 (zum Beispiel für einen Router bzw. Switch) sowie einen zur Veranschaulichung dienenden Sicherheitsprozess für den ersten Hop 248 umfassen. Während die Prozesse in dem zentralisierten Speicher 240 gezeigt sind, sei darauf hingewiesen, dass alternative Ausführungsbeispiele vorsehen, dass ein oder mehrere der Prozesse spezifisch innerhalb der Netzwerkschnittstellen 210 betrieben werden können.
-
Für Fachleute auf diesem Gebiet ist es offensichtlich, dass andere Prozessor- und Speichertypen, einschließlich verschiedener computerlesbarer Medien zum Speichern und Ausführen von Programmanweisungen, verwendet werden können, welche die in dem vorliegenden Dokument beschriebenen Techniken betreffen. Während die Beschreibung verschiedene Prozesse veranschaulicht, wird außerdem ausdrücklich in Betracht gezogen, dass verschiedene Prozesse als Module verwirklicht werden können, die so konfiguriert sind, dass sie gemäß den in dem vorliegenden Dokument dargelegten Techniken betrieben werden (zum Beispiel gemäß der Funktionalität eines ähnlichen Prozesses). Während ferner die Prozesse separat gezeigt worden sind, erkennen die Fachleute auf dem Gebiet, dass es sich bei den Prozessen um Routinen oder Module innerhalb anderer Prozesse handeln kann.
-
Wie oben angemerkt, ist es erforderlich, dass Switches zunehmend IPv6-bewusst sind, um das Netzwerk, insbesondere in sicheren Umgebungen, vor bösartigem oder unkontrolliertem Verhalten zu schützen. Zum Beispiel handelt es sich bei der „First-Hop-Sicherheit” (Sicherheit des ersten Hop) für IPv6 (Internet Protocol Version 6) um ein Merkmal eines Switch, welches das Netzwerk auf der Sicherungsschicht (Schicht 2, L2) vor dem Missbrauch von IPv6-Protokollen wie NDP (Neighbor Discovery Protocol) und DHCP (Dynamic Host Configuration Protocol) schützt.
-
Insbesondere gibt es eine wachsende Anzahl von großen IPv6-Bereitstellungen in Unternehmens-, Universitäts- und Behördennetzwerken. Damit jedes dieser Netzwerke erfolgreich betrieben werden kann, ist es wichtig, dass die IPv6-Bereitstellungen sicher sind und eine Dienstgüte aufweisen, die der der vorhandenen IPv4-Infrastruktur entspricht. Benutzer des Netzwerks erwarten im Allgemeinen, dass es eine funktionale Gleichheit zwischen IPv4 und IPv6 gibt und dass bei jedem dieser Protokolle die Sicherheits- und Brauchbarkeitsbelange gleich sind. Aus der Sicht des Netzwerkbetreibers gibt es eine ähnliche Annahme, nämlich dass sowohl IPv4 als auch IPv6 sichere Umgebungen mit einem hohen Maß an Verfolgbarkeit und Qualitätssicherung sind.
-
Bedrohungen sind sehr stark an die Topologie einer Netzwerkinfrastruktur gebunden, und IPv6 bringt aus topologischer Sicht spezifische Änderungen mit sich:
- – Auf der Verbindung sind mehr Endknoten erlaubt (bis zu 264);
- – Größerer Nachbar-Cache auf den Endknoten;
- – Größerer Nachbar-Cache auf dem Standard-Router;
- – Daraus ergeben sich mehr Möglichkeiten für DoS-Angriffe (Denial-of-Service, Dienstverweigerung);
-
Zusätzlich zu den topologischen Aspekten gibt es Bedrohungen, die eng mit den verwendeten Protokollen im Zusammenhang stehen:
- – NDP (= Neighbor Discovery Protocol, Nachbarermittlungsprotokoll) integriert alle Verbindungsvorgänge, die für das Bestimmen der Adresszuordnung, die Router-Erkennung und zugehörige Aufgaben wie das Umleiten zuständig sind.
- – DHCP (Dynamic Host Configuration Protocol) hat im Vergleich zu IPv4 eine unbedeutendere Rolle bei der Adresszuweisung.
- – Eine nicht zentralisierte Adresszuweisung schafft wirkliche Herausforderungen bei der Bewältigung von Adressmissbräuchen.
-
Aufgrund des Aufschwungs in der IPv6-Technologie und den dadurch bedingten, oben skizzierten Unterschieden zwischen IPv4 und IPv6 ist es äußerst wichtig, sowohl über eine sichere IPv4-Umgebung wie auch über eine sichere IPv6-Umgebung zu verfügen. Bei der Analyse, an welcher Stelle die Verbindungsvorgänge am besten gesichert werden können, kann eine Unterteilung in drei unterschiedliche Stellen innerhalb des Netzwerks getroffen werden. Die Durchsetzung der Sicherheit kann an den Endknoten (Zielknoten 110), an dem ersten Hop innerhalb des Netzwerks (Switch 120) und an dem letzten Hop (Router 130) erfolgen.
-
Bei der Sicherheitsfunktion an dem Endknoten sieht ein verteiltes Modell Endknoten vor, die für sich selbst sorgen, und sieht bei Engpässen oder einzelnen Schwachstellen keine Verbindungsvorgänge vor. Für dieses Sicherheitsmodell ist keine zentrale Verwaltung bzw. kein zentraler Betrieb erforderlich, da angenommen wird, dass jeder Knoten für sich selbst sorgt. Die höchste Sicherheitsstufe in diesem Modell wird mittels einer Bereitstellung von SeND (RFC 3971) erreicht. Dieses Modell ist besonders gut bei Bedrohungen geeignet, die direkt aus der Verbindung kommen; bietet jedoch nur schlechten Schutz vor Bedrohungen, die von Einrichtungen außerhalb der Verbindung kommen. Eine weitere Überlegung für dieses Modell besteht darin, dass aufgrund seiner verteilten Natur ein Grad von Komplexität und intensiver Bereitstellung von Endknoten im Spiel ist, der sich über die gesamte zu schützende Netzwerkdomäne hinweg verteilt.
-
Das Modell für die Sicherheit an dem ersten Hop basiert auf einem zentralisierten Modell, das von einer zentralisierten Sicherheitsverwaltung ausgeführt wird. Die Last der Durchsetzung der Sicherheit bei dem vorherigen Modell wird auf die Einrichtung des ersten Hop verlagert, wodurch dieses Modell besser skalierbar wird, da weniger Einrichtungen von den involvierten Sicherheitsaufgaben betroffen sind. Dieses Modell macht den Übergang von einem unsicheren Verbindungsbetrieb zu einem sicheren Netzwerk einfacher, da weniger Komponenten angetastet, überwacht und neu konfiguriert werden müssen. Während es sich bei diesem Modell um ein für den Netzwerkbetreiber und den tatsächlichen Endbenutzer sehr praktisches Modell handelt, ist es in bestimmten Topologien allgemein anwendbar, in denen alle Endbenutzer durch eine Aggregationseinrichtung des Netzwerkbetreibers geleitet werden, die in der Lage ist, die Verbindungsvorgänge zu sichern. Dieses Modell erhöht die Erkenntnisse sowie das Bewusstsein, welche die Netzwerkeinrichtungen des ersten Hop bezüglich der tatsächlich angebundenen Endknoten haben müssen.
-
Zur Sicherheit an dem letzten Router schützt ein zentralisiertes Modell vor Bedrohungen, die von außerhalb der zu schützenden Verbindung kommen. Eine Eigenschaft dieses Modells besteht darin, dass die angebundene Verbindung ebenso geschützt ist wie alle nachgeschalteten Netzwerkelemente. Dieses Modell wurde bislang allgemein mit dem Modell für den Switch des ersten Hop kombiniert, um Bedrohungen abzuwehren, die von innen kommen, wenn zum Beispiel die Sicherheit einer Einrichtung beeinträchtigt wurde und die Internet-Netzwerk-Infrastruktur betroffen ist. Es erfordert, dass der Router des letzten Hop von den Endknoten erfährt.
-
Im Vergleich zu IPv4 weist IPv6 einen größeren Satz von Funktionen auf, um eine Eigenkonfiguration von Endsystemen zu erleichtern, während gleichzeitig eine Dienste-Erkennung mittels ICMPv6 (Internet Control Message Protocol Version 6) ausgeführt wird. Eine der neuen Funktionalitäten in ICMPv6 ist NDP (Neighbor Discovery Protocol, Nachbarermittlungsprotokoll), wobei es sich um eine Anwendung handelt, die oberhalb von ICMPv6 betrieben wird. NDP nutzt intensiv Multicast-Pakete, um eine hohe Effizienz auf der Leitung zu erreichen. Die funktionellen Anwendungen von NDP umfassen:
- – Router-Erkennung;
- – Eigenkonfiguration von Adressen, zum Beispiel SLAAC (Stateless Address Autoconfiguration, zustandslose Adress-Eigenkonfiguration)
- – IPv6-Adressauflösung, zum Beispiel Ersetzen des ARP (Address Resolution Protocol, Adressauflösungsprotokoll) (es sei darauf hingewiesen, dass das Akronym ARP in dem vorliegenden Dokument einfach sowohl eine IPv6-Adressauflösung als auch das Address Resolution Protocol bezeichnen kann);
- – Erreichbarkeit der Nachbarn, zum Beispiel NUD (= Neighbor Unreachability Detection, Erkennung der Nichterreichbarkeit von Nachbarn);
- – DAD (Duplicate Address Detection, Erkennung von Duplikatadressen); und
- – Umleitung;
-
Bei SeND (Secure Neighbor Discovery, Sichere Nachbarermittlung, RFC 3971) handelt es sich um ein Protokoll, welches NDP um drei zusätzliche Funktionen ergänzt:
- – Der Beweis der Adresseneigentümerschaft, der das Stehlen von IPv6-Adressen „unmöglich” macht, wird bei der Router-Erkennung, bei DAD und bei der Adressauflösung verwendet und basiert auf CGAs (Cryptographically Generated Addresses, kryptografisch generierte Adressen). Alternativ werden auch Zertifikate an Nicht-CGAs vergeben.
- – Nachrichtenschutz, der den Integritätsschutz von Nachrichten, Schutz vor Replay-Angriffen und die Korrelation von Anforderung und Antwort umfasst und in allen NDP-Nachrichten verwendet wird.
- – Router-Autorisierung, die Router autorisiert, als Standard-Gateways zu fungieren, und die Präfixe angibt, die Router als „onlink” (auf der Verbindung) verkünden dürfen.
-
Während SeND einen deutlichen Auftrieb für die ND-Technologie zur Nachbarermittlung von IPv6 liefert, indem es die oben genannten Verbesserungen einführt, sieht es zum Beispiel keine Ende-zu-Ende-Sicherheit vor und sieht keine Vertraulichkeit vor.
-
Bei dem ersten Hop für einen Endknoten handelt es sich sehr oft um einen Switch der Schicht 2. Durch Implementieren von Sicherheitsfunktionen kann der Switch des ersten Hop viele der Vorbehalte gegen eine Bereitstellung von SeND abmildern und das Modell für die Verbindungssicherheit verbessern. Der Switch des ersten Hop ist strategisch positioniert, um Informationen zu allen seinen Nachbarn zu erhalten, und somit kann der Switch auf einfache Weise bestimmte Arten von Datenverkehr, Rollen von Endknoten und Forderungen entweder erlauben oder verweigern. In seiner zentralen Position kann der Switch des ersten Hop eine Reihe von Funktionen erfüllen. Er kann den ND-Datenverkehr (Neighbor Discovery, Nachbarermittlung) untersuchen und Informationen zur Schicht-2/Schicht-3-Bindung (L2/L3-Bindung) liefern und die Verwendung von ND durch den Host überwachen, um potenziell anormales Verhalten zu entdecken. Schließlich kann der Switch unerwünschten Datenverkehr wie bösartige RA (Router Advertisement, Routerankündigung), bösartige DHCP-Serverankündigung und von nicht erwünschten IP-Adressen oder -Präfixen kommenden Datenverkehr blockieren.
-
Bei einem wohl bekannten Angriff jedoch, insbesondere gegen das Sicherheitsmodell des ersten Hop, handelt es sich um einen Scan-Angriff von außen, wobei ein Angreifer (zum Beispiel der externe Knoten 150) ein Paket an eine große Anzahl von IPv6-Adressen sendet, die von einem selben Teilnetz abgeleitet sind. Für ND (Neighbor Discovery, Nachbarermittlung) ist es erforderlich, dass ein empfangender Router 130 für jede dieser gescannten Adressen einen Eintrag in seinem ND-Cache 246 erstellt und den Eintrag mehrere Sekunden lang beibehält, was zu einer Erschöpfung des Speichers in dem Router führen und die Fähigkeit des Routers, vorhandene Hosts im Teilnetz zu bedienen, einschränken kann. Dieser Angriff ist in IPv6 wegen des Umfangs des Teilnetzes (was es dem Angreifer erlaubt, mehrere Zustände in dem Router zu erzeugen) und weil es von dem Router erwartet wird, dass er Pakete speichert, welche die Auflösung ausgelöst haben, Anlass zu großer Sorge.
-
Die Arbeitsgruppe SAVI (Source Address Validation Improvements) bei der IETF (Internet Engineering Task Force) hat Implementierungen für die Sicherheit des ersten Hop untersucht, aber bislang wurde keine effektive Lösung für den oben genannten Angriff vorgestellt.
-
Die folgenden Referenzen, bei denen es sich um Entwürfe handelt, die bei der IETF erhältlich sind und die in ihrer Gesamtheit in dieses Dokument aufgenommen wurden, sind Beispiele für aktuelle SAVI-Protokolle:
- – „SAVI Solution for DHCP” <draft-ietf-savi-dhcp-11>, von J. Bi et al. (Ausgabe vom 28. Dezember 2011);
- – „FCFS SAVI: First-Come First-Serve Source-Address Validation for Locally Assigned IPv6 Addresses” <draft-ietf-savi-fcfs> von Erik Nordmark et al. (Ausgabe vom 22. November 2011);
- – „Source Address Validation Improvement Framework” <draft-ietf-savi-framework> von Jianping Wu et al. (Ausgabe vom 27. Dezember 2011);
- – „SAVI for Mixed Address Assignment Methods Scenario” <draft-ietf-savi-mix> von Jun Bi et al. (Ausgabe vom 26. Oktober 2011);
- – „SEND-based Source-Address Validation Implementation” <draft-ietf-savi--send> von Marcelo Bagnulo et al. (Ausgabe vom 4. Oktober 2011); und
- – „SAVI Threat Scope” <draft-ietf-savi-threat-scope> von Danny McPherson et al. (Ausgabe vom 11. April 2011).
-
Es sei außerdem darauf hingewiesen, dass die folgenden RFC-Dokumente (Bitte um Kommentare), die IPv6 betreffen, ebenfalls in ihrer Gesamtheit per Bezugnahme in die Anmeldung aufgenommen sind:
- – RFC 4861, „Neighbor Discovery for IP version 6 (IPv6)” von T. Narten et al. (Ausgabe vom September 2007, wodurch die RFCs 2461 und 1970 obsolet geworden sind); und
- – RFC 4862, „IPv6 Stateless Address Autoconfiguration” von S. Thomson et al. (Ausgabe vom September 2007, wodurch die RFCs 2462 und 1971 obsolet geworden sind).
-
Gemäß einem oder mehreren Ausführungsbeispielen der Offenbarung sehen die in dem vorliegenden Dokument beschriebenen Techniken einen Schutz vor DoS-Angriffen für den ARP/ND-Cache 246 in Router 130 vor. Insbesondere pflegt ein Switch (zum Beispiel 120) oder eine Schicht-3-Registrierungsstelle (L3-Registrierungsstelle) (zum Beispiel 115) eine Bindetabelle 247 für alle Adressen (zum Beispiel IPv6-Adressen) in dem Teilnetz. Wenn der Router einen ND-Nachschlagevorgang anstößt, kann dieser sofort mit einem negativen Status beantwortet werden, wenn die Adresse in dem Netzwerk nicht bekannt ist, was es dem Router erlaubt, den Cache sofort zu bereinigen. Alternativ speichert der Router in einem weiteren Ausführungsbeispiel keinen Zustand für die zugeordnete Adresse, bis sie zu einer bestätigen Adresse wird.
-
Zur Veranschaulichung können die in dem vorliegenden Dokument beschriebenen Techniken mittels Hardware, Software und/oder Firmware ausgeführt werden, beispielsweise gemäß dem zur Veranschaulichung dienenden Sicherheitsprozess für den ersten Hop 248, die jeweils von einem Computer ausführbare Anweisungen enthalten können, die von dem Prozessor 220 ausgeführt werden, um Funktionen durchzuführen, die sich auf die in dem vorliegenden Dokument beschriebenen Techniken beziehen, zum Beispiel in Verbindung mit dem Weiterleitungs-/Vermittlungsprozess 244. Zum Beispiel können die in dem vorliegenden Dokument beschriebenen Techniken als Erweiterungen herkömmlicher Protokolle für die Sicherheit des ersten Hop behandelt werden, und sie können solchermaßen mittels ähnlicher, nach dem Stand der Technik offensichtlicher Komponenten verarbeitet werden, die solche Protokolle auf der spezifischen Einrichtung ausfahren (zum Beispiel dem Router 140, dem Switch 120 oder sogar der Registrierungsstelle 115), welche die beschriebene Aktion entsprechend durchführt.
-
Im Hinblick auf den Betrieb können herkömmliche NS/NA-Nachrichten (Neighbor Solicitation (Nachbaranfrage)/Neighbor Advertisement (Nachbarankündigung) geändert werden (zum Beispiel eine neue Option), um es dem Router 130 zu erlauben, das Netzwerk abzufragen, ob eine Adresse (zum Beispiel IPv6) in dem Netzwerk vorhanden ist oder nicht. Diese Option kann typischerweise an eine Schicht-3-Registrierungseinheit (L3-Registrierungseinheit) 115 gerichtet sein, aber sie kann auch mittels eines Switch 120 abgefangen werden, der eine Bindetabelle 247 für alle IP-Adressen in einem bestimmten Teilnetz pflegt, das mit dem Switch/der Registrierungseinheit verbunden ist. Also generiert der Router, als Antwort auf das Empfangen einer Nachricht an einem Router 130 an eine bestimmte Adresse innerhalb eines bestimmten Teilnetzes, eine NS-Nachschlagenachricht (Neighbor Solicitation, Nachbaranfrage) für die bestimmte Adresse und überträgt sie zu einer Registrierungseinheit, um entweder die Registrierungseinheit oder einen abfangenden Switch zu veranlassen zu bestimmen, ob die bestimmte Adresse innerhalb der Teilmenge vorhanden ist. Typischerweise kann die NS-Nachricht mit der neuen Option an eine Bindungs-Registrierungsstelle (oder Registrierungseinheit) 115 gesendet werden, wie sie mittels einer Anycast-Adresse, oder aber mittels des Nachschlagens eines Dienstes, mittels einer über DHCP erhaltene Konfiguration oder mittels AAA-Server (Authentication, Authorization and Accounting, Authentifizierung, Berechtigung und Abrechnung) bekannt ist. Wenn ein Switch 120 die Nachricht abfängt (empfängt), wird er als Cache fungieren, der entscheiden kann, im Auftrag der Registrierungseinheit zu antworten, indem er bestimmt, ob die bestimmte Adresse in der Bindetabelle enthalten ist. Es sei darauf hingewiesen, dass der Switch die bestimmte Adresse auch erneut bei der Registrierungseinheit validieren kann, bevor er dem Router antwortet.
-
Die Registrierungseinheit bzw. der Switch kann sofort antworten, wenn die Adresse in dem Netzwerk (Teilnetz) nicht vorhanden ist, sodass der Router den ungültigen ND-Cache-Eintrag innerhalb von Millisekunden bereinigen kann. Wenn die Adresse nicht in der Bindetabelle enthalten ist, kann die Registrierungseinheit oder der Switch also den Router veranlassen, die bestimmte Adresse nicht in einem ND-Cache auf dem Router zu speichern (zum Beispiel nicht länger zu speichern). Indem sie es, als Antwort darauf, dass die bestimmte Adresse nicht in der Bindetabelle 247 enthalten ist, einem Router erlauben, sicherzustellen, dass eine bestimmte Adresse nicht in einem ND-Cache 246 behalten wird, schließen die Techniken das Lebensdauerfenster (bis zu einigen ms) eines IN-COMPLETE-Eintrags (unvollständig) in dem ND-Cache 246 (in der Voreinstellung sind dies ohne die in dem vorliegenden Dokument beschriebenen Techniken drei Sekunden). Auf diese Weise beschränken die in dem vorliegenden Dokument beschriebenen Techniken die Anzahl (N) von IN-COMPLETE-Cache-Einträgen, die ein Angreifer zwangsweise in den ND-Cache des Routers stellen könnte (N = Fenster × Rate, wobei Rate die Anzahl von Paketen ist, die der Angreifer pro Sekunde generieren kann).
-
Es sei ferner darauf hingewiesen, dass es auch den Fall gibt, in dem die Bindungen zwischen den Switches verteilt sind. Ein Satz von Switches kann also als virtuelle Registrierungseinheit betrachtet werden, wo ND/NS-DAD-Nachrichten (Multicast-Nachrichten an die Gruppe aller übrigen Switches in der virtuellen Registrierungseinheit) verwendet werden können, um einen Eintrag in der virtuellen Registrierungseinheit nachzuschlagen. (Im Allgemeinen kann der anfordernde Switch eine kurze Zeitverzögerung implementieren, um jeglichen Mangel an Antworten zu erfassen.) Alternativ kann ein Diffusionsalgorithmus (zum Beispiel wie in dem DUAL (Diffusing Update ALgorithm, Diffusionsaktualisierungsalgorithmus) in dem EIGRP (Enhanced Interior Gateway Routing Protocol, verbessertes internes Gateway-Weiterleitungsprotokoll), verwendet werden, um sicherzustellen, dass alle übrigen Switches in der virtuellen Registrierungseinheit eine Anfrage bezüglich einer neuen Adresse empfangen haben und dass alle geantwortet haben, selbst wenn sie nicht über einen Eintrag für diese neue Adresse verfügen.
-
Eine zur Veranschaulichung dienende Verfeinerung der in dem vorliegenden Dokument beschriebenen Techniken soll es dem Router erlauben sicherzustellen, dass die bestimmte Adresse nicht in einem ND-Cache behalten wird, indem er vor dem Empfangen einer positiven, von dem Switch weitergegebenen Antwort keinen Zustand erstellt. Anfänglich kann der Router einfach eine Nachbaranfrage für eine bestimmte Adresse erzeugen und die Angelegenheit dann vergessen. Diese Nachbaranfrage kann zur Veranschaulichung dienend ein Cookie enthalten (zum Beispiel indem sie eine NONCE-Option verwendet), das der Router auf dem Rückweg verifizieren kann, wie beispielsweise einen Hash-Algorithmus eines Schlüssels + Zeit, usw. Es sei darauf hingewiesen, dass folglich zwei Fälle auftreten: Wenn der Switch keinen Eintrag in der Bindetabelle hat, antwortet er zunächst nicht auf den Router mit einem Status, und der speichert einfach die bestimmte Adresse vor dem Empfangen einer Adressvalidierung von der Einrichtung nicht in dem ND-Cache. Solchermaßen wird das Angriffsfenster Fenster=0. Wenn sich der Eintrag in der Bindetabelle befindet, wird alternativ die NS (Nachbaranfrage) als Unicast-Nachricht an den Adresseigentümer weitergeleitet, der mit NA + NONCE (Nachbarankündigung + Nonce) antwortet, und wenn die Antwort den Router erreicht, kann der Router nach der NONCE-Validierung dann einen Eintrag in dem Zustand REACHABLE (erreichbar) erstellen. (Es sei darauf hingewiesen, dass in einer virtuellen Registrierungseinheit, die eine verteilte Bindetabelle aufweist, bei keinem Treffer bei einem lokalen Nachschlagevorgang die Nachbaranfrage an die übrigen Switches, die an der virtuellen Registrierungseinheit teilnehmen, weitergegeben werden kann.)
-
Die Ergebnisse der in dem vorliegenden Dokument beschriebenen Techniken sind unter Bezugnahme auf die nachfolgend beschriebenen, beispielhaften Diagramme zum Nachrichtenaustausch besser verständlich.
-
Insbesondere veranschaulichen 3 bis 5 beispielhafte Zeitsteuerungsdiagramme für den Nachrichtenaustausch bei einem NS-Nachschlage-Ablauf in einem zustandslosen Ausführungsbeispiel. 3 veranschaulicht insbesondere eine erste Nachricht an einen Zielknoten, wobei in einer Bindetabelle ein Treffer gefunden wird (das heißt die Adresse ist in der Tabelle und somit innerhalb des Teilnetzes vorhanden). Zunächst sendet der externe Knoten (Quelladresse S=”ADD1”) einen Ping an einen bestimmten Zielknoten (Zieladresse D=”ADD2”), der von dem Router empfangen wird. Der Router berechnet den NONCE als Hash-Wert aus (Ziel, Schlüssel, Zeit) und sendet, ohne den Eintrag (in dem zustandslosen Ausführungsbeispiel) in den Cache zu stellen, die NS-Nachschlagenachricht per Multicast mit einer SLLAO (Source Link Layer Address Option), dem Ziel T=ADD2 und dem berechneten Nonce an die Registrierungseinheit (nicht gezeigt). Beim Abfangen der Nachricht kann der Switch einen aufgelösten Eintrag in der Bindetabelle 247 bestimmen („Treffer”) und sendet eine NA-Nachricht (Nachbarankündigung) mit SLLAO, T=ADD2 und dem entsprechenden Nonce(T) zurück oder sendet diese per Multicast an den Router. Wenn der Nonce validiert ist, kann der Router dann den ND-Cache-Eintrag (als INCOMPLETE (unvollständig)) erstellen. In dem weiteren Verlauf kann der Switch die NS-Nachschlagenachricht an den tatsächlichen Zielknoten (ADD2) weiterleiten (per Unicast senden), der selbst dem Router mit einer Unicast-NA-Nachricht entsprechend antworten kann.
-
Umgekehrt veranschaulicht 4 eine erste Nachricht an einen Zielknoten wobei in einer Bindetabelle kein Treffer gefunden wird (das heißt die Adresse ist nicht in der Tabelle und somit auch nicht innerhalb des Teilnetzes vorhanden). Zunächst sendet der externe Knoten (S=”ADD1”) wiederum einen Ping an einen bestimmten Zielknoten (D=”ADD2”), der von dem Router empfangen wird. Der Router berechnet wiederum den NONCE als Hash-Wert aus (Ziel, Schlüssel, Zeit) und sendet die NS-Nachschlagenachricht per Multicast an die Registrierungseinheit. Beim Abfangen der Nachricht kann der Switch nun in der Bindetabelle 247 keinen Eintrag oder einen IN-COMPLETE-Eintrag bestimmen („kein Treffer”) und tut in dem zustandslosen Ausführungsbeispiel nichts und verhindert, dass auf dem Router jemals ein Cache-Eintrag erstellt wird.
-
Es sei darauf hingewiesen, dass als Antwort auf das Nichtvorhandensein eines Treffers in einer Bindetabelle optional eine Wiederherstellung durchgeführt werden kann, wie beispielsweise gemäß einer der möglichen, in 5 gezeigten Wiederherstellungsoptionen. Zum Beispiel kann der Switch seine eigenen Bindetabelleneinträge erneut validieren, indem er per Unicast die NS-Nachschlagenachricht an die Bindetabellen-Registrierungsstelle 115 sendet (zum Beispiel mittels einer neuen Registrierungsstellenoption), um eine zurückgegebene NA-Nachricht zu erhalten, falls der Eintrag tatsächlich existiert. Alternative Optionen umfassen das Übertragen einer Lease-Abfrage an einen DHCP-Server 515 für den Zielknoten (ADD2), um über die Antwortnachricht auf die Lease-Abfrage zu bestimmen, ob der Zielknoten innerhalb des Teilnetzes vorhanden ist, oder aber das Senden der NS-Nachschlagenachricht bis zu dem Zielknoten hin (unter Verwendung des Routers 130 als Quellknoten) und demgemäß jeweils das Abfangen einer zurückgegebenen NA-Nachricht (mit Ziel-LLAO oder ”TLLAO”).
-
Zusätzlich veranschaulichen 6 bis 7 beispielhafte Zeitsteuerungsdiagramme für einen Nachrichtenaustausch eines NS-Nachschlage-Ablaufs in einem zustandsbehafteten Ausführungsbeispiel (mit Registrierungsstellenoption). 6 veranschaulicht insbesondere eine erste Nachricht an einen Zielknoten, wobei in einer Bindetabelle ein Treffer gefunden wird. Hier sendet der externe Knoten einen Ping an einen bestimmten Zielknoten, der wiederum von dem Router empfangen wird. Bei dem zustandsbehafteten Ausführungsbeispiel erstellt der Router einen INCOMPLETE-Eintrag in seinem ND-Cache 246 für ADD2 und sendet die NS-Nachschlagenachricht per Multicast mit einer SLLAO, dem Ziel T=ADD2 und einer neuen Registrierungsstellen-Option an die Registrierungseinheit (nicht gezeigt). Beim Abfangen der Nachricht kann der Switch einen aufgelösten Eintrag in der Bindetabelle 247 bestimmen („Treffer”) und leitet die NS-Nachschlagenachricht jetzt einfach (per Unicast) an den Zielknoten (ADD2) weiter, der dann demgemäß dem Router mit einer Unicast-NA-Nachricht antwortet.
-
Andererseits veranschaulicht 7 eine erste Nachricht an einen Zielknoten, wenn in der Bindetabelle kein Treffer gefunden wird. Der externe Knoten sendet einen Ping an einen bestimmten Zielknoten, der Router erstellt wiederum einen Cache-Eintrag als INCOMPLETE (unvollständig) und sendet die NS-Nachschlagenachricht per Multicast an die Registrierungseinheit. Beim Abfangen der Nachricht kann der Switch nun in der Bindetabelle keinen Eintrag oder einen INCOMPLETE-Eintrag bestimmen und gibt eine NA-Nachricht an den Router zurück, in der er den negativen Status für den Zielknoten T=ADD2 angibt. Auf diese Weise kann der Router wie oben beschrieben den Cache-Eintrag sowie das Paket schnell (zum Beispiel im Wesentlichen sofort) entfernen. Es sei darauf hingewiesen, dass eine Wiederherstellung immer noch möglich ist, falls die Angabe keines Treffers in der Bindetabelle unzutreffend war, und wenn dies der Fall ist, kann das Paket nach einer kurzen Zeitverzögerung freigegeben werden (um eine mögliche Wiederherstellung möglich zu machen).
-
Zur Veranschaulichung der Abläufe bei einem NUD-Nachschlagevorgang (Neighbor Unreachability Detection, Erkennung der Nichterreichbarkeit von Nachbarn) veranschaulichen 8 bis 10 weitere Beispiele für Zeitsteuerungsdiagramme für den Nachrichtenaustausch. Insbesondere veranschaulicht 8 eine neue Nachricht an den Zielknoten als Treffer in der Bindetabelle, wobei ein Router einen Ping an einen Zielknoten (ADD2) empfängt, für den es einen vorhandenen ND-Cache-Eintrag STALE (nicht mehr gültig) gibt. Solchermaßen kann der Router den Ping direkt an den Zielknoten senden, und wenn keine Antwort kommt, kann der Router dann eine NS-NUD-Nachricht zur Auflösung an den Switch 120 übertragen. Wenn in der Bindetabelle des Switch ein passender Eintrag für ADD2 vorhanden ist, kann der Switch auch versuchen, eine NS-NUD-Nachricht an ADD2 zu senden, um den nicht erreichbaren Knoten zu finden.
-
Auf ähnliche Weise veranschaulicht 9 eine neue Nachricht an den Zielknoten als Nichtübereinstimmung in der Bindetabelle, wobei ein Router einen Ping an einen Zielknoten (ADD2) empfängt, für den es einen vorhandenen ND-Cache-Eintrag STALE (nicht mehr gültig) gibt. Solchermaßen kann der Router den Ping wiederum direkt an den Zielknoten senden, und wenn keine Antwort kommt, kann der Router dann eine NS-NUD-Nachricht zur Auflösung an den Switch übertragen. Wenn es jedoch keinen passenden aufgelösten Eintrag für ADD2 in der Bindetabelle gibt, kann der Switch in 9 den Eintrag in den Zustand VERIFY (prüfen) versetzen (was den Switch veranlassen kann, die vorherige Position der Adresse abzufragen und den Transfer zu erlauben, wenn es bei der Abfrage eine Zeitüberschreitung gibt), und er fährt dann fort, den Zustand des Knotens in der Bindetabelle zu prüfen, indem er eine NS-NUD-Nachricht an ADD2 sendet.
-
10 schließlich veranschaulicht den Fall, in dem es in der Bindetabelle keinen Treffer gibt. Wenn es für das Ziel ADD2 keinen Eintrag in der Bindetabelle gibt, kann also der Switch in 10 den Eintrag in dem Zustand STALE (nicht mehr gültig) erstellen, und er kann dann damit fortfahren, den tatsächlichen Erreichbarkeitszustand des Zielknotens zu bestimmen, indem er eine NS-NUD-Nachricht an ADD2 sendet.
-
Während die in 3 bis 10 gezeigten Nachrichtenaustauschvorgänge ein Beispiel für die in dem vorliegenden Dokument beschriebenen Techniken gemäß einem oder mehreren in dem vorliegenden Dokument beschriebenen Ausführungsbeispielen veranschaulicht haben, werden die Fachleute auf diesem Gebiet verstehen, dass die Nachrichtenaustauschvorgänge lediglich der Veranschaulichung dienen und den Schutzumfang der Offenbarung nicht einschränken sollen.
-
11 veranschaulicht eine beispielhafte, vereinfachte Prozedur zum Schützen des ARP/ND-Cache vor DoS-Angriffen in einem Computernetzwerk gemäß einem oder mehreren in dem vorliegenden Dokument beschriebenen Ausführungsbeispielen, insbesondere aus der Perspektive des Switch 120 oder der Registrierungseinheit 115. Die Prozedur 1100 kann bei Schritt 1105 beginnen und wird mit Schritt 1110 fortgesetzt, wo, wie oben ausführlicher beschrieben, ein Switch oder eine Registrierungseinheit (zum Beispiel eine Einrichtung) eine Bindetabelle 247 für alle IP-Adressen in einem bestimmten, mit der Einrichtung verbundenen Teilnetz pflegt. Wenn die Einrichtung in Schritt 1115 eine NS-Nachschlagenachricht (Neighbor Solicitation, Nachbaranfrage) von einem Router für eine bestimmte Adresse empfängt, bestimmt die Einrichtung in Schritt 1120, ob die bestimmte Adresse in der Bindetabelle enthalten ist (zum Beispiel durch erneutes Validieren bei der Registrierungseinheit, wie oben angemerkt). Wenn der Eintrag in Schritt 1125 nicht in der Bindetabelle enthalten ist, veranlasst die Einrichtung den Router in Schritt 1130, die bestimmte Adresse nicht in einem ND-Cache (Neighbor Discovery, Nachbarermittlung) auf dem Router zu speichern. Wie oben beschrieben, kann die Einrichtung insbesondere explizit dem Router mit einem negativen Status antworten, um den Router zu veranlassen, die bestimmte Adresse aus dem ND-Cache zu löschen, bevor die bestimmte Adresse in dem Cache abläuft, während in einem anderen Ausführungsbeispiel die Einrichtung nicht auf den Router mit einem Status antworten kann, wobei der Router so konfiguriert ist, dass er die bestimmte Adresse nicht vor dem Empfangen einer Adressvalidierung von der Einrichtung in dem ND-Cache speichert. Es sei darauf hingewiesen, dass eine Wiederherstellung nach Schritt 1130 möglich sein kann, beispielsweise über eine Registrierungseinheit, einen DHCP-Server, usw., und dass die Möglichkeit, eine Antwort „Nein” von einer Registrierungseinheit abzurufen, besonders hilfreich sein kann, wie die Fachleute auf diesem Gebiet würdigen können. Die zur Veranschaulichung dienende Prozedur kann dann bei Schritt 1135 enden.
-
Zusätzlich veranschaulicht 12 eine beispielhafte, vereinfachte Prozedur zum Schützen des ARP/ND-Cache vor DoS-Angriffen in einem Computernetzwerk gemäß einem oder mehreren in dem vorliegenden Dokument beschriebenen Ausführungsbeispielen, insbesondere aus der Perspektive des Routers 130. Die Prozedur 1200 kann bei Schritt 1205 beginnen und wird mit Schritt 1210 fortgesetzt, wo, wie oben ausführlicher beschrieben ist, ein Router eine Nachricht von einem externen Knoten 150 an eine bestimmte Adresse innerhalb eines bestimmten Teilnetzes (zum Beispiel von einem berechtigten externen Knoten oder andererseits auch von einem Angreifer) empfangen kann. In Schritt 1215 kann der Router dann eine NS-Nachschlagenachricht (Neighbor Solicitation, Nachbaranfrage) für die bestimmte Adresse generieren und überträgt sie zu einer Registrierungseinheit, um eine Einrichtung (zum Beispiel die Registrierungseinheit selbst oder einen Switch) mit einer Bindetabelle aller IP-Adressen in einem bestimmten Teilnetz zu veranlassen zu bestimmen, ob die bestimmte Adresse innerhalb des Teilnetzes vorhanden ist.
-
Wenn es in Schritt 1225 keinen Eintrag in der Bindetabelle gibt, und somit als Antwort auf die Angabe der Einrichtung, dass die bestimmte Adresse nicht in der Bindetabelle der Einrichtung enthalten ist, stellt dann der Router in Schritt 1230 sicher, dass die bestimmte Adresse nicht in einem ND-Cache 246 auf dem Router behalten wird. Insbesondere kann, wie oben beschrieben, die bestimmte Adresse als Antwort auf das Empfangen der Nachricht in dem ND-Cache auf dem Router gespeichert werden und als Antwort auf das Empfangen eines negativen Status von der Einrichtung aus dem ND-Cache gelöscht werden, bevor die bestimmte Adresse in dem Cache abläuft. Alternativ kann der Router die bestimmte Adresse als Antwort auf das Empfangen der Nachricht nicht in dem ND-Cache speichern, sondern erstellt statt dessen nur als Antwort auf das Empfangen einer Adressvalidierung von der Einrichtung einen Zustand für die bestimmte Adresse. Die zur Veranschaulichung dienende Prozedur 1200 kann dann bei Schritt 1235 enden.
-
Es sei angemerkt, dass, während bestimmte Schritte in den Prozeduren 1100 bis 1200 wie oben beschrieben optional sein können, die in 11 und 12 gezeigten Schritte lediglich zur Veranschaulichung dienende Beispiele darstellen, und bestimmte weitere Schritte können nach Bedarf eingeschlossen oder ausgeschlossen werden. Während eine bestimmte Reihenfolge der Schritte gezeigt wird, dient diese Reihenfolge ferner lediglich der Veranschaulichung, und jede beliebige passende Anordnung der Schritte kann verwendet werden, ohne dass von dem Schutzumfang der in dem vorliegenden Dokument beschriebenen Ausführungsbeispiele abgewichen wird. Während des Weiteren die Prozeduren 1100 bis 1200 getrennt beschrieben sind, können bestimmte Schritte jeder Prozedur in die jeweils andere Prozedur integriert werden, und die Prozeduren sind nicht als sich gegenseitig ausschließend zu verstehen.
-
Die in dem vorliegenden Dokument beschriebenen Techniken schützen daher den ARP/ND-Cache vor DoS-Angriffen in einem Computernetzwerk. Insbesondere werden durch die in dem vorliegenden Dokument beschriebenen Techniken Wiederherstellungsmechanismen für den Fall keines Treffers in einer Bindetabelle in einem Switch hinzugefügt, entweder über DHCP, eine Schicht-3-Registrierungseinheit (L3-Registrierungseinheit) oder mittels eines Multicast-NS-(ND-)Nachschlagevorgangs, und sie verteidigen vor Angriffen von außen gegen den ND-Cache, indem sie die Bindetabelle für die Sicherheit des ersten Hop in den Switches nutzen. Indem die Bindetabelle für die Sicherheit des ersten Hop dem Router zur Verfügung gestellt wird, wird das Problem der ND-DoS-Angriffe effizient angegangen, ohne dass hierzu irgendwelche Änderungen am Host (auf den Zieleinrichtungen 110) erforderlich sind, und die in dem vorliegenden Dokument genannten Techniken verringern die Komplexität und Abhängigkeit zwischen dem Router und dem Switch (oder der Registrierungseinheit), um die Robustheit der entstandenen Lösung beizubehalten.
-
Während veranschaulichende Ausführungsbeispiele gezeigt und beschrieben wurden, die den ARP/ND-Cache vor DoS-Angriffen in einem Computernetzwerk schützen, versteht es sich, dass verschiedene andere Anpassungen und Modifikationen innerhalb des Gedankens und des Schutzumfangs der in dem vorliegenden Dokument beschriebenen Ausführungsbeispiele vorgenommen werden können. Zum Beispiel wurden die Ausführungsbeispiele in dem vorliegenden Dokument in Bezug auf ein Sicherheitsmodell des ersten Hop gezeigt und beschrieben. Die Ausführungsbeispiele in ihrem breiteren Sinne sind jedoch nicht derartig beschränkt und können tatsächlich mit anderen passenden Modellen und/oder geeigneten Standards verwendet werden, einschließlich, aber nicht beschränkt auf zukünftige Versionen des Internet Protocol, in denen ähnliche NS-ND-Techniken wie in IPv6 verwendet werden. Zum Beispiel brauchen die verwendeten Nachrichten nicht auf IPv6-ND-Nachschlagevorgänge beschränkt zu sein. Außerdem können die Techniken auch auf jeden beliebigen Knoten in einer sehr großen Schicht-2-Domäne angewendet werden, um die IPv6/MAC-Adressen für die ihnen gleichwertigen Elemente aufzulösen, ohne Multicast-Nachrichten zu senden (zum Beispiel Überprüfen einer Bindetabelle oder Registrierungseinheit auf ähnliche Weise).
-
Die vorstehende Beschreibung ist auf spezifische Ausführungsbeispiele gerichtet. Es ist jedoch offensichtlich, dass andere Variationen und Modifikationen an den beschriebenen Ausführungsbeispielen unter Beibehaltung einiger oder aller ihrer Vorteile vorgenommen werden können. Zum Beispiel wird ausdrücklich in Betracht gezogen, dass die in dem vorliegenden Dokument beschriebenen Komponenten und/oder Elemente als Software implementiert werden können, die auf einem konkreten (nicht vorübergehenden) computerlesbaren Medium (zum Beispiel Festplatten/CDs/RAM/EEPROM/usw.) gespeichert werden, wobei Programmanweisungen auf einem Computer, auf Hardware, Firmware oder einer Kombination aus diesen ausgeführt werden. Demgemäß ist diese Beschreibung nur als beispielhaft anzusehen und soll ansonsten nicht den Schutzumfang der in dem vorliegenden Dokument beschriebenen Ausführungsbeispiele beschränken. Es ist daher das Ziel der angehängten Patentansprüche, alle solchen Variationen und Modifikationen abzudecken, die unter den wahren Gedanken und Schutzumfang der in dem vorliegenden Dokument aufgeführten Ausführungsbeispiele fallen.