DE102021212380A1 - System und verfahren zur analyse von datenprotokollen - Google Patents

System und verfahren zur analyse von datenprotokollen Download PDF

Info

Publication number
DE102021212380A1
DE102021212380A1 DE102021212380.5A DE102021212380A DE102021212380A1 DE 102021212380 A1 DE102021212380 A1 DE 102021212380A1 DE 102021212380 A DE102021212380 A DE 102021212380A DE 102021212380 A1 DE102021212380 A1 DE 102021212380A1
Authority
DE
Germany
Prior art keywords
data
log
neural network
data log
training
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.)
Pending
Application number
DE102021212380.5A
Other languages
English (en)
Inventor
Bartley Douglas Richardson
Rachel Kay Allen
Joshua Sims Patterson
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.)
Nvidia Corp
Original Assignee
Nvidia 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
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of DE102021212380A1 publication Critical patent/DE102021212380A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/217Database tuning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Ein Verfahren zum Verarbeiten von Datenprotokollen, ein System zur Verarbeitung von Datenprotokollen, ein Verfahren zum Trainieren eines Systems zur Verarbeitung von Datenprotokollen und ein Prozessor werden beschrieben. Das Verfahren zum Verarbeiten von Datenprotokollen kann das Empfangen eines Datenprotokolls von einer Datenquelle umfassen, wobei das Datenprotokoll in einem Format empfangen wird, das für eine Maschine, die das Datenprotokoll erzeugt hat, nativ ist. Das Verfahren kann auch das Bereitstellen des Datenprotokolls an ein neuronales Netzwerk, das für die Verarbeitung von auf natürlicher Sprache basierenden Eingaben trainiert ist, das Analysieren des Datenprotokolls mit dem neuronalen Netzwerk und das Empfangen einer Ausgabe von dem neuronalen Netzwerk umfassen, wobei die Ausgabe als Reaktion auf das Analysieren des Datenprotokolls durch das neuronale Netzwerk erzeugt wird. Das Verfahren kann auch das Speichern der Ausgabe des neuronalen Netzes in einem Datenprotokollspeicher umfassen.

Description

  • BEREICH DER OFFENBARUNG
  • Die vorliegende Offenbarung bezieht sich allgemein auf Datenprotokolle und insbesondere auf die Analyse von Datenprotokollen bekannter oder unbekannter Formate.
  • HINTERGRUND
  • Datenprotokolle wurden ursprünglich als Mechanismus entwickelt, um historische Informationen über wichtige Ereignisse zu erhalten. So mussten beispielsweise Banktransaktionen zu Überprüfungs- und Revisionszwecken aufgezeichnet werden. Mit der technologischen Entwicklung und der Verbreitung des Internets haben sich Datenprotokolle immer mehr durchgesetzt, und alle von einem angeschlossenen Gerät erzeugten Daten werden häufig in einer Art Datenprotokoll gespeichert.
  • Cybersecurity-Protokolle, die für ein Unternehmen erstellt werden, können beispielsweise Daten enthalten, die von Endgeräten, Netzwerkgeräten und Perimeter-Geräten erzeugt werden. Selbst kleine Unternehmen können davon ausgehen, dass sie Hunderte von Gigabyte an Daten im Protokollverkehr erzeugen. Selbst ein kleiner Datenverlust kann zu Sicherheitslücken in dem Unternehmen führen.
  • KURZE ZUSAMMENFASSUNG
  • Herkömmliche Systeme, die für die Aufnahme von Datenprotokollen entwickelt wurden, sind nicht in der Lage, das aktuelle Datenvolumen der meisten Unternehmen zu bewältigen. Darüber hinaus sind diese herkömmlichen Systeme nicht skalierbar, um eine erhebliche Zunahme des Datenprotokollverkehrs zu unterstützen, was häufig zu fehlenden oder verlorenen Daten führt. Im Zusammenhang mit Cybersecurity-Protokollen kann jede Menge verloren gegangener oder fehlender Daten zu Sicherheitslücken führen. Heutzutage sammeln und speichern Unternehmen mehr Daten als je zuvor und versuchen, diese zu analysieren. Die Datenprotokolle sind in Bezug auf Quelle, Format und Zeit heterogen. Erschwerend kommt hinzu, dass sich die Arten und Formate von Datenprotokollen ständig ändern, was bedeutet, dass neue Arten von Datenprotokollen in die Systeme eingeführt werden und viele dieser Systeme nicht dafür ausgelegt sind, solche Änderungen ohne erhebliche menschliche Eingriffe zu verarbeiten. Zusammenfassend lässt sich sagen, dass herkömmliche Systeme zur Verarbeitung von Datenprotokollen nicht in der Lage sind, die in vielen Unternehmen anfallenden Datenmengen ordnungsgemäß zu verarbeiten.
  • Ausführungsformen der vorliegenden Offenbarung zielen darauf ab, die oben genannten Mängel und andere Probleme im Zusammenhang mit der Verarbeitung von Datenprotokollen zu lösen. Die hier beschriebenen Ausführungsformen bieten ein flexibles, mit künstlicher Intelligenz (KI) ausgestattetes System, das so konfiguriert ist, dass es große Mengen von Datenprotokollen in bekannten oder unbekannten Formaten verarbeiten kann.
  • Die Erfindung wird durch die Ansprüche definiert. Zur Veranschaulichung der Erfindung werden hier Aspekte und Ausführungsformen beschrieben, die in den Anwendungsbereich der Ansprüche fallen können oder auch nicht.
  • In einigen Ausführungsformen kann das KI-fähige System die Verarbeitung natürlicher Sprache (engl. „Natura Language Processing“, kurz NLP) als Technik zur Verarbeitung von Datenprotokollen nutzen. NLP wird traditionell für Anwendungen wie Textübersetzung, interaktive Chatbots und virtuelle Assistenten verwendet. Der Einsatz von NLP zur Verarbeitung von Datenprotokollen, die von Maschinen erzeugt werden, erscheint nicht unmittelbar praktikabel. In den vorliegenden Ausführungen wird jedoch die einzigartige Fähigkeit von NLP oder anderen auf natürlicher Sprache basierenden neuronalen Netzen erkannt, Datenprotokolle bekannter oder unbekannter Formate zu analysieren, wenn sie richtig trainiert werden. Ausführungsformen der vorliegenden Offenbarung ermöglichen es einem auf natürlicher Sprache basierenden neuronalen Netz auch, partielle Datenprotokolle, unvollständige Datenprotokolle, degradierte Datenprotokolle und Datenprotokolle verschiedener Größen zu analysieren.
  • In einem illustrativen Beispiel wird ein Verfahren zur Verarbeitung von Datenprotokollen offenbart, das Folgendes umfasst: Empfangen eines Datenprotokolls (engl. „data log“) von einer Datenquelle, wobei das Datenprotokoll in einem Format empfangen wird, das für eine Maschine, die das Datenprotokoll erzeugt hat, nativ ist; Bereitstellen des Datenprotokolls für ein neuronales Netz, das für die Verarbeitung von auf natürlicher Sprache (engl. „natural language“) basierenden Eingaben trainiert wurde; Analysieren des Datenprotokolls mit dem neuronalen Netz; Empfangen einer Ausgabe von dem neuronalen Netz, wobei die Ausgabe von dem neuronalen Netz als Reaktion auf das Analysieren des Datenprotokolls durch das neuronale Netz erzeugt wird; und Speichern der Ausgabe von dem neuronalen Netz in einem Datenprotokollspeicher (engl. „data log repository“).
  • Das Verfahren kann ferner Folgendes umfassen: Empfangen eines zusätzlichen Datenprotokolls von einer zusätzlichen Datenquelle, wobei sich die zusätzliche Datenquelle von der Datenquelle unterscheidet und das zusätzliche Datenprotokoll in einem zweiten Format empfangen wird, das für die zusätzliche Datenquelle nativ ist; Bereitstellen des zusätzlichen Datenprotokolls für das neuronale Netz; Analysieren des zusätzlichen Datenprotokolls mit dem neuronalen Netz; Empfangen einer zusätzlichen Ausgabe von dem neuronalen Netz, wobei die zusätzliche Ausgabe von dem neuronalen Netz als Reaktion auf das Analysieren des zusätzlichen Datenprotokolls durch das neuronale Netz erzeugt wird; und Speichern der zusätzlichen Ausgabe von dem neuronalen Netz in dem Datenprotokollspeicher. Die Ausgabe und die zusätzliche Ausgabe können in dem Datenprotokollspeicher in einem gemeinsamen Datenformat als Teil eines kombinierten Datenprotokolls gespeichert werden. Das zusätzliche Datenprotokoll kann als Datenstrom direkt von der zusätzlichen Datenquelle empfangen werden. Die Maschine, die das Datenprotokoll erzeugt hat, kann in einer Ausführungsform einen ersten Gerätetyp umfassen, während die zusätzliche Datenquelle einen zweiten Gerätetyp umfasst, und der erste Gerätetyp und der zweite Gerätetyp können zu einer gemeinsamen Netzinfrastruktur gehören.
  • Die Maschine, die das Datenprotokoll erzeugt hat, kann mindestens einen Kommunikationsendpunkt, ein Netzgerät, ein Netzgrenzgerät, ein Sicherheitsgerät oder einen Sensor umfassen. Das Datenprotokoll kann Sicherheitsdaten umfassen, die von der Maschine an eine andere Maschine übermittelt werden, und wobei das neuronale Netz ein maschinelles Lernmodell für die Verarbeitung natürlicher Sprache umfasst.
  • Das Verfahren kann ferner das Aufteilen des Datenprotokolls in eine Vielzahl von Datenprotokollstücken und das Bereitstellen der Vielzahl von Datenprotokollstücken für das neuronale Netz umfassen, wobei das neuronale Netz mit Trainingsdaten trainiert wird, die Protokollstücke umfassen, und wobei eine Größe eines Protokollstücks in der Vielzahl von Datenprotokollstücken sich von einer Größe eines anderen Protokollstücks in der Vielzahl von Datenprotokollstücken unterscheidet.
  • Das Verfahren kann ferner das Analysieren des Datenprotokollspeichers, das auf der Analyse des Datenprotokollspeichers basierende Erkennen eines auslösbaren Datenereignisses und das Bereitstellen einer Warnung für ein Kommunikationsgerät umfassen, wobei die Warnung Informationen enthält, die das auslösbare Datenereignis beschreiben.
  • Das Datenprotokoll kann mindestens eines von einem Dateipfadnamen, einer Internet Protocol (IP)-Adresse, einer Media Access Control (MAC)-Adresse, einem Zeitstempel, einem Hexadezimalwert, einem Sensormesswert, einem Benutzernamen, einem Kontonamen, einem Domänennamen, einem Hyperlink, Metadaten eines Hostsystems, einer Dauer der Verbindung, einem Kommunikationsprotokoll, einem Kommunikationsport und von Rohnutzdaten umfassen. Das Datenprotokoll kann mindestens eines von einem degradierten Protokoll oder einem unvollständigen Protokoll umfassen.
  • In einem anderen Beispiel wird ein System zur Verarbeitung von Datenprotokollen offenbart, das Folgendes umfasst: einen Prozessor und einen mit dem Prozessor gekoppelten Speicher, wobei der Speicher Daten speichert, die, wenn sie vom Prozessor ausgeführt werden, den Prozessor in die Lage versetzen: ein Datenprotokoll von einer Datenquelle zu empfangen, wobei das Datenprotokoll in einem Format empfangen wird, das für eine Maschine, die das Datenprotokoll erzeugt hat, nativ ist; das Datenprotokoll mit einem neuronalen Netzwerk zu analysieren, das darauf trainiert ist, auf natürlicher Sprache basierende Eingaben zu verarbeiten; und eine Ausgabe des neuronalen Netzwerks in einem Datenprotokollspeicher zu speichern, wobei die Ausgabe des neuronalen Netzwerks als Reaktion auf das Analysieren des Datenprotokolls durch das neuronale Netzwerk erzeugt wird.
  • Die im Speicher gespeicherten Daten können es dem Prozessor ferner ermöglichen, das Datenprotokoll vor dem Analysieren des Datenprotokolls mit dem neuronalen Netz zu tokenisieren. Die im Speicher gespeicherten Daten können es dem Prozessor ferner ermöglichen, ein zusätzliches Datenprotokoll von einer zusätzlichen Datenquelle zu empfangen, wobei sich die zusätzliche Datenquelle von der Datenquelle unterscheidet und wobei das zusätzliche Datenprotokoll in einem zweiten Format empfangen wird, das für die zusätzliche Datenquelle nativ ist; das zusätzliche Datenprotokoll mit dem neuronalen Netzwerk zu analysieren; und eine zusätzliche Ausgabe von dem neuronalen Netzwerk in dem Datenprotokollspeicher zu speichern, wobei die zusätzliche Ausgabe von dem neuronalen Netzwerk als Reaktion auf das Analysieren des zusätzlichen Datenprotokolls durch das neuronale Netzwerk erzeugt wird. Die Ausgabe und die zusätzliche Ausgabe können in dem Datenprotokollspeicher in einem gemeinsamen Datenformat als Teil eines kombinierten Datenprotokolls gespeichert werden. Das zusätzliche Datenprotokoll kann als Datenstrom direkt von der zusätzlichen Datenquelle empfangen werden. Die Maschine, die das Datenprotokoll erzeugt hat, kann einen ersten Gerätetyp umfassen, wobei die zusätzliche Datenquelle einen zweiten Gerätetyp umfasst, und wobei der erste Gerätetyp und der zweite Gerätetyp zu einer gemeinsamen Netzinfrastruktur gehören. Das Datenprotokoll kann Sicherheitsdaten umfassen, die von der Maschine an eine andere Maschine übermittelt werden, und wobei das neuronale Netz ein maschinelles Lernmodell zur Verarbeitung natürlicher Sprache umfasst.
  • Die im Speicher gespeicherten Daten ermöglichen es dem Prozessor außerdem: den Datenprotokollspeicher zu analysieren; auf der Grundlage der Analyse des Datenprotokollspeichers ein auslösbares Datenereignis zu erkennen; und eine Warnung an ein Kommunikationsgerät zu senden, wobei die Warnung Informationen umfasst, die das auslösbare Datenereignis beschreiben.
  • Mindestens eines von dem Prozessor und dem Speicher kann in einer Grafikverarbeitungseinheit (engl. „Graphics Processing Unit“, GPU) untergebracht sein.
  • Das Datenprotokoll kann mindestens eines von einem degradierten Protokoll und einem unvollständigen Protokoll umfassen.
  • In einem weiteren Beispiel wird ein Verfahren zum Trainieren eines Systems zur Verarbeitung von Datenprotokollen offenbart, das Folgendes umfasst: Versorgen eines neuronalen Netzes mit ersten Trainingsdaten, wobei das neuronale Netz ein maschinelles Lernmodell für die Verarbeitung natürlicher Sprache enthält und wobei die ersten Trainingsdaten ein erstes Datenprotokoll enthalten, das von einem ersten Maschinentyp erzeugt wurde; Versorgen des neuronalen Netzes mit zweiten Trainingsdaten, wobei die zweiten Trainingsdaten ein zweites Datenprotokoll enthalten, das von einem zweiten Maschinentyp erzeugt wurde; Feststellen, dass das neuronale Netz mindestens eine vorbestimmte Zeit lang auf den ersten Trainingsdaten und den zweiten Trainingsdaten trainiert hat; und Speichern des neuronalen Netzes in einem Computerspeicher, so dass das neuronale Netz für die Verarbeitung zusätzlicher Datenprotokolle verfügbar gemacht wird.
  • Das erste Datenprotokoll kann mindestens eines von einem Rohdatenprotokoll und einem analysierten Datenprotokoll umfassen, wobei das erste Datenprotokoll mit mindestens einem von Worteinbettung, geteilten Wörtern und Positionskodierung tokenisiert wird, und das Verfahren kann ferner das Anpassen eines Trainings des neuronalen Netzwerks durch mindestens eines von: (i) Mischen der ersten Trainingsdaten und der zweiten Trainingsdaten; (ii) Variieren eines Startpunktes der ersten Trainingsdaten; (iii) Variieren eines Startpunktes der zweiten Trainingsdaten; und (iv) Degradieren mindestens eines von den ersten Trainingsdaten und den zweiten Trainingsdaten umfassen.
  • In einem anderen Beispiel wird ein Prozessor bereitgestellt, der eine oder mehrere Schaltungen enthält, die ein oder mehrere auf natürlicher Sprache basierende neuronale Netze verwenden, um ein oder mehrere maschinell erzeugte Datenprotokolle zu analysieren. Die eine oder die mehreren Schaltungen können Logikschaltungen entsprechen, die in einer Grafikverarbeitungseinheit miteinander verbunden sind. Die eine oder die mehreren Schaltungen können so konfiguriert sein, dass sie das eine oder die mehreren maschinell erzeugten Datenprotokolle von einer Datenquelle empfangen und als Reaktion auf das Analysieren des einen oder der mehreren maschinell erzeugten Datenprotokolle eine Ausgabe erzeugen, wobei die Ausgabe so konfiguriert ist, dass sie als Teil eines Datenprotokollspeichers gespeichert wird. In einigen Beispielen werden die ein oder mehreren maschinell erzeugten Datenprotokolle als Teil eines Datenstroms empfangen, und mindestens eines der maschinell erzeugten Datenprotokolle kann ein degradiertes Protokoll und ein unvollständiges Protokoll enthalten.
  • Die eine oder die mehreren Schaltungen können so konfiguriert sein, dass sie das eine oder die mehreren maschinell erzeugten Datenprotokolle von einer Datenquelle empfangen und eine Ausgabe als Reaktion auf das Analysieren des einen oder der mehreren maschinell erzeugten Datenprotokolle erzeugen, wobei die Ausgabe so konfiguriert ist, dass sie als Teil eines Datenprotokollspeichers gespeichert wird. Das eine oder die mehreren maschinell erzeugten Datenprotokolle können als Teil eines Datenstroms empfangen werden. Das eine oder die mehreren maschinell erzeugten Datenprotokolle können mindestens eines von einem degradierten Protokoll, einem unvollständigen Protokoll, einem deduplizierten Protokoll, einer Protokollzusammenfassung, einem Protokoll, in dem sensible Informationen verschleiert sind, und einem Teildatenprotokoll enthalten.
  • Weitere Merkmale und Vorteile werden hier beschrieben und sind aus der folgenden Beschreibung und den Figuren ersichtlich.
  • Jedes Merkmal eines Aspekts oder einer Ausführungsform kann auf andere Aspekte oder Ausführungsformen angewandt werden, und zwar in jeder geeigneten Kombination. Insbesondere kann jedes Merkmal eines Verfahrensaspekts oder einer Verfahrensausführungsform auf einen Geräteaspekt oder eine Geräteausführungsform angewandt werden und umgekehrt.
  • Figurenliste
  • Die vorliegende Offenbarung wird in Verbindung mit den beigefügten Figuren beschrieben, die nicht unbedingt maßstabsgetreu gezeichnet sind:
    • 1 ist ein Blockdiagramm, das ein Computersystem in Übereinstimmung mit zumindest einigen Ausführungsformen der vorliegenden Offenbarung darstellt;
    • 2 ist ein Blockdiagramm, das eine Trainingsarchitektur für ein neuronales Netz gemäß zumindest einigen Ausführungsformen der vorliegenden Offenbarung zeigt;
    • 3 ist ein Flussdiagramm, das ein Verfahren zum Trainieren eines neuronalen Netzes in Übereinstimmung mit zumindest einigen Ausführungsformen der vorliegenden Offenbarung zeigt;
    • 4 ist ein Blockdiagramm, das eine Betriebsarchitektur eines neuronalen Netzes gemäß zumindest einigen Ausführungsformen der vorliegenden Offenbarung zeigt;
    • 5 ist ein Flussdiagramm, das ein Verfahren zur Verarbeitung von Datenprotokollen in Übereinstimmung mit zumindest einigen Ausführungsformen der vorliegenden Offenbarung zeigt; und
    • 6 ist ein Flussdiagramm, das ein Verfahren zur Vorverarbeitung von Datenprotokollen in Übereinstimmung mit zumindest einigen Ausführungsformen der vorliegenden Offenbarung zeigt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die nachfolgende Beschreibung enthält nur Ausführungsbeispiele und soll den Umfang, die Anwendbarkeit oder die Ausgestaltung der Ansprüche nicht einschränken. Vielmehr soll die nachfolgende Beschreibung dem Fachmann eine Anleitung zur Umsetzung der beschriebenen Ausführungsformen geben. Es versteht sich, dass verschiedene Änderungen in der Funktion und Anordnung der Elemente vorgenommen werden können, ohne vom Geist und Umfang der beigefügten Ansprüche abzuweichen.
  • Aus der folgenden Beschreibung und aus Gründen der Recheneffizienz wird deutlich, dass die Komponenten des Systems an jedem geeigneten Ort innerhalb eines verteilten Netzwerks von Komponenten angeordnet werden können, ohne dass dies Auswirkungen auf den Betrieb des Systems hat.
  • Darüber hinaus kann es sich bei den verschiedenen Verbindungen, die die Elemente miteinander verbinden, um verdrahtete, leitungsgebundene oder drahtlose Verbindungen oder um eine beliebige Kombination davon oder um jedes andere geeignete bekannte oder später entwickelte Element handeln, das in der Lage ist, Daten an die und von den verbundenen Elementen zu liefern und/oder zu übermitteln. Als Übertragungsmedien können beispielsweise alle geeigneten Träger für elektrische Signale verwendet werden, einschließlich Koaxialkabel, Kupferdraht und Glasfaserkabel, elektrische Leiterbahnen auf einer Leiterplatte oder ähnliches.
  • Die hier verwendeten Ausdrücke „mindestens eines“, „eines oder mehrere“, „oder“ und „und/oder“ sind unbestimmte Ausdrücke, die sowohl konjunktiv als auch disjunktiv verwendet werden können. Zum Beispiel bedeutet jeder der Ausdrücke „mindestens eines von A, B und C“, „mindestens eines von A, B oder C“, „eines oder mehrere von A, B und C“, „eines oder mehrere von A, B oder C“, „A, B und/oder C“ und „A, B oder C“: A allein; B allein; C allein; A und B zusammen; A und C zusammen; B und C zusammen; oder A, B und C zusammen.
  • Der Begriff „automatisch“ und Variationen davon, wie er hier verwendet wird, bezieht sich auf jeden geeigneten Prozess oder Vorgang, der ohne wesentliche menschliche Eingaben durchgeführt wird, wenn der Prozess oder Vorgang ausgeführt wird. Ein Prozess oder Vorgang kann jedoch automatisch sein, auch wenn die Durchführung des Prozesses oder Vorgangs materielle oder immaterielle menschliche Eingaben erfordert, wenn die Eingaben vor der Durchführung des Prozesses oder Vorgangs empfangen werden. Menschliche Eingaben gelten als wesentlich, wenn sie die Durchführung des Prozesses oder Vorgangs beeinflussen. Menschliche Eingaben, die der Durchführung des Verfahrens oder Vorgangs zustimmt, gelten nicht als „wesentlich“.
  • Die Begriffe „ermitteln“, „berechnen“ und „berechnen“ sowie deren Abwandlungen werden hier austauschbar verwendet und schließen jede geeignete Art von Methodik, Prozess, Vorgang oder Technik ein.
  • Verschiedene Aspekte der vorliegenden Offenbarung werden hier unter Bezugnahme auf Zeichnungen beschrieben, die schematische Darstellungen von idealisierten Konfigurationen sind.
  • Sofern nicht anders definiert, haben alle hier verwendeten Begriffe (einschließlich technischer und wissenschaftlicher Begriffe) die gleiche Bedeutung, wie sie von einem Fachmann auf dem Gebiet, zu dem diese Offenbarung gehört, allgemein verstanden wird. Es versteht sich ferner, dass Begriffe, wie sie in allgemein gebräuchlichen Wörterbüchern definiert sind, so ausgelegt werden sollten, dass sie eine Bedeutung haben, die mit ihrer Bedeutung im Zusammenhang mit dem relevanten Stand der Technik und dieser Offenbarung übereinstimmt.
  • Die hier verwendeten Singularformen „ein“, „ein“ und „die“ schließen auch die Pluralformen ein, sofern aus dem Kontext nicht eindeutig etwas anderes hervorgeht. Es versteht sich ferner, dass die Begriffe „umfassen“, „umfasst“ und/oder „enthaltend“, wenn sie in dieser Beschreibung verwendet werden, das Vorhandensein bestimmter Merkmale, ganzer Zahlen, Schritte, Operationen, Elemente und/oder Komponenten spezifizieren, aber das Vorhandensein oder Hinzufügen eines oder mehrerer anderer Merkmale, ganzer Zahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon nicht ausschließen. Der Begriff „und/oder“ schließt alle Kombinationen von einem oder mehreren der aufgeführten Punkte ein.
  • Unter Bezugnahme auf 1-6 werden nun verschiedene Systeme und Verfahren zur Analyse von Datenprotokollen beschrieben. Während verschiedene Ausführungsformen im Zusammenhang mit der Verwendung von KI, maschinellem Lernen (ML) und ähnlichen Techniken beschrieben werden, sollte man sich darüber im Klaren sein, dass die Ausführungsformen der vorliegenden Offenbarung nicht auf die Verwendung von KI, ML oder anderen maschinellen Lerntechniken beschränkt sind, die die Verwendung eines oder mehrerer neuronaler Netze einschließen können oder auch nicht. Darüber hinaus sehen Ausführungsformen der vorliegenden Offenbarung die gemischte Verwendung neuronaler Netze für bestimmte Aufgaben vor, während für bestimmte andere Aufgaben algorithmische oder vordefinierte Computerprogramme verwendet werden können. Anders ausgedrückt: Die hier beschriebenen oder beanspruchten Verfahren und Systeme können mit herkömmlichen ausführbaren Befehlssätzen durchgeführt werden, die endlich sind und auf einen festen Satz von Eingaben wirken, um eine oder mehrere definierte Ausgaben zu liefern. Alternativ oder zusätzlich können die hier beschriebenen oder beanspruchten Verfahren und Systeme mit Hilfe von KI, ML, neuronalen Netzen oder Ähnlichem durchgeführt werden. Mit anderen Worten: Ein System oder Komponenten eines Systems, wie hier beschrieben, können endliche Befehlssätze und/oder KI-basierte Modelle/neuronale Netze enthalten, um einige oder alle der hier beschriebenen Prozesse oder Schritte durchzuführen.
  • In einigen Ausführungsformen wird ein auf natürlicher Sprache basierendes neuronales Netz verwendet, um maschinell erzeugte Datenprotokolle zu analysieren. Die Datenprotokolle können direkt von der Maschine, die das Datenprotokoll erzeugt hat, empfangen werden, wobei die Maschine selbst als Datenquelle betrachtet werden kann. Die Datenprotokolle können von einem Speicherbereich empfangen werden, der zur vorübergehenden Speicherung von Datenprotokollen einer oder mehrerer Maschinen dient; in diesem Fall kann der Speicherbereich als Datenquelle betrachtet werden. In einigen Ausführungsformen können Datenprotokolle in Echtzeit empfangen werden, als Teil eines Datenstroms, der direkt von einer Datenquelle an das auf natürlicher Sprache basierende neuronale Netz übertragen wird. In einigen Ausführungsformen können die Datenprotokolle zu einem Zeitpunkt empfangen werden, nachdem sie von einer Maschine erzeugt wurden.
  • Bestimmte hier beschriebene Ausführungsformen sehen die Verwendung eines auf natürlicher Sprache basierenden neuronalen Netzes vor. Ein Beispiel für ein auf natürlicher Sprache basierendes neuronales Netz oder einen Ansatz, der ein auf natürlicher Sprache basierendes neuronales Netz verwendet, ist NLP. Bestimmte Arten von Wortdarstellungen in neuronalen Netzen, wie Word2vec, sind kontextfrei. Ausführungsformen der vorliegenden Offenbarung sehen die Verwendung solcher kontextfreien neuronalen Netze vor, die in der Lage sind, für jedes Wort des Vokabulars eine einzige Wort-Einbettung (engl. „word-embedding“) zu erstellen, und die nicht in der Lage sind, Wörter mit mehreren Bedeutungen zu unterscheiden (z. B. die Datei auf der Festplatte gegenüber einer einzelnen Dateizeile). Neuere Modelle (z. B. ULMFit und ELMo) haben mehrere Repräsentationen für Wörter, die auf Kontext basieren. Diese Modelle erreichen ein Verständnis des Kontextes, indem sie das Wort und die vorherigen Wörter im Satz verwenden, um die Repräsentationen zu erstellen. Ausführungsformen der vorliegenden Offenbarung sehen auch die Verwendung kontextbasierter neuronaler Netze vor. Ein spezifischeres, aber nicht einschränkendes Beispiel für einen neuronalen Netzwerktyp, der verwendet werden kann, ohne vom Anwendungsbereich der vorliegenden Offenbarung abzuweichen, ist ein BERT-Modell (Bidirectional Encoder Representations from Transformers).
  • Ein BERT-Modell ist in der Lage, kontextuelle Repräsentationen zu erzeugen, aber auch den umgebenden Kontext in beiden Richtungen - vor und nach einem Wort - zu berücksichtigen. Während im Folgenden Ausführungsformen beschrieben werden, bei denen ein auf natürlicher Sprache basierendes neuronales Netz verwendet wird, das auf einem Datenkorpus mit englischen Wörtern, Sätzen usw. trainiert wurde, sollte berücksichtigt werden, dass das auf natürlicher Sprache basierende neuronale Netz auf beliebigen Daten, einschließlich jeder menschlichen Sprache (z. B. Japanisch, Chinesisch, Latein, Griechisch, Arabisch usw.) oder einer Sammlung menschlicher Sprachen, trainiert werden kann.
  • Die Kodierung von Kontextinformationen (vor und nach einem Wort) kann für das Verständnis von Cyberprotokollen und anderen Arten von maschinell erstellten Datenprotokollen aufgrund ihrer geordneten Natur nützlich sein. Bei mehreren Arten von Datenprotokollen kommt zum Beispiel eine Quelladresse vor einer Zieladresse vor. BERT und andere kontextabhängige NLP-Modelle können diese kontextabhängigen/geordneten Informationen berücksichtigen.
  • Eine zusätzliche Herausforderung bei der Anwendung eines natürlichen Sprachmodells auf Cyberprotokolle und andere Arten von maschinell erzeugten Datenprotokollen besteht darin, dass viele „Wörter“ in einem Cyberprotokoll keine englischen Wörter sind, sondern Dinge wie Dateipfade, hexadezimale Werte und IP-Adressen umfassen. Andere Sprachmodelle geben bei einem unbekannten Wort einen Eintrag „außerhalb des Wörterbuchs“ zurück, aber BERT und ähnliche neuronale Netze sind so konfiguriert, dass sie die Wörter in Cyberprotokollen in Wortteile aufschlüsseln, die im Wörterbuch stehen. So wird beispielsweise ProcessID zu zwei wörterbuchinternen Wortstücken (engl. „in-dictionary WordPieces“) - Process und ##ID.
  • Für das Training eines oder mehrerer der hier beschriebenen sprachbasierten neuronalen Netze können verschiedene Sätze von Datenprotokollen verwendet werden. So können beispielsweise Datenprotokolle wie Windows-Ereignisprotokolle und Apache-Webprotokolle als Trainingsdaten verwendet werden. Die Sprache der Cyberprotokolle ist nicht dieselbe wie der englische Sprachkorpus, auf dem der BERT-Tokenizer und das neuronale Netz trainiert wurden.
  • Die Geschwindigkeit und Genauigkeit eines Modells kann durch die Verwendung eines Tokenizers und einer Repräsentation, die von Grund auf an einem großen Korpus von Datenprotokollen trainiert wurde, weiter verbessert werden. Zum Beispiel kann ein BERT-Wortstück-Tokenizer AccountDomain in A ##cco ##unt ##D ##oma ##in zerlegen, was als detaillierter angesehen wird als die aussagekräftigen Wortstücke von AccountDomain in der Datenprotokollsprache. Die Verwendung eines Tokenizers ist ebenfalls denkbar, ohne von dem Rahmen der vorliegenden Offenbarung abzuweichen.
  • Es kann auch möglich sein, einen Syntexanalysierer (engl. „Parser“) so zu konfigurieren, dass er sich mit Netzwerkgeschwindigkeit bewegt, um mit dem hohen Volumen der generierten Datenprotokolle Schritt zu halten. In einigen Ausführungsformen können Vorverarbeitung, Tokenisierung und/oder Nachverarbeitung auf einer Grafikverarbeitungseinheit ausgeführt werden, um ein schnelleres Analysieren bzw. Syntexanalysieren (engl. „Parsing“) zu erreichen, ohne dass eine Kommunikation hin und her mit dem Hostspeicher erforderlich ist. Es sollte jedoch gewürdigt werden, dass eine zentrale Verarbeitungseinheit (engl. „Central Processing Unit“, kurz CPU) oder eine andere Art von Verarbeitungsarchitektur ebenfalls verwendet werden kann, ohne dass dies vom Anwendungsbereich der vorliegenden Offenbarung abweicht.
  • Unter Bezugnahme auf die 1-6 wird ein illustratives Computersystem 100 in Übereinstimmung mit zumindest einigen Ausführungsformen der vorliegenden Offenbarung beschrieben. Ein Computersystem 100 kann ein Kommunikationsnetz 104 enthalten, das so konfiguriert ist, dass es die Kommunikation zwischen Maschinen erleichtert. In einigen Ausführungsformen kann das Kommunikationsnetzwerk 104 die Kommunikation zwischen verschiedenen Arten von Maschinen ermöglichen, die hier auch als Datenquellen 112 bezeichnet werden können. Eine oder mehrere der Datenquellen 112 können als Teil einer gemeinsamen Netzinfrastruktur bereitgestellt werden, was bedeutet, dass die Datenquellen 112 im Besitz einer gemeinsamen Einrichtung sein und/oder von dieser betrieben werden können. In einer solchen Situation kann das Unternehmen, das Eigentümer und/oder Betreiber des Netzes mit den Datenquellen 112 ist, daran interessiert sein, Datenprotokolle von den verschiedenen Datenquellen 112 zu erhalten.
  • Nicht einschränkende Beispiele für Datenquellen 112 können Kommunikationsendpunkte (z. B. Benutzergeräte, Personal Computer (PCs), Computergeräte, Kommunikationsgeräte, Point of Service (PoS)-Geräte, Laptops, Telefone, Smartphones, Tablets, Wearables usw.), Netzwerkgeräte (z. B. Router, Switches, Server, Netzwerkzugangspunkte usw.), Netzwerkgrenzgeräte (z. B. Firewalls, Session Border Controllers (SBCs), Network Address Translators (NATs) usw.), Sicherheitsvorrichtungen (Zugangskontrollvorrichtungen, Kartenleser, biometrische Leser, Schlösser, Türen usw.) und Sensoren (z. B. Näherungssensoren, Bewegungssensoren, Lichtsensoren, Geräuschsensoren, biometrische Sensoren usw.) enthalten. Eine Datenquelle 112 kann alternativ oder zusätzlich einen Datenspeicherbereich umfassen, der zum Speichern von Datenprotokollen dient, die von verschiedenen anderen an das Kommunikationsnetzwerk 104 angeschlossenen Geräten erzeugt werden. Der Datenspeicherbereich kann einem Ort oder einem Gerätetyp entsprechen, der zur vorübergehenden Speicherung von Datenprotokollen verwendet wird, bis ein Verarbeitungssystem 108 bereit ist, die Datenprotokolle abzurufen und zu verarbeiten.
  • In einigen Ausführungsformen ist ein Verarbeitungssystem 108 vorgesehen, das Datenprotokolle von den Datenquellen 112 empfängt und die Datenprotokolle zum Zweck der Analyse des in den Datenprotokollen enthaltenen Inhalts analysiert. Das Verarbeitungssystem 108 kann auf einem oder mehreren Servern ausgeführt werden, die ebenfalls mit dem Kommunikationsnetzwerk 104 verbunden sind. Das Verarbeitungssystem 108 kann so konfiguriert sein, dass es Datenprotokolle analysiert und dann die analysierten Datenprotokolle auswertet/analysiert, um festzustellen, ob die in den Datenprotokollen enthaltenen Informationen auslösbare Datenereignisse enthalten. Das Verarbeitungssystem 108 wird zur Vereinfachung der Diskussion und des Verständnisses als eine einzelne Komponente im System 100 dargestellt. Es sollte verstanden werden, dass das Verarbeitungssystem 108 und seine Komponenten (z. B. der Prozessor 116, die Schaltung(en) 124 und/oder der Speicher 128) in einer beliebigen Anzahl von Computerarchitekturen eingesetzt werden können. Beispielsweise kann das Verarbeitungssystem 108 als Server, als Sammlung von Servern, als Sammlung von (Server)Blades in einem einzigen Server, auf Bare Metal, in denselben Räumlichkeiten wie die Datenquellen 112, in einer Cloud-Architektur (Enterprise Cloud oder Public Cloud) und/oder über eine oder mehrere virtuelle Maschinen bereitgestellt werden.
  • Zu den nicht einschränkenden Beispielen für ein Kommunikationsnetzwerk 104 gehören ein Internetprotokoll (IP)-Netz, ein Ethernet-Netz, ein InfiniBand (IB)-Netz, ein FibreChannel-Netz, das Internet, ein Mobiltelefon-Kommunikationsnetz, ein drahtloses Kommunikationsnetz, Kombinationen davon (z. B. Fibre Channel over Ethernet), Varianten davon und dergleichen.
  • Wie bereits erwähnt, können die Datenquellen 112 als Host-Geräte, Server, Netzwerkgeräte, Datenspeichergeräte, Sicherheitsgeräte, Sensoren oder Kombinationen davon erwägt werden. Es ist zu beachten, dass der/den Datenquelle(n) 112 mindestens eine Netzwerkadresse zugewiesen werden kann und dass das Format der zugewiesenen Netzwerkadresse von der Art des Netzwerks 104 abhängen kann.
  • Das Verarbeitungssystem 108 ist so dargestellt, dass es einen Prozessor 116 und einen Speicher 128 umfasst. Obwohl das Verarbeitungssystem 108 nur einen Prozessor 116 und einen Speicher 128 umfasst, kann das Verarbeitungssystem 108 eine oder mehrere Verarbeitungsvorrichtungen und/oder eine oder mehrere Speichervorrichtungen umfassen. Der Prozessor 116 kann so konfiguriert sein, dass er im Speicher 128 gespeicherte Anweisungen und/oder das im Speicher 128 gespeicherte neuronale Netzwerk 132 ausführt. Als einige nicht einschränkende Beispiele kann der Speicher 128 jedem geeigneten Typ von Speichervorrichtung oder einer Sammlung von Speichervorrichtungen entsprechen, die zum Speichern von Anweisungen und/oder Befehlen konfiguriert sind. Nicht einschränkende Beispiele für geeignete Speichervorrichtungen, die für den Speicher 128 verwendet werden können, sind Flash-Speicher, Random Access Memory (RAM), Read Only Memory (ROM), Varianten davon, Kombinationen davon oder Ähnliches. In einigen Ausführungsformen können der Speicher 116 und der Prozessor 128 in ein gemeinsames Gerät integriert sein (z. B. kann ein Mikroprozessor einen integrierten Speicher enthalten).
  • In einigen Ausführungsformen kann das Verarbeitungssystem 108 den Prozessor 116 und den Speicher 128 als GPU konfiguriert haben. Der Prozessor 116 kann eine oder mehrere Schaltungen 124 enthalten, die so konfiguriert sind, dass sie ein im Speicher 128 gespeichertes neuronales Netzwerk 132 ausführen. Alternativ oder zusätzlich können der Prozessor 116 und der Speicher 128 als CPU konfiguriert sein. Eine GPU-Konfiguration kann parallele Operationen auf mehreren Datensätzen ermöglichen, was die Echtzeitverarbeitung von einem oder mehreren Datenprotokollen aus einer oder mehreren Datenquellen 112 erleichtern kann. Bei einer Konfiguration als GPU können die Schaltungen 124 mit Tausenden von gleichzeitig laufenden Prozessorkernen ausgelegt sein, wobei jeder Kern auf die Durchführung effizienter Berechnungen ausgerichtet ist. Weitere Einzelheiten eines geeigneten, aber nicht einschränkenden Beispiels einer GPU-Architektur, die zur Ausführung des/der neuronalen Netzwerks/Netzwerke 132 verwendet werden kann, sind in der US-Patentanmeldung Nr. 16/596,755 zu Patterson et al. mit dem Titel „GRAPHICS PROCESSING UNIT SYSTEMS FOR PERFORMING DATA ANALYTICS OPERATIONS IN DATA SCIENCE“ beschrieben, deren gesamter Inhalt hiermit durch Bezugnahme aufgenommen wird.
  • Unabhängig davon, ob sie als GPU und/oder CPU konfiguriert sind, können die Schaltungen 124 des Prozessors 116 so konfiguriert werden, dass sie das/die neuronale(n) Netz(e) 132 auf hocheffiziente Weise ausführen und dadurch die Echtzeitverarbeitung von Datenprotokollen ermöglichen, die von verschiedenen Datenquellen 112 empfangen wurden. Während die Datenprotokolle vom Prozessor 116, der das/die neuronale(n) Netz(e) 132 ausführt, verarbeitet/analysiert werden, können die Ausgaben der neuronalen Netze 132 einem Datenprotokollspeicher 140 zugeführt werden. In einigen Ausführungsformen können bei der Verarbeitung verschiedener Datenprotokolle in unterschiedlichen Datenformaten und Datenstrukturen durch den Prozessor 116, der das/die neuronale(n) Netz(e) 132 ausführt, die Ausgaben des/der neuronalen Netzes/Netze 132 im Datenprotokollspeicher 140 als kombiniertes Datenprotokoll 144 gespeichert werden. Das kombinierte Datenprotokoll 144 kann in einem beliebigen Format gespeichert werden, das zur Speicherung von Datenprotokollen oder Informationen aus Datenprotokollen geeignet ist. Nicht einschränkende Beispiele für Formate, die zum Speichern eines kombinierten Datenprotokolls 144 verwendet werden, sind Tabellenkalkulationen, Tabellen, abgegrenzte Dateien, Textdateien und dergleichen.
  • Das Verarbeitungssystem 108 kann auch so konfiguriert sein, dass es das/die im Datenprotokollspeicher 140 gespeicherte(n) Datenprotokoll(e) analysiert (z. B. nachdem die direkt von den Datenquellen 112 empfangenen Datenprotokolle von dem/den neuronalen Netz(en) 132 verarbeitet/analysiert wurden). Das Verarbeitungssystem 108 kann so konfiguriert sein, dass es das/die Datenprotokoll(e) einzeln oder als Teil des kombinierten Datenprotokolls 144 analysiert, indem es eine Datenprotokollauswertung 136 mit dem Prozessor 116 ausführt. In einigen Ausführungsformen kann die Datenprotokollauswertung 136 von einem anderen Prozessor 116 ausgeführt werden als der, der zur Ausführung der neuronalen Netze 132 verwendet wurde. Ebenso können die zum Speichern des/der neuronalen Netze(s) 132 verwendeten Speichervorrichtungen denselben Speichervorrichtungen entsprechen, die zum Speichern der Anweisungen der Datenprotokollauswertung 136 verwendet werden, müssen es aber nicht. In einigen Ausführungsformen wird die Datenprotokollauswertung 136 in einer anderen Speichervorrichtung 128 als das/die neuronale(n) Netz(e) 132 gespeichert und kann unter Verwendung einer CPU-Architektur im Vergleich zur Verwendung einer GPU-Architektur zur Ausführung der neuronalen Netze 132 ausgeführt werden.
  • In einigen Ausführungsformen kann der Prozessor 116 bei der Ausführung der Datenprotokollauswertung 136 so konfiguriert sein, dass er das kombinierte Datenprotokoll 144 analysiert, ein auslösbares Ereignis auf der Grundlage der Analyse des kombinierten Datenprotokolls 144 erkennt und das auslösbare Ereignis an ein Kommunikationsgerät 148 des Systemadministrators 152 übermittelt. In einigen Ausführungsformen kann das auslösbare Ereignis der Erkennung einer Netzwerkbedrohung (z. B. einem Angriff auf das Computersystem 100, dem Vorhandensein von bösartigem Code im Computersystem 100, einem Phishing-Versuch im Computersystem 100, einer Datenverletzung im Computersystem 100 usw.), einer Datenanomalie, einer Verhaltensanomalie eines Benutzers im Computersystem 100, einer Verhaltensanomalie einer Anwendung im Computersystem 100, einer Verhaltensanomalie eines Geräts im Computersystem 100 usw. entsprechen.
  • Wenn der Prozessor 116 bei der Ausführung der Datenprotokollauswertung 136 ein auslösbares Datenereignis erkennt, kann ein Bericht oder eine Warnung an das Kommunikationsgerät 148 gesendet werden, das von einem Systemadministrator 152 bedient wird. Der Bericht oder die Warnung für das Kommunikationsgerät 148 kann eine Identifizierung der Maschine/Datenquelle 112 enthalten, die zu dem auslösenden Datenereignis geführt hat. Der Bericht oder die Warnmeldung kann alternativ oder zusätzlich Informationen über den Zeitpunkt enthalten, zu dem das Datenprotokoll von der Datenquelle 112 erstellt wurde, die zu dem angreifbaren Datenereignis geführt hat. Der Bericht oder die Warnung kann dem Kommunikationsgerät 148 in Form einer oder mehrerer elektronischer Nachrichten, einer E-Mail, einer SMS-Nachricht (Short Message Service), eines akustischen Hinweises, eines sichtbaren Hinweises oder ähnlichem übermittelt werden. Das Kommunikationsgerät 148 kann jeder Art von netzwerkverbundenem Gerät (z. B. PC, Laptop, Smartphone, Mobiltelefon, tragbares Gerät, PoS-Gerät usw.) entsprechen, das so konfiguriert ist, dass es elektronische Mitteilungen vom Verarbeitungssystem 108 empfängt und Informationen aus den elektronischen Mitteilungen für einen Systemadministrator 152 wiedergibt.
  • In einigen Ausführungsformen kann die Datenprotokollauswertung 136 als ein Satz von Anweisungen zur Warnungsanalyse bereitgestellt werden, die im Speicher 128 gespeichert sind und vom Prozessor 116 ausgeführt werden können. Ein nicht einschränkendes Beispiel für die Datenprotokollauswertung 136 ist unten dargestellt:
 import cudf
 import s3fs
 from os import path
 # Daten herunterladen
 if not path. exists("./splunk_faker_raw4"):
   fs = s3fs. S3FileSystem(anon=True)
   fs. get("rapidsai-data/cyber/clx/splunk_faker_raw4", "./splunk_faker_raw4")
 # Einlesen der Warnungsdaten
 gdf = cudf. read_csv('./splunk_faker_raw4')
 gdf.columns = ['raw']
 # Parsen der Warnungsdaten und Rückgabe des geparsten DF (Datenrahmen, engl.
 „dataframe") sowie des DF mit den Konfidenzwerten
 from clx.analytics.cybert import Cybert
 logs_df = cudf.read_csv(LOG_FILE)
 parsed_df, confidence_df = cybert.inference(logs_df["raw"])
 # Funktion zum Runden der Zeit auf den Tag definieren
 def round2day(epoch_time):
    return int(epoch_time/86400)*86400
 # Warnungen nach Tag aggregieren
 parsed_gdf['time'] = parsed_gdf['time']. astype(int)
 parsed_gdf['day'] = parsed_gdf.time. applymap(round2day)
 day_rule_gdf= parsed_gdf[['search_name','day','time']]. groupby(['search_name',
 'day']). count(). reset_index()
 day_rule_gdf.columns = ['rule', 'day', 'count']
 # Importieren der rollierenden z-score Funktion aus CLX Statistics
 from clx.analytics.stats import rzscore
 # Drehen der Warnungsdaten so, dass jede Regel eine Spalte ist
 def pivot-table(gdf, index_col, piv_col, v_col):
    index_list = gdf[index_col].unique()
    piv_gdf = cudf.DataFrame()
    piv_gdf[index_col] = index_list
    for group in gdf[piv_col].unique():
       temp_df = gdf[gdf[piv_col] == group]
       temp_df = temp_df[[index_col, v_col]]
       temp_df.columns = [index_col, group]
       piv_gdf = piv_gdf.merge(temp_df, on=[index_col], how='left')
    piv_gdf = piv_gdf.set_index(index_col)
    return piv_gdf.sort_index()




















 alerts_per_day_piv = pivot_table(day_rule_gdf, 'day', 'rule', 'count').fillna(0)
 # Erstellen eines neuen cuDF mit den berechneten rollierenden z-Score-Werten
 r_zscores = cudf. DataFrame() 

 for rule in alerts_per_day_piv.columns:
    x = alerts_per_day_piv[rule]
    r_zscores[rule] = rzscore(x,7 ) #7 day window
  • Der oben gezeigte Code zur Auswertung des Datenprotokolls 136 kann, wenn er vom Prozessor 116 ausgeführt wird, den Prozessor 116 in die Lage versetzen, Cyberwarnungen zu lesen, Cyberwarnungen nach Tagen zu aggregieren und den rollierenden Z-Score-Wert über mehrere Tage hinweg zu berechnen, um nach Ausreißern in der Menge der Warnungen zu suchen.
  • Unter Bezugnahme auf 2 und 3 werden nun weitere Einzelheiten einer Architektur und eines Verfahrens zum Training eines neuronalen Netzes in Übereinstimmung mit zumindest einigen Ausführungsformen der vorliegenden Offenbarung beschrieben. Ein neuronales Netz im Training 224 kann durch eine Trainingsfunktionseinheit 220 trainiert werden. Nach ausreichendem Training kann die Trainingsfunktionseinheit 220 schließlich ein trainiertes neuronales Netz 132 erzeugen, das im Speicher 128 des Verarbeitungssystems 108 gespeichert und vom Prozessor 116 zur Verarbeitung/Analysierung von Datenprotokollen aus Datenquellen 112 verwendet werden kann.
  • Die Trainingsfunktionseinheit 220 kann in einigen Ausführungsformen tokenisierte Eingaben 216 von einem Tokenizer 212 erhalten. Der Tokenizer 212 kann so konfiguriert sein, dass er Trainingsdaten 208a-N von einer Vielzahl verschiedener Maschinentypen 204a-N empfängt. In einigen Ausführungsformen kann jeder Maschinentyp 204a-N so konfiguriert sein, dass er eine andere Art von Trainingsdaten 208a-N erzeugt, die in Form eines Rohdatenprotokolls, eines analysierten (engl. „parsed“) Datenprotokolls, eines partiellen Datenprotokolls, eines degradierten Datenprotokolls, eines Teils eines Datenprotokolls oder eines Datenprotokolls, das in viele Teile aufgeteilt wurde, vorliegen können. In einigen Ausführungsformen kann jede Maschine 204a-N einer anderen Datenquelle 112 entsprechen, und eine oder mehrere der verschiedenen Arten von Trainingsdaten 208a-N können in Form eines Rohdatenprotokolls aus einer Datenquelle 112, eines analysierten Datenprotokolls aus einer Datenquelle 112 oder eines Teildatenprotokolls vorliegen. Während einige Trainingsdaten 208a-N als Rohdatenprotokoll empfangen werden, können andere Trainingsdaten 208a-NB als analysiertes Datenprotokoll empfangen werden.
  • In einigen Ausführungsformen können der Tokenizer 212 und die Trainingsfunktionseinheit 220 so konfiguriert sein, dass sie die von den verschiedenen Maschinentypen 204a-N erhaltenen Trainingsdaten 208a-N gemeinsam verarbeiten. Der Tokenizer 212 kann einem Teilwort-Tokenizer entsprechen, der die Nicht-Trunkierung von Protokollen/Sätzen unterstützt. Der Tokenizer 212 kann so konfiguriert sein, dass er einen kodierten Tensor, eine Aufmerksamkeitsmaske und Metadaten zurückliefert, um beschädigte Datenprotokolle zu reformieren. Alternativ oder zusätzlich kann der Tokenizer 212 einem Wortteil-Tokenizer, einem Satzteil-Tokenizer, einem zeichenbasierten Tokenizer oder einem anderen geeigneten Tokenizer entsprechen, der in der Lage ist, Datenprotokolle in tokenisierte Eingaben 216 für die Trainingsfunktionseinheit 220 zu tokenisieren.
  • Als nicht einschränkendes Beispiel können der Tokenizer 212 und die Trainingsfunktionseinheit 220 so konfiguriert werden, dass neuronale Netze im Training 224 auf ganzen Datenprotokollen trainiert und getestet werden, die alle klein genug sind, um in eine Eingabesequenz zu passen und einen micro-F1-Score von 0,9995 zu erreichen. Ein auf diese Weise trainiertes Modell ist jedoch möglicherweise nicht in der Lage, Datenprotokolle zu analysieren, die größer sind als die maximale Modelleingabesequenz, und die Leistung des Modells kann leiden, wenn die Datenprotokolle aus demselben Testsatz so verändert wurden, dass sie variable Startpositionen haben (z. B. micro-F1: 0,9634) oder in kleinere Stücke geschnitten wurden (z. B. micro-F1: 0,9456). Um zu verhindern, dass das neuronale Netz beim Training 224 des Modells die absoluten Positionen der Felder lernt, kann es möglich sein, das neuronale Netz beim Training 224 auf Stücke von Datenprotokollen zu trainieren. Es kann auch wünschenswert sein, das Modell des neuronalen Netzes beim Training 224 auf variablen Startpunkten in Datenprotokollen, degradierten Datenprotokollen und Datenprotokollen oder Protokollstücken mit variabler Länge zu trainieren. In einigen Ausführungsformen kann die Trainingsfunktionseinheit 220 Funktionen enthalten, die es der Trainingsfunktionseinheit 220 ermöglichen, eine, einige oder alle dieser Eigenschaften der Trainingsdaten 208a-N (oder der tokenisierten Eingabe 216) anzupassen, um das Training des neuronalen Netzes im Training 224 des Modells zu verbessern. Insbesondere, aber ohne Einschränkung, kann die Trainingsfunktionseinheit 220 eine oder mehrere Komponenten enthalten, die eine Mischung der Trainingsdaten 228, eine Startpunktvariation 232, eine Degradation der Trainingsdaten 236 und/oder eine Längenvariation 240 ermöglichen. Anpassungen der Trainingsdaten können zu einer ähnlichen Genauigkeit wie bei den festen Startpositionen führen, und das/die daraus resultierende(n) trainierte(n) neuronale(n) Netz(e) 132 kann/können bei Protokollstücken mit variablen Startpositionen gut funktionieren (z. B. micro-F1: 0,9938).
  • Ein robustes und effektives trainiertes neuronales Netz 132 kann erreicht werden, wenn die Trainingsfunktionseinheit 220 das neuronale Netz beim Training 224 des Modells auf Datenprotokollstücken trainiert. Die Testgenauigkeit eines trainierten neuronalen Netzes 132 kann gemessen werden, indem jedes Datenprotokoll vor der Inferenz in sich überschneidende Datenprotokollteile aufgeteilt und dann wieder zusammengefügt wird und die Vorhersagen aus der mittleren Hälfte jedes Datenprotokollteils genommen werden. Auf diese Weise kann das Modell den meisten Kontext in beiden Richtungen für die Inferenz haben. Bei ordnungsgemäßem Training kann das trainierte neuronale Netz 132 die Fähigkeit aufweisen, Datenprotokolltypen außerhalb des Trainingssatzes zu analysieren (z. B. Datenprotokolltypen, die sich von den Typen der Trainingsdaten 208a-N unterscheiden, die zum Training des neuronalen Netzes 132 verwendet wurden). Bei einem Training mit nur 1000 Beispielen von jedem der neun verschiedenen Windows-Ereignisprotokolltypen kann ein trainiertes neuronales Netz 132 so konfiguriert werden, dass es einen noch nie zuvor gesehenen Windows-Ereignisprotokolltyp oder ein Datenprotokoll von einer Nicht-Windows-Datenquelle 112 genau analysiert (z. B. micro-F1: 0,9645).
  • 3 zeigt ein illustratives, aber nicht einschränkendes Verfahren 300 zum Training eines neuronalen Netzes, das einem sprachbasierten neuronalen Netz entsprechen kann. Das Verfahren 300 kann verwendet werden, um ein NLP-Modell für maschinelles Lernen zu trainieren, das ein Beispiel für ein neuronales Netz im Training 224 ist. Das Verfahren 300 kann verwendet werden, um mit einem vor-trainierten NLP-Modell zu beginnen, das ursprünglich auf einem Datenkorpus in einer bestimmten Sprache (z.B. Englisch, Japanisch, Deutsch, etc.) trainiert wurde. Beim Training eines vortrainierten NLP-Modells (manchmal auch als Feinabstimmung bezeichnet) kann die Trainingsfunktionseinheit 220 die internen Gewichtungen und/oder Schichten des neuronalen Netzes im Training 224 aktualisieren. Das Trainingsgerät 220 kann auch so konfiguriert sein, dass es dem trainierten neuronalen Netz 132 eine Klassifizierungsschicht hinzufügt. Alternativ kann das Verfahren 300 auch dazu verwendet werden, ein Modell von Grund auf zu trainieren. Das Training eines Modells von Grund auf kann von der Verwendung vieler Datenquellen 112 und vieler verschiedener Maschinentypen 204a-N profitieren, von denen jeder verschiedene Arten von Trainingsdaten 208a-N bereitstellt.
  • Unabhängig davon, ob das Verfahren 300 mit der Feinabstimmung eines bereits trainierten Modells oder mit einem Neuanfang beginnt, kann es damit beginnen, initiale Trainingsdaten 208a-N zu erhalten (Schritt 304). Die Trainingsdaten 208a-N können von einer oder mehreren Maschinen 204a-N unterschiedlichen Typs stammen. Obwohl in 2 mehr als drei verschiedene Typen von Maschinen 204a-N gezeigt werden, können die Trainingsdaten 208a-N von einer größeren oder geringeren Anzahl verschiedener Typen von Maschinen 204a-N stammen. In einigen Ausführungsformen kann die Anzahl N der verschiedenen Maschinentypen einem ganzzahligen Wert entsprechen, der größer als oder gleich eins ist. Außerdem muss die Anzahl der Typen von Trainingsdaten nicht unbedingt der Anzahl N der verschiedenen Maschinentypen entsprechen. So können beispielsweise zwei verschiedene Maschinentypen so konfiguriert sein, dass sie die gleichen oder ähnliche Arten von Trainingsdaten erzeugen.
  • Das Verfahren 300 kann fortgesetzt werden, indem festgestellt wird, ob zusätzliche Trainingsdaten oder andere Arten von Trainingsdaten 208a-N für das neuronale Netz beim Training 224 gewünscht werden (Schritt 308). Wenn diese Frage positiv beantwortet wird, werden die zusätzlichen Trainingsdaten 208a-N von der entsprechenden Datenquelle 112 bezogen, die einem anderen Maschinentyp 204a-N entsprechen kann als die ursprünglichen Trainingsdaten.
  • Danach oder wenn die Abfrage in Schritt 308 negativ beantwortet wird, wird das Verfahren 300 mit dem Tokenizer 212 fortgesetzt, der die Trainingsdaten in Token umwandelt und eine in Token umgewandelte Eingabe 216 für die Trainingsfunktionseinheit 220 erzeugt (Schritt 316). Es sollte verstanden werden, dass der Tokenisierungsschritt einem optionalen Schritt entsprechen kann und nicht erforderlich ist, um ein neuronales Netz im Training 224 ausreichend zu trainieren. In einigen Ausführungsformen kann der Tokenizer 212 so konfiguriert sein, dass er eine tokenisierte Eingabe 216 liefert, die die Trainingsdaten durch Einbettung, Worttrennung und/oder Positionskodierung tokenisiert.
  • Das Verfahren 300 kann auch einen optionalen Schritt der Aufteilung der Trainingsdaten in Datenprotokollstücke (Schritt 320) umfassen. Die Größe der Datenprotokollstücke kann auf der Grundlage einer maximalen Größe des Speichers 128 ausgewählt werden, der schließlich im Verarbeitungssystem 108 verwendet wird. Der optionale Teilungsschritt kann vor oder nach der Tokenisierung der Trainingsdaten durch den Tokenizer 212 durchgeführt werden. Beispielsweise kann der Tokenizer 212 Trainingsdaten 208a-N erhalten, die bereits in Datenprotokollstücke einer geeigneten Größe unterteilt wurden. In einigen Ausführungsformen kann es möglich sein, die Trainingsfunktionseinheit 220 mit Protokollstücken unterschiedlicher Größe zu versorgen.
  • Zusätzlich zur optionalen Anpassung der Größe der Datenprotokollstücke, die zum Trainieren des neuronalen Netzes im Training 224 verwendet werden, kann das Verfahren 300 auch die Möglichkeit bieten, andere Trainingsparameter anzupassen. So kann das Verfahren 300 damit fortfahren, zu bestimmen, ob andere Anpassungen für das Training des neuronalen Netzes im Training 224 verwendet werden (Schritt 324) oder nicht. Solche Anpassungen können, ohne Einschränkung, die Anpassung eines Trainings durch: (i) Mischen von Trainingsdaten 228; (ii) Variieren eines Startpunkts der Trainingsdaten 232; (iii) Verschlechtern zumindest einiger der Trainingsdaten 236 (z.B. Einfügen von Fehlern in die Trainingsdaten oder Löschen einiger Teile der Trainingsdaten); und/oder (iv) Variieren der Länge der Trainingsdaten oder von Teilen davon 240 (Schritt 328).
  • Die Trainingsfunktionseinheit 220 kann das neuronale Netz im Training 224 auf den verschiedenen Arten von Trainingsdaten 208a-N trainieren, bis festgestellt wird, dass das neuronale Netz im Training 224 ausreichend trainiert ist (Schritt 332). Die Feststellung, ob das Training ausreichend/vollständig ist oder nicht, kann auf einer Zeitkomponente basieren (z.B. ob das neuronale Netz im Training 224 mindestens eine vorbestimmte Zeit lang auf den Trainingsdaten 208a-N trainiert hat oder nicht). Alternativ oder zusätzlich kann die Bestimmung, ob das Training ausreichend/vollständig ist oder nicht, die Analyse einer Leistung des neuronalen Netzes im Training 224 mit einem neuen Datenprotokoll beinhalten, das nicht in den Trainingsdaten 208a-N enthalten war, um zu bestimmen, ob das neuronale Netz im Training 224 in der Lage ist, das neue Datenprotokoll mit mindestens einer minimal erforderlichen Genauigkeit zu analysieren. Alternativ oder zusätzlich kann die Bestimmung, ob das Training ausreichend/vollständig ist oder nicht, die Anforderung und den Empfang einer menschlichen Eingabe beinhalten, die anzeigt, dass das Training abgeschlossen ist. Wenn die Anfrage in Schritt 332 negativ beantwortet wird, setzt das Verfahren 300 das Training fort (Schritt 336) und kehrt zu Schritt 324 zurück.
  • Wenn die Anfrage in Schritt 332 positiv beantwortet wird, kann das neuronale Netz im Training 224 von der Trainingsfunktionseinheit 220 als trainiertes neuronales Netz 132 ausgegeben und im Speicher 128 für die nachfolgende Verarbeitung von Datenprotokollen aus Datenquellen 112 (Schritt 340) gespeichert werden. In einigen Ausführungsformen kann zusätzliches Feedback (menschliches Feedback oder automatisiertes Feedback) auf der Grundlage der Verarbeitung/der Analysierung (Parsing) tatsächlicher Datenprotokolle durch das neuronale Netz 132 empfangen werden. Dieses zusätzliche Feedback kann verwendet werden, um das neuronale Netz 132 außerhalb eines formalen Trainingsprozesses weiter zu trainieren oder fein abzustimmen (Schritt 344).
  • In den 4-6 werden weitere Details der Verwendung eines trainierten neuronalen Netzes 132 oder mehrerer trainierter neuronaler Netze 132 zur Verarbeitung oder Analyse von Datenprotokollen aus Datenquellen 112 in Übereinstimmung mit zumindest einigen Ausführungsformen der vorliegenden Offenbarung beschrieben. 4 zeigt eine illustrative Architektur, in der das/die trainierte(n) neuronale(n) Netzwerk(e) 132 eingesetzt werden kann/können. In dem dargestellten Beispiel liefern eine Vielzahl unterschiedlicher Gerätetypen 404a-M Datenprotokolle 408a-M an das/die trainierte(n) neuronale(n) Netz(e) 132. Die verschiedenen Gerätetypen 404a-M können verschiedenen Datenquellen 112 entsprechen, müssen es aber nicht. In einigen Ausführungsformen kann sich der erste Gerätetyp 404a vom zweiten Gerätetyp 404b unterscheiden, und jedes Gerät kann so konfiguriert sein, dass es Datenprotokolle 408a bzw. 408b für das/die trainierte(n) neuronale(n) Netz(e) 132 bereitstellt. Wie oben beschrieben, kann das neuronale Netz (bzw. die neuronalen Netze) 132 für die Verarbeitung sprachbasierter Eingaben trainiert worden sein und in einigen Ausführungsformen ein NLP-Modell für maschinelles Lernen enthalten.
  • Eines, einige oder alle der Datenprotokolle 408a-M können in einem Format empfangen werden, das für den Gerätetyp 404a-M, der die Datenprotokolle 408a-M erzeugt hat, nativ ist. Zum Beispiel kann das erste Datenprotokoll 408a in einem Format empfangen werden, das für den ersten Gerätetyp 404a nativ ist (z. B. Rohdatenformat), das zweite Datenprotokoll 408b kann in einem Format empfangen werden, das für den zweiten Gerätetyp 404b nativ ist, das dritte Datenprotokoll 408c kann in einem Format empfangen werden, das für den dritten Gerätetyp 404c nativ ist, ..., und das M-te Datenprotokoll 408M kann in einem Format empfangen werden, das für den M-ten Gerätetyp 404M nativ ist, wobei M ein ganzzahliger Wert ist, der größer als oder gleich eins ist. Die Datenprotokolle 408a-M müssen nicht notwendigerweise im gleichen Format bereitgestellt werden. Vielmehr können ein oder mehrere der Datenprotokolle 408a-M in einem anderen Format als die anderen Datenprotokolle 408a-M bereitgestellt werden.
  • Die Datenprotokolle 408a-M können vollständigen Datenprotokollen, partiellen Datenprotokollen, degradierten Datenprotokollen, Rohdatenprotokollen oder Kombinationen davon entsprechen. In einigen Ausführungsformen können eines oder mehrere der Datenprotokolle 408a-M alternativen Darstellungen oder strukturierten Transformationen eines Rohdatenprotokolls entsprechen. Beispielsweise können ein oder mehrere Datenprotokolle 408aM, die dem/den neuronalen Netzwerk(en) 132 zur Verfügung gestellt werden, deduplizierte Datenprotokolle, Zusammenfassungen von Datenprotokollen, bereinigte Datenprotokolle (z. B. Datenprotokolle, aus denen sensible/persönlich identifizierbare Informationen (engl. „personally identifiable information“, kurz PII) entfernt oder verschleiert wurden), Kombinationen davon und Ähnliches umfassen. In einigen Ausführungsformen werden ein oder mehrere der Datenprotokolle 408a-M in einem Datenstrom direkt von der Datenquelle 112 empfangen, die das Datenprotokoll erzeugt. Beispielsweise kann der erste Gerätetyp 404a einer Datenquelle 112 entsprechen, die das erste Datenprotokoll 408a als Datenstrom unter Verwendung eines beliebigen Kommunikationsprotokolls, das zur Übertragung von Datenprotokollen über das Kommunikationsnetz 104 geeignet ist, überträgt. Als spezifischeres, aber nicht einschränkendes Beispiel kann eines oder mehrere der Datenprotokolle 408a-M einem Cyberprotokoll entsprechen, das Sicherheitsdaten enthält, die von einer Maschine zu einer anderen Maschine über das Kommunikationsnetz 104 übertragen werden.
  • Da das/die Datenprotokoll(e) 408a-M dem neuronalen Netzwerk 132 in einem nativen Format zur Verfügung gestellt werden kann/können, kann/können das/die Datenprotokoll(e) 408a-M verschiedene Arten von Daten oder Datenfeldern enthalten, die von einer Maschine erzeugt werden, die über das Kommunikationsnetzwerk 104 kommuniziert. Ein oder mehrere der Datenprotokolle 408a-M können beispielsweise einen Dateipfadnamen, eine IP-Adresse (Internet Protocol), eine MAC-Adresse (Media Access Control), einen Zeitstempel, einen Hexadezimalwert, einen Sensormesswert, einen Benutzernamen, einen Kontonamen, einen Domänennamen, einen Hyperlink, Metadaten des Hostsystems, Informationen über die Dauer der Verbindung, Informationen über das Kommunikationsprotokoll, eine Identifizierung des Kommunikationsports und/oder eine Rohdaten-Nutzlast enthalten. Die Art der in dem/den Datenprotokoll(en) 408a-M enthaltenen Daten kann von der Art des Geräts 404a-M abhängen, das das/die Datenprotokoll(e) 408a-M erzeugt. Beispielsweise kann eine Datenquelle 112, die einem Kommunikationsendpunkt entspricht, in einem Datenprotokoll 408 Anwendungsinformationen, Informationen über das Benutzerverhalten, Informationen über die Netzwerkverbindung usw. enthalten, während eine Datenquelle 112, die einem Netzwerkgerät oder einem Netzwerkgrenzgerät entspricht, Informationen über die Netzwerkkonnektivität, das Netzwerkverhalten, Informationen über die Dienstgüte (engl. „Quality of Service“, kurz QoS), Verbindungszeiten, die Portnutzung usw. enthalten kann.
  • In einigen Ausführungsformen können die Datenprotokolle 408a-M zunächst einer Vorverarbeitungsstufe 412 zugeführt werden. Die Vorverarbeitungsstufe 412 kann so konfiguriert sein, dass sie eines oder mehrere der Datenprotokolle 408a-M tokenisiert, bevor sie die Datenprotokolle an das neuronale Netz 132 weiterleitet. Die Vorverarbeitungsstufe 412 kann einen Tokenizer enthalten, ähnlich dem Tokenizer 212, der es der Vorverarbeitungsstufe 412 ermöglicht, das/die Datenprotokoll(e) 408a-M unter Verwendung von Worteinbettung, geteilten Wörtern und/oder Positionskodierung zu tokenisieren.
  • Die Vorverarbeitungsstufe 412 kann auch so konfiguriert sein, dass sie andere Vorverarbeitungsaufgaben durchführt, wie z. B. die Unterteilung eines Datenprotokolls 408 in eine Vielzahl von Datenprotokollstücken und die anschließende Bereitstellung der Datenprotokollstücke für das neuronale Netz 132. Die Datenprotokollteile können unterschiedlich groß sein und sich überlappen oder auch nicht. Beispielsweise kann ein Datenprotokollteil eine gewisse Überlappung oder einen gemeinsamen Inhalt mit einem anderen Datenprotokollteil haben. Die maximale Größe der Datenprotokollstücke kann auf der Grundlage der Beschränkungen des Speichers 128 und/oder des Prozessors 116 bestimmt werden. Alternativ oder zusätzlich kann die Größe der Datenprotokollstücke auf der Grundlage der Größe der Trainingsdaten 232 bestimmt werden, die während des Trainings des neuronalen Netzes 132 verwendet werden. Die Vorverarbeitungsstufe 412 kann alternativ oder zusätzlich so konfiguriert sein, dass sie Vorverarbeitungstechniken durchführt, die Deduplizierungsverarbeitung, Zusammenfassungsverarbeitung, Löschen/Verschleiern (engl. „Scrubbing/Obfuscation“) sensibler Daten usw. umfassen.
  • Es sei darauf hingewiesen, dass die Datenprotokolle 408a-M nicht unbedingt vollständig oder fehlerfrei sein müssen. Mit anderen Worten, wenn das neuronale Netz 132 angemessen trainiert wurde, kann es für das neuronale Netz 132 möglich sein, unvollständige Datenprotokolle 408a-M und/oder degradierte Datenprotokolle 408a-M erfolgreich zu analysieren, denen zumindest einige Informationen fehlen, die enthalten waren, als die Datenprotokolle 408a-M an der Datenquelle 112 erzeugt wurden. Solche Verluste können aufgrund von Netzwerkkonnektivitätsproblemen auftreten (z. B. verlorene Pakete, Verzögerung, Rauschen usw.), und daher kann es wünschenswert sein, das neuronale Netzwerk 132 so zu trainieren, dass es die Möglichkeit unvollständiger Datenprotokolle 408a-M berücksichtigt.
  • Das neuronale Netzwerk 132 kann so konfiguriert sein, dass es das/die Datenprotokoll(e) 408a-M analysiert und eine Ausgabe 416 erstellt, die im Datenprotokollspeicher 140 gespeichert werden kann. Beispielsweise kann das neuronale Netzwerk 132 eine Ausgabe 416 bereitstellen, die rekonstituierte vollständige Schlüssel/Wert-Werte der verschiedenen Datenprotokolle 408a-M enthält, die analysiert wurden. In einigen Ausführungsformen kann das neuronale Netzwerk 132 Datenprotokolle 408a-M mit unterschiedlichen Formaten analysieren, unabhängig davon, ob diese Formate dem neuronalen Netzwerk 132 bekannt oder unbekannt sind, und eine Ausgabe 416 erzeugen, die eine Kombination der verschiedenen Datenprotokolle 408a-M darstellt. Wenn das neuronale Netz 132 verschiedene Datenprotokolle 408a-M analysiert, kann die vom neuronalen Netz 132 auf der Grundlage der Analyse der einzelnen Datenprotokolle 408a-M erzeugte Ausgabe in einem gemeinsamen Datenformat als Teil des kombinierten Datenprotokolls 144 gespeichert werden.
  • In einigen Ausführungsformen kann die Ausgabe 416 des neuronalen Netzes 132 einem Eintrag für das kombinierte Datenprotokoll 144, einem Satz von Einträgen für das kombinierte Datenprotokoll 144 oder neuen Daten entsprechen, auf die das kombinierte Datenprotokoll 144 verweisen soll. Die Ausgabe 416 kann im kombinierten Datenprotokoll 144 gespeichert werden, damit der Prozessor 116 die Datenprotokollauswertung 136 ausführen und das kombinierte Datenprotokoll 144 nach verwertbaren Ereignissen durchsuchen kann.
  • Unter Bezugnahme auf die 4 und 5 wird nun ein Verfahren 500 zur Verarbeitung von Datenprotokollen 408a-M in Übereinstimmung mit zumindest einigen Ausführungsformen der vorliegenden Offenbarung beschrieben. Das Verfahren 500 kann mit dem Empfang von Datenprotokollen 408a-M von verschiedenen Datenquellen 112 beginnen (Schritt 504). Eine oder mehrere der Datenquellen 112 können einem ersten Gerätetyp 404a entsprechen, andere der Datenquellen 112 können einem zweiten Gerätetyp 404b entsprechen, andere der Datenquellen 112 können einem dritten Gerätetyp 404c entsprechen, ..., während wieder andere der Datenquellen 112 einem M-ten Gerätetyp 404M entsprechen können. Die verschiedenen Datenquellen 112 können Datenprotokolle 408a-M unterschiedlicher Typen und/oder Formate liefern, die dem neuronalen Netz 132 bekannt oder unbekannt sein können.
  • Das Verfahren 500 kann mit der Vorverarbeitung des/der Datenprotokolls/Datenprotokolle 408a-M in der Vorverarbeitungsstufe 412 (Schritt 508) fortgesetzt werden. Die Vorverarbeitung kann die Tokenisierung eines oder mehrerer der Datenprotokolle 408a-M und/oder die Unterteilung eines oder mehrerer Datenprotokolle 408a-M in kleinere Datenprotokollstücke umfassen. Die vorverarbeiteten Datenprotokolle 408a-M können dann dem neuronalen Netz 132 zugeführt werden (Schritt 512), wo die Datenprotokolle 408a-M analysiert werden (Schritt 516).
  • Auf der Grundlage des Analyse-Schritts kann das neuronale Netz 132 eine Ausgabe 416 erstellen (Schritt 520). Die Ausgabe 416 kann in Form eines kombinierten Datenprotokolls 144 bereitgestellt werden, das in dem Datenprotokollspeicher 140 gespeichert werden kann (Schritt 524).
  • Das Verfahren 500 kann fortgesetzt werden, indem der Prozessor 116 in die Lage versetzt wird, den Datenprotokollspeicher 140 und die darin enthaltenen Daten (z. B. das kombinierte Datenprotokoll 144) zu analysieren (Schritt 528). Der Prozessor 116 kann den Datenprotokollspeicher 140 analysieren, indem er die im Speicher 128 gespeicherte Datenprotokollauswertung 136 ausführt. Auf der Grundlage der Analyse des Datenprotokollspeichers 140 und der darin enthaltenen Daten kann das Verfahren 500 fortgesetzt werden, indem festgestellt wird, ob ein auslösbares Datenereignis erkannt wurde (Schritt 532). Wenn die Abfrage positiv beantwortet wird, kann der Prozessor 116 so konfiguriert sein, dass er eine Warnmeldung erzeugt, die an ein Kommunikationsgerät 148 übermittelt wird, das von einem Systemadministrator 152 bedient wird (Schritt 536). Die Warnmeldung kann Informationen enthalten, die das auslösbare Datenereignis beschreiben, möglicherweise einschließlich des Datenprotokolls 408, das das auslösbare Datenereignis ausgelöst hat, der Datenquelle 112, die das Datenprotokoll 408 erzeugt hat, das das auslösbare Datenereignis ausgelöst hat, und/oder ob andere Datenanomalien mit einer gewissen Beziehung zu dem auslösbaren Datenereignis erkannt wurden.
  • Danach oder für den Fall, dass die Abfrage in Schritt 532 negativ beantwortet wird, kann das Verfahren 500 damit fortgesetzt werden, dass der Prozessor 116 auf eine weitere Änderung im Datenprotokollspeicher 140 wartet (Schritt 540), die auf dem Empfang eines neuen Datenprotokolls in Schritt 504 basieren kann oder nicht. In einigen Ausführungsformen kann das Verfahren zu Schritt 504 oder zu Schritt 528 zurückkehren.
  • In 6 wird nun ein Verfahren 600 zur Vorverarbeitung von Datenprotokollen 408 in Übereinstimmung mit zumindest einigen Ausführungsformen der vorliegenden Offenbarung beschrieben. Das Verfahren 600 kann beginnen, wenn ein oder mehrere Datenprotokolle 408a-M in der Vorverarbeitungsstufe 412 (Schritt 604) empfangen werden. Die Datenprotokolle 408a-M können Rohdatenprotokollen, analysierten Datenprotokollen, degradierten Datenprotokollen, verlustbehafteten Datenprotokollen, unvollständigen Datenprotokollen oder Ähnlichem entsprechen. In einigen Ausführungsformen können die in Schritt 604 empfangenen Datenprotokolle 408a-M als Teil eines Datenstroms (z. B. eines IP-Datenstroms) empfangen werden.
  • Das Verfahren 600 kann damit fortgesetzt werden, dass die Vorverarbeitungsstufe 412 feststellt, dass mindestens ein Datenprotokoll 408 in Protokollstücke aufgeteilt werden soll (Schritt 608). Nach dieser Bestimmung kann die Vorverarbeitungsstufe 412 das Datenprotokoll 408 in Protokollstücke geeigneter Größe aufteilen (Schritt 612). Das Datenprotokoll 408 kann in gleich große Protokollteile aufgeteilt werden oder das Datenprotokoll 408 kann in Protokollteile unterschiedlicher Größe aufgeteilt werden.
  • Danach kann die Vorverarbeitungsstufe 412 die Datenprotokollstücke dem neuronalen Netz 132 zum Analysieren bereitstellen (Schritt 616). In einigen Ausführungsformen können die Größe und Variabilität der Datenprotokollstücke auf der Grundlage der Merkmale der Trainingsdaten 208a-N ausgewählt werden, die zum Trainieren des neuronalen Netzes 132 verwendet werden.
  • In der Beschreibung wurden spezifische Details angegeben, um ein gründliches Verständnis der Ausführungsformen zu ermöglichen. Einem Fachmann wird jedoch klar sein, dass die Ausführungsformen auch ohne diese spezifischen Details praktiziert werden können. In anderen Fällen können bekannte Schaltungen, Prozesse, Algorithmen, Strukturen und Techniken ohne unnötige Details dargestellt werden, um die Ausführungsformen nicht zu verdecken.
  • Während illustrative Ausführungsformen der Offenbarung hier im Detail beschrieben wurden, ist es zu verstehen, dass die erfinderischen Konzepte auf andere Weise verkörpert und verwendet werden können, und dass die beigefügten Ansprüche so ausgelegt werden sollen, dass sie solche Variationen einschließen, sofern sie nicht durch den Stand der Technik eingeschränkt sind.
  • Es versteht sich, dass die oben beschriebenen Aspekte und Ausführungsformen nur beispielhaft sind und dass im Rahmen der Ansprüche Änderungen im Detail vorgenommen werden können.
  • Jedes Gerät, Verfahren und Merkmal, das in der Beschreibung und (gegebenenfalls) in den Ansprüchen und Zeichnungen offenbart wird, kann unabhängig oder in jeder geeigneten Kombination bereitgestellt werden.
  • Die in den Ansprüchen enthaltenen Bezugszeichen dienen nur der Veranschaulichung und haben keine einschränkende Wirkung auf den Umfang der Ansprüche.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 16596755 [0050]

    Claims (27)

    1. Verfahren zum Verarbeiten von Datenprotokollen, wobei das Verfahren umfasst: Empfangen eines Datenprotokolls von einer Datenquelle, wobei das Datenprotokoll in einem Format empfangen wird, das für eine Maschine, die das Datenprotokoll erzeugt hat, nativ ist; Bereitstellen des Datenprotokolls für ein neuronales Netz, das für die Verarbeitung von Eingaben in natürlicher Sprache trainiert ist; Analysieren des Datenprotokolls mit dem neuronalen Netz; Empfangen einer Ausgabe von dem neuronalen Netz, wobei die Ausgabe von dem neuronalen Netz als Reaktion auf das Analysieren des Datenprotokolls durch das neuronale Netz erzeugt wird; und Speichern der Ausgabe des neuronalen Netzes in einem Datenprotokollspeicher.
    2. Verfahren nach Anspruch 1, ferner umfassend: Empfangen eines zusätzlichen Datenprotokolls von einer zusätzlichen Datenquelle, wobei sich die zusätzliche Datenquelle von der Datenquelle unterscheidet und wobei das zusätzliche Datenprotokoll in einem zweiten Format empfangen wird, das für die zusätzliche Datenquelle nativ ist; Bereitstellen des zusätzlichen Datenprotokolls für das neuronale Netz; Analysieren des zusätzlichen Datenprotokolls mit dem neuronalen Netz; Empfangen einer zusätzlichen Ausgabe von dem neuronalen Netz, wobei die zusätzliche Ausgabe von dem neuronalen Netz als Reaktion auf das Analysieren des zusätzlichen Datenprotokolls durch das neuronale Netz erzeugt wird; und Speichern der zusätzlichen Ausgabe des neuronalen Netzes im Datenprotokollspeicher.
    3. Verfahren nach Anspruch 2, wobei die Ausgabe und die zusätzliche Ausgabe in dem Datenprotokollspeicher in einem gemeinsamen Datenformat als Teil eines kombinierten Datenprotokolls gespeichert werden.
    4. Verfahren nach Anspruch 2 oder 3, wobei das zusätzliche Datenprotokoll als Datenstrom direkt von der zusätzlichen Datenquelle empfangen wird.
    5. Verfahren nach Anspruch 2, 3 oder 4, wobei die Maschine, die das Datenprotokoll erzeugt hat, einen ersten Gerätetyp umfasst, wobei die zusätzliche Datenquelle einen zweiten Gerätetyp umfasst, und wobei der erste Gerätetyp und der zweite Gerätetyp zu einer gemeinsamen Netzwerkinfrastruktur gehören.
    6. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Maschine, die das Datenprotokoll erzeugt hat, zumindest einen von einem Kommunikationsendpunkt, einem Netzwerkgerät, einem Netzwerkgrenzgerät, einem Sicherheitsgerät oder einem Sensor umfasst.
    7. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Datenprotokoll Sicherheitsdaten umfasst, die von der Maschine an eine andere Maschine übermittelt werden, und wobei das neuronale Netz ein maschinelles Lernmodell für natürliche Sprachverarbeitung umfasst.
    8. Verfahren nach einem der vorhergehenden Ansprüche, ferner umfassend: Aufteilen des Datenprotokolls in eine Vielzahl von Datenprotokollstücken; und Bereitstellen der Vielzahl von Datenprotokollstücken für das neuronale Netz, wobei das neuronale Netz mit Trainingsdaten trainiert ist, die Protokollstücke umfassen, und wobei eine Größe eines Protokollstücks in der Vielzahl von Datenprotokollstücken sich von einer Größe eines anderen Protokollstücks in der Vielzahl von Datenprotokollstücken unterscheidet.
    9. Verfahren nach einem der vorhergehenden Ansprüche, ferner umfassend: Analysieren des Datenprotokollspeichers; auf der Grundlage der Analyse des Datenprotokollspeichers, Erkennen eines auslösbaren Datenereignisses; und Bereitstellen einer Warnmeldung an ein Kommunikationsgerät, wobei die Warnmeldung Informationen enthält, die das auslösbare Datenereignis beschreiben.
    10. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Datenprotokoll mindestens eins von einem Dateipfadnamen, einer Internet Protocol (IP)-Adresse, einer Media Access Control (MAC)-Adresse, einem Zeitstempel, einem Hexadezimalwert, einem Sensormesswert, einem Benutzernamen, einem Kontonamen, einem Domänennamen, einem Hyperlink, Metadaten eines Hostsystems, einer Dauer der Verbindung, einem Kommunikationsprotokoll, einem Kommunikationsport und Rohnutzdaten umfasst.
    11. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Datenprotokoll mindestens eines von einem degradierten Protokoll und einem unvollständigen Protokoll umfasst.
    12. System zur Verarbeitung von Datenprotokollen, das Folgendes umfasst: einen Prozessor; und Speicher, der mit dem Prozessor gekoppelt ist, wobei der Speicher Daten speichert, die, wenn sie vom Prozessor ausgeführt werden, dem Prozessor ermöglichen: ein Datenprotokoll von einer Datenquelle zu empfangen, wobei das Datenprotokoll in einem Format empfangen wird, das für eine Maschine, die das Datenprotokoll erzeugt hat, nativ ist; das Datenprotokoll mit einem neuronalen Netz zu analysieren, das für die Verarbeitung von Eingaben in natürlicher Sprache trainiert wurde; und eine Ausgabe von dem neuronalen Netz in einem Datenprotokollspeicher zu speichern, wobei die Ausgabe von dem neuronalen Netz als Reaktion auf das Analysieren des Datenprotokolls durch das neuronale Netz erzeugt wird.
    13. System nach Anspruch 12, wobei die im Speicher gespeicherten Daten es dem Prozessor ferner ermöglichen, das Datenprotokoll vor dem Analysieren des Datenprotokolls mit dem neuronalen Netz zu tokenisieren.
    14. System nach Anspruch 12 oder 13, wobei die im Speicher gespeicherten Daten es dem Prozessor außerdem ermöglichen: ein zusätzliches Datenprotokoll von einer zusätzlichen Datenquelle zu empfangen, wobei sich die zusätzliche Datenquelle von der Datenquelle unterscheidet und wobei das zusätzliche Datenprotokoll in einem zweiten Format empfangen wird, das für die zusätzlichen Datenquelle nativ ist; das zusätzliche Datenprotokoll mit dem neuronalen Netz zu analysieren; und eine zusätzlichen Ausgabe von dem neuronalen Netz in dem Datenprotokollspeicher zu speichern, wobei die zusätzliche Ausgabe von dem neuronalen Netz als Reaktion auf das Analysieren des zusätzlichen Datenprotokolls durch das neuronale Netz erzeugt wird.
    15. System nach Anspruch 14, wobei die Ausgabe und die zusätzliche Ausgabe in dem Datenprotokollspeicher in einem gemeinsamen Datenformat als Teil eines kombinierten Datenprotokolls gespeichert werden.
    16. System nach Anspruch 14 oder 15, wobei das zusätzliche Datenprotokoll als Datenstrom direkt von der zusätzlichen Datenquelle empfangen wird.
    17. System nach Anspruch 14, 15 oder 16, wobei die Maschine, die das Datenprotokoll erzeugt hat, einen ersten Gerätetyp umfasst, wobei die zusätzliche Datenquelle einen zweiten Gerätetyp umfasst, und wobei der erste Gerätetyp und der zweite Gerätetyp zu einer gemeinsamen Netzinfrastruktur gehören.
    18. System nach einem der Ansprüche 12 bis 17, wobei das Datenprotokoll Sicherheitsdaten umfasst, die von der Maschine an eine andere Maschine übermittelt werden, und wobei das neuronale Netz ein maschinelles Lernmodell für natürliche Sprachverarbeitung umfasst.
    19. System nach einem der Ansprüche 12 bis 17, wobei die im Speicher gespeicherten Daten es dem Prozessor ferner ermöglichen: den Datenprotokollspeicher zu analysieren; auf der Grundlage der Analyse des Datenprotokollspeichers ein auslösbares Datenereignis zu erkennen; und eine Warnmeldung an ein Kommunikationsgerät bereitzustellen, wobei die Warnmeldung Informationen enthält, die das auslösbare Datenereignis beschreiben.
    20. System nach einem der Ansprüche 12 bis 19, wobei mindestens eines von dem Prozessor und dem Speicher in einer Grafikverarbeitungseinheit vorgesehen sind.
    21. System nach einem der Ansprüche 12 bis 20, wobei das Datenprotokoll mindestens eines von einem degradierten Protokoll und einem unvollständigen Protokoll umfasst.
    22. Verfahren zum Trainieren eines Systems zur Verarbeitung von Datenprotokollen, wobei das Verfahren umfasst: Bereitstellen eines neuronalen Netzes mit ersten Trainingsdaten, wobei das neuronale Netz ein maschinelles Lernmodell für die Verarbeitung natürlicher Sprache umfasst und wobei die ersten Trainingsdaten ein erstes Datenprotokoll umfassen, das von einer ersten Art von Maschine erzeugt wurde; Bereitstellen von zweiten Trainingsdaten für das neuronale Netz, wobei die zweiten Trainingsdaten ein zweites Datenprotokoll umfassen, das von einer zweiten Art von Maschine erzeugt wurde; Feststellen, dass das neuronale Netz mindestens eine vorbestimmte Zeit lang mit den ersten Trainingsdaten und den zweiten Trainingsdaten trainiert hat; und Speichern des neuronalen Netzes im Computerspeicher, so dass das neuronale Netz für die Verarbeitung weiterer Datenprotokolle zur Verfügung steht.
    23. Verfahren nach Anspruch 22, wobei das erste Datenprotokoll mindestens eines von einem Rohdatenprotokoll und einem analysierten Datenprotokoll umfasst, wobei das erste Datenprotokoll mit mindestens einem von einer Worteinbettung, von getrennten Wörtern und von Positionskodierung tokenisiert wird, und wobei das Verfahren weiterhin umfasst: Anpassen eines Trainings des neuronalen Netzes durch mindestens eines von: (i) Mischen der ersten Trainingsdaten und der zweiten Trainingsdaten; (ii) Variieren eines Startpunktes der ersten Trainingsdaten; (iii) Variieren eines Startpunktes der zweiten Trainingsdaten; und (iv) Degradieren mindestens eines von den ersten Trainingsdaten und den zweiten Trainingsdaten.
    24. Prozessor, umfassend: eine oder mehrere Schaltungen zur Verwendung eines oder mehrerer auf natürlicher Sprache basierender neuronaler Netze, um ein oder mehrere maschinell erzeugte Datenprotokolle zu analysieren.
    25. Prozessor nach Anspruch 24, wobei die eine oder mehreren Schaltungen dazu konfiguriert sind: die ein oder mehreren maschinell erzeugten Datenprotokolle von einer Datenquelle zu empfangen; und eine Ausgabe als Reaktion auf das Analysieren des einen oder der mehreren maschinell erzeugten Datenprotokolle zu erzeugen, wobei die Ausgabe so konfiguriert ist, dass sie als Teil eines Datenprotokollspeichers gespeichert wird.
    26. Prozessor nach Anspruch 24 oder 25, wobei die ein oder mehreren maschinell erzeugten Datenprotokolle als Teil eines Datenstroms empfangen werden.
    27. Prozessor nach Anspruch 24, 25 oder 26, wobei das eine oder die mehreren maschinell erzeugten Datenprotokolle mindestens eines von einem degradierten Protokoll, einem unvollständigen Protokoll, einem deduplizierten Protokoll, einer Protokollzusammenfassung, einem Protokoll mit verschleierten sensiblen Informationen und einem teilweisen Datenprotokoll umfassen.
    DE102021212380.5A 2020-11-04 2021-11-03 System und verfahren zur analyse von datenprotokollen Pending DE102021212380A1 (de)

    Applications Claiming Priority (2)

    Application Number Priority Date Filing Date Title
    US17/089,019 2020-11-04
    US17/089,019 US20220138556A1 (en) 2020-11-04 2020-11-04 Data log parsing system and method

    Publications (1)

    Publication Number Publication Date
    DE102021212380A1 true DE102021212380A1 (de) 2022-05-05

    Family

    ID=81184517

    Family Applications (1)

    Application Number Title Priority Date Filing Date
    DE102021212380.5A Pending DE102021212380A1 (de) 2020-11-04 2021-11-03 System und verfahren zur analyse von datenprotokollen

    Country Status (3)

    Country Link
    US (1) US20220138556A1 (de)
    CN (1) CN114443600A (de)
    DE (1) DE102021212380A1 (de)

    Cited By (1)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    CN115134276A (zh) * 2022-05-12 2022-09-30 亚信科技(成都)有限公司 一种挖矿流量检测方法及装置

    Families Citing this family (1)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    CN115129679A (zh) * 2021-03-29 2022-09-30 戴尔产品有限公司 通过日志文件的关键区域的基于机器学习的识别进行服务请求补救

    Family Cites Families (26)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US5463768A (en) * 1994-03-17 1995-10-31 General Electric Company Method and system for analyzing error logs for diagnostics
    US20050114321A1 (en) * 2003-11-26 2005-05-26 Destefano Jason M. Method and apparatus for storing and reporting summarized log data
    US7809551B2 (en) * 2005-07-01 2010-10-05 Xerox Corporation Concept matching system
    US20070143842A1 (en) * 2005-12-15 2007-06-21 Turner Alan K Method and system for acquisition and centralized storage of event logs from disparate systems
    US10587555B2 (en) * 2015-09-01 2020-03-10 Sap Portals Israel Ltd. Event log analyzer
    US10332012B2 (en) * 2015-10-08 2019-06-25 Sap Se Knowledge driven solution inference
    US10949765B2 (en) * 2016-09-15 2021-03-16 Accenture Global Solutions Limited Automated inference of evidence from log information
    US11163722B2 (en) * 2018-01-31 2021-11-02 Salesforce.Com, Inc. Methods and apparatus for analyzing a live stream of log entries to detect patterns
    US10956568B2 (en) * 2018-04-30 2021-03-23 Mcafee, Llc Model development and application to identify and halt malware
    US10649836B2 (en) * 2018-05-14 2020-05-12 Dell Products L.L.P. Detecting an error message and automatically presenting links to relevant solution pages
    US11615208B2 (en) * 2018-07-06 2023-03-28 Capital One Services, Llc Systems and methods for synthetic data generation
    US10452700B1 (en) * 2018-10-17 2019-10-22 Capital One Services, Llc Systems and methods for parsing log files using classification and plurality of neural networks
    US20200134449A1 (en) * 2018-10-26 2020-04-30 Naver Corporation Training of machine reading and comprehension systems
    WO2020145965A1 (en) * 2019-01-09 2020-07-16 Hewlett-Packard Development Company, L.P. Maintenance of computing devices
    US11372868B2 (en) * 2019-01-14 2022-06-28 Oracle International Corporation Parsing of unstructured log data into structured data and creation of schema
    US11249833B2 (en) * 2019-04-11 2022-02-15 Citrix Systems, Inc. Error detection and remediation using an error signature
    US10694056B1 (en) * 2019-04-17 2020-06-23 Xerox Corporation Methods and systems for resolving one or more problems related to a multi-function device via a local user interface
    US11409754B2 (en) * 2019-06-11 2022-08-09 International Business Machines Corporation NLP-based context-aware log mining for troubleshooting
    US11507742B1 (en) * 2019-06-27 2022-11-22 Rapid7, Inc. Log parsing using language processing
    US11475882B1 (en) * 2019-06-27 2022-10-18 Rapid7, Inc. Generating training data for machine learning models
    US11218500B2 (en) * 2019-07-31 2022-01-04 Secureworks Corp. Methods and systems for automated parsing and identification of textual data
    US11176015B2 (en) * 2019-11-26 2021-11-16 Optum Technology, Inc. Log message analysis and machine-learning based systems and methods for predicting computer software process failures
    US11429574B2 (en) * 2020-04-03 2022-08-30 International Business Machines Corporation Computer system diagnostic log chain
    US11966820B2 (en) * 2020-07-15 2024-04-23 Accenture Global Solutions Limited Utilizing machine learning models with a centralized repository of log data to predict events and generate alerts and recommendations
    US20220108181A1 (en) * 2020-10-07 2022-04-07 Oracle International Corporation Anomaly detection on sequential log data using a residual neural network
    US20220358162A1 (en) * 2021-05-04 2022-11-10 Jpmorgan Chase Bank, N.A. Method and system for automated feedback monitoring in real-time

    Cited By (2)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    CN115134276A (zh) * 2022-05-12 2022-09-30 亚信科技(成都)有限公司 一种挖矿流量检测方法及装置
    CN115134276B (zh) * 2022-05-12 2023-12-08 亚信科技(成都)有限公司 一种挖矿流量检测方法及装置

    Also Published As

    Publication number Publication date
    CN114443600A (zh) 2022-05-06
    US20220138556A1 (en) 2022-05-05

    Similar Documents

    Publication Publication Date Title
    DE102021212380A1 (de) System und verfahren zur analyse von datenprotokollen
    DE112013000387B4 (de) Dynamisches Abtasten einer Webanwendung durch Verwendung von Webdatenverkehrs- Informationen
    DE202017105654U1 (de) Testen von Anwendungen mit einem definierten Eingabeformat
    US10855707B2 (en) Security system using automatic and scalable log pattern learning in security log analysis
    WO2012110314A1 (de) Verfahren und vorrichtung zur analyse von datenpaketen
    DE102013003055A1 (de) Verfahren und Vorrichtung zum Durchführen von Suchen in natürlicher Sprache
    DE112013006650T5 (de) Multi-Layer System zur Symbol-Speicher basierten Kompression von Mustern
    DE112019001533T5 (de) Erweiterung von trainingsdaten für die klassifikation von natürlicher sprache
    US20150095359A1 (en) Volume Reducing Classifier
    DE112011101831T5 (de) Schutz vor websiteübergreifenden Scripting-Attacken
    DE60313987T2 (de) Herstellung von regeln zur filterung von computerapplikationen
    DE102016203565A1 (de) Identifizieren von bösartigen Web-Infrastrukturen
    DE102016011905A1 (de) Bestimmen der Qualität einer Zusammenfassung eines Multimediainhalts
    DE112016005266T5 (de) Schnelle Musterentdeckung für Protokollanalyse
    DE102018007165A1 (de) Vorhersage von stilbrüchen innerhalb eines textinhalts
    DE112018005076T5 (de) Erstellen einer rangfolge von dokumenten auf grundlage ihres semantischen reichtums
    DE112020003365T5 (de) Überwachte kreuzmodale wiedergewinnung für zeitreihen und text unter verwendung von multimodalen triplettverlusten
    DE102017131382A1 (de) Ausgleichen von Modifikationen einer audiobasierten Computerprogrammausgabe
    DE112020000927T5 (de) Verwalten sensibler daten
    DE102021004562A1 (de) Abwandlung von Szenengraphen auf Grundlage von Befehlen in natürlicher Sprache
    DE102017131383A1 (de) Ausgleichen von Modifikationen einer audiobasierten Computerprogrammausgabe
    DE102017131381A1 (de) Validieren der Modifikation einer audiobasierten Computerprogrammausgabe
    DE102014116092A1 (de) Kontextüberprüfung von Synonymen bei einer durch die Ontologie veranlassten Verarbeitung natürlicher Sprache
    DE202022102766U1 (de) System zur Erkennung und Vermeidung von irreführenden Nachrichten und falschen Gerüchten in sozialen Medien
    DE112012004301T5 (de) Erzeugen einer vorhersagenden Datenstruktur

    Legal Events

    Date Code Title Description
    R012 Request for examination validly filed