-
Technisches Gebiet
-
Die vorliegende Anmeldung betrifft allgemein ein System und Verfahren, das verwendet werden kann, um Angriffsströme zu identifizieren, die mehrere Verbindungen einbeziehen, wie besonders mehrschichtige Netzwerktopologien betreffend.
-
HINTERGRUND
-
In einer mehrschichtigen Netzwerktopologie ist es ein Dilemma für Sicherheitsadministratoren, Angriffsströme zu identifizieren, wenn mehrere Verbindungen einbezogen sind. Typische Antworten auf Angriffe, die einen Paketverlust oder ein Zurücksetzen von Verbindungen umfassen, können den Administratoren nicht helfen, die Angriffe zur Eindringungsquelle zurückzuverfolgen, sondern können stattdessen den Angriff nur in seinen endgültigen Stufen stoppen. Sicherheitsinformations- und Ereignisverwaltungsprodukte (Security information and event management (SIEM) products) können helfen, Verbindungen auf Grundlage ihres Zeitstempels zu korrelieren, dies erfordert jedoch, dass der Administrator den gesamten Datenverkehr innerhalb der Umgebung protokolliert, dann große Mengen von Hintergrunddatenverkehr filtert, um die Beziehung zwischen Verbindungen zu finden, ein ressourcenaufwändiger Prozess, der letztendlich nicht nachhaltig ist.
-
1 veranschaulicht die klassische Unfähigkeit, die gesamte Situation eines Ost-West-Angriffs zu identifizieren Wie gezeigt kann ein Hacker schädliche Nutzdaten mit SQL-Injektion über das TLS-Protokoll an eine Webseite senden. Da der Datenverkehr verschlüsselt ist, wird der Angriff nicht in der Lage sein, gefunden und blockiert zu werden, bis der Anwendungsserver (APP-Server) versucht, den Datenbankserver (DB-Server) abzufragen. Sicherheitssysteme des Standes der Technik veranlassen ein Ereignis und identifizieren irrtümlich, dass der Angriff von einem internen Anwendungsserver zu einem anderen Datenbankserver erzeugt wurde. Der Systemadministrator weiß jedoch nicht, von wo der Angriff stammt, und ist nicht in der Lage, ihn zur Quelle der Eindringung zurückzuverfolgen.
-
Bestehende Lösungen fügen entweder eine spezielle Signatur in einem L3/L4-Header hinzu oder hängen vollständig vom Anwendungsrahmenwerk ab. Diese Verfahren sind in der realen Welt nicht praktikabel, sobald irgendein Knoten auf dem Pfad eine neue Verbindung zur nächsten Entität herstellt. Aufgrund der Ausgeklügeltheit von Cyber-Angriffen muss eine Ausbreitung des Angriffsanzeigers (indicator of attacks (IOA)) unabhängig von der Anwendungsschicht sein, andernfalls werden die Informationen in der Mitte abgeschnitten und eine Identifikation der Quelle wird unmöglich.
-
Die Druckschrift
US 9 762 610 B1 betrifft Techniken zur latenzbasierten Richtlinienaktivierung. Ein System zur latenzbasierten Richtlinienaktivierung umfasst: Sammeln einer Vielzahl von Latenzmessungen, die mit überwachten Netzwerkkommunikationen verknüpft sind; Korrelieren der Vielzahl von Latenzmessungen, die mit den überwachten Netzwerkkommunikationen verknüpft sind, um eine anomale Netzwerkaktivität auf der Grundlage eines Profils zu erkennen; und Durchführen einer Schadensbegrenzungsreaktion auf die anomale Netzwerkaktivität auf der Grundlage einer Richtlinie.
-
Die Druckschrift
US 2016 / 0 127 262 A1 betrifft Verfahren, Vorrichtungen, Systeme und Herstellungsgegenstände zum Drosseln eines Ressourcenzugriffs durch Webcrawler. Ein Beispielverfahren umfasst: Erhalten einer Medienanforderungsnachricht für Medien, die von dem Server gehostet werden, an einem Server, wobei die Medienanforderungsnachricht den Zugriff auf die Medien anfordert, das Charakterisieren einer Medienanforderungsquelle, die mit der Medienanforderungsnachricht verbunden ist; und Einfügen einer Zeitverzögerung in eine Medienantwortnachricht an die Medienanforderungsquelle basierend auf der Charakterisierung.
-
KURZDARSTELLUNG
-
Die Erfindung betrifft computerumgesetzte Verfahren, Computerprogrammprodukte und System zum Bereitstellen von Netzwerkschutz, deren Merkmale in den entsprechenden Hauptansprüchen angegeben sind. Ausführungsformen der Erfindung sind in den abhängigen Patentansprüchen angegeben.
-
In einem Beispiel wird ein computerumgesetztes Verfahren in einem Datenverarbeitungssystem bereitstellen, aufweisend einen Prozessor und einen Arbeitsspeicher aufweisend Anweisungen, die durch den Prozessor ausgeführt werden, um den Prozessor zu veranlassen, ein System für einen Netzwerkschutz umzusetzen, wobei das Verfahren ein Bestimmen durch die analysierende Einheit aufweist, ob eine eingehende Verbindung, die ein oder mehrere Pakete aufweist, eine falsche Latenz besitzt, die größer als eine Auslöselatenz ist; wenn die Latenz der eingehenden Verbindung größer als die Auslöselatenz ist, ein Berichten, durch die analysierende Einheit, der eingehenden Verbindung als eine verdächtige Verbindung; ein Bestimmen durch die analysierende Einheit, ob ein Angriff derzeit läuft; und wenn der Angriff derzeit läuft, ein Injizieren durch die analysierende Einheit mindestens eines des einen oder der mehreren Pakete der eingehenden Verbindung oder eines oder der mehreren Pakete einer ausgehenden Verbindung mit einer falschen Latenz.
-
In einem weiteren Beispiel wird ein Computerprogrammprodukt zum Bereitstellen von Netzwerkschutz bereitgestellt, wobei das Computerprodukt ein computerlesbares Datenspeichermedium mit damit ausgeführten Programmanweisungen aufweist, wobei die Programmanweisungen durch einen Prozessor ausführbar sind, um den Prozessor zu veranlassen zu: einem Bestimmen durch die analysierende Einheit, ob eine eingehende Verbindung, die ein oder mehrere Pakete aufweist, eine falsche Latenz besitzt, die größer als eine Auslöselatenz ist; wenn die Latenz der eingehenden Verbindung größer als die Auslöselatenz ist, einem Berichten, durch die analysierende Einheit, der eingehenden Verbindung als eine verdächtige Verbindung; einem Bestimmen durch die analysierende Einheit, ob ein Angriff derzeit läuft; und wenn der Angriff derzeit läuft, ein Injizieren durch die analysierende Einheit mindestens eines des einen oder der mehreren Pakete der eingehenden Verbindung oder eines oder mehrerer Pakete einer ausgehenden Verbindung mit einer falschen Latenz.
-
In einem weiteren Beispiel wird ein System zum Bereitstellen von Netzwerkschutz bereitgestellt, aufweisend: einen Netzwerkanalyseprozessor, konfiguriert zu: einem Bestimmen, ob eine eingehende Verbindung, die ein oder mehrere Pakete aufweist, eine falsche Latenz besitzt, die größer als eine Auslöselatenz ist; wenn die Latenz der eingehenden Verbindung größer als die Auslöselatenz ist, einem Berichten der eingehenden Verbindung als eine verdächtige Verbindung; einem Bestimmen, ob ein Angriff derzeit läuft; und wenn der Angriff derzeit läuft, einem Injizieren mindestens eines des einen oder der mehreren Pakete der eingehenden Verbindung oder eines oder mehrerer Pakete einer ausgehenden Verbindung mit einer falschen Latenz.
-
In einem weiteren Beispiel wird ein Verfahren bereitgestellt, ferner aufweisend ein Berechnen, durch eine analysierende Einheit, einer Latenzverteilung einer oder mehrerer Verbindungen für jede IP-Adresse in einem Netzwerk; und ein Festlegen, durch die analysierende Einheit, der Auslöselatenz.
-
In einem weiteren Beispiel wird ein Verfahren bereitgestellt, ferner aufweisend ein Profilieren, durch die analysierende Einheit, einer maximalen Latenz; ein Aktualisieren, durch die analysierende Einheit, der maximalen Latenz auf Grundlage einer oder mehrerer berichteter verdächtiger Verbindungen; und ein Festlegen, durch die analysierende Einheit, der Auslöselatenz als größer als die maximale Latenz.
-
In einem weiteren Beispiel wird ein Verfahren bereitgestellt, ferner aufweisend ein Injizieren, durch die analysierende Einheit, des mindestens einen des einen oder der mehreren Pakete der eingehenden Verbindung oder des einen oder der mehreren Pakete einer ausgehenden Verbindung mit einer falschen Latenz größer als die maximale Latenz.
-
In einem weiteren Beispiel wird ein Verfahren bereitgestellt ferner aufweisend ein Erfassen, durch eine Schutzeinheit, eines Antreffens einer externen Verbindung mit einer abnormalen Latenz; und ein Durchführen, durch die Schutzeinheit, mindestens eines von unter Quarantäne stellen der externen Verbindung, Zurücksetzen der abnormalen Verbindung, Umleiten der abnormalen Verbindung zu einem Honigtopf oder Bereitstellen weiterer Informationen für einen Ereignissammler.
-
In einem weiteren Beispiel wird ein Verfahren bereitgestellt, ferner aufweisend ein Bestimmen, durch ein DDOS-Schutzmodul, ob jede der einen oder mehreren Verbindungen in das Netzwerk weiterzuleiten ist; ein Bestimmen, durch das DDOS-Schutzmodul, ob das System in der Lage ist, jede der einen oder mehreren Verbindungen weiterzuleiten, aufweisend: ein Bestimmen, durch das DDOS-Schutzmodul, einer letzten Zeit, zu der eine vorherige Verbindung weitergeleitet wurde; ein Vergleichen, durch das DDOS-Schutzmodul, der letzten Zeit, zu der die vorherige Verbindung weitergeleitet wurde, mit einer vorbestimmten Verzögerungszeit; wenn die letzte Zeit, zu der die vorherige Verbindung weitergeleitet wurde, die vorbestimmte Verzögerungszeit überschreitet, durch das DDOS-Schutzmodul erlauben, dass die Verbindung in das Netzwerk weitergeleitet wird.
-
In einem weiteren Beispiel wird ein Verfahren bereitgestellt, ferner aufweisend ein Einstellen, durch das DDOS-Schutzmodul, der falschen Latenz auf Grundlage der vorbestimmten Verzögerungszeit.
-
In einem weiteren Beispiel wird ein Computerprogrammprodukt bereitgestellt, das ein von Computern verwendbares oder lesbares Medium mit einem computerlesbaren Programm aufweist. Das computerlesbare Programm veranlasst bei Ausführen auf einem Prozessor den Prozessor dazu, vielfältige sowie Kombinationen der oben erläuterten Operationen in Hinblick auf die veranschaulichende Ausführungsform des Verfahrens durchzuführen.
-
In noch einem weiteren Beipsiel wird ein System bereitgestellt. Das System kann eines oder mehrere von einem Netzwerkanalyseprozessor, einem Netzwerkschutzprozessor und einem DDOS-Schutzprozessor aufweisen, die konfiguriert sind, vielfältige sowie Kombinationen der oben erläuterten Operationen in Hinblick auf die veranschaulichende Ausführungsform des Verfahrens durchzuführen.
-
Zusätzliche Merkmale und Vorteile dieser Offenbarung werden aus der folgenden detaillierten Beschreibung veranschaulichender Ausführungsformen ersichtlich, die unter Bezugnahme auf die begleitenden Zeichnungen fortschreitet.
-
Figurenliste
-
Nun werden in lediglich beispielhafter Weise und unter Bezugnahme auf die folgenden Zeichnungen bevorzugte Ausführungsformen der vorliegenden Erfindung beschrieben:
- 1 veranschaulicht eine Identifikation eines Netzwerkangriffs des Standes der Technik;
- 2 veranschaulicht einen Ablaufplan, der die Erfassung eines Angriffs unter Verwendung des vorliegenden Netzwerkschutzsystems gemäß hierin beschriebener Ausführungsformen da rstel lt;
- 3 veranschaulicht die Funktionalität des Netzwerkschutzsystems während eines DDOS-Angriffs gemäß hierin beschriebener Ausführungsformen;
- 4 veranschaulicht einen Ablaufplan, der die Funktionalität des Netzwerkschutzsystems gemäß hierin beschriebener Ausführungsformen darstellt;
- 5 stellt ein Blockschaubild dar, das gemäß hierin beschriebener Ausführungsformen die Komponenten eines Netzwerkschutzsystems veranschaulicht, wenn es mit einem Netzwerk integriert ist;
- 6 ist ein Blockschaubild eines Beispieldatenverarbeitungssystems, in dem Aspekte der veranschaulichenden Ausführungsformen umgesetzt sein können.
-
DETAILLIERTE BESCHREIBUNG BEISPIELHAFTER AUSFÜHRUNGSFORMEN
-
Im Gegensatz zum Stand der Technik, der lediglich Pakete fallenlässt oder Verbindungen zurücksetzt, kann die vorliegende Erfindung den Anzeiger von Angriffen (IOA) vorzugsweise durch mehrere Entitäten weiterleiten, die an dem Angriff beteiligt sind. Eine Zeittaktung ist das einzige Attribut, dass durch mehrere Knoten laufen kann, ungeachtet der Anwendungslogik und des Netzwerkprotokolls. Somit kann die vorliegende Erfindung vorzugsweise einen neuen Mechanismus erzeugen, um eine spezielle Latenz in einer Verbindung hinzuzufügen, wenn ein IOA identifiziert wird.
-
Durch Hinzufügen von Latenz zu den Paketen in einer bestimmten Verbindung kann die vorliegende Erfindung vorzugsweise den Anzeiger eines Angriffs weiterleiten und die zugehörigen Verbindungen identifizieren, was die Komplexität für SIEM-Produkte enorm verringern kann, um die Angriffsströme unter all dem Ost-West-Datenverkehr zu analysieren, wenn der Ost-West-Datenverkehr Datenverkehr innerhalb eines Datenzentrums aufweist, im Gegensatz zu Client-Server-Datenverkehr. Nach einem Analysieren der verdächtigen Kandidaten kann ein Netzwerkschutzprodukt am Rande des Netzwerks einen Patienten Null identifizieren (d.h. die Quelle des Angriffs) und die durch die Angreifer hergestellte Verbindung zurücksetzen. Die vorliegende Erfindung kann dann vorzugsweise die Quellen-IP-Adresse von Eindringlingen unter Quarantäne stellen. Ein Identifizieren einer Linkaffinität ist ein schwieriges Problem in SIEM-Produkten und im gesamten Bereich der Cybersicherheit. Die vorliegende Erfindung kann vorzugsweise die Komplexität des Identifizierens von Angriffsströmen bei den meisten Arten von Anwendungsarchitektur verringern, ohne dass eine Modifikation oder Kenntnis von der Anwendung selbst erforderlich ist.
-
2 veranschaulicht einen Ablaufplan, der die Erfassung eines Angriffs unter Verwendung des vorliegenden Netzwerkschutzsystems gemäß hierin beschriebener Ausführungsformen darstellt. Allgemein wird ein Angreifer 200 schädliche Nutzdaten 201 in ein Netzwerk einbringen, wo ein normaler Eintrittspunkt der Lastausgleicher 203 ist. Bestimmte schädliche Nutzdaten 201 können eine bestimmte Anwendung 205 angreifen, die in einem Anwendungsserver 204 laufen kann. Durch die Infektion einer Anwendung 205 können die Anwendungen mit Datenbankservern 206 interagieren, die eine oder mehrere Datenbanken 207 enthalten, sowie einem oder mehreren Servern 208, die eine oder mehrere Dateien 209 enthalten. Herkömmlicherweise wurde der erfasste Angriffsstrom 210 zuvor nur irrtümlicherweise zwischen der Interaktion der Anwendung 205 mit einer bestimmten Datenbank 207 erfasst, auf die zugegriffen wird. Durch die Injektion einer falschen Latenz Δt 202 in die angreifende Verbindung durch einen Injektionsmechanismus einer falschen Latenz kann jedoch ein Anzeiger eines Angriffs bereitgestellt werden, der es entsprechenden SIEM-Produkten erlaubt, die schädlichen Nutzdaten 201 zurück zum ursprünglichen Angreifer 200 und ihrem Ursprungspunkt zu verfolgen, was eine raschere und effektivere Beendigung des Angriffs erlaubt. Dieses Verfahren kann verwendet werden, um eine Störung der Anwendungslogik bei einer fehlenden IOA-Antwortlogik zu verhindern, die in der Anwendung vorhanden ist. In dem Ausmaß, in dem die Anwendung eine Logik besitzt, die fähig ist, auf einen IOA zu antworten, kann die Anwendung die IOA-Informationen durch die Anwendungsschicht der Verbindung weiterleiten.
-
Um einen verteilten Denial-of-Service-Angriff (distributed denial-of-service (DDOS) attack) zu vermeiden, wird der Injektionsmechanismus einer falschen Latenz aufgrund der großen Anzahl von Angriffen, die als Teil eines DDOS-Angriffs auftreten, möglicherweise nicht jedes Mal ausgelöst, wenn ein Angriff erfasst wird. Das Netzwerkschutzsystem kann auch eine Prozedur bereitstellen, um einen DDOS-Angriff zu vermeiden, so dass die Injektion einer falschen Latenz nur ein oder mehrere Male in einem konfigurierbaren Zeitfenster ausgelöst werden kann.
-
3 veranschaulicht die Funktionalität des Netzwerkschutzsystems während eines DDOS-Angriffs gemäß hierin beschriebener Ausführungsformen. Bei Empfang eines eingehenden Paketes 301 kann das System das Paket inspizieren, um die Eigenschaften des Pakets zu bestimmen und um zu bestimmen, ob das Paket Teil der schädlichen Nutzdaten oder des DDOS-Angriffs 302 ist. Auf Grundlage der Inspektion des Pakets 302 kann das System entscheiden, ob die Verbindung in das Netzwerk 303 weitergeleitet werden soll. Wenn das System auswählt, die Verbindung nicht in das Netzwerk weiterzuleiten, kann das System das Paket in das Netzwerk ablehnen.
-
Wenn das System auswählt, die Verbindung in das Netzwerk weiterzuleiten, kann das System bestimmen, ob das System in der Lage ist, die Verbindung 304 weiterzuleiten. Das System kann diese Bestimmung vornehmen, indem die letzte Zeit, zu der eine Verbindung weitergeleitet wurde 307, gegenüber einer vorbestimmten Verzögerungszeit 308 bestimmt wird. Wenn die letzte Weiterleitungszeit 307 kleiner ist als die vorbestimmte Verzögerungszeit 308, darf die Verbindung nicht weitergeleitet werden, und das System kann eine oder mehrere der ursprünglichen Aktionen vornehmen 306, was ein Zurücksetzen der Verbindung, Modifizieren der Nutzdaten (oder Pakete) oder ein Erlauben oder Ablehnen des Pakets in das Netzwerk umfassen kann. Wenn die letzte Weiterleitungszeit 307 mehr als die vorbestimmte Verzögerungszeit 308 beträgt, kann die Verbindung weitergeleitet werden, sobald das System durch die Verwendung eines Injektionsmechanismus einer falschen Latenz 305 eine falsche Latenzverzögerung und/oder eine Signatur in das Paket injiziert hat, was ein Verzögern der Weiterleitung des Pakets in das Netzwerk (d.h. Injizieren einer falschen Latenz) umfassen kann. Das modifizierte Paket kann dann eine oder mehrere ursprünglichen Aktionen daran ausführen 306, was das Erlauben des modifizierten Pakets durch das Netzwerk umfasst.
-
Bevor irgendwelche ursprünglichen Aktionen vorgenommen werden 306, wie beispielsweise Zurücksetzen von Verbindungen, Modifizieren von Nutzdaten oder Erlauben eines Pakets, kann das System eine falsche Latenz injizieren, wenn es erforderlich ist. Ohne komplett von dem erfassten Angriff/den erfassten Ereignissen abhängen zu müssen, kann das Netzwerkschutzsystem auch die letzte Weiterleitungszeit und das Zeitfenster berücksichtigen. Mit diesem Mechanismus kann das Netzwerkschutzsystem einen DDOS-Angriff vermeiden. In einer Ausführungsform kann die injizierte falsche Latenz Δt einstellbar durch die Umgebung und die vorbestimmte Verzögerungszeit berechnet werden, was keine signifikanten Dienstauswirkungen besitzt, da ein Administrator normalen Datenverkehr leicht filtern kann.
-
4 veranschaulicht einen Ablaufplan, der die Funktionalität des Netzwerkschutzsystems gemäß hierin beschriebener Ausführungsformen darstellt. Eine Umsetzung des Netzwerkschutzsystems kann aus zwei Teilen zusammengesetzt sein, wobei der erste eine Schutzeinheit 401 bei jeder Arbeitslast ist, und der zweite eine analysierende Einheit 400 ist, die sich auf einem zentralen Server befinden kann, wie beispielsweise ein SIEM-Produkt. In einer Ausführungsform kann die analysierende Einheit 400 die falsche Latenzverteilung von Gesamtverbindungen zu jeder IP-Adresse unter Verwendung eines Profiliermechanismus und Ablaufdaten berechnen und kann eine maximale Latenz Δu 402 profilieren. Die analysierende Einheit 400 kann dann eine Auslöselatenz festlegen, die größer sein kann als die maximal erlaubte Latenz Δu. In einer Ausführungsform kann die Auslöselatenz größer sein als die maximale Latenz Δu in dem gegebenen Zeitfenster. Die analysierende Einheit 400 kann dann bestimmen, ob irgendeine eingehende Verbindung eine falsche Latenz größer als die Auslöselatenz 403 besitzt. Falls ja, kann die analysierende Einheit 400 die verdächtige Verbindung über die Ablaufdaten 407 melden. Falls nicht, kann die analysierende Einheit 400 die maximale Latenz Δu über die Ablaufdaten 404 aktualisieren. Die analysierende Einheit 400 kann dann erfassen, ob derzeit ein Angriff läuft 405. Falls nicht, kann die analysierende Einheit 400 die maximale Latenz Δu neu profilieren 402 und die vorherigen Prozesse wiederholen.
-
Im Falle eines Angriffs kann die analysierende Einheit 400 in die schädlichen Nutzdaten eine falsche Latenz Δt injizieren 408. Die Injektion der falschen Latenz kann ein Verzögern der Pakete mit der falschen Latenz um Δt einbeziehen. In einer Ausführungsform kann Δt größer als Δu sein. In einer Ausführungsform kann die Injektion der falschen Latenz Δt auf der Verbindung auftreten, bevor andere Aktionen vorgenommen werden, wie beispielsweise Zurücksetzen/Beenden der Verbindung. Die Hinzufügung der falschen Latenz erzeugt eine abnormale Verbindung, was abnormale Latenzen für andere Komponenten in der Netzwerk-Cloud verursachen kann, was den Fehler mit der abnormalen Latenzspitze leicht weiterleiten und ein detaillierteres Verfolgen erlauben kann.
-
Wenn die Schutzeinheit 401 am Rand auf irgendeine externe Verbindung mit abnormaler Latenz trifft, die durch die analysierende Einheit 400 erfasst wurde, kann sie die Verbindung unter Quarantäne stellen 409, die Verbindung zurücksetzen 410, die Verbindung zu einem Honigtopf für die Quelle weiterlenken 411 oder einem Ereignissammler 412, wie beispielsweise einem SIEM-Produkt, weitere Informationen zur weiteren Analyse bereitstellen.
-
5 stellt ein Blockschaubild dar, das gemäß hierin beschriebener Ausführungsformen die Komponenten eines Netzwerkschutzsystems veranschaulicht, wenn es in ein Netzwerk einbezogen ist. Beim Vermitteln der klassischen Interaktion zwischen einem zentralen Server 500 und einem Client 501 kann das Netzwerkschutzsystem ein Berechnungsmodul einer falschen Latenz 502 umfassen, das auf dem zentralen Server 500 untergebracht ist, sowie ein Server-DDOS-Verhinderungsmodul 503, das auf dem zentralen Server 500 untergebracht ist. Auf Grundlage der Stromdaten, API oder Anforderungsprofile und/oder etwaiger Sicherheitsereignisantworten kann der Client 501 eine Injektion einer falschen Latenz 504 in einen bestimmten Netzwerkdatenstrom einfügen, der durch das Berechnungsmodul einer falschen Latenz 502 verwendet werden kann, um den Pfad und die Quelle des Angriffs zu bestimmen, wie oben beschrieben. Zusätzlich kann ein Client-DDOS-Verhinderungsmodul 505 innerhalb des Client 501 eingebettet sein, um im Falle eines clientseitigen DDOS-Angriffs zusätzlichen DDOS-Schutz bereitzustellen. Das Berechnungsmodul einer falschen Latenz 502 und das Server-DDOS-Verhinderungsmodul 503 kann Latenzwerte und Anti-DDOS-Materialien, wie beispielsweise die vorbestimmte Zeitverzögerung, von dem zentralen Server 500 zu dem Client 501 weiterleiten, damit das Netzwerk eine Angriffsvermittlungsfähigkeit besitzt.
-
6 ist ein Blockschaubild eines Beispieldatenverarbeitungssystems 600, in dem Aspekte der veranschaulichenden Ausführungsformen, wie beispielsweise der Benutzeragent, der Berechtigungsprüfer und/oder der Berechtigungsprüfungsserver umgesetzt sein können. Das Datenverarbeitungssystem 600 stellt ein Beispiel für einen Computer, wie beispielsweise einen Server oder Client dar, in dem sich von Computern verwendbarer Code oder Anweisungen befinden können, die den Prozess für veranschaulichende Ausführungsformen der vorliegenden Erfindung umsetzen. In einer bestimmten Ausführungsform stellt 6 eine Serverdatenverarbeitungseinheit, wie beispielsweise einen Server dar, der das hierin beschriebene Netzwerkschutzsystem umsetzt.
-
Im abgebildeten Beispiel kann das Datenverarbeitungssystem 600 eine Knotenpunkt-Architektur (hub architecture) einschließlich einer „north bridge and memory controller hub“ (NB/MCH) 601 (Northbrigde und Knotenpunkt für Speichersteuereinheiten) und einer „south bridge and input/output (I/O) controller hub“ (SB/ICH) 602 (Southbridge und Knotenpunkt für Eingabe/Ausgabe(E/A)-Steuereinheiten) verwenden. Eine Verarbeitungseinheit 603, ein Hauptarbeitsspeicher 604 und ein Grafikprozessor 605 können mit der NB/MCH 601 verbunden sein. Der Grafikprozessor 605 kann über einen beschleunigten Grafikanschluss (accelerated graphics port (AGP)) mit der NB/MCH 202 verbunden sein.
-
Im abgebildeten Beispiel ist der Netzwerkadapter 606 mit der SB/ICH 602 verbunden. Der Audioadapter 607, ein Tastatur- und Mausadapter 608, ein Modem 609, ein Nur-Lese-Speicher (read only memory (ROM)) 610, ein Festplattenlaufwerk (hard disk drive (HDD)) 611, ein optisches Laufwerk (CD oder DVD) 612, Anschlüsse für einen universellen seriellen Bus (universal serial bus (USB)) und weitere Kommunikationsanschlüsse 613 sowie PCI/PCIe-Einheiten 614 können über ein Bussystem 616 mit der SB/ICH 602 verbunden sein. Die PCI/PCIe-Einheiten 614 können Ethernet-Adapter, Erweiterungskarten (add-in cards) und PC-Karten für Notebook-Computer umfassen. Beim ROM 610 kann es sich zum Beispiel um ein Flash-Basisdaten-Austauschsystem (flash basic input/output system) (BIOS) handeln. Die HDD 611 und das optische Laufwerk 612 können eine integrierte Laufwerkelektronik (integrated drive electronics (IDE)) oder eine Anbindungsschnittstelle mit fortschrittlicher serieller Technologie (serial advanced technology attachment (SATA) interface) verwenden. Die Super-E/A-Einheit (Super I/O (SIO) device) 615 kann mit der SB/ICH verbunden sein.
-
Ein Betriebssystem kann auf der Verarbeitungseinheit 603 laufen. Das Betriebssystem kann eine Steuerung vielfältiger Komponenten innerhalb des Datenverarbeitungssystems 600 koordinieren und bereitstellen. Als ein Client kann es sich bei dem Betriebssystem um ein kommerziell verfügbares Betriebssystem handeln. Ein objektorientiertes Programmiersystem, wie beispielsweise das Java™-Programmiersystem kann in Verbindung mit dem Betriebssystem laufen und Aufrufe des Betriebssystems aus den objektorientierten Programmen oder Anwendungen bereitstellen, die auf dem Datenverarbeitungssystem 600 ausgeführt werden. Als ein Server kann es sich bei dem Datenverarbeitungssystem 600 um ein „IBM® eServer™ System p®“ handeln, welches das Betriebssystem „Advanced Interactive Executive“ oder das Betriebssystem „Linux“ ausführt. Bei dem Datenverarbeitungssystem 600 kann es sich um ein symmetrisches Mehrfachprozessorsystem (symmetric multiprocessor (SMP) system) handeln, das eine Mehrzahl von Prozessoren in der Verarbeitungseinheit 603 umfassen kann. Alternativ kann ein Einzelprozessorsystem verwendet werden.
-
Anweisungen für das Betriebssystem, das objektorientierte Programmiersystem sowie Anwendungen oder Programme befinden sich auf Datenspeichereinheiten, wie beispielsweise der HDD 611, und werden zur Ausführung durch die Verarbeitungseinheit 603 in den Hauptarbeitsspeicher 604 geladen. Die Prozesse für Ausführungsformen des Netzwerkschutzsystems können durch die Verarbeitungseinheit 603 unter Verwendung von computerverwendbarem Programmcode durchgeführt werden, der sich in einem Arbeitsspeicher wie zum Beispiel dem Hauptarbeitsspeicher 604, dem ROM 610 oder in einer oder mehreren Peripherieeinheiten befinden kann.
-
Ein Bussystem 616 kann aus einem oder mehreren Bussen zusammengesetzt sein. Das Bussystem 616 kann unter Verwendung jedes beliebigen Typs von Kommunikationsnetz (communications fabric) oder Architekturtyps ausgeführt sein, der eine Übertragung von Daten zwischen unterschiedlichen Komponenten oder Einheiten bereitstellen kann, die an das Netz oder die Architektur angebunden sind. Eine Kommunikationseinheit, wie beispielsweise das Modem 609 oder der Netzwerkadapter 606 können eine oder mehrere Einheiten umfassen, die verwendet werden können, um Daten zu senden und empfangen.
-
Für den Fachmann ist ersichtlich, dass die in 6 dargestellte Hardware abhängig von der Umsetzung variieren kann. Weitere interne Hardware oder Peripherieeinheiten, wie beispielsweise Flash-Arbeitsspeicher, entsprechender nichtflüchtiger Arbeitsspeicher oder optische Festplattenlaufwerke können zusätzlich zu oder anstelle der dargestellten Hardware verwendet werden. Darüber hinaus kann das Datenverarbeitungssystem 600 die Form einer beliebigen Anzahl unterschiedlicher Datenverarbeitungssysteme einschließlich, ohne darauf beschränkt zu sein, Client-Recheneinheiten, Server-Recheneinheiten, eines Tablet-Computers, eines Laptop-Computers, eines Telefons oder anderen Kommunikationseinheiten, persönlicher digitaler Assistenten und Ähnlichem annehmen. Im Wesentlichen kann es sich bei dem Datenverarbeitungssystem 600 um jedes beliebige bekannte oder später entwickelte Datenverarbeitungssystem ohne architektonische Einschränkung handeln.
-
Die vorliegende Beschreibung und die vorliegenden Ansprüche können die Begriffe „ein“, „mindestens eines“ und „ein oder mehrere von“ in Hinsicht auf bestimmte Merkmale und Elemente der veranschaulichenden Ausführungsformen nutzen. Es sollte ersehen werden, dass diese Begriffe und Ausdrücke angeben sollen, dass mindestens eines des bestimmten Merkmals oder Elements in der bestimmten veranschaulichenden Ausführungsform vorhanden ist, aber dass auch mehr als eines vorhanden sein können. Das heißt, diese Begriffe/Ausdrücke sollen die Beschreibung oder Ansprüche nicht auf ein einziges vorhandenes Merkmal/Element beschränken oder erfordern, dass eine Mehrzahl solcher Merkmale/Elemente vorhanden ist. Im Gegenteil erfordern diese Begriffe/Ausdrücke nur mindestens ein einziges Merkmal/Element mit der Möglichkeit, dass eine Mehrzahl solcher Merkmale/Elemente innerhalb in dem Umfang der Beschreibung und Ansprüche liegt.
-
Zusätzlich sollte ersehen werden, dass die folgende Beschreibung eine Mehrzahl vielfältiger Beispiele für vielfältige Elemente der veranschaulichenden Ausführungsformen verwendet, um Beispielumsetzungen der veranschaulichenden Ausführungsformen weiter zu veranschaulichen und um beim Verständnis der Mechanismen der veranschaulichenden Ausführungsformen zu helfen. Diese Beispiele sollen nicht einschränkend sein und sind nicht erschöpfend für die vielfältigen Möglichkeiten zum Umsetzen der Mechanismen der veranschaulichenden Ausführungsformen. Es wird für den Fachmann angesichts der vorliegenden Beschreibung ersichtlich sein, dass es viele andere alternative Umsetzungen für diese vielfältigen Elemente gibt, die zusätzlich zu oder als Ersatz für das hierin bereitgestellte Beispiel verwendet werden können, ohne vom Geist und Umfang der vorliegenden Erfindung abzuweichen
-
Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) umfassen, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert ist/sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
-
Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch eine Einheit zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (random access memory (RAM)), ein Nur-Lese-Speicher (read-only memory (ROM)), ein löschbarer programmierbarer Nur-Lese-Speicher (erasable programmable read-only memory (EPROM)oder Flash-Speicher), ein statischer Direktzugriffsspeicher (static random access memory (SRAM)), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch kodierte Einheit wie beispielsweise Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination des Vorhergehenden. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie beispielsweise Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. durch ein Glasfaserkabel geleitete Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
-
Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk (local area network (LAN)), ein Weitverkehrsnetzwerk (wide area network (WAN)) und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
-
Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter eine objektorientierte Programmiersprache wie Java, Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Fall kann ferne Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter LAN oder WAN, oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen kann elektronische Schaltungstechnik, darunter zum Beispiel programmierbare Logikschaltungstechnik, im Feld programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronische Schaltungstechnik zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
-
Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder und/oder Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbare Programmanweisungen umgesetzt werden können.
-
Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zum Umsetzen der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
-
Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um ein Durchführen einer Reihe von Prozessschritten auf dem Computer, der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer umgesetzten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block oder den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
-
Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Umsetzungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zum Umsetzen der bestimmten logischen Funktionen aufweisen. In einigen alternativen Umsetzungen können die in den Blöcken angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
-
Das System und die Prozesse der Figuren sind nicht erschöpfend. Andere Systeme, Prozesse und Menüs können gemäß den Grundgedanken von hierin beschriebenen Ausführungsformen angeleitet werden, um dieselben Ziele zu erreichen. Es sollte verstanden werden, dass die hierin gezeigten und beschriebenen Ausführungsformen und Variationen nur Veranschaulichungszwecken dienen. Modifikationen an der aktuellen Gestaltung können durch den Fachmann umgesetzt werden, ohne vom Umfang der Ausführungsformen abzuweichen. Wie hierin beschrieben, können die vielfältigen Systeme, Teilsysteme, Agenten, Verwalter und Prozesse unter Verwendung von Hardware-Komponenten, Software-Komponenten und/oder Kombinationen davon umgesetzt werden. Kein Anspruchselement hierin ist unter den Vorschriften von 35 U.S.C. 112, Paragraph sechs aufzufassen, es sei denn das Element ist ausdrücklich unter Verwendung des Ausdrucks „Mittel für“ angeführt.
-
Obwohl die Erfindung unter Bezugnahme auf beispielhafte Ausführungsformen beschrieben worden ist, ist sie nicht darauf beschränkt. Der Fachmann versteht, dass zahlreiche Änderungen und Modifikationen an den bevorzugten Ausführungsformen der Erfindung vorgenommen werden können, und dass solche Änderungen und Modifikationen vorgenommen werden können, ohne vom wahren Geist der Erfindung abzuweichen. Es ist daher beabsichtigt, dass die angehängten Ansprüche so aufzufassen sind, dass sie alle solchen äquivalenten Variationen wie sie unter den wahren Geist und Umfang der Erfindung fallen abdecken.