DE102016203565A1 - Identifizieren von bösartigen Web-Infrastrukturen - Google Patents

Identifizieren von bösartigen Web-Infrastrukturen Download PDF

Info

Publication number
DE102016203565A1
DE102016203565A1 DE102016203565.7A DE102016203565A DE102016203565A1 DE 102016203565 A1 DE102016203565 A1 DE 102016203565A1 DE 102016203565 A DE102016203565 A DE 102016203565A DE 102016203565 A1 DE102016203565 A1 DE 102016203565A1
Authority
DE
Germany
Prior art keywords
server
servers
computer
malicious
invisible
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102016203565.7A
Other languages
English (en)
Other versions
DE102016203565B4 (de
Inventor
Xin Hu
Jang Jiyong
Ting Wang
Jialong Zhang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/640,658 external-priority patent/US9571518B2/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE102016203565A1 publication Critical patent/DE102016203565A1/de
Application granted granted Critical
Publication of DE102016203565B4 publication Critical patent/DE102016203565B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

Bereitgestellt wird ein Identifizieren von bösartigen Servern. Auf Grundlage von ermittelten, auf dem Graphen beruhenden Merkmalen innerhalb eines bipartiten Graphen, die unsichtbaren Server-Knoten entsprechen, welche an den Netzwerkverkehr-Umleitungsketten beteiligt sind, und ermittelten, auf einem Abstand beruhenden Merkmalen, die unsichtbaren Server-Knoten entsprechen, die an den Netzwerkverkehr-Umleitungsketten beteiligt sind, werden bösartige Kanten zwischen Server-Knoten ermittelt, die sichtbaren Servern und unsichtbaren Servern entsprechen, welche an Netzwerkverkehr-Umleitungsketten beteiligt sind. Auf Grundlage der ermittelten bösartigen Kanten zwischen den Server-Knoten, die den sichtbaren Servern und unsichtbaren Servern entsprechen, welche an den Netzwerkverkehr-Umleitungsketten beteiligt sind, werden bösartige Server-Knoten in dem bipartiten Graphen identifiziert. Der Zugriff durch Client-Einheiten auf bösartige Server, die den ermittelten bösartigen Server-Knoten in dem bipartiten Graphen entsprechen, wird blockiert.

Description

  • HINTERGRUND
  • 1. Gebiet:
  • Die Offenbarung bezieht sich im Allgemeinen auf Computernetzwerksicherheit und im Besonderen auf ein Identifizieren von bösartigen Servern innerhalb von bösartigen Web-Infrastrukturen auf Grundlage einer Sichtbarkeit von Netzwerk-Servern und einer Topologie von Netzwerkverkehr-Umleitungsketten von Netzwerk-Servern.
  • 2. Beschreibung der verwandten Technik:
  • Bösartige Web-Aktivitäten sind eine signifikante Bedrohung für die Sicherheit von Online-Web-Benutzern und ihren Computern. Diese bösartigen Web-Aktivitäten werden durch bösartige Web-Infrastrukturen dirigiert, die Cyber-Kriminelle in die Lage versetzen, ihren kriminellen Aktivitäten im Web nachzugehen und Ressourcen anderer Cyber-Krimineller innerhalb der bösartigen Web-Infrastrukturen zu nutzen. Derartige bösartige Web-Infrastrukturen sind das Rückgrat dieser kriminellen Aktivitäten im heutigen Cyberspace, indem sie bösartige Inhalte wie z. B. bösartige Software übertragen und jährlich einen Schaden in Höhe von Hunderten Millionen US-Dollar verursachen. Bösartige Software, kurz: Malware, ist jede Software, die z. B. dazu dient, einen Computerbetrieb zu unterbrechen, auf Computern gespeicherte sensible Informationen zu sammeln oder Zugang zu privaten Computersystemen und Netzwerken zu erhalten. Malware ist ein Sammelbegriff, der sich auf eine Vielfalt böswilliger oder intrusiver Softwareprogramme bezieht, z. B. Computerviren, Würmer, Trojaner, Ransomware, Spyware, Adware, Scareware und andere bösartige Programme.
  • KURZDARSTELLUNG
  • Gemäß einer veranschaulichenden Ausführungsform wird ein computerrealisiertes Verfahren zum identifizieren von bösartigen Servern bereitgestellt. Auf Grundlage von ermittelten, auf einem Graphen beruhenden Merkmalen innerhalb eines bipartiten Graphen, die unsichtbaren Server-Knoten entsprechen, welche an den Netzwerkverkehr-Umleitungsketten beteiligt sind, und ermittelten, auf einem Abstand beruhenden Merkmalen, die unsichtbaren Server-Knoten entsprechen, welche an den Netzwerkverkehr-Umleitungsketten beteiligt sind, ermittelt ein Computer bösartige Kanten zwischen Server-Knoten, die sichtbaren Servern und unsichtbaren Servern entsprechen, welche an Netzwerkverkehr-Umleitungsketten beteiligt sind. Auf Grundlage der ermittelten bösartigen Kanten zwischen den Server-Knoten, die den sichtbaren Servern und unsichtbaren Servern entsprechen, welche an Netzwerkverkehr-Umleitungsketten beteiligt sind, identifiziert der Computer bösartige Server-Knoten in dem bipartiten Graphen. Der Computer blockiert den Zugriff durch Client-Einheiten auf bösartige Server, die den identifizierten bösartigen Server-Knoten in dem bipartiten Graphen entsprechen. Gemäß anderen veranschaulichenden Ausführungsformen werden ein Computersystem und ein Computerprogrammprodukt zum Identifizieren von bösartigen Servern bereitgestellt.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist eine bildhafte Darstellung eines Netzwerks von Datenverarbeitungssystemen, in dem veranschaulichende Ausführungsformen realisiert sein können;
  • 2 ist eine bildhafte Darstellung eines Datenverarbeitungssystems, in dem veranschaulichende Ausführungsformen realisiert sein können;
  • 3 ist eine Darstellung eines Beispiels für Komponenten einer Anwendung zur Erkennung von bösartigen Web-Infrastrukturen gemäß einer veranschaulichenden Ausführungsform;
  • 4 ist eine Darstellung eines Beispiels für einen bipartiten Graphen gemäß einer veranschaulichenden Ausführungsform;
  • 5 ist ein konkretes Beispiel für eine Eingabe in einen maschinell lernenden Klassifikator gemäß einer veranschaulichenden Ausführungsform;
  • 6 ist eine Darstellung eines Beispiels für einen Prozess zur Erzeugung eines Verbreitungsgraphen gemäß einer veranschaulichenden Ausführungsform;
  • 7 ist ein Ablaufplan, der gemäß einer veranschaulichenden Ausführungsform einen Prozess veranschaulicht, mit dem sich Server innerhalb eines Netzwerks entweder als ein sichtbarer Server oder als ein unsichtbarer Server veranschaulichen lassen;
  • Die 8A und 8B bilden einen Ablaufplan, der gemäß einer veranschaulichenden Ausführungsform einen Prozess zum Identifizieren von bösartigen Servern innerhalb eines Netzwerks veranschaulicht; und
  • 9 ist ein Ablaufplan, der gemäß einer veranschaulichenden Ausführungsform einen Prozess zum Verbreiten von Bösartigkeits- und Visibilitätswerten an benachbarte unsichtbare Server veranschaulicht, um auf Grundlage ihrer Korrelation mit den identifizierten bösartigen Servern zusätzliche bösartige Server zu identifizieren.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die vorliegende Erfindung kann ein System, ein Verfahren und/oder ein Computerprogrammprodukt sein. Das Computerprogrammprodukt kann ein computerlesbares Speichermedium (oder -medien) mit darauf enthaltenen computerlesbaren Programmbefehlen beinhalten, um einen Prozessor zu veranlassen, Aspekte der vorliegenden Erfindung durchzuführen.
  • Das computerlesbare Speichermedium kann eine gegenständliche Einheit sein, die Befehle zur Verwendung durch eine Befehlsausführungseinheit beibehalten und speichern kann. Das computerlesbare Speichermedium kann z. B. eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder eine beliebige geeignete Kombination der vorgenannten Einheiten sein, ohne jedoch darauf beschränkt zu sein. Eine nicht vollständige Liste konkreterer Beispiele des computerlesbaren Speichermediums beinhaltet Folgendes: eine tragbare Computerdiskette, eine Festplatte, einen Direktzugriffsspeicher (RAM), einen Festwertspeicher (ROM), einen löschbaren, programmierbaren Nur-Lese-Speicher (EPROM- oder Flash-Speicher), einen statischen Direktzugriffsspeicher (SRAM), einen tragbaren CD-ROM, eine DVD, einen Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie z. B. Lochkarten oder erhabene Strukturen in einer Rille mit darauf aufgezeichneten Befehlen sowie eine beliebige geeignete Kombination der vorgenannten Elemente. Ein computerlesbares Speichermedium wie es hier verwendet wird, sollte nicht so verstanden werden, als bestünde es an sich aus flüchtigen Signalen wie z. B. Funkwellen oder anderen, sich frei verbreitenden elektromagnetischen Wellen, elektromagnetischen Wellen, die sich durch einen Hohlleiter oder ein anderes Übertragungsmedium verbreiten (z. B. Lichtimpulse, die durch ein Lichtwellenkabel geleitet werden), oder elektrischen Signalen, die durch eine Leitung übertragen werden.
  • Hier beschriebene computerlesbare Programmbefehle können über ein Netzwerk wie beispielsweise das Internet, ein lokales Netz (Local Area Network, LAN), ein Weitverkehrsnetz (Wide Area Network, WAN) und/oder ein drahtloses Netzwerk von einem computerlesbaren Speichermedium auf entsprechende Datenverarbeitungs-/Verarbeitungseinheiten oder auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenleiter, eine drahtlose Übertragung, Router, Firewalls, Switches, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt computerlesbare Programmbefehle von dem Netzwerk und leitet die computerlesbaren Programmbefehle zur Speicherung auf einem computerlesbaren Speichermedium innerhalb der betreffenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei computerlesbaren Programmbefehlen zum Durchführen von Operationen der vorliegenden Erfindung kann es sich um Assembler-Befehle, ISA-Befehle (Instruction-Set-Architecture), Maschinenbefehle, maschinenabhängige Befehle, Mikrocode, Firmware-Befehle, einen Zustand festlegende Daten oder aber entweder um Quellcode oder um Objektcode handeln, der in einer beliebigen Kombination von einer oder mehreren Programmiersprachen wie z. B. einer objektorientierten Programmiersprache wie Smalltalk, C++ oder dergleichen, sowie in herkömmlichen prozeduralen Programmiersprachen wie z. B. der Programmiersprache „C” oder ähnlichen Programmiersprachen geschrieben ist. Die computerlesbaren Programmbefehle können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder aber vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. Im letztgenannten Szenario kann der entfernt angeordnete Computer über eine beliebige Art von Netzwerk, unter anderem ein LAN oder ein WAN, mit dem Computer des Benutzers verbunden sein, oder die Verbindung kann mit einem externen Computer (z. B. über das Internet unter Verwendung eines Internet-Dienstanbieters) hergestellt werden. Bei manchen Ausführungsformen kann ein elektronischer Schaltkreis wie z. B. ein programmierbarer Logikschaltkreis, Field-Programmable Gate Arrays (FPGAs) oder Programmable Logic Arrays (PLAs) die computerlesbaren Programmbefehle ausführen, indem er Zustandsdaten der computerlesbaren Programmbefehle verwendet, um die elektronische Schaltung zu personalisieren und Aspekte der vorliegenden Erfindung durchzuführen.
  • Im Folgenden werden Aspekte der vorliegenden Erfindung unter Bezugnahme auf Darstellungen von Ablaufplänen und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Dabei dürfte klar sein, dass jeder Block der Ablaufplan-Darstellungen und/oder Blockschaubilder sowie Kombinationen von Blöcken in den Ablaufplan-Darstellungen und/oder Blockschaubildern durch computerlesbare Programmbefehle realisiert werden kann/können.
  • Diese Computerprogrammbefehle können einem Prozessor eines Universalcomputers, Spezialcomputers oder einer anderweitigen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die Befehle, die über den Prozessor des Computers oder der anderweitigen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel erzeugen, mit dem die Funktionen/Handlungen realisiert werden können, die in dem Block bzw. den Blöcken des Ablaufplans und/oder Blockschaubilds angegeben werden. Diese Computerprogrammbefehle können auch auf einem computerlesbaren Medium gespeichert werden, das einen Computer, eine anderweitige programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten anweisen kann, auf eine bestimmte Art und Weise zu funktionieren, so dass die auf dem computerlesbaren Medium gespeicherten Befehle einen Herstellungsgegenstand hervorbringen, der Befehle aufweist, mit denen die Funktion/Handlung, die in dem Block bzw. den Blöcken des Ablaufplans und/oder Blockschaubilds angegeben ist, realisiert wird.
  • Die computerlesbaren Programmbefehle können zudem in einen Computer, eine anderweitige programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um zu veranlassen, dass eine Reihe von Betriebsschritten auf dem Computer, der anderweitigen programmierbaren Datenvorrichtung oder der anderen Einheit ausgeführt wird, so dass die Befehle, die auf dem Computer, der anderweitigen Datenverarbeitungsvorrichtung oder der anderen Einheit ausgeführt werden, die in dem Block bzw. den Blöcken des Ablaufplans und/oder des Blockschaubilds angegebenen Funktionen/Handlungen realisieren.
  • Der Ablaufplan und die Blockschaubilder in den Figuren stellen die Architektur, Funktionalität und den Betrieb möglicher Realisierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung bereit. Somit kann jeder Block der Ablaufpläne oder Blockschaubilder ein Modul, Segment oder einen Teil von Befehlen darstellen, das/der ein oder mehrere ausführbare Befehle aufweist, mit denen sich die eine oder mehreren angegebenen logischen Funktionen realisieren lassen. Bei manchen alternativen Ausführungsformen können die in dem Block erwähnten Funktionen in einer anderen Reihenfolge als der in den Figuren genannten auftreten. So können zwei aufeinanderfolgend dargestellte Blöcke tatsächlich im Wesentlichen gleichzeitig stattfinden, oder die Blöcke können mitunter in umgekehrter Reihenfolge ausgeführt werden, wobei dies abhängig von der betreffenden Funktionalität ist. Zu erwähnen ist ebenfalls, dass jeder Block der Blockschaubilder und/oder der Ablaufplan-Darstellungen sowie Kombinationen von Blöcken in den Blockschaubildern und/oder der Ablaufplan-Darstellungen durch Spezialsysteme auf Hardware-Grundlage, welche die angegebenen Funktionen oder Handlungen oder Kombinationen hiervon ausführen, oder durch Kombinationen von Spezial-Hardware- und Computerbefehlen realisiert bzw. durchgeführt werden kann/können.
  • Bezugnehmend auf die Figuren und im Besonderen auf die 1 und 2 werden Darstellungen von Datenverarbeitungsumgebungen bereitgestellt, in denen veranschaulichende Ausführungsformen realisiert sein können. Dabei sollte klar sein, dass die 1 und 2 lediglich als Beispiele gedacht sind und keinerlei Einschränkung mit Blick auf die Umgebungen geltend machen oder implizieren sollen, in denen verschiedene Ausführungsformen realisiert sein können. Vielmehr könnten an den abgebildeten Umgebungen zahlreiche Änderungen vorgenommen werden.
  • 1 zeigt eine bildhafte Darstellung eines Netzwerks von Datenverarbeitungssystemen, in dem veranschaulichende Ausführungsformen realisiert sein können. Ein Netzwerkdatenverarbeitungssystem 100 ist ein Netzwerk von Computern und anderen Einheiten, in dem die veranschaulichenden Ausführungsformen realisiert sein können. Das Netzwerkdatenverarbeitungssystem 100 enthält ein Netzwerk 102, bei dem es sich um das Medium handelt, mit dem Datenübertragungsverbindungen zwischen den Computern und den anderen Einheiten bereitgestellt werden, die innerhalb des Netzwerkdatenverarbeitungssystems 100 miteinander verbunden sind. Das Netzwerk 102 kann Verbindungen wie z. B. drahtgebundene Datenübertragungsverbindungen, drahtlose Datenübertragungsverbindungen und Lichtwellenleiterkabel beinhalten.
  • In dem abgebildeten Beispiel sind ein Server 104 und ein Server 106 zusammen mit einem Speicher 108 mit dem Netzwerk 102 verbunden. Der Server 104 und der Server 106 können z. B. Servercomputer mit Hochgeschwindigkeitsverbindungen zu dem Netzwerk 102 sein. Zusätzlich kann der Server 104 Client-Einheiten, die mit dem Netzwerk 102 verbunden sind, einen Satz von einem oder mehreren Diensten bereitstellen. So kann der Server 104 z. B. registrierten Client-Einheiten einen Dienst zur Erkennung von bösartigen Web-Infrastrukturen bereitstellen. Ein Dienst zur Erkennung von bösartigen Web-Infrastrukturen ist ein Prozess, der bösartige Server innerhalb von bösartigen Web-Infrastrukturen auf Grundlage einer Sichtbarkeit der Netzwerk-Server und der Topologie von Netzwerkverkehr-Umleitungsketten identifiziert, die durch die Netzwerk-Server gebildet werden. Die bösartigen Webserver versuchen, bösartige Inhalte wie z. B. Malware an Computer und andere Datenverarbeitungssystemeinheiten wie z. B. Smartphones zu übertragen, die mit der bösartigen Web-Infrastruktur verbunden sind.
  • Eine Client-Einheit 110, eine Client-Einheit 112 und eine Client-Einheit 114 sind ebenfalls mit dem Netzwerk 102 verbunden. Die Client-Einheiten 110, 112 und 114 sind als Clients bei dem Server 104 registriert. In dem abgebildeten Beispiel kann der Server 104 den Client-Einheiten 110, 112 und 114 Daten wie z. B. Boot-Dateien, Betriebssystemabbilder und Software-Anwendungen bereitstellen.
  • In diesem Beispiel sind die Client-Einheiten 110, 112 und 114 Computer wie z. B. Desktop Computer oder Netzwerkcomputer mit drahtgebundenen oder drahtlosen Datenübertragungsverbindungen zu dem Netzwerk 102. Dabei ist allerdings zu beachten, dass die Client-Einheiten 110, 112 und 114 lediglich als Beispiele gedacht sind. Anders ausgedrückt können die Client-Einheiten 110, 112 und 114 z. B. auch Laptop Computer, Tablet Computer, Handheld Computer, Smartphones und persönliche digitale Assistenten beinhalten.
  • Der Speicher 108 ist eine Netzwerkspeichereinheit, die in der Lage ist, Daten in einem strukturierten Format oder einem unstrukturierten Format zu speichern. Der Speicher 108 kann Speicher für eine Mehrzahl von verschiedenen Benutzernamen und zugehörigen Identifizierungsnummern von Client-Einheiten; Benutzerprofilen; und Benutzerkontodaten bereitstellen, die dem Dienst zur Erkennung von bösartigen Web-Infrastrukturen zugehörig sind. Der Speicher 108 kann außerdem Software-Anwendungen zur Erkennung von bösartigen Web-Infrastrukturen, Positivlisten für Server-Domänennamen, Suchmaschinen, Suchergebnisse für Server-Domänennamen, Listen der sichtbaren Server, Listen der unsichtbaren Server, bipartite Graphen der sichtbaren und unsichtbaren Server, maschinell lernende Klassifikatoren, Graphen der Server-Netzwerkverkehrsverbreitungsketten, Gruppierungsprogramme, Listen der bösartigen Server, Listen der kompromittierten Server und Ähnliches speichern. Des Weiteren kann die Speichereinheit 108 andere Daten wie z. B. Berechtigungsprüfungs- oder Identitätsnachweisdaten speichern, die Benutzernamen, Kennwörter und biometrische Daten beinhalten können, welche der Mehrzahl von Benutzern und Systemadministratoren zugehörig sind. Dabei sollte erwähnt werden, dass die Speichereinheit 108 beliebige Daten speichern kann, die durch den Dienst zur Erkennung von bösartigen Web-Infrastrukturen verwendet werden können.
  • Zusätzlich sollte erwähnt werden, dass das Netzwerkdatenverarbeitungssystem 100 eine beliebige Anzahl von zusätzlichen Server-Einheiten, Client-Einheiten und anderen nicht gezeigten Einheiten beinhalten kann. In dem Netzwerkdatenverarbeitungssystem 100 befindlicher Programmcode kann auf einem computerlesbaren Speichermedium gespeichert sein und zur Verwendung auf einen Computer oder eine andere Datenverarbeitungseinheit heruntergeladen sein. So kann Programmcode z. B. auf einem computerlesbaren Speichermedium auf dem Server 104 gespeichert sein und über das Netzwerk 102 auf die Client-Einheit 110 heruntergeladen werden, um auf der Client-Einheit 110 verwendet zu werden.
  • In dem abgebildeten Beispiel kann das Netzwerkdatenverarbeitungssystem 100 auch als eine Anzahl verschiedener Arten von Datenübertragungsnetzwerken realisiert sein, z. B. als ein Internet, Intranet, ein LAN und ein WAN. 1 ist als Beispiel und nicht als architektonische Beschränkung der verschiedenen veranschaulichenden Ausführungsformen gedacht.
  • Mit Blick auf 2 ist eine Darstellung eines Datenverarbeitungssystems gemäß einer veranschaulichenden Ausführungsform abgebildet. Ein Datenverarbeitungssystem 200 ist ein Beispiel für einen Computer, z. B. den Server 104 aus 1, in dem sich computerlesbarer Programmcode oder computerlesbare Befehle befinden können, die Prozesse von veranschaulichenden Ausführungsformen realisieren. In diesem veranschaulichenden Beispiel beinhaltet das Datenverarbeitungssystem 200 eine Datenübertragungsstruktur 202, welche die Datenübertragung zwischen einer Prozessoreinheit 204, einem Arbeitsspeicher 206, einem persistenten Speicher 208, einer Datenübertragungseinheit 210, einer Eingabe/Ausgabe-Einheit (E/A-Einheit) 212 und einer Anzeige 214 bereitstellt.
  • Die Prozessoreinheit 204 dient zum Ausführen von Befehlen für Software-Anwendungen und Programme, die in den Arbeitsspeicher 206 geladen werden können. Abhängig von der jeweiligen Realisierung kann es sich bei der Prozessoreinheit 204 um einen Satz aus einer oder mehreren Hardware-Prozessoreinheiten oder um einen Mehrprozessorkern handeln. Des Weiteren kann die Prozessoreinheit 204 unter Verwendung eines oder mehrerer heterogener Prozessorsysteme realisiert sein, bei denen auf einem einzigen Chip ein Hauptprozessor mit sekundären Prozessoren vorhanden ist. In einem weiteren veranschaulichenden Beispiel kann die Prozessoreinheit 204 ein symmetrisches Mehrprozessorsystem sein, das mehrere Prozessoren desselben Typs beinhaltet.
  • Der Arbeitsspeicher 206 und der persistente Speicher 208 sind Beispiele für Speichereinheiten 216. Eine computerlesbare Speichereinheit ist eine beliebige Hardware-Einheit, die in der Lage ist, Informationen wie zum Beispiel Daten, in funktionsspezifischer Form vorliegender computerlesbarer Programmcode und/oder andere geeignete Informationen vorübergehend und/oder dauerhaft zu speichern, ohne darauf beschränkt zu sein. Darüber hinaus schließt eine computerlesbare Speichereinheit ein Verteilungsmedium aus. Der Arbeitsspeicher 206 kann in diesen Beispielen ein Direktzugriffsspeicher oder eine beliebige anderweitige geeignete flüchtige oder nichtflüchtige Speichereinheit sein. Der persistente Speicher 208 kann je nach Realisierung verschiedene Formen annehmen. So kann der persistente Speicher 208 z. B. eine oder mehrere Einheiten beinhalten. Der persistente Speicher 208 kann beispielsweise eine Festplatte, ein Flash-Speicher, eine wiederbeschreibbare optische Platte, ein wiederbeschreibbares Magnetband oder eine beliebige Kombination der obigen Einheiten sein. Die von dem persistenten Speicher 208 verwendeten Medien können entfernbar sein. So kann z. B. eine entfernbare Festplatte als persistenter Speicher 208 verwendet werden.
  • In diesem Beispiel ist in dem persistenten Speicher 208 eine Anwendung 218 zur Erkennung von bösartigen Web-Infrastrukturen gespeichert. Die Anwendung 218 zur Erkennung von bösartigen Web-Infrastrukturen ist ein Software-Programm, das den Dienst zum Identifizieren von bösartigen Servern in einer oder mehreren bösartigen Web-Infrastrukturen, die sich innerhalb eines Netzwerks aus einer Mehrzahl von Servern befinden, auf Grundlage einer Sichtbarkeit eines jeden aus der Mehrzahl von Servern und der Topologie von Netzwerkverkehr-Umleitungsketten bereitstellt, die durch einen oder mehrere aus der Mehrzahl von Servern gebildet werden. Nachdem identifiziert wurde, welche Server innerhalb des Netzwerks bösartige Server sind, kann die Anwendung 218 zur Erkennung von bösartigen Web-Infrastrukturen automatisch aktiv werden und z. B. den Zugriff auf diese identifizierten bösartige Server blockieren und Netzwerksicherheitspersonal oder Systemadministratoren benachrichtigen, um zu ermitteln, ob weitere Maßnahmen erforderlich sind, z. B. zuständige Behörden über die kriminelle Cyber-Aktivität zu unterrichten.
  • Die Datenübertragungseinheit 210 stellt in diesem Beispiel eine Datenübertragung zwischen anderen Computern, Datenverarbeitungssystemen und Einheiten über ein Netzwerk wie beispielsweise das Netzwerk 102 aus 1 bereit. Die Datenübertragungseinheit 210 kann eine Datenübertragung sowohl über physische als auch über drahtlose Datenübertragungsverbindungen bereitstellen. Die physischen Datenübertragungsverbindungen können z. B. eine drahtgebundene, Kabel-, USB(Universal Serial Bus)- oder anderweitige physische Technologie nutzen, um für das Datenverarbeitungssystem 200 eine physische Datenübertragungsverbindung bereitzustellen. Die drahtlose Datenübertragungsverbindung kann z. B. Kurzwellen, Hochfrequenz, Ultrahochfrequenz, Mikrowellen, WiFi (Wireless Fidelity), Bluetooth-Technologie, GSM (Global System for Mobile Communications), CDMA (Code Division Multiple Access), 2G (zweite Generation), 3G (dritte Generation), 4G (vierte Generation), 4G LTE (Long Term Evolution), LTE Advanced oder eine beliebige andere drahtlose Datenübertragungstechnologie oder einen drahtlosen Datenübertragungsstandard verwenden, um für das Datenverarbeitungssystem 200 eine drahtlose Datenübertragungsverbindung bereitzustellen.
  • Die Eingabe/Ausgabe-Einheit 212 ermöglicht die Eingabe und Ausgabe von Daten in/aus anderen Einheiten, die mit dem Datenverarbeitungssystem 200 verbunden sein können. Die Eingabe/Ausgabe-Einheit 212 kann über ein Tastenfeld, eine Tastatur, eine Maus und/oder eine anderweitige geeignete Eingabeeinheit eine Verbindung für eine Benutzereingabe bereitstellen. Die Anzeige 214 stellt einen Mechanismus bereit, um einem Benutzer Informationen anzuzeigen, und kann Berührungsbildschirm-Funktionen beinhalten, um dem Benutzer z. B. zu ermöglichen, über Benutzerschnittstellen Auswahlaktionen auf dem Bildschirm vorzunehmen oder Daten einzugeben.
  • Befehle für das Betriebssystem, für Anwendungen und/oder für Programme können in den Speichereinheiten 216 gespeichert sein, die über die Datenübertragungsstruktur 202 mit der Prozessoreinheit 204 Daten austauschen. In diesem veranschaulichenden Beispiel liegen die Befehle in einer funktionsspezifischen Form in dem persistenten Speicher 208 vor. Diese Befehle können in den Arbeitsspeicher 206 geladen werden, um durch die Prozessoreinheit 204 ausgeführt zu werden. Die Prozesse der verschiedenen Ausführungsformen können durch die Prozessoreinheit 204 unter Verwendung computerrealisierter Befehle durchgeführt werden, die sich in einem Arbeitsspeicher wie z. B. dem Arbeitsspeicher 206 befinden. Diese Befehle werden als Programmcode, computernutzbarer Programmcode oder computerlesbarer Programmcode bezeichnet, der durch einen Prozessor in der Prozessoreinheit 204 gelesen und ausgeführt werden kann. In den verschiedenen Ausführungsformen kann der Programmcode auf verschiedenen physischen, computerlesbaren Speichereinheiten enthalten sein, wie beispielsweise dem Arbeitsspeicher 206 oder dem persistenten Speicher 208.
  • Ein Programmcode 220 befindet sich in einer funktionsspezifischen Form auf einem computerlesbaren Medium 222, das wahlweise entfernbar ist, und kann in das Datenverarbeitungssystem 200 geladen bzw. an dieses übertragen werden, um durch die Prozessoreinheit 204 ausgeführt zu werden. Der Programmcode 220 und das computerlesbare Medium 222 bilden ein Computerprogrammprodukt 224. In einem Beispiel kann das computerlesbare Medium 222 ein computerlesbares Speichermedium 226 oder ein computerlesbares Signalmedium 228 sein. Das computerlesbare Speichermedium 226 kann z. B. eine optische oder magnetische Platte beinhalten, die für eine Übertragung an eine Speichereinheit wie z. B. eine Festplatte, die Teil des persistenten Speichers 208 ist, in ein Laufwerk oder eine andere Einheit geschoben oder gelegt wird, das/die Teil des persistenten Speichers 208 ist. Das computerlesbare Speichermedium 226 kann außerdem in Form eines persistenten Speichers vorliegen, z. B. in Form einer Festplatte, eines USB-Sticks oder eines Flash-Speichers, die/der mit dem Datenverarbeitungssystem 200 verbunden ist. In manchen Fällen ist das computerlesbare Speichermedium 226 möglicherweise nicht aus dem Datenverarbeitungssystem 200 entfernbar.
  • Alternativ kann der Programmcode 220 unter Verwendung eines computerlesbaren Signalmediums 228 auf das Datenverarbeitungssystem 200 übertragen werden. Das computerlesbare Signalmedium 228 kann z. B. ein verbreitetes Datensignal mit darin enthaltenem Programmcode 220 sein. So kann das computerlesbare Signalmedium 228 z. B. ein elektromagnetisches Signal, ein optisches Signal und/oder eine anderweitige geeignete Art von Signal sein. Diese Signale können über Datenübertragungsverbindungen wie z. B. drahtlose Datenverarbeitungsverbindungen, ein Lichtwellenleiterkabel, ein Koaxialkabel, eine Leitung und/oder eine beliebige anderweitige geeignete Art von Datenübertragungsleitung übertragen werden. Anders ausgedrückt können die Datenübertragungsverbindung und/oder die Verbindung in den veranschaulichenden Beispielen physisch oder drahtlos sein. Das computerlesbare Medium kann auch in Form eines nicht gegenständlichen Mediums vorliegen, z. B. in Form von Datenübertragungsverbindungen oder drahtlosen Übertragungen, die den Programmcode beinhalten.
  • Bei manchen veranschaulichenden Ausführungsformen kann der Programmcode 220 über ein Netzwerk von einer anderen Einheit oder einem anderen Datenverarbeitungssystem durch das computerlesbare Signalmedium 228 in den persistenten Speicher 208 heruntergeladen werden, um innerhalb des Datenverarbeitungssystems 200 verwendet zu werden. So kann der auf einem computerlesbaren Speichermedium gespeicherte Programmcode z. B. über ein Netzwerk von dem Datenverarbeitungssystem in das Datenverarbeitungssystem 200 heruntergeladen werden. Das den Programmcode 220 bereitstellende Datenverarbeitungssystem kann ein Servercomputer, ein Clientcomputer oder eine anderweitige Einheit sein, die in der Lage ist, den Programmcode 220 zu speichern und zu übertragen.
  • Die verschiedenen für das Datenverarbeitungssystem 200 veranschaulichten Komponenten sind nicht als architektonische Beschränkung der Art und Weise zu verstehen, wie verschiedene Ausführungsformen realisiert sein können. Vielmehr können die verschiedenen veranschaulichenden Ausführungsformen in einem Datenverarbeitungssystem realisiert sein, das Komponenten zusätzlich zu den bzw. anstelle der für das Datenverarbeitungssystem 200 veranschaulichten Komponenten enthält. Andere in 2 gezeigte Komponenten können von den gezeigten veranschaulichenden Beispielen abweichen. Die verschiedenen Ausführungsformen können unter Verwendung einer beliebigen Art von Hardware-Einheit oder System realisiert sein, die/das in der Lage ist, Programmcode auszuführen. In einem Beispiel kann das Datenverarbeitungssystem 200 organische Komponenten beinhalten, die mit nicht organischen Komponenten integriert sind, und/oder es kann vollständig aus organischen Komponenten mit Ausnahme eines Menschen bestehen. So kann eine Speichereinheit z. B. aus einem organischen Halbleiter bestehen.
  • In einem weiteren Beispiel ist eine computerlesbare Speichereinheit in dem Datenverarbeitungssystem 200 eine beliebige Hardware-Vorrichtung, die Daten speichern kann. Der Arbeitsspeicher 206, der persistente Speicher 208 und das computerlesbare Speichermedium 226 sind Beispiele für physische Speichereinheiten, die in einer gegenständlichen Form vorliegen.
  • In einem weiteren Beispiel kann zum Realisieren der Datenübertragungsstruktur 202 ein Bussystem verwendet werden und einen oder mehrere Busse aufweisen, wie z. B. einen Systembus oder einen Eingabe/Ausgabe-Bus. Selbstverständlich lässt sich das Bussystem mit jeder geeigneten Art von Architektur realisieren, die eine Übertragung von Daten zwischen verschiedenen Komponenten oder Einheiten vorsieht, die mit dem Bussystem verbunden sind. Zusätzlich kann eine Datenübertragungseinheit eine oder mehrere Einheiten aufweisen, die zum Senden und Empfangen von Daten verwendet werden, z. B. einen Modem oder einen Netzwerkadapter. Des Weiteren kann ein Arbeitsspeicher z. B. der Arbeitsspeicher 206 oder ein Cachespeicher sein, wie er in einem Interface Controller Hub (ICH) und Memory Controller Hub (MCH) zu finden ist, der in der Datenübertragungsstruktur 202 vorhanden sein kann.
  • Wie sich beim Entwickeln veranschaulichender Ausführungsformen herausstellte, nutzen Cyber-Kriminelle bösartige Web-Infrastrukturen, um ihre kriminellen Aktivitäten über eine Umleitung von Server-Netzwerkverkehr zu bewerkstelligen und mit anderen Cyber-Kriminellen innerhalb ihrer bösartigen Web-Infrastrukturen Ressourcen zu teilen. Bösartige Web-Infrastrukturen haben sich zu einem der wichtigsten Instrumente entwickelt, mit dem Cyber-Kriminelle in globalem Maßstab ihre bösartigen Web-Inhalte übertragen, z. B. Phishing-Web-Seiten, Exploit-Kits, die an einen Computer eines Opfers bösartige Nutzdaten übertragen, um Daten zu stehlen und Computerschwachstellen auszunutzen, sowie andere Arten von Malware. Um nicht erkannt zu werden, nutzen diese Cyber-Kriminellen häufig kompromittierte gutartige Webserver als Sprungbrett, um Netzwerkverkehr von Besuchern dieser kompromittierten gutartigen Webserver unter Umständen über mehrere Hops an bösartige Server umzuleiten, auf denen sich die bösartigen Web-Inhalte befinden. Darüber hinaus nutzen diese Cyber-Kriminellen auch eine Vielfalt von anderen Verfahren, um ihre bösartigen Server vor Erkennung zu schützen, z. B. die Erzeugung von Domänennamen und Fast Fluxing. Fast Fluxing ist eine DNS-Methode (Domain Name System), bei der Phishing- und Malware übertragende Websites hinter einem sich ständig ändernden Netzwerk von kompromittierten Servern versteckt werden, die als Proxys agieren. Der Grundgedanke von Fast Fluxing besteht darin, dass zahlreiche IP-Adressen (Internet Protocol) einem einzigen registrierten Domänennamen zugehörig sind, wobei die IP-Adressen sehr häufig gewechselt werden, indem die DNS-Datensätze geändert werden. Aus diesem Grund ist es von entscheidender Bedeutung, die persistenten Merkmale und Eigenschaften dieser bösartigen Web-Infrastrukturen zu identifizieren, um sich gegen solche dynamischen Konstrukte zu verteidigen.
  • Vorhandene Lösungen untersuchen diese bösartigen Web-Infrastrukturen, indem sie analysieren, wie die bösartigen Kampagnen wie z. B. die betrügerische Manipulation (Scamming) von Hosting-Infrastrukturen und bösartige Werbenetzwerke auf den einzelnen Angriffskanälen funktionieren. So untersuchen vorhandene Lösungen z. B. die Topologie von bösartigen Web-Infrastrukturen. Diese vorhandenen Lösungen sind dadurch beschränkt, dass sie einen anfänglichen Satz von identifizierten bösartigen Servern benötigen, um die Verbreitung in einem Graphen der Server-Topologie zu starten und so weitere bösartige Server zu finden.
  • Beim Erkennen von bösartigen Webservern lassen sich vorhandene Lösungen in zwei Kategorien untergliedern: 1) in eine Erkennung auf Grundlage von statischen Merkmalen; und 2) in eine Erkennung auf Grundlage von dynamischen Merkmalen. Systeme auf Grundlage von statischen Merkmalen analysieren die Inhalte von Web-Seiten und extrahieren daraus Merkmale wie z. B. URL-Muster (Uniform Resource Locator), das Vorhandensein bestimmter gefährlicher Markierungen oder Funktionen oder das Vorhandensein bösartiger JavaScript-Codes, anhand derer bösartige Web-Seiten von gutartigen Web-Seiten unterschieden werden können. Systeme auf Grundlage von dynamischen Merkmalen besuchen dagegen Websites mit einem instrumentierten Browser und überwachen alle Laufzeit-Traces auf Anzeichen von bösartigen Web-Aktivitäten. Obwohl diese vorhandenen Lösungen bösartige Webserver erkennen können, entwickeln Cyber-Kriminelle eine Vielfalt von Mechanismen wie z. B. Verschlüsselung (Obfuscation), Verhüllung (Cloaking) und Ähnliches und verwenden diese zunehmend, um einer Erkennung zu entkommen. Um bösartige Web-Infrastrukturen zu erkennen, extrahieren vorhandene Lösungen beispielsweise Merkmale aus Server-Umleitungsverhalten wie die Länge von Netzwerkumleitungsketten, verschiedene Verweisfelder, Länderähnlichkeit usw. Allerdings können diese extrahierten Merkmale durch Cyber-Kriminelle leicht manipuliert werden. So können Verweisfelder durch Cyber-Kriminelle willkürlich gesetzt werden, und die Länge der Netzwerkverkehr-Umleitungskette kann geändert werden, indem in der Mitte der Kette mehr kompromittierte gutartige Server hinzugefügt werden. Dazu kommt, dass diese vorhandenen Lösungen von Client-Merkmalen abhängig sind, z. B. von der Vielfalt von Browsern, die durch Clients verwendet werden, und der Vielfalt von Ländern, in denen sich die Clients befinden. Diese vorhandenen Lösungen erfordern Daten, die von einer großen Zahl von Clients gesammelt werden, und sind daher weniger wirkungsvoll, wenn sie auf Unternehmensnetzwerke angewendet werden.
  • Im Gegensatz hierzu können veranschaulichende Ausführungsformen sowohl in Unternehmensnetzwerken als auch in Netzwerken von Internetdienstanbietern verwendet werden und können bösartige Web-Infrastrukturen auch dann erkennen, wenn nur einige wenige Clients auf die bösartigen Web-Infrastrukturen zugreifen. Veranschaulichende Ausführungsformen verwenden dauerhafte Merkmale und Eigenschaften bösartiger Web-Infrastrukturen aus einer neuen Perspektive, die eine automatische Erkennung von bösartigen Web-Infrastrukturen ermöglicht, ohne hierfür wie auch immer geartete bösartige Web-Start-Server zu benötigen. Veranschaulichende Ausführungsformen erkennen derartige inhärente Merkmale und Eigenschaften bösartiger Web-Infrastrukturen, indem sie sich die Sichtbarkeit von Servern innerhalb eines Netzwerks und die Topologie von Server-Netzwerkverkehr-Umleitungsketten zunutze machen. Zusätzlich nutzen veranschaulichende Ausführungsformen einen Algorithmus für Server-Netzwerkverkehrsverbreitungsketten, um weitere bösartige Webserver und kompromittierte gutartige Webserver zu identifizieren.
  • Veranschaulichende Ausführungsformen erkennen bösartige Web-Infrastrukturen auf Grundlage der Server-Sichtbarkeit für Suchmaschinen und der Topologie von Netzwerkverkehr-Umleitungsketten zwischen sichtbaren Servern und unsichtbaren Servern. Während gutartige Server in der Regel sichtbar sind und durch eine Suche anhand von Suchmaschinen gefunden werden können, sind die meisten bösartigen Server für Suchmaschinen unsichtbar, entweder, weil Cyber-Kriminelle absichtlich Suchmaschinen blockieren, um zu verhindern, dass sie durchsuchbar sind, oder weil Suchmaschinen bösartige Server womöglich absichtlich aus ihrem Index entfernen, um Endbenutzer zu schützen. Noch wichtiger ist, dass sich das Netzwerkverkehrsumleitungsverhalten zwischen sichtbaren Servern und unsichtbaren Servern erheblich vom Netzwerkverkehrsumleitungsverhalten zwischen bösartigen Servern unterscheidet. Veranschaulichende Ausführungsformen identifizieren mehrere ausgeprägte Merkmale der Übergänge zwischen sichtbaren Servern und unsichtbaren Servern innerhalb von Netzwerkverkehr-Umleitungsketten, um bösartige Server innerhalb von bösartigen Web-Infrastrukturen präzise zu erkennen und einen Graphen der Server-Netzwerkverkehrsverbreitungsketten zu erzeugen, um weitere kompromittierte gutartige Server und bösartige Server innerhalb der erkannten bösartigen Web-Infrastrukturen zu identifizieren.
  • Zusätzlich vermindern veranschaulichende Ausführungsformen die Menge an Netzwerkverkehr, die analysiert werden muss, um die bösartigen Server zu erkennen, da veranschaulichende Ausführungsformen lediglich eine Netzwerkverkehrsumleitung zwischen sichtbaren Servern und unsichtbaren Servern innerhalb des Netzwerks analysieren, anstelle den Netzwerkverkehr der gesamten Umleitungskette zu analysieren. Als Ergebnis sind veranschaulichende Ausführungsformen für große Unternehmensnetzwerke effizienter und besser geeignet als vorhandene Lösungen. Des Weiteren können veranschaulichende Ausführungsformen bösartige Web-Infrastrukturen auch dann erkennen, wenn nur einige wenige Clients auf die bösartigen Web-Infrastrukturen zugreifen, während für vorhandene Lösungen eine große und verschiedenartige Anzahl von Clients auf die bösartigen Web-Infrastrukturen zugreifen muss. Des Weiteren können veranschaulichende Ausführungsformen verborgene bösartige Webserver und kompromittierte gutartige Webserver vorausschauend identifizieren, bevor diese Server durch vorhandene Lösungen erkannt werden, die beispielsweise Negativlisten mit Webservern verwenden.
  • Eine veranschaulichende Ausführungsform kann drei Hauptkomponenten aufweisen: 1) eine Komponente zur Prüfung der Server-Sichtbarkeit; 2) eine Komponente zur Erkennung von bösartigen Infrastrukturen; und 3) eine Komponente zur Erkennung von Server-Verbreitungsketten in bösartigen Infrastrukturen. Die Komponente zur Prüfung der Server-Sichtbarkeit prüft automatisch Positivlisten mit Webservern, um zu ermitteln, ob ein Domänenname zweiter Ordnung eines der Web-Server in einem Netzwerk auf einer oder mehreren Positivlisten steht. Die Positivlisten können z. B. die „Alexa Top 1 Million”-Server-Liste und die EasyList-Server-Liste beinhalten, da diese Positivlisten die meisten bekannten und beliebten Web-Server-Domänennamen enthalten. Wenn ein Webserver auf einer Positivliste steht, identifiziert die Komponente für die Prüfung der Server-Sichtbarkeit den Webserver als einen sichtbaren Server. Wenn ein Webserver auf keiner der durchsuchten Positivlisten zu finden ist, fragt die Komponente zur Prüfung der Server-Sichtbarkeit einen Satz von Suchmaschinen wie z. B. Google, Bing, Yahoo! und Baidu auf Webserver-Domänennamen ab. Die Komponente zur Prüfung der Server-Sichtbarkeit kann z. B. die ersten 50 Domänennamen aus den Suchergebnissen auswählen. Wenn ein Webserver, der in einer Positivliste nicht gefunden wurde, in der Suchergebnisliste der Domänennamen gefunden wird, identifiziert die Komponente zur Prüfung der Server-Sichtbarkeit den Webserver als einen sichtbaren Server. Wenn ein Webserver, der in einer Positivliste nicht gefunden wurde, auch in der Suchergebnisliste der Domänennamen nicht gefunden wird, identifiziert die Komponente zur Prüfung der Server-Sichtbarkeit den Webserver als einen unsichtbaren Server.
  • Die Komponente zur Erkennung von bösartigen Infrastrukturen ermittelt alle Paare von Webservern, die an der Netzwerkverkehrsumleitung von sichtbaren Servern zu unsichtbaren Servern beteiligt sind, und erzeugt auf Grundlage der ermittelten Daten zur Netzwerkverkehrsumleitung einen bipartiten Graphen der sichtbaren Server und unsichtbaren Server. Auf Grundlage der Ergebnisse der Server-Sichtbarkeitsprüfung stuft die Komponente zur Erkennung von bösartigen Infrastrukturen zunächst alle identifizierten Server innerhalb des Netzwerks entweder als einen sichtbaren Server oder als einen unsichtbaren Server ein. Danach ermittelt die Komponente zur Erkennung von bösartigen Infrastrukturen die Server-Knoten und -Kanten innerhalb des bipartiten Graphen, die an Netzwerkverkehr-Umleitungsketten von sichtbaren Servern zu unsichtbaren Servern beteiligt sind. Für jede Kante in dem bipartiten Graphen, die an einer Netzwerkverkehr-Umleitungskette beteiligt ist, extrahiert die Komponente zur Erkennung von bösartigen Infrastrukturen auf einem Graphen beruhende Merkmale wie beispielsweise den Ausgangsgrad jedes unsichtbaren Servers, den Eingangsgrad jedes unsichtbaren Servers sowie das Verhältnis zwischen Ausgangsgrad und Eingangsgrad für jeden unsichtbaren Server, der an einer Netzwerkverkehr-Umleitungskette beteiligt ist. Ein Ausgangsgrad ist eine Anzahl von gerichteten Kanten, die von einem bestimmten Server-Knoten ausgehen. Ein Eingangsgrad ist eine Anzahl von gerichteten Kanten, die an einem bestimmten Server-Knoten eingehen.
  • Zusätzlich extrahiert die Komponente zur Erkennung von bösartigen Infrastrukturen für jede Kante in dem bipartiten Graphen, die an einer Netzwerkverkehr-Umleitungskette beteiligt ist, auch auf einem Abstand beruhende Merkmale wie beispielsweise einen Abstand zwischen IP-Adressnummern der einzelnen unsichtbaren Server, einen Unterschied bei den Registrierungsdaten der Domänennamen der einzelnen unsichtbaren Server und einen Abstand des physischen Standorts der einzelnen unsichtbaren Server. Danach gibt die Komponente zur Erkennung von bösartigen Infrastrukturen die extrahierten, auf einem Graphen beruhenden Merkmale und die extrahierten, auf einem Abstand beruhenden Merkmale in einen maschinell lernenden Klassifikator wie z. B. einen J48-Algorithmus zur Erzeugung eines Entscheidungsbaums ein, der mit bekannten bösartigen Web-Infrastrukturen trainiert wird, um bösartige Kanten zwischen sichtbaren Server-Knoten und unsichtbaren Server-Knoten zu erkennen. Die Komponente zur Erkennung von bösartigen Infrastrukturen verwendet die erkannten bösartigen Kanten zwischen sichtbaren Server-Knoten und unsichtbaren Server-Knoten, um bösartige Server innerhalb einer bösartigen Web-Infrastruktur zu identifizieren.
  • Die Komponente zur Erkennung von Server-Verbreitungsketten in bösartigen Infrastrukturen erzeugt einen Graphen der Server-Netzwerkverkehrsverbreitungsketten und verbreitet anschließend Bösartigkeitswerte von Servern in dem Graphen, um zusätzliche bösartige Server auf Grundlage ihrer Korrelationen mit identifizierten bösartigen Servern zu identifizieren, die durch die Komponente zur Erkennung von bösartigen Infrastrukturen als bösartige Server identifiziert wurden. Die Komponente zur Erkennung von Server-Verbreitungsketten in bösartigen Infrastrukturen erzeugt zunächst den Graphen der Server-Netzwerkverkehrsverbreitungsketten für die unsichtbaren Server, auf die über eine Umleitung auf Grundlage von Umleitungsbeziehungen wie z. B. einer HTTP-Umleitung, Javascript-Umleitung und Iframe-Umleitung zugegriffen wird. Für unsichtbare Server, auf die über einen direkten Besuch der Client-Einheit zugegriffen wird, führt die Komponente zur Erkennung von Server-Verbreitungsketten in bösartigen Infrastrukturen ein Gruppierungsprogramm aus, um unsichtbare Server, die bestimmte Merkmale wie z. B. gemeinsame oder ähnliche IP-Adressen, gemeinsame oder ähnliche Whois-Daten oder gemeinsame oder ähnliche IP-Adressen des zugreifenden Clients teilen, in Gruppen zusammenzufassen. Whois ist ein Anfrage- und Antwortprotokoll, das zur Abfrage von Datenbanken verwendet wird, in denen Daten gespeichert sind, die registrierten Benutzern oder Eigentümern von Internet-Ressourcen wie z. B. Domänennamen, IP-Adressblöcken und anderen, ähnlichen Ressourcen entsprechen. Danach erzeugt die Komponente zur Erkennung von Server-Verbreitungsketten in bösartigen Infrastrukturen Beziehungen zwischen den unsichtbaren Servern innerhalb einer Gruppe und ergänzt den Graphen der Netzwerkverkehrsverbreitungsketten, indem sie neue Kanten hinzufügt, die für die neuen Beziehungen stehen. Wenn z. B. zwei unsichtbare Server ähnliche IP-Adressen, Whois-Daten oder IP-Adressen des zugreifenden Clients haben, fügt die Komponente zur Erkennung von Server-Verbreitungsketten in bösartigen Infrastrukturen eine Kante zwischen diesen beiden unsichtbaren Servern hinzu.
  • Nach dem Erzeugen des Graphen der Netzwerkverkehrsverbreitungsketten weist die Komponente zur Erkennung von Server-Verbreitungsketten in bösartigen Infrastrukturen für jeden Server in dem Graphen der Netzwerkverkehrsverbreitungsketten einen Bösartigkeitswert (Smal) zu und erzeugt für jeden dieser Server einen Sichtbarkeitswert (Svis). Für jeden Server, der durch die Komponente zur Erkennung von bösartigen Infrastrukturen als ein bösartiger Server erkannt wurde, weist die Komponente für die Erkennung von Server-Verbreitungsketten in bösartigen Infrastrukturen einen Bösartigkeitswert von Eins zu (Smal = 1). Für alle anderen Server weist die Komponente zur Erkennung von Server-Verbreitungsketten in bösartigen Infrastrukturen einen Bösartigkeitswert von Null zu (Smal = 0). Die Komponente zur Erkennung von Server-Verbreitungsketten in bösartigen Infrastrukturen erzeugt den Sicherheitswert als die Anzahl von verbundenen sichtbaren Servern gegenüber der Anzahl von verbundenen unsichtbaren Servern anhand der folgenden Gleichung:
    Figure DE102016203565A1_0002
  • Danach annotiert die Komponente zur Erkennung von Server-Verbreitungsketten in bösartigen Infrastrukturen die entsprechenden Server-Knoten des Graphen der Netzwerkverkehrsverbreitungsketten sowohl mit den zugewiesenen Bösartigkeitswerten als auch mit den erzeugten Sichtbarkeitswerten. Im Anschluss daran verbreitet die Komponente zur Erkennung von Server-Verbreitungsketten in bösartigen Infrastrukturen schrittweise Bösartigkeitswerte und Sichtbarkeitswerte von Server-Knoten an benachbarte Server-Knoten und berechnet erneut die Bösartigkeitswerte und Sichtbarkeitswerte der benachbarten Server-Knoten. Nach mehreren Iterationen der Wertverbreitung an benachbarte Server-Knoten erreicht der Graph einen stabilen Zustand, bei dem sich die neuen Bösartigkeits- und Sichtbarkeitswerte von Server-Knoten sehr wenig oder überhaupt nicht mehr ändern. Für diejenigen unsichtbaren Server, deren neuer Bösartigkeitswert größer als ein vordefinierter Bösartigkeitsschwellenwert (α) ist und deren neuer Sichtbarkeitswert kleiner als ein vordefinierter Sichtbarkeitsschwellenwert (β) ist, identifiziert die Komponente zur Erkennung von Server-Verbreitungsketten in bösartigen Infrastrukturen diese unsichtbaren Server als bösartige Server. Für diejenigen sichtbaren Server, deren neuer Bösartigkeitswert größer als der vordefinierte Bösartigkeitsschwellenwert (α) ist und deren neuer Sichtbarkeitswert kleiner als der vordefinierte Sichtbarkeitsschwellenwert (β) ist, identifiziert die Komponente zur Erkennung von Server-Verbreitungsketten in bösartigen Infrastrukturen diese sichtbaren Server als kompromittierte Server.
  • Mit Blick auf 3 wird eine Darstellung eines Beispiels für Komponenten einer Anwendung zur Erkennung von bösartigen Web-Infrastrukturen gemäß einer veranschaulichenden Ausführungsform gezeigt. Eine Anwendung 300 zur Erkennung von bösartigen Web-Infrastrukturen kann z. B. die Anwendung 218 zur Erkennung von bösartigen Web-Infrastrukturen aus 2 sein. In diesem Beispiel enthält die Anwendung 300 zur Erkennung von bösartigen Web-Infrastrukturen eine Komponente 302 zur Prüfung der Server-Sichtbarkeit, eine Komponente 304 zur Erkennung von bösartigen Infrastrukturen und eine Komponente 306 zur Erkennung von Server-Verbreitungsketten in bösartigen Infrastrukturen. Allerdings sollte beachtet werden, dass die Anwendung 300 zur Erkennung von bösartigen Web-Infrastrukturen mehr oder weniger Komponenten als gezeigt enthalten kann. So können z. B. eine oder mehrere Komponenten zu einer einzigen Komponente kombiniert werden. Auch können eine oder mehrere Komponenten der Anwendung 300 zur Erkennung von bösartigen Web-Infrastrukturen in einem oder mehreren Computern oder Datenverarbeitungssystemen realisiert sein.
  • Die Komponente 302 zur Prüfung der Server-Sichtbarkeit ermittelt automatisch, ob jeder identifizierte Server innerhalb eines Netzwerks ein sichtbarer Server oder ein unsichtbarer Server ist. Ein sichtbarer Server ist ein Netzwerk-Server, auf den eine Client-Einheit direkt zugreift und der für die zugreifende Client-Einheit sichtbar ist. Ein unsichtbarer Server ist ein Netzwerk-Server, auf den eine Client-Einheit üblicherweise indirekt zugreift und der für die zugreifende Client-Einheit nicht sichtbar ist. Allerdings kann eine Client-Einheit mitunter direkt auf einen unsichtbaren Server zugreifen.
  • In diesem Beispiel beinhaltet die Komponente 302 zur Prüfung der Server-Sichtbarkeit eine Prüfeinheit 308 für Positivlisten mit Servern, einen Satz 310 von Suchmaschinen, eine Liste 312 der sichtbaren Server und eine Liste 314 der unsichtbaren Server. Zunächst verwendet die Komponente 302 zur Prüfung der Server-Sichtbarkeit eine Prüfeinheit 308 für Server-Positivlisten, um zu ermitteln, ob ein Server in einem Satz von Positivlisten 316 mit Server-Domänennamen aufgeführt ist. Der Satz von Positivlisten 316 mit Server-Domänennamen kann in der Komponente 302 zur Prüfung der Server-Sichtbarkeit gespeichert sein, oder er kann in einer oder mehreren entfernt angeordneten Server-Einheiten gespeichert sein. Der Satz von Positivlisten 316 mit Server-Domänennamen ist ein Satz von einer oder mehreren Positivlisten, die Auflistungen von Server-Domänennamen enthalten, die als harmlos oder sicher (d. h. als nicht bösartig) ermittelt werden. Wenn die Komponente 302 zur Prüfung der Server-Sichtbarkeit einen Server in dem Satz von Positivlisten 316 mit Server-Domänennamen findet, identifiziert die Komponente 302 zur Prüfung der Server-Sichtbarkeit diesen Server als einen sichtbaren Server und nimmt ihn in die Liste 312 der sichtbaren Server auf.
  • Wenn die Komponente 302 zur Prüfung der Server-Sichtbarkeit einen bestimmten Server nicht in dem Satz von Positivlisten 316 mit Server-Domänennamen findet, verwendet die Komponente 302 zur Prüfung der Server-Sichtbarkeit den Satz 310 von Suchmaschinen, um eine Web-Suche nach Domänennamen von Servern durchzuführen. Der Satz 310 von Suchmaschinen ist ein Satz von einer oder mehreren Web-Suchmaschinen, der den Satz von Suchergebnissen 318 für Server-Domänennamen erzeugt. Der Satz von Suchergebnissen 318 für Server-Domänennamen ist ein Satz von einem oder mehreren Web-Suchergebnissen, die Domänennamen von Servern enthalten, die als harmlos oder sicher ermittelt werden.
  • Wenn die Komponente 302 zur Prüfung der Server-Sichtbarkeit einen bestimmten Server nicht in dem Satz von Positivlisten 316 mit Server-Domänennamen findet, den bestimmten Server jedoch in dem Satz von Suchergebnissen 318 für Server-Domänennamen findet, identifiziert die Komponente 302 zur Prüfung der Server-Sichtbarkeit den bestimmten Server als einen sichtbaren Server und nimmt den bestimmten Server in die Liste 312 der sichtbaren Server auf. Wenn die Komponente 302 zur Prüfung der Server-Sichtbarkeit einen bestimmten Server nicht in dem Satz von Positivlisten 316 mit Server-Domänennamen findet und den bestimmten Server nicht in dem Satz von Suchergebnissen 318 für Server-Domänennamen findet, identifiziert die Komponente 302 zur Prüfung der Server-Sichtbarkeit den bestimmten Server als einen unsichtbaren Server und nimmt den bestimmten Server in die Liste 314 der unsichtbaren Server auf.
  • Die Komponente 304 zur Erkennung von bösartigen Infrastrukturen identifiziert bösartige Server innerhalb einer oder mehreren bösartigen Web-Infrastrukturen in einem Netzwerk. In diesem Beispiel beinhaltet die Komponente 304 zur Erkennung von bösartigen Infrastrukturen einen bipartiten Graphen 320 und einen maschinell lernenden Klassifikator 322. Die Komponente 304 zur Erkennung von bösartigen Infrastrukturen erzeugt den bipartiten Graphen 320 unter Verwendung der von der Komponente 302 zur Prüfung der Server-Sichtbarkeit erzeugten Liste 312 der sichtbaren Server und der Liste 314 der unsichtbaren Server. Ein bipartiter Graph ist ein Graph, dessen Knoten in zwei getrennte Sätze (d. h. einen Satz von sichtbaren Servern und einen Satz von unsichtbaren Servern) unterteilt werden können. Ein Beispiel für einen bipartiten Graphen ist in 4 veranschaulicht.
  • Nach dem Erzeugen des bipartiten Graphen 320 der sichtbaren Server-Knoten und der unsichtbaren Server-Knoten ermittelt die Komponente 304 zur Erkennung von bösartigen Infrastrukturen gerichtete Kanten von sichtbaren Servern zu unsichtbaren Servern innerhalb des bipartiten Graphen 320, die an Netzwerkverkehr-Umleitungsketten von sichtbaren Servern zu unsichtbaren Servern beteiligt sind. Für jede Kante, die an einer Netzwerkverkehr-Umleitungskette beteiligt ist, extrahiert die Komponente 304 zur Erkennung von bösartigen Infrastrukturen auf einem Graphen beruhende Merkmale wie beispielsweise einen Ausgangsgrad, einen Eingangsgrad und ein Verhältnis zwischen Ausgangsgrad und Eingangsgrad für jeden unsichtbaren Server, der an einer Netzwerkverkehr-Umleitungskette beteiligt ist. Zusätzlich extrahiert die Komponente 304 zur Erkennung von bösartigen Infrastrukturen für jede Kante, die an einer Netzwerkverkehr-Umleitungskette beteiligt ist, auch auf einem Abstand beruhende Merkmale wie beispielsweise einen Abstand zwischen den IP-Adressnummern, einen Unterschied bei den Registrierungsdaten der Domänennamen und einen Abstand des physischen Standorts eines jeden unsichtbaren Servers, der an einer Netzwerkverkehr-Umleitungskette beteiligt ist.
  • Nach dem Extrahieren der auf einem Graphen und einem Abstand beruhenden Merkmale der unsichtbaren Server, die an einer Netzwerkverkehr-Umleitungskette beteiligt sind, gibt die Komponente 304 zur Erkennung von bösartigen Infrastrukturen die extrahierten, auf einem Graphen und auf einem Abstand beruhenden Merkmale (d. h. eine Klassifikatoreingabe 324) in den maschinell lernenden Klassifikator 322 ein. Der maschinell lernende Klassifikator 322 kann z. B. ein Algorithmus zur Erzeugung eines Entscheidungsbaums sein, der mit bekannten bösartigen Web-Infrastrukturen trainiert wird. Der maschinell lernende Klassifikator 322 erkennt auf Grundlage der Klassifikatoreingabe 324 bösartige Kanten zwischen sichtbaren Server-Knoten und unsichtbaren Server-Knoten, die an einer Netzwerkverkehr-Umleitungskette beteiligt sind. Anhand der erkannten bösartigen Kanten zwischen sichtbaren Server-Knoten und unsichtbaren Server-Knoten, die an einer Netzwerkverkehr-Umleitungskette beteiligt sind, kann die Komponente 304 zur Erkennung von bösartigen Infrastrukturen bösartige Server identifizieren.
  • Die Komponente 306 zur Erkennung von Server-Verbreitungsketten in bösartigen Infrastrukturen identifiziert zusätzliche bösartige Server auf Grundlage ihrer Korrelationen mit Servern, die zuvor durch die Komponente 304 zur Erkennung von bösartigen Infrastrukturen als bösartig identifiziert wurden. Zunächst erzeugt die Komponente 306 zur Erkennung von Server-Verbreitungsketten in bösartigen Infrastrukturen anhand von Beziehungen unsichtbarer Server, auf die über eine Umleitung zugegriffen wird, einen Graphen 326 der Server-Netzwerkverkehrsverbreitungsketten. Für unsichtbare Server, auf die über einen direkten Besuch der Client-Einheit zugegriffen wird, führt die Komponente 306 zur Erkennung von Server-Verbreitungsketten in bösartigen Infrastrukturen einen Gruppierungsprozess 328 durch, um unsichtbare Server, die bestimmte oder gemeinsame Merkmale wie z. B. gemeinsame oder ähnliche IP-Adressen, Whois-Daten oder Client-IP-Adressen teilen, in Gruppen zusammenzufassen. Nach dem Ausführen des Gruppierungsprozesses 328 erzeugt die Komponente 306 zur Erkennung von Server-Verbreitungsketten in bösartigen Infrastrukturen Beziehungen zwischen den unsichtbaren Servern innerhalb einer Gruppe und ergänzt den Graphen 326 der Server-Netzwerkverkehrsverbreitungsketten, indem sie neue Kanten hinzufügt, die für die neuen Beziehungen stehen.
  • Des Weiteren weist die Komponente 306 zur Erkennung von Server-Verbreitungsketten in bösartigen Infrastrukturen für jeden Server, der an einer Netzwerkverkehr-Umleitungskette beteiligt ist, einen Bösartigkeitswert zu und erzeugt einen Sichtbarkeitswert. Für jeden Server, der durch die Komponente 304 zur Erkennung von bösartigen Infrastrukturen zuvor als bösartig identifiziert wurde, weist die Komponente 306 für die Erkennung von Server-Verbreitungsketten in bösartigen Infrastrukturen einen Bösartigkeitswert von Eins zu. Für alle anderen Server, die nicht zuvor als bösartig identifiziert wurden, weist die Komponente 306 zur Erkennung von Server-Verbreitungsketten in bösartigen Infrastrukturen einen Bösartigkeitswert von Null zu. Der Bösartigkeitswert eines jeden Servers kann in Bösartigkeitswerten 330 gespeichert werden. Die Komponente 306 zur Erkennung von Server-Verbreitungsketten in bösartigen Infrastrukturen erzeugt für jeden Server, der an einer Netzwerkverkehr-Umleitungskette beteiligt ist, den Sicherheitswert als die Anzahl von verbundenen sichtbaren Servern gegenüber der Anzahl von verbundenen unsichtbaren Servern. Der Sichtbarkeitswert eines jeden Servers kann in Sichtbarkeitswerten 332 gespeichert werden.
  • Danach fügt die Komponente 306 zur Erkennung von Server-Verbreitungsketten in bösartigen Infrastrukturen jedem entsprechenden Server-Knoten in dem Graphen 326 der Netzwerkverkehrsverbreitungsketten den zugewiesenen Bösartigkeitswert und den erzeugten Sichtbarkeitswert hinzu. Danach verbreitet die Komponente 306 zur Erkennung von Server-Verbreitungsketten in bösartigen Infrastrukturen Bösartigkeitswerte und Sichtbarkeitswerte von Server-Knoten an benachbarte Server-Knoten und berechnet danach erneut die entsprechenden Bösartigkeitswerte und Sichtbarkeitswerte der benachbarten Server-Knoten. Nach dem schrittweisen Verbreiten von Bösartigkeits- und Sichtbarkeitswerten an benachbarte Server-Knoten identifiziert die Komponente 306 zur Erkennung von Server-Verbreitungsketten in bösartigen Infrastrukturen unsichtbare Server mit einem neuen Bösartigkeitswert, der größer als ein Bösartigkeitsschwellenwert 334 ist, und einem neuen Sichtbarkeitswert, der kleiner als ein Sichtbarkeitsschwellenwert 336 ist, als bösartig und nimmt diese unsichtbaren Server in eine Liste 338 der bösartigen Server auf. Die Komponente 306 zur Erkennung von Server-Verbreitungsketten in bösartigen Infrastrukturen identifiziert sichtbare Server mit einem neuen Bösartigkeitswert, der größer als der Bösartigkeitsschwellenwert 334 ist, und einem neuen Sichtbarkeitswert, der kleiner als der Sichtbarkeitsschwellenwert 336 ist, als kompromittiert und nimmt diese sichtbaren Server in eine Liste 340 der kompromittierten Server auf.
  • Mit Blick auf 4 ist eine Darstellung eines bipartiten Graphen gemäß einer veranschaulichenden Ausführungsform abgebildet. Ein bipartiter Graph 400 kann z. B. der bipartite Graph 316 aus 3 sein. Der bipartite Graph 400 nimmt jeden Server aus einer Mehrzahl von Servern innerhalb eines Netzwerks in einen von zwei verschiedenen Server-Sätzen auf. Ein Server-Satz besteht aus sichtbaren Servern 402, und der andere Server-Satz besteht aus unsichtbaren Servern 404.
  • In diesem Beispiel sind ein sichtbarer Server 1 406 und ein sichtbarer Server 2 408 an Server-Netzwerkverkehr-Umleitungsketten beteiligt. So leitet der sichtbare Server 1 406 z. B. Netzwerkverkehr an einen unsichtbaren Server 3 410 um, der den Netzwerkverkehr an einen unsichtbaren Server 4 412 umleitet, welcher den Netzwerkverkehr wiederum an einen unsichtbaren Server 5 414 umleitet. Auf ähnliche Art und Weise leitet der sichtbare Server 2 408 Netzwerkverkehr an den unsichtbaren Server 3 410 um, der den Netzwerkverkehr an den unsichtbaren Server 4 412 umleitet, welcher den Netzwerkverkehr wiederum an den unsichtbaren Server 5 414 umleitet Zusätzlich leitet der sichtbare Server 2 408 anderen Netzwerkverkehr an einen unsichtbaren Server 6 416 um. Eine Komponente zur Erkennung von bösartigen Infrastrukturen wie z. B. die Komponente 304 zur Erkennung von bösartigen Infrastrukturen aus 3 analysiert die Beziehungen zwischen sichtbaren Servern und den unsichtbaren Servern, die an den Netzwerkverkehr-Umleitungsketten beteiligt sind, indem sie für jeden unsichtbaren Server, der an einer bestimmten Netzwerkverkehr-Umleitungskette beteiligt ist, auf einem Graphen beruhende Merkmale und auf einem Abstand beruhende Merkmale extrahiert. In diesem Beispiel sind auf einem Graphen beruhende Merkmale für die unsichtbaren Server 3 410 ein Ausgangsgrad von 1, ein Eingangsgrad von 2 und ein Verhältnis zwischen einem Ausgangsgrad und einem Eingangsgrad von 0,5.
  • Mit Blick auf 5 ist ein konkretes Beispiel einer Eingabe in einen maschinell lernenden Klassifikator gemäß einer veranschaulichenden Ausführungsform abgebildet. Eine Eingabe 500 in einen maschinell lernenden Klassifikator kann z. B. die Klassifikatoreingabe 320 aus 3 sein. Die Eingabe 500 in einen maschinell lernenden Klassifikator wird z. B. in einen maschinell lernenden Klassifikator wie den maschinell lernenden Klassifikator 322 aus 3 eingegeben. In diesem Beispiel beinhaltet die Eingabe 500 in einen maschinell lernenden Klassifikator ein Format 502 und ein Beispiel 504.
  • Das Format 502 steht für ein Beispielformat der Eingabe 500 in einen maschinell lernenden Klassifikator. In diesem Beispiel ist das Format eine Beziehung, ein Ausgangsgrad, ein Eingangsgrad, ein Verhältnis zwischen Ausgangsgrad und Eingangsgrad, ein IP-Abstand, ein Abstand der Registrierungsdaten und ein Abstand des physischen Standorts. Dabei sollte allerdings klar sein, dass veranschaulichende Ausführungsformen auch andere Formate verwenden können.
  • Unter Verwendung des Formats 502 und eines Beispiels aus 4 beinhaltet das Beispiel 504 eine Beziehung „sichtbarer_Server_1 → unsichtbarer_Server_3”, einen Ausgangsgrad von 1, einen Eingangsgrad von 2, ein Verhältnis zwischen Ausgangsgrad und Eingangsgrad von 0,5, einen IP-Abstand von „falsch”, einen Abstand der Registrierungsdaten von „falsch” und einen Abstand des physischen Standorts von „falsch”. In diesem Beispiel hat „falsch” die Bedeutung „nicht zusammenhängend”, während „wahr” „zusammenhängend” bedeutet. So ist der IP-Adressabstand zwischen dem sichtbaren Server 1 und dem unsichtbaren Server 3 zu groß, um als zusammenhängend betrachtet werden zu können.
  • Mit Blick auf 6 ist eine Darstellung eines Prozesses zur Erzeugung eines Verbreitungsgraphen gemäß einer veranschaulichenden Ausführungsform abgebildet. Ein Prozess 600 zur Erzeugung eines Verbreitungsgraphen ist ein Prozess zum Erzeugen eines Graphen der Server-Netzwerkverkehrsverbreitungsketten wie z. B. des Graphen 322 der Server-Netzwerkverkehrsverbreitungsketten aus 3. In diesem Beispiel beinhaltet der Prozess 600 zur Erzeugung eines Verbreitungsgraphen ein Erzeugen eines Graphen 602 der aus einem Netzwerk-Trace erhaltenen Server, ein Erzeugen eines Graphen 604 des Server-Netzwerkverkehrs auf Grundlage einer Umleitung und schließlich ein Erzeugen eines Graphen 606 der Server-Netzwerkverkehrsverbreitungsketten.
  • Der Graph 602 der aus einem Netzwerk-Trace erhaltenen Server ist ein bipartiter Graph der sichtbaren und unsichtbaren Servern wie z. B. der bipartite Graph 400 aus 4, der durch eine Komponente zur Prüfung der Server-Sichtbarkeit wie z. B. die Komponente 302 zur Prüfung der Server-Sichtbarkeit aus 3 erzeugt wird. Der Graph 604 des Server-Netzwerkverkehrs auf Grundlage einer Umleitung ist ein Graph, der Kanten zwischen Servern auf Grundlage eines Zugriffs 608 über eine Server-Umleitung zeigt. Der Graph 606 der Server-Netzwerkverkehrsverbreitungsketten ist ein Graph, der Kanten auf Grundlage eines Zugriffs 610 über einen direkten Client-Besuch zeigt.
  • Mit Blick auf 7 wird ein Ablaufplan gezeigt, der gemäß einer veranschaulichenden Ausführungsform einen Prozess veranschaulicht, mit dem sich Server innerhalb eines Netzwerks entweder als ein sichtbarer Server oder als ein unsichtbarer Server identifizieren lassen. Der in 7 gezeigte Prozess kann in einem Computer wie z. B. dem Datenverarbeitungssystem 200 aus 2 realisiert sein.
  • Der Prozess beginnt, wenn der Computer automatisch einen Satz von Positivlisten mit Server-Domänennamen durchsucht, um zu ermitteln, ob ein Server aus einer Mehrzahl von identifizierten Servern innerhalb eines Netzwerks in dem Satz von Positivlisten mit Server-Domänennamen aufgeführt ist (Schritt 702). Der Computer kann eine Komponente zur Prüfung von Server-Positivlisten wie z. B. die Prüfeinheit für Server-Positivlisten 308 aus 3 verwenden, um den Satz von Positivlisten mit Server-Domänennamen wie z. B. den Satz 318 von Positivlisten mit Server-Domänennamen aus 3 zu durchsuchen. Zusätzlich fragt der Computer einen Satz von Suchmaschinen ab, um zu ermitteln, ob der Server aus der Mehrzahl von identifizierten Servern innerhalb des Netzwerks in einem Suchergebnis für Server-Domänennamen aufgeführt ist (Schritt 704). Der Satz von Suchmaschinen kann z. B. der Satz 310 von Suchmaschinen aus 3 sein. Das Suchergebnis für Server Domänennamen kann z. B. das Suchergebnis 318 für Server-Domänennamen aus 3 sein.
  • Danach ermittelt der Computer, ob der Server aus der Mehrzahl von identifizierten Servern innerhalb des Netzwerks in dem Satz von Positivlisten mit Server-Domänennamen aufgeführt ist (Schritt 706). Wenn der Computer ermittelt, dass der Server aus der Mehrzahl von identifizierten Servern innerhalb des Netzwerks nicht in dem Satz von Positivlisten mit Server-Domänennamen aufgeführt ist, d. h. die Ausgabe in Schritt 706 lautet „Nein”, ermittelt der Computer, ob der Server aus der Mehrzahl von identifizierten Servern innerhalb des Netzwerks in dem Suchergebnis für Server-Domänennamen aufgeführt ist (Schritt 708). Wenn der Computer ermittelt, dass der Server aus der Mehrzahl von identifizierten Servern innerhalb des Netzwerks nicht in dem Suchergebnis für Server-Domänennamen aufgeführt ist, d. h. die Ausgabe in Schritt 708 lautet „Nein”, identifiziert der Computer den Server aus der Mehrzahl von identifizierten Servern, der nicht in dem Satz von Positivlisten mit Server-Domänennamen und nicht in dem Suchergebnis für Server-Domänennamen aufgeführt ist, als einen unsichtbaren Server (Schritt 710). Der Computer nimmt den Server, der nicht in dem Satz von Positivlisten mit Server-Domänennamen und nicht in dem Suchergebnis für Server-Domänennamen aufgeführt ist, in eine Liste der unsichtbaren Server wie z. B. die Liste 314 der unsichtbaren Server aus 3 auf (Schritt 712). Danach endet der Prozess.
  • Wenn der Computer mit erneutem Blick auf Schritt 706 ermittelt, dass der Server aus der Mehrzahl von identifizierten Servern innerhalb des Netzwerks in dem Suchergebnis für Server-Domänennamen aufgeführt ist, d. h. die Ausgabe in Schritt 706 lautet „Ja”, identifiziert der Computer den Server aus der Mehrzahl von identifizierten Servern, der mindestens in dem Satz von Positivlisten mit Server Domänennamen oder in dem Suchergebnis für Server-Domänennamen aufgeführt ist, als einen sichtbaren Server (Schritt 714). Daraufhin nimmt der Computer den Server, der mindestens in dem Satz von Positivlisten mit Server-Domänennamen oder in dem Suchergebnis für Server-Domänennamen aufgeführt ist, in eine Liste der sichtbaren Server wie z. B. die Liste 312 der sichtbaren Server aus 3 auf (Schritt 716). Danach endet der Prozess.
  • Wenn der Computer mit erneutem Blick auf Schritt 708 ermittelt, dass der Server aus der Mehrzahl von identifizierten Servern innerhalb des Netzwerks in dem Suchergebnis für Server-Domänennamen aufgeführt ist, d. h. die Ausgabe in Schritt 706 lautet „Ja”, fährt der Prozess mit Schritt 714 fort, in dem der Computer den Server als einen sichtbaren Server identifiziert und den Server in Schritt 716 in die Liste der sichtbaren Server aufnimmt, woraufhin der Prozess endet.
  • Mit Blick auf die 8A und 8B wird ein Ablaufplan gezeigt, der gemäß einer veranschaulichenden Ausführungsform einen Prozess zum identifizieren von bösartigen Servern innerhalb eines Netzwerks veranschaulicht. Der in den 8A und 8B gezeigte Prozess kann in einem Computer wie z. B. dem Datenverarbeitungssystem 200 aus 2 realisiert sein.
  • Der Prozess beginnt, wenn der Computer einen bipartiten Graphen der sichtbaren und unsichtbaren Server aus einer Mehrzahl von identifizierten Servern innerhalb eines Netzwerks erzeugt (Schritt 802). Der bipartite Graph kann z. B. der bipartite Graph 400 aus 4 sein. Auf Grundlage dessen, dass jeder Server in einer Liste der sichtbaren Server oder einer Liste der unsichtbaren Server gefunden wird, nimmt der Computer jeden Server aus der Mehrzahl von identifizierten Servern innerhalb des Netzwerks in den bipartiten Graphen der sichtbaren Server und unsichtbaren Server auf (Schritt 804). Der Computer analysiert außerdem Netzwerkverkehr-Umleitungsketten von sichtbaren Servern zu unsichtbaren Servern innerhalb des Netzwerks in dem bipartiten Graphen (Schritt 806).
  • Auf Grundlage der Analyse identifiziert der Computer danach einen Satz von Server-Knoten, der den sichtbaren Servern und unsichtbaren Servern in dem bipartiten Graphen entspricht, die an den Netzwerkverkehr-Umleitungsketten von den sichtbaren zu den unsichtbaren Servern beteiligt sind (Schritt 808). Danach ermittelt der Computer für jede Kante zwischen den Server-Knoten, die den sichtbaren Servern und unsichtbaren Servern in dem bipartiten Graphen entsprechen, welche an den Netzwerkverkehr-Umleitungsketten beteiligt sind, auf einem Graphen beruhende Merkmale innerhalb des bipartiten Graphen, die jedem der unsichtbaren Server-Knoten entsprechen, welche an den Netzwerkverkehr-Umleitungsketten beteiligt sind, sowie auf einem Abstand beruhende Merkmale, die jedem der unsichtbaren Server-Knoten entsprechen, welche an den Netzwerkverkehr-Umleitungsketten beteiligt sind (Schritt 810).
  • Daraufhin gibt der Computer die ermittelten, auf einem Graphen beruhenden Merkmale innerhalb des bipartiten Graphen, die jedem der unsichtbaren Server-Knoten entsprechen, welche an den Netzwerkverkehr-Umleitungsketten beteiligt sind, und die ermittelten, auf einem Abstand beruhenden Merkmale, die jedem der unsichtbaren Server-Knoten entsprechen, welche an den Netzwerkverkehr-Umleitungsketten beteiligt sind, in einen maschinell lernenden Klassifikator ein (Schritt 812). Der maschinell lernende Klassifikator kann z. B. der maschinell lernende Klassifikator 322 aus 3 sein. Unter Verwendung des maschinell lernenden Klassifikators ermittelt der Computer auf Grundlage der ermittelten, auf einem Graphen beruhenden Merkmale innerhalb des bipartiten Graphen, die jedem der unsichtbaren Server-Knoten entsprechen, welche an den Netzwerkverkehr-Umleitungsketten beteiligt sind, und der ermittelten, auf einem Abstand beruhenden Merkmale, die jedem der unsichtbaren Server-Knoten entsprechen, welche an den Netzwerkverkehr-Umleitungsketten beteiligt sind, die in den maschinell lernenden Klassifikator eingegeben worden sind, bösartige Kanten zwischen Server-Knoten, die den sichtbaren Servern und unsichtbaren Servern entsprechen, welche an den Netzwerkverkehr-Umleitungsketten beteiligt sind (Schritt 814).
  • Danach identifiziert der Computer auf Grundlage der ermittelten bösartigen Kanten zwischen den Server-Knoten, die den sichtbaren Servern und unsichtbaren Servern entsprechen, welche an den Netzwerkverkehr-Umleitungsketten beteiligt sind, bösartige Server-Knoten in dem bipartiten Graphen, die unsichtbaren Servern entsprechen, welche an den Netzwerkverkehr-Umleitungsketten beteiligt sind (Schritt 816). Des Weiteren blockiert der Computer den Zugriff auf bösartige Server, die den ermittelten bösartigen Server-Knoten in dem bipartiten Graphen entsprechen (Schritt 818). Der Computer sendet zudem eine Warnmeldung, die sich auf das Blockieren des Zugriffs auf die bösartigen Server bezieht, an die Netzwerksicherheit, um mögliche weitere Maßnahmen einzuleiten (Schritt 820). Danach endet der Prozess.
  • Mit Blick auf 9 wird ein Ablaufplan gezeigt, der gemäß einer veranschaulichenden Ausführungsform einen Prozess zum Verbreiten von Bösartigkeits- und Visibilitätswerten an benachbarte unsichtbare Server veranschaulicht, um auf Grundlage ihrer Korrelation mit den identifizierten bösartigen Servern zusätzliche bösartige Server zu identifizieren. Der in 9 gezeigte Prozess kann in einem Computer wie z. B. dem Datenverarbeitungssystem 200 aus 2 realisiert sein.
  • Der Prozess beginnt, wenn der Computer auf Grundlage aller Netzwerkverkehrsumleitungsbeziehungen zwischen unsichtbaren Servern einen Verbreitungsgraphen erzeugt, der jeden unsichtbaren Server beinhaltet, auf den über eine Netzwerkverkehrsumleitung zugegriffen wird (Schritt 902). Zusätzlich fasst der Computer die unsichtbaren Server, auf die über einen direkten Client-Besuch zugegriffen wird, auf Grundlage gemeinsamer Merkmale dieser unsichtbaren Server, auf die über einen direkten Client-Besuch zugegriffen wird, in Gruppen zusammen (Schritt 904). Des Weiteren erzeugt der Computer eine Beziehung zwischen den unsichtbaren Servern, auf die über einen direkten Client-Besuch zugegriffen wird und die sich innerhalb derselben Gruppe befinden (Schritt 906).
  • Danach fügt der Computer eine Kante zwischen den Servern mit der erzeugten Beziehung innerhalb derselben Gruppe hinzu (Schritt 908). Der Computer weist außerdem den unsichtbaren Servern, die zuvor durch den maschinell lernenden Klassifikator wie z. B. den maschinell lernenden Klassifikator 322 aus 3 als ein bösartiger Server identifiziert wurden, einen Bösartigkeitswert zu (Schritt 910). Des Weiteren erzeugt der Computer für die unsichtbaren Server, die zuvor durch den maschinell lernenden Klassifikator als ein bösartiger Server identifiziert wurden, einen Sichtbarkeitswert (Schritt 912).
  • Daraufhin fügt der Computer den entsprechenden Server-Knoten innerhalb des Verbreitungsgraphen den zugewiesenen Bösartigkeitswert und den erzeugten Sichtbarkeitswert hinzu (Schritt 914). Zusätzlich verbreitet der Computer den zugewiesenen Bösartigkeitswert und den erzeugten Sichtbarkeitswert eines entsprechenden Server-Knoten an benachbarte Server-Knoten innerhalb des Verbreitungsgraphen (Schritt 916). Danach erzeugt der Computer auf Grundlage des Verbreitens der Bösartigkeits- und Sichtbarkeitswerte für jeden der benachbarten Server-Knoten innerhalb des Verbreitungsgraphen einen neuen Bösartigkeitswert und einen neuen Sichtbarkeitswert (Schritt 918). Im Anschluss daran identifiziert der Computer jeden Server, der einem Server-Knoten innerhalb des Verbreitungsgraphen entspricht, bei dem der erzeugte Bösartigkeitswert größer als ein vordefinierter Bösartigkeitsschwellenwert ist und bei dem der erzeugte neue Sichtbarkeitswert kleiner als ein vordefinierter Sichtbarkeitsschwellenwert ist, als einen bösartigen Server (Schritt 920). Danach endet der Prozess.
  • Somit stellen die veranschaulichenden Ausführungsformen ein computerrealisiertes Verfahren, Computersystem und Computerprogrammprodukt zum Identifizieren von bösartigen Servern innerhalb von bösartigen Web-Infrastrukturen auf Grundlage einer Sichtbarkeit von Netzwerk-Servern und einer Topologie von Netzwerkverkehr-Umleitungsketten von Netzwerk-Servern bereit. Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung wurden zum Zwecke der Veranschaulichung vorgelegt und sind nicht als vollständig oder auf die offenbarten Ausführungsformen beschränkt zu verstehen. Der Fachmann weiß, dass zahlreiche Änderungen und Abwandlungen möglich sind, ohne von Umfang und Geist der beschriebenen Ausführungsform abzuweichen. Die hier verwendete Begrifflichkeit wurde gewählt, um die Grundsätze der Ausführungsform, die praktische Anwendung oder technische Verbesserung gegenüber marktgängigen Technologien bestmöglich zu erläutern bzw. anderen Fachleuten das Verständnis der hier offenbarten Ausführungsformen zu ermöglichen.
  • Der Ablaufplan und die Blockschaubilder in den Figuren veranschaulichen die Architektur, Funktionalität und den Betrieb möglicher Realisierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. Somit kann jeder Block der Ablaufpläne oder Blockschaubilder ein Modul, Segment oder einen Code-Teil darstellen, der ein oder mehrere ausführbare Befehle aufweist, mit denen sich die eine oder mehreren angegebenen logischen Funktionen realisieren lassen. Zu beachten ist ferner, dass bei manchen alternativen Ausführungsformen die in dem Block erwähnten Funktionen in einer anderen Reihenfolge als der in den Figuren genannten auftreten können. So können zwei aufeinanderfolgend dargestellte Blöcke tatsächlich im Wesentlichen gleichzeitig stattfinden, oder die Blöcke können mitunter in umgekehrter Reihenfolge ausgeführt werden, wobei dies abhängig von der betreffenden Funktionalität ist. Zu erwähnen ist ebenfalls, dass jeder Block der Blockschaubilder und/oder der Ablaufplan-Darstellungen sowie Kombinationen von Blöcken in den Blockschaubildern und/oder der Ablaufplan-Darstellungen durch Spezialsysteme auf der Grundlage von Hardware, welche die angegebenen Funktionen oder Handlungen oder Kombinationen hiervon ausführen, oder durch Kombinationen von Spezial-Hardware- und Computerbefehlen realisiert werden kann/können.

Claims (12)

  1. Computerrealisiertes Verfahren zum identifizieren von bösartigen Servern, wobei das computerrealisierte Verfahren aufweist: Ermitteln von bösartigen Kanten zwischen Server-Knoten, die sichtbaren Servern und unsichtbaren Servern entsprechen, welche an Netzwerkverkehr-Umleitungsketten beteiligt sind, durch einen Computer auf Grundlage von ermittelten auf einem Graphen beruhenden Merkmalen innerhalb eines bipartiten Graphen, die sichtbaren und unsichtbaren Server-Knoten entsprechen, welche an den Netzwerkverkehr-Umleitungsketten beteiligt sind, und ermittelten, auf einem Abstand beruhenden Merkmalen, die den unsichtbaren Server-Knoten entsprechen, welche an den Netzwerkverkehr-Umleitungsketten beteiligt sind; Identifizieren von bösartigen Server-Knoten in dem bipartiten Graphen durch den Computer auf Grundlage der ermittelten bösartigen Kanten zwischen den Server-Knoten, die den sichtbaren Servern und unsichtbaren Servern entsprechen, welche an Netzwerkverkehr-Umleitungsketten beteiligt sind; und Blockieren des Zugriffs durch Client-Einheiten auf bösartige Server durch den Computer, die den ermittelten bösartigen Server-Knoten in dem bipartiten Graphen entsprechen.
  2. Computerrealisiertes Verfahren nach Anspruch 1, des Weiteren aufweisend: Aufnehmen jedes Servers aus einer Mehrzahl von identifizierten Servern innerhalb eines Netzwerks in den bipartiten Graphen durch den Computer auf Grundlage dessen, dass jeder Server in einer Liste der sichtbaren Server oder einer Liste der unsichtbaren Server gefunden wird.
  3. Computerrealisiertes Verfahren nach Anspruch 2, wobei das Aufnehmen jedes Servers aus der Mehrzahl von identifizierten Servern innerhalb des Netzwerks in den bipartiten Graphen durch den Computer des Weiteren aufweist: Durchsuchen eines Satzes von Positivlisten mit Server-Domänennamen durch den Computer, um zu ermitteln, ob ein Server aus der Mehrzahl von identifizierten Servern innerhalb des Netzwerks in einem Satz von Positivlisten mit Server-Domänennamen aufgeführt ist; Abfragen eines Satzes von Suchmaschinen durch den Computer, um zu ermitteln, ob der Server aus der Mehrzahl von identifizierten Servern innerhalb des Netzwerks in einem Suchergebnis für Server-Domänennamen aufgeführt ist; als Reaktion darauf, dass der Computer ermittelt, dass der Server aus der Mehrzahl von identifizierten Servern innerhalb des Netzwerks nicht in dem Satz von Positivlisten mit Server-Domänennamen und nicht in dem Suchergebnis für Server-Domänennamen aufgeführt ist, Identifizieren des Servers durch den Computer als ein unsichtbarer Server und Aufnehmen des Servers durch den Computer in die Liste der unsichtbaren Server; und als Reaktion darauf, dass der Computer ermittelt, dass der Server aus der Mehrzahl von identifizierten Servern innerhalb des Netzwerks mindestens in dem Satz von Positivlisten mit Server-Domänennamen oder dem Suchergebnis für Server-Domänennamen aufgeführt ist, Identifizieren des Servers aus der Mehrzahl von identifizierten Servern durch den Computer als ein sichtbarer Server und Aufnehmen des Servers durch den Computer in die Liste der sichtbaren Server.
  4. Computerrealisiertes Verfahren nach Anspruch 1, des Weiteren aufweisend: Eingeben der ermittelten auf einem Graphen beruhenden Merkmale innerhalb des bipartiten Graphen, die den unsichtbaren Server-Knoten entsprechen, welche an den Netzwerkverkehr-Umleitungsketten beteiligt sind, und der ermittelten, auf einem Abstand beruhenden Merkmale, die den unsichtbaren Server-Knoten entsprechen, welche an den Netzwerkverkehr-Umleitungsketten beteiligt sind, in einen maschinell lernenden Klassifikator durch den Computer.
  5. Computerrealisiertes Verfahren nach Anspruch 4, wobei es sich bei den ermittelten, auf einem Graphen beruhenden Merkmale um einen Ausgangsgrad, einen Eingangsgrad und ein Verhältnis zwischen einem Ausgangsgrad und einem Eingangsgrad für jeden unsichtbaren Server handelt, der an einer Netzwerkverkehr-Umleitungskette beteiligt ist.
  6. Computerrealisiertes Verfahren nach Anspruch 4, wobei es sich bei den ermittelten, auf einem Abstand beruhenden Merkmalen um einen Abstand zwischen IP-Adressnummern der einzelnen unsichtbaren Server, einen Unterschied bei den Registrierungsdaten der Domänennamen der einzelnen unsichtbaren Server und einen Abstand des physischen Standorts der einzelnen unsichtbaren Servern handelt.
  7. Computerrealisiertes Verfahren nach Anspruch 1, des Weiteren aufweisend: Zuweisen eines Bösartigkeitswerts zu den als bösartig identifizierten unsichtbaren Servern durch den Computer.
  8. Computerrealisiertes Verfahren nach Anspruch 7, des Weiteren aufweisend: Erzeugen eines Sichtbarkeitswerts für die als bösartig identifizierten unsichtbaren Servern durch den Computer.
  9. Computerrealisiertes Verfahren nach Anspruch 8, des Weiteren aufweisend: Hinzufügen des zugewiesenen Bösartigkeitswerts und des erzeugten Sichtbarkeitswerts zu entsprechenden Server-Knoten innerhalb eines Graphen der Server-Netzwerkverkehrsverbreitungsketten durch den Computer; und Verbreiten des zugewiesenen Bösartigkeitswerts und des erzeugten Sichtbarkeitswerts eines entsprechenden Server-Knotens an benachbarte unsichtbare Server-Knoten innerhalb des Graphen der Server-Netzwerkverkehrsverbreitungsketten durch den Computer.
  10. Computerrealisiertes Verfahren nach Anspruch 9, des Weiteren aufweisend: Erzeugen eines neuen Bösartigkeitswerts und eines neuen Sichtbarkeitswerts für jeden der benachbarten Server-Knoten innerhalb des Graphen der Server-Netzwerkverkehrsverbreitungsketten durch den Computer auf Grundlage des Verbreitens der Bösartigkeits- und Sichtbarkeitswerte; und identifizieren jedes Servers, der einem Server-Knoten innerhalb des Verbreitungsgraphen entspricht, bei dem der erzeugte Bösartigkeitswert größer als ein vordefinierter Bösartigkeitsschwellenwert ist und bei dem der erzeugte neue Sichtbarkeitswert kleiner als ein vordefinierter Sichtbarkeitsschwellenwert ist, als einen bösartigen Server durch den Computer.
  11. Computerrealisiertes System zum Identifizieren von bösartigen Servern, wobei das computerrealisierte System aufweist: ein Bussystem; eine mit dem Bus verbundene Speichereinheit, wobei die Speichereinheit Programmbefehle speichert; und einen mit dem Bus verbundenen Prozessor, wobei der Prozessor die Programmbefehle ausführt, um: auf Grundlage von ermittelten, auf Graphen beruhenden Merkmalen innerhalb eines bipartiten Graphen, die sichtbaren und unsichtbaren Server-Knoten entsprechen, welche an den Netzwerkverkehr-Umleitungsketten beteiligt sind, und ermittelten, auf einem Abstand beruhenden Merkmalen, die den unsichtbaren Server-Knoten entsprechen, welche an den Netzwerkverkehr-Umleitungsketten beteiligt sind, bösartige Kanten zwischen Server-Knoten zu identifizieren, die sichtbaren Servern und unsichtbaren Servern entsprechen, welche an Netzwerkverkehr-Umleitungsketten beteiligt sind; auf Grundlage der ermittelten bösartigen Kanten zwischen den Server-Knoten, die den sichtbaren Servern und unsichtbaren Servern entsprechen, welche an Netzwerkverkehr-Umleitungsketten beteiligt sind, bösartige Server-Knoten in dem bipartiten Graphen zu identifizieren; und den Zugriff durch Client-Einheiten auf bösartige Server, die den ermittelten bösartigen Server-Knoten in dem bipartiten Graphen entsprechen, zu blockieren.
  12. Computerprogrammprodukt zum Identifizieren von bösartigen Servern, wobei das Computerprogrammprodukt ein computerlesbares Speichermedium mit darauf enthaltenen Programmbefehlen aufweist, wobei die Programmbefehle durch ein Computersystem ausführbar sind, um das Computersystem zum Durchführen eines Verfahrens zu veranlassen, das aufweist: Ermitteln von bösartigen Kanten zwischen Server-Knoten, die sichtbaren Servern und unsichtbaren Servern entsprechen, welche an Netzwerkverkehr-Umleitungsketten beteiligt sind, durch den Computer auf Grundlage von ermittelten, auf einem Graphen beruhenden Merkmalen innerhalb eines bipartiten Graphen, die sichtbaren und unsichtbaren Server-Knoten entsprechen, welche an den Netzwerkverkehr-Umleitungsketten beteiligt sind, und ermittelten, auf einem Abstand beruhenden Merkmalen, die den unsichtbaren Server-Knoten entsprechen, welche an den Netzwerkverkehr-Umleitungsketten beteiligt sind; Identifizieren von bösartigen Server-Knoten in dem bipartiten Graphen durch den Computer auf Grundlage der ermittelten bösartigen Kanten zwischen den Server-Knoten, die den sichtbaren Servern und unsichtbaren Servern entsprechen, welche an Netzwerkverkehr-Umleitungsketten beteiligt sind; und Blockieren des Zugriffs durch Client-Einheiten auf bösartige Server durch den Computer, die den ermittelten bösartigen Server-Knoten in dem bipartiten Graphen entsprechen.
DE102016203565.7A 2015-03-06 2016-03-04 Identifizieren von bösartigen Web-Infrastrukturen Active DE102016203565B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US14/640,658 2015-03-06
US14/640,658 US9571518B2 (en) 2015-03-06 2015-03-06 Identifying malicious web infrastructures
US14/742,997 2015-06-18
US14/742,997 US9578042B2 (en) 2015-03-06 2015-06-18 Identifying malicious web infrastructures

Publications (2)

Publication Number Publication Date
DE102016203565A1 true DE102016203565A1 (de) 2016-09-08
DE102016203565B4 DE102016203565B4 (de) 2021-06-10

Family

ID=56739078

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016203565.7A Active DE102016203565B4 (de) 2015-03-06 2016-03-04 Identifizieren von bösartigen Web-Infrastrukturen

Country Status (2)

Country Link
US (1) US9578042B2 (de)
DE (1) DE102016203565B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116846596A (zh) * 2023-05-31 2023-10-03 北京数美时代科技有限公司 一种恶意账号的识别方法、***、介质及设备

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9553885B2 (en) 2015-06-08 2017-01-24 Illusive Networks Ltd. System and method for creation, deployment and management of augmented attacker map
US10382484B2 (en) 2015-06-08 2019-08-13 Illusive Networks Ltd. Detecting attackers who target containerized clusters
US9967273B2 (en) * 2015-06-15 2018-05-08 Microsoft Technology Licensing, Llc. Abusive traffic detection
US10896259B2 (en) * 2015-09-28 2021-01-19 Micro Focus Llc Threat score determination
US10742665B2 (en) * 2016-02-01 2020-08-11 NortonLifeLock Inc. Systems and methods for modifying file backups in response to detecting potential ransomware
US10601854B2 (en) * 2016-08-12 2020-03-24 Tata Consultancy Services Limited Comprehensive risk assessment in a heterogeneous dynamic network
US20180131711A1 (en) * 2016-11-10 2018-05-10 Qualcomm Incorporated Protecting Computing Devices From Malicious Activity
US10382478B2 (en) * 2016-12-20 2019-08-13 Cisco Technology, Inc. Detecting malicious domains and client addresses in DNS traffic
US11165803B2 (en) * 2018-06-12 2021-11-02 Netskope, Inc. Systems and methods to show detailed structure in a security events graph
US11539749B2 (en) 2018-06-12 2022-12-27 Netskope, Inc. Systems and methods for alert prioritization using security events graph
US10333976B1 (en) 2018-07-23 2019-06-25 Illusive Networks Ltd. Open source intelligence deceptions
US10404747B1 (en) 2018-07-24 2019-09-03 Illusive Networks Ltd. Detecting malicious activity by using endemic network hosts as decoys
US10382483B1 (en) 2018-08-02 2019-08-13 Illusive Networks Ltd. User-customized deceptions and their deployment in networks
US10333977B1 (en) 2018-08-23 2019-06-25 Illusive Networks Ltd. Deceiving an attacker who is harvesting credentials
US10432665B1 (en) 2018-09-03 2019-10-01 Illusive Networks Ltd. Creating, managing and deploying deceptions on mobile devices
CN110955855B (zh) * 2018-09-27 2023-06-02 花瓣云科技有限公司 一种信息拦截的方法、装置及终端
US11075931B1 (en) * 2018-12-31 2021-07-27 Stealthbits Technologies Llc Systems and methods for detecting malicious network activity
US11206265B2 (en) * 2019-04-30 2021-12-21 Infoblox Inc. Smart whitelisting for DNS security
WO2020261582A1 (ja) * 2019-06-28 2020-12-30 日本電信電話株式会社 検知装置、検知方法および検知プログラム
RU2722693C1 (ru) * 2020-01-27 2020-06-03 Общество с ограниченной ответственностью «Группа АйБи ТДС» Способ и система выявления инфраструктуры вредоносной программы или киберзлоумышленника
CN111683086B (zh) * 2020-06-05 2022-11-01 北京百度网讯科技有限公司 网络数据处理方法、装置、电子设备和存储介质
US11297152B1 (en) * 2021-09-30 2022-04-05 metacluster lt, UAB Regulation methods for proxy services
US11582247B1 (en) * 2022-04-19 2023-02-14 Palo Alto Networks, Inc. Method and system for providing DNS security using process information

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9213836B2 (en) 2000-05-28 2015-12-15 Barhon Mayer, Batya System and method for comprehensive general electric protection for computers against malicious programs that may steal information and/or cause damages
GB2377783B (en) 2001-07-20 2005-04-27 Ibm A method, system and computer program for controlling access in a distributed data processing system
WO2008142710A2 (en) 2007-05-24 2008-11-27 Iviz Techno Solutions Pvt. Ltd Method and system for simulating a hacking attack on a network
US8504504B2 (en) 2008-09-26 2013-08-06 Oracle America, Inc. System and method for distributed denial of service identification and prevention
US7945565B2 (en) 2008-11-20 2011-05-17 Yahoo! Inc. Method and system for generating a hyperlink-click graph
US8516585B2 (en) 2010-10-01 2013-08-20 Alcatel Lucent System and method for detection of domain-flux botnets and the like
US8893274B2 (en) 2011-08-03 2014-11-18 Trend Micro, Inc. Cross-VM network filtering
US9032527B2 (en) 2012-01-11 2015-05-12 Hewlett-Packard Development Company, L.P. Inferring a state of behavior through marginal probability estimation
US8813236B1 (en) * 2013-01-07 2014-08-19 Narus, Inc. Detecting malicious endpoints using network connectivity and flow information
US9195826B1 (en) 2013-05-30 2015-11-24 Emc Corporation Graph-based method to detect malware command-and-control infrastructure
US20150188941A1 (en) 2013-12-26 2015-07-02 Telefonica Digital Espana, S.L.U. Method and system for predicting victim users and detecting fake user accounts in online social networks
US9225730B1 (en) 2014-03-19 2015-12-29 Amazon Technologies, Inc. Graph based detection of anomalous activity

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116846596A (zh) * 2023-05-31 2023-10-03 北京数美时代科技有限公司 一种恶意账号的识别方法、***、介质及设备
CN116846596B (zh) * 2023-05-31 2024-01-30 北京数美时代科技有限公司 一种恶意账号的识别方法、***、介质及设备

Also Published As

Publication number Publication date
US9578042B2 (en) 2017-02-21
DE102016203565B4 (de) 2021-06-10
US20160261608A1 (en) 2016-09-08

Similar Documents

Publication Publication Date Title
DE102016203565B4 (de) Identifizieren von bösartigen Web-Infrastrukturen
Schäfer et al. BlackWidow: Monitoring the dark web for cyber security information
DE112011101831B4 (de) Schutz vor websiteübergreifenden Scripting-Attacken
DE112012002624B4 (de) Regex-Kompilierer
DE112019000427T5 (de) Erkennung von man-in-the-middle in https-transaktionen
DE112013000387B4 (de) Dynamisches Abtasten einer Webanwendung durch Verwendung von Webdatenverkehrs- Informationen
DE112017005040T5 (de) Betriebssystem und Verfahren auf Container-Grundlage
Rao et al. Two level filtering mechanism to detect phishing sites using lightweight visual similarity approach
DE112011103273B4 (de) Verfahren, Computerprogrammprodukt und Vorrichtung zur Weitergabe von Identitäten über Anwendungsebenen unter Verwendung von kontextabhängiger Zuordnung und gesetzten Werten
DE112010003454T5 (de) Bedrohungserkennung in einem Datenverarbeitungssystem
US9571518B2 (en) Identifying malicious web infrastructures
DE112014000578T5 (de) System und Verfahren zum Erkennen eines kompromittierten Computersystems
CN108573146A (zh) 一种恶意url检测方法及装置
JP5813810B2 (ja) ブラックリスト拡充装置、ブラックリスト拡充方法およびブラックリスト拡充プログラム
DE112012006419T5 (de) System und Verfahren zum Erkennen von Netzwerkaktivität von Interesse
DE112022004423T5 (de) Erkennung von bösartigen homoglyphischen domainnamen, erzeugung, und assoziierte cybersicherheitsanwendungen
Lamprakis et al. Unsupervised detection of APT C&C channels using web request graphs
DE102020112592A1 (de) Anwendungsverhaltensbezogene Fingerabdrücke
CN111371778A (zh) 攻击团伙的识别方法、装置、计算设备以及介质
Burda et al. Characterizing the redundancy of DarkWeb. onion services
US11023590B2 (en) Security testing tool using crowd-sourced data
Alshammery et al. Crawling and mining the dark web: A survey on existing and new approaches
CN103440454A (zh) 一种基于搜索引擎关键词的主动式蜜罐检测方法
Brügger 8. Using the web to examine the evolution of the abortion debate in Australia, 2005–2015
CN104702620A (zh) 一种基于文件强制访问控制的网站防护方法

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012703000

Ipc: H04L0012700000

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012700000

Ipc: H04L0045000000

R020 Patent grant now final