DE112016002806T5 - Graphene-based intrusion detection using process traces - Google Patents

Graphene-based intrusion detection using process traces Download PDF

Info

Publication number
DE112016002806T5
DE112016002806T5 DE112016002806.7T DE112016002806T DE112016002806T5 DE 112016002806 T5 DE112016002806 T5 DE 112016002806T5 DE 112016002806 T DE112016002806 T DE 112016002806T DE 112016002806 T5 DE112016002806 T5 DE 112016002806T5
Authority
DE
Germany
Prior art keywords
entities
graph
events
entity
valid
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
DE112016002806.7T
Other languages
German (de)
Inventor
Zhengzhang Chen
LuAn Tan
Boxiang Dong
Guofei Jiang
Haifeng Chen
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.)
CLOUD BYTE LLC, NEWARK, US
Original Assignee
NEC Laboratories America Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US15/213,896 external-priority patent/US10305917B2/en
Application filed by NEC Laboratories America Inc filed Critical NEC Laboratories America Inc
Publication of DE112016002806T5 publication Critical patent/DE112016002806T5/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

Verfahren und Systeme zum Detektieren von böswilligen Prozessen umfassen das Modellieren von Systemdaten als Graphen mit Scheitelpunkten, die Systementitäten darstellen, und Kanten, die Ereignisse zwischen jeweiligen Systementitäten darstellen. Jede Kante weist einen oder mehrere Zeitstempel auf, die jeweiligen Ereignissen zwischen zwei Systementitäten entsprechen. Ein Satz von gültigen Pfadmustern, die sich auf potentielle Angriffe beziehen, wird erzeugt. Eine oder mehrere Ereignissequenzen im System werden auf der Basis des Graphen und der gültigen Pfadmuster unter Verwendung einer Zufallsbewegung auf dem Graphen als verdächtig bestimmt.Methods and systems for detecting malicious processes include modeling system data as graphs with vertices representing system entities and edges representing events between respective system entities. Each edge has one or more timestamps corresponding to respective events between two system entities. A set of valid path patterns related to potential attacks is generated. One or more event sequences in the system are determined to be suspect based on the graph and valid path patterns using random motion on the graph.

Description

INFORMATIONEN DER VERWANDTEN ANMELDUNGINFORMATION OF THE RELATED APPLICATION

Diese Anmeldung ist eine Teilfortführung der Anmeldung Nr. 15/098 861, eingereicht am 14. April 2016, die wiederum die Priorität zur Anmeldung lfd. Nr. 62/148 232, eingereicht am 16. April 2015, beansprucht. Diese Anmeldung beansprucht ferner die Priorität zur Anmeldung lfd. Nr. 62/196 404, eingereicht am 24. Juli 2015, und zur Anmeldung lfd. Nr. 62/300 572, eingereicht am 11. Juli 2016, die hier durch Bezugnahme vollständig mit aufgenommen sind.This application is a continuation-in-part of Application No. 15 / 098,861, filed April 14, 2016, which claims priority to application Ser. No. 62 / 148,232, filed on Apr. 16, 2015. This application further claims priority to the application Ser. No. 62 / 196,404 filed on Jul. 24, 2015, and to the application Ser. No. 62 / 300,572 filed on Jul. 11, 2016, which are incorporated herein by reference in their entirety are.

HINTERGRUNDBACKGROUND

Technisches GebietTechnical area

Die vorliegende Erfindung bezieht sich auf Computer- und Informationssicherheit und insbesondere auf die Eindringdetektion auf Host-Ebene an massiven Prozessspuren.The present invention relates to computer and information security, and more particularly to host-level intrusion detection on massive process traces.

Beschreibung des Standes der TechnikDescription of the Prior Art

Unternehmensnetze sind Schlüsselsysteme in Gesellschaften und sie übertragen die enorme Mehrheit von betriebsnotwendigen Informationen. Infolge ihrer Bedeutung sind diese Netze häufig die Angriffsziele. Um die Informationssicherheit im Netz von Computern zu garantieren, ist ein Eindringdetektionssystem erforderlich, um den laufenden Status des ganzen Netzes zu verfolgen und Szenarios zu identifizieren, die potentiellen Angriffen oder böswilligen Verhaltensweisen zugeordnet sind.Corporate networks are key systems in companies and they transfer the vast majority of operational information. Due to their importance, these nets are often the targets of attack. To guarantee information security in the network of computers, an intrusion detection system is required to track the current status of the entire network and to identify scenarios associated with potential attacks or malicious behaviors.

Auf der Host-Ebene sammeln Detektionssysteme reiche Informationen über Prozess/Programm-Ereignisse (z. B. wenn ein Programm eine Datei öffnet) an einem speziellen Host oder einer speziellen Maschine. Obwohl diese Informationen ermöglichen, dass Eindringdetektionssysteme das Eindringverhalten genau überwachen, misslingt es Detektionstechniken auf Signaturbasis, neue Gefahren zu detektieren, während Detektionstechniken auf Anomaliebasis entweder sich auf die Detektion eines einzelnen anomalen Prozesses konzentrieren oder erfordern, dass ein Offline-Modell aus Trainingsdaten mit rein normalen Ereignissen aufgebaut wird.At the host level, detection systems collect rich information about process / program events (eg, when a program opens a file) at a particular host or machine. Although this information allows intrusion detection systems to closely monitor intrusion behavior, it fails to detect new detection threats on signature-based detection techniques, while anomaly-based detection techniques either focus on the detection of a single anomalous process or require an offline model of training data to be purely normal Events is built.

Bedeutender beruhen Eindringdetektionssysteme häufig auf einer koordinierten oder sequentiellen, nicht unabhängigen Handlung von mehreren Systemereignissen, um zu bestimmen, in welchem Zustand sich ein gegebenes System befindet. Das System, das Daten überwacht, besteht typischerweise aus Prozessereignissen niedriger Ebene oder Wechselwirkungen zwischen verschiedenen Systementitäten wie z. B. Prozessen, Dateien und Buchsen (z. B. wenn ein Programm eine Datei öffnet oder mit einem Server verbindet) mit exakten Zeitstempeln, während versuchte Eindringungen Aktivitäten höherer Eben sind, die gewöhnlich mehrere verschiedene Prozessereignisse beinhalten. Ein Netzangriff, der fortschrittliche dauerhafte Gefahr (APT) genannt wird, besteht beispielsweise aus einem Satz von heimlichen und kontinuierlichen Computerhackprozessen. APT versucht zuerst, in der Umgebung Fuß zu fassen. Unter Verwendung der gefährdeten Systeme als Zugang in das Zielnetz setzt dann APT zusätzliche Werkzeuge ein, die helfen, das Angriffsziel zu erfüllen. Die Lücke, die zwischen den Ebenen von Prozessereignissen und Eindringaktivitäten existiert, macht es schwierig abzuleiten, welche Prozessereignisse auf reale böswillige Aktivitäten bezogen sind, insbesondere in Anbetracht dessen, dass massive, ”rauschbehaftete” Prozessereignisse dazwischen passieren. Daher sind herkömmliche Angriffsdetektionstechniken, die individuelle verdächtige Prozessereignisse identifizieren, ungeeignet, um dieses Szenario anzugehen.More importantly, intrusion detection systems often rely on a coordinated or sequential non-independent action of multiple system events to determine what state a given system is in. The system that monitors data typically consists of low level process events or interactions between different system entities such as For example, processes, files, and jacks (e.g., when a program opens or connects a file to a server) with exact timestamps, while attempted penetrations are higher level activities, usually involving several different process events. For example, a network attack known as Advanced Perilous Danger (APT) is a set of secret and continuous computer hacking processes. APT first tries to gain a foothold in the environment. Using the vulnerable systems as access to the target network, APT then employs additional tools that help meet the target. The gap that exists between the levels of process events and intrusion activities makes it difficult to deduce which process events are related to real malicious activities, especially given that massive, "noisy" process events happen in between. Therefore, conventional attack detection techniques that identify individual suspicious process events are inappropriate to address this scenario.

ZUSAMMENFASSUNGSUMMARY

Ein Verfahren zum Detektieren von böswilligen Prozessen umfasst das Modellieren von Systemdaten als Graphen mit Scheitelpunkten, die Systementitäten darstellen, und Kanten, die Ereignisse zwischen jeweiligen Systementitäten darstellen. Jede Kante weist einen oder mehrere Zeitstempel auf, die jeweiligen Ereignissen zwischen zwei Systementitäten entsprechen. Ein Satz von gültigen Pfadmustern, die sich auf potentielle Angriffe beziehen, wird erzeugt. Eine oder mehrere Ereignissequenzen im System werden auf der Basis des Graphen und der gültigen Pfadmuster unter Verwendung einer Zufallsbewegung auf dem Graphen als verdächtig bestimmt.One method of detecting malicious processes involves modeling system data as graphs with vertices representing system entities and edges representing events between respective system entities. Each edge has one or more timestamps corresponding to respective events between two system entities. A set of valid path patterns related to potential attacks is generated. One or more event sequences in the system are determined to be suspect based on the graph and valid path patterns using random motion on the graph.

Ein System zum Detektieren von böswilligen Prozessen umfasst ein Modellierungsmodul, das dazu konfiguriert ist, Systemdaten als Graphen zu modellieren, der Scheitelpunkte, die Systementitäten darstellen, und Kanten, die Ereignisse zwischen jeweiligen Systementitäten darstellen, aufweist. Jede Kante umfasst einen oder mehrere Zeitstempel, die jeweiligen Ereignissen zwischen zwei Systementitäten entsprechen. Ein Modul zum Entdecken von böswilligen Prozesspfaden umfasst einen Prozessor, der dazu konfiguriert ist, einen Satz von gültigen Pfadmustern zu erzeugen, die sich auf potentielle Angriffe beziehen, und ein oder mehrere Ereignissequenzen im System auf der Basis des Graphen und der gültigen Pfadmuster unter Verwendung einer Zufallsbewegung auf dem Graphen als verdächtig zu bestimmen.A system for detecting malicious processes includes a modeling module configured to model system data as graphs having vertices representing system entities and edges representing events between respective system entities. Each edge includes one or more timestamps corresponding to respective events between two system entities. A malicious process path detection module includes a processor configured to generate a set of valid path patterns related to potential attacks and one or more event sequences in the system based on the graph and valid path patterns using a Random motion on the graph to be suspect.

Diese und andere Merkmale und Vorteile werden aus der folgenden ausführlichen Beschreibung von erläuternden Ausführungsformen davon ersichtlich, die in Verbindung mit den begleitenden Zeichnungen gelesen werden soll.These and other features and advantages will become more apparent from the following Description of illustrative embodiments thereof, which should be read in conjunction with the accompanying drawings.

KURZBESCHREIBUNG DER ZEICHNUNGENBRIEF DESCRIPTION OF THE DRAWINGS

Die Offenbarung stellt Details in der folgenden Beschreibung von bevorzugten Ausführungsformen mit Bezug auf die folgenden Figuren bereit, in denen:The disclosure provides details in the following description of preferred embodiments with reference to the following figures, in which:

1 auf einen Netzgraphen gerichtet ist, der Gemeinschaften und Rollen von Knoten gemäß den vorliegenden Prinzipien darstellt. 1 is directed to a mesh graph representing communities and roles of nodes in accordance with the present principles.

2 ein Block/Ablauf-Diagramm eines Verfahrens zum Entdecken von Gemeinschafts- und Rollenmitgliedschaften und Detektieren von Anomalien gemäß den vorliegenden Prinzipien ist. 2 Figure 10 is a block / flow diagram of a method for discovering community and role memberships and detecting anomalies in accordance with the present principles.

3 ein Blockdiagramm eines Host-Ebenen-Analysemoduls gemäß den vorliegenden Prinzipien ist. 3 Figure 3 is a block diagram of a host level analysis module in accordance with the present principles.

4 ein Block/Ablauf-Diagramm eines Verfahrens zum Detektieren von verdächtigen Host-Ebenen-Ereignissequenzen gemäß den vorliegenden Prinzipien ist. 4 Figure 12 is a block / flow diagram of a method for detecting suspected host level event sequences in accordance with the present principles.

5 ein Segment eines Pseudocodes zum Detektieren von verdächtigen Host-Ebenen-Ereignissequenzen gemäß den vorliegenden Prinzipien ist. 5 is a segment of a pseudo-code for detecting suspected host-level event sequences in accordance with the present principles.

6 ein Blockdiagramm eines Verarbeitungssystems gemäß den vorliegenden Prinzipien ist. 6 Fig. 10 is a block diagram of a processing system according to the present principles.

AUSFÜHRLICHE BESCHREIBUNG VON BEVORZUGTEN AUSFÜHRUNGSFORMENDETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Gemäß den vorliegenden Prinzipien schaffen die vorliegenden Ausführungsformen die Entdeckung von böswilligen Prozesspfaden, wobei anomale Prozesspfade, die auf Eindringaktivitäten bezogen sind, detektiert werden. Dies wird unter Verwendung von Prozessspuren durchgeführt. Ein Satz von gültigen Sequenzmustern wird erzeugt und ein Prozess auf der Basis einer Zufallsbewegung wird verwendet, um Systemfunktionen zu lernen und verdächtige Prozesssequenzen zu entdecken. Um eine Bewertungsverzerrung von der Pfadlänge zu beseitigen, wird die Box-Cox-Leistungstransformation angewendet, um die Anomaliebewertungen von Prozesssequenzen zu normieren.In accordance with the present principles, the present embodiments provide detection of malicious process paths, detecting abnormal process paths related to penetration activities. This is done using process traces. A set of valid sequence patterns is generated and a random-based process is used to learn system functions and discover suspicious process sequences. In order to eliminate weighting bias from the path length, Box-Cox power transformation is used to normalize the anomaly scores of process sequences.

Die vorliegenden Ausführungsformen schaffen dadurch einen vollständigen Nachweis der Aktivitätsspur eines Angreifers (d. h. des Prozesspfades), nachdem ein Angriff stattgefunden hat. Außerdem detektieren die vorliegenden Ausführungsformen genauer böswillige Prozesspfade, was die Anzahl von falsch Positiven und falsch Negativen in weniger Zeit und mit weniger Rechenkomplexität verringert. Eine kompakte Graphenstruktur kann verwendet werden, um die Arbeitsspeicherlast zu verringern, ein Satz von gültigen Sequenzmustern kann erzeugt und verwendet werden, um den Suchraum zu verkleinern, und eine Zufallsbewegungsmethode kann verwendet werden, um die Rechenkosten zu verringern. Ferner können die vorliegenden Ausführungsformen neue Angriffe detektieren, da keine Trainingsdaten erforderlich sind.The present embodiments thereby provide complete evidence of the activity trace of an attacker (i.e., the process path) after an attack has occurred. In addition, the present embodiments more accurately detect malicious process paths, reducing the number of false positives and false negatives in less time and with less computational complexity. A compact graph structure can be used to reduce the memory load, a set of valid sequence patterns can be created and used to reduce the search space, and a random move method can be used to reduce computational costs. Further, the present embodiments may detect new attacks since training data is not required.

Mit Bezug nun im Einzelnen auf die Figuren, in denen gleiche Zeichen dieselben oder ähnliche Elemente darstellen, und anfänglich auf 1 ist eine Architektur eines automatischen Sicherheitsintelligenzsystems (ASI) gezeigt. Das ASI-System umfasst drei Hauptkomponenten: ein Agent 10 ist in jeder Maschine eines Unternehmensnetzes installiert, um Betriebsdaten zu sammeln; Backend-Server 200 empfangen Daten von den Agenten 10, vorverarbeiten die Daten und senden die vorverarbeiteten Daten zu einem Analyseserver 30; und einen Analyseserver 30, der das Sicherheitsanwendungsprogramm abarbeitet, um die Daten zu analysieren.Referring now in detail to the figures in which like characters represent the same or similar elements, and initially to 1 an architecture of an automatic security intelligence system (ASI) is shown. The ASI system has three main components: an agent 10 is installed in each machine of a corporate network to collect operational data; Backend server 200 receive data from the agents 10 , preprocess the data and send the preprocessed data to an analysis server 30 ; and an analysis server 30 running the security application program to analyze the data.

Jeder Agent 10 umfasst einen Agentenmanager 11, eine Agentenaktualisierungseinrichtung 12 und Agentendaten 13, die wiederum Informationen hinsichtlich aktiver Prozesse, Dateizugriff, Netzbuchsen, der Anzahl von Befehlen pro Zyklus und Host-Informationen umfassen können. Der Backend-Server 20 umfasst einen Agentenaktualisierungseinrichtungsserver 21 und einen Überwachungsdatenspeicher. Der Analyseserver 30 umfasst eine Eindringdetektion 31, eine Sicherheitsgrundsatzerfüllungsbeurteilung 32, eine Vorfallsrückverfolgung und Systemwiederherstellung 33 und eine zentralisierte Gefahrensuche und Gefahrenabfrage 34.Every agent 10 includes an agent manager 11 , an agent updater 12 and agent data 13 which, in turn, may include information regarding active processes, file access, power sockets, the number of instructions per cycle, and host information. The backend server 20 includes an agent updater server 21 and a monitoring data store. The analysis server 30 includes an intrusion detection 31 , a safety policy satisfaction assessment 32 , incident tracking, and system recovery 33 and a centralized hazard search and hazard inquiry 34 ,

Mit Bezug auf 2 ist ein zusätzliches Detail über die Eindringdetektion 31 gezeigt. Fünf Module befinden sich in einer Eindringdetektionsmaschine: ein Datenverteiler 41, der die Daten vom Backend-Server 20 empfängt und die entsprechenden zum Netzebenenmodul 42 und Host-Ebenen-Modul 43 verteilt; ein Netzanalysemodul 42, das die Netzkommunikationen (einschließlich TCP und UDP) verarbeitet und anomale Kommunikationsereignisse detektiert; ein Host-Ebenen-Analysemodul 43, das Host-Ebenen-Ereignisse verarbeitet, einschließlich Benutzer-Prozess-Ereignissen, Prozess-Datei-Ereignissen und Benutzer-Registratur-Ereignissen; ein Anomaliefusionsmodul 44, das Netzebenenanomalien und Host-Ebenen-Anomalien integriert und die Ergebnisse für vertrauenswürdige Eindringereignisse verfeinert; und ein Visualisierungsmodul 45, das die Detektionsergebnisse für Endbenutzer ausgibt.Regarding 2 is an additional detail about the intrusion detection 31 shown. Five modules are located in an intrusion detection machine: a data distributor 41 that receives the data from the backend server 20 receives and the corresponding to the network level module 42 and host levels module 43 distributed; a network analysis module 42 processing the network communications (including TCP and UDP) and detecting abnormal communication events; a host level analysis module 43 processing host level events, including user process events, process file events, and user registry events; an anomaly fusion module 44 Integrates network-level anomalies and host-level anomalies and refines the results for trusted intrusion events; and a visualization module 45 that outputs the detection results to end users.

Mit Bezug auf 3 ist ein zusätzliches Detail über das Host-Ebenen-Analysemodul 43 gezeigt. Das Host-Ebenen-Analysemodul 43 umfasst einen Hardwareprozessor 312 und einen Arbeitsspeicher 314. Außerdem umfasst das Host-Ebenen-Analysemodul 43 ein oder mehrere Funktionsmodule, die in einer Ausführungsform im Arbeitsspeicher 314 gespeichert sein können und durch den Hardwareprozessor 312 ausgeführt werden können. In einer alternativen Ausführungsform können die Funktionsmodule als ein oder mehrere diskrete Hardwarekomponenten in Form von z. B. anwendungsspezifischen integrierten Chips oder anwenderprogrammierbaren Verknüpfungsfeldern implementiert werden. Regarding 3 is an additional detail about the host level analysis module 43 shown. The host level analysis module 43 includes a hardware processor 312 and a memory 314 , It also includes the host level analysis module 43 one or more functional modules that in one embodiment are in memory 314 can be stored and by the hardware processor 312 can be executed. In an alternative embodiment, the functional modules may be implemented as one or more discrete hardware components in the form of e.g. Application-specific integrated chips or user-programmable link fields.

Das Host-Ebenen-Analysemodul 43 umfasst eine Anzahl von verschiedenen Analyse- und Detektionsfunktionen. Ein Prozess-Datei-Anomaliedetektionsmodul 302 nimmt Host-Ebenen-Prozess-Datei-Ereignisse vom Datenverteiler 41 als Eingabe und entdeckt anomale Prozess-Datei-Ereignisse. Diese Ereignisse können z. B. das Lesen von oder Schreiben in eine Datei umfassen. Ein Benutzer-Prozess-Anomaliedetektionsmodul 304 nimmt alle Streaming-Prozessereignisse als Eingabe vom Datenverteiler 41 und modelliert jedes Verhalten des Benutzers auf der Prozessebene, wobei verdächtige Prozesse identifiziert werden, die von jedem Benutzer betrieben werden. Ein USB-Ereignisanomaliedetektionsmodul 306 betrachtet auch die Streaming-Prozessereignisse und identifiziert alle auf eine USB-Vorrichtung bezogenen Ereignisse, um eine anomale Vorrichtungsaktivität zu detektieren. Ein Prozesssignaturanomaliedetektionsmodul 308 nimmt Prozessnamen und Signaturen als Eingabe vom Datenverteiler 41 und detektiert Prozesse mit verdächtigen Signaturen. Schließlich nimmt ein Modul 310 zum Entdecken von böswilligen Prozesspfaden aktuelle aktive Prozesse vom Datenverteiler 41 als Startpunkte und verfolgt alle möglichen Prozesspfade durch Kombinieren der eingehenden und vorherigen Ereignisse in einem Zeitfenster. Das Modul 310 zum Entdecken von böswilligen Prozesspfaden detektiert anomale Prozesssequenzen/Prozesspfade, wie nachstehend genauer beschrieben.The host level analysis module 43 includes a number of different analysis and detection functions. A process file anomaly detection module 302 takes host-level process file events from the data distributor 41 as input and detects abnormal process file events. These events can, for. For example, reading or writing to a file. A user-process anomaly detection module 304 takes all streaming process events as input from the data distributor 41 and models each user's behavior at the process level, identifying suspicious processes that are operated by each user. A USB event anomaly detection module 306 Also considers the streaming process events and identifies all events related to a USB device to detect abnormal device activity. A process signature abnormality detection module 308 takes process names and signatures as input from the data distributor 41 and detects processes with suspicious signatures. Finally, a module takes 310 to detect malicious process paths current active processes from the data distributor 41 as starting points and tracks all possible process paths by combining the incoming and previous events in a time window. The module 310 to detect malicious process paths detects abnormal process sequences / paths, as described in more detail below.

Mit Bezug nun auf 4 ist ein Verfahren für die Detektion von böswilligen Prozesspfaden gezeigt. Ein Entwurfsgraph wird als Eingabe verwendet. Der Entwurfsgraph ist ein heterogener Graph, der aus einem historischen Datensatz von Kommunikationen in einem Netz konstruiert wird, wobei die Knoten des Entwurfsgraphen physikalische Vorrichtungen in einem Unternehmensnetz darstellen und Kanten die normalen Kommunikationsmuster unter den Knoten widerspiegeln. Der Block 402 führt eine Graphenmodellierung unter Verwendung einer kompakten Graphenstruktur durch, um die komplexen Wechselwirkungen zwischen Systementitäten als azyklischen vielteiligen Graphen zu erfassen. Der Block 404 erzeugt dann einen Satz von gültigen Sequenzmustern auf der Basis einer maximalen Sequenzlänge. Die maximale Sequenzlänge kann durch einen Benutzer festgelegt werden oder ein optimaler Wert kann automatisch bestimmt werden. Das Bilden der gültigen Sequenzmuster verringert drastisch die Suchraumgröße des Graphen.With reference now to 4 a method for the detection of malicious process paths is shown. A design graph is used as input. The design graph is a heterogeneous graph constructed from a historical record of communications in a network, where the nodes of the design graph represent physical devices in a corporate network and edges reflect the normal communication patterns among the nodes. The block 402 performs graph modeling using a compact graph structure to capture the complex interactions between system features as an acyclic multipartite graph. The block 404 then generates a set of valid sequence patterns based on a maximum sequence length. The maximum sequence length can be set by a user or an optimal value can be determined automatically. Forming the valid sequence patterns drastically reduces the search space size of the graph.

Der Block 406 tastet dann den Graphen ab, um Kandidatenereignissequenzen zu bestimmen, die mit den Mustern konsistent sind. Ein ”Muster” bezieht sich auf einen geordneten Satz von Systementitätstypen, während eine ”Sequenz” sich auf einen geordneten Satz von speziellen Systementitäten bezieht. Folglich ist eine Sequenz mit einem Muster konsistent, wenn ihre Reihe von jeweiligen Typen der Systementitäten jenen des Musters entspricht. Sequenzen werden hier alternativ als ”Pfade” bezeichnet.The block 406 then scans the graph to determine candidate event sequences that are consistent with the patterns. A "pattern" refers to an ordered set of system type types, while a "sequence" refers to an ordered set of special system entities. Thus, a sequence is consistent with a pattern if its series of respective types of system properties matches those of the pattern. Sequences are alternatively referred to here as "paths".

Der Block 408 wendet eine Zufallsbewegung an, um die Eigenschaften jeder Entität zu extrahieren. Auf der Basis der Art der entdeckten Entität berechnet der Block 408 eine Anomaliebewertung jedes Kandidatenprozesses, um auszuwerten, wie anomal der Prozess ist. Da mehrere verschiedene Sequenzmuster mit unterschiedlichen Längen vorhanden sein können, und da die Bewertungen von zwei Pfaden mit unterschiedlichen Längen nicht direkt vergleichbar sind, wird die Anomaliebewertungsverteilung für jedes Sequenzmuster in eine einzelne Verteilung durch den Block 410 z. B. unter Verwendung einer Box-Cox-Leistungstransformation transformiert. Der Block 410 misst die Abweichung zwischen den verdächtigen Sequenzen und den normalen Sequenzen, wobei jene Sequenzen gemeldet werden, die eine höhere Abweichung als einen Schwellenwert aufweisen.The block 408 applies a random move to extract the properties of each entity. Based on the type of entity discovered, the block calculates 408 an anomaly assessment of each candidate process to evaluate how abnormal the process is. Since there may be several different sequence patterns with different lengths, and because the scores of two paths of different lengths are not directly comparable, the anomaly scoring distribution for each sequence pattern will be divided into a single distribution by the block 410 z. B. transformed using a Box-Cox power transformation. The block 410 measures the deviation between the suspicious sequences and the normal sequences, reporting those sequences that have a greater deviation than a threshold.

Angriffsverhalten beinhaltet häufig mehrere Systementitäten (z. B. Prozesse, Dateien, Buchsen usw.). Daher integrieren die vorliegenden Ausführungsformen die Wechselwirkungen zwischen mehreren verschiedenen Systementitäten.Attack behavior often involves multiple system entities (such as processes, files, jacks, etc.). Therefore, the present embodiments integrate the interactions between several different system entities.

Die Menge an Informationen, die durch die Systemüberwachung bereitgestellt werden, kann äußerst groß sein, was eine direkte Speicherung und einen direkten Zugriff auf diese Informationen im Arbeitsspeicher unpraktisch macht. Die Informationen weisen jedoch einen großen Grad an Redundanz auf. Die Redundanz ist zuerst in Attributen zu finden, da jeder Ereignisdatensatz nicht nur die beteiligten Entitäten, sondern auch die Attribute dieser Entitäten umfasst. Das wiederholte Speichern der Attribute für jedes Ereignis ist redundant. Zweitens ist das wiederholte Speichern von Ereignissen, die dieselben Entitäten beinhalten, wobei sich nur die Zeitstempel zwischen ihnen ändern, redundant. Drittens ist die Speicherung von Datensätzen, die für die Detektion von Eindringangriffen irrelevant sind, unnötig.The amount of information provided by the system monitor can be extremely large, making direct storage and direct access to this information in memory impractical. However, the information has a great deal of redundancy. The redundancy is first found in attributes, because each event record includes not only the entities involved, but also the attributes of those entities. Repeated saving of attributes for each event is redundant. Second, the repetitive storage of events involving the same entities, with only the timestamps changing between them, is redundant. Third, the storage of records that are irrelevant to the detection of intrusion attacks is unnecessary.

Das Graphenmodell wird daher durch den Block 402 erzeugt, um die bedeutungsvollen Informationen von den Überwachungsdaten in einer komprimierten Weise zu integrieren. Das Graphenmodell wird als gerichteter Graph G = (V, E, T) dargestellt, wobei T ein Satz von Zeitstempeln ist, E ⊂ V × V × T der Satz von Kanten ist und V = F ∪ P ∪ U ∪ S der Satz von Scheitelpunkten ist, wobei F der Satz von Dateien ist, die sich im Computersystem befinden, P der Satz von Prozessen ist, U der Satz von UNIX®-Buchsen ist und S der Satz von Internet-Buchsen ist. Für eine spezielle Kante (νi, ν3) in E bezeichnet T(νi, νj) den Satz von Zeitstempeln an der Kante. Für jedes Ereignis e wird, wenn die entsprechende Kante bereits in G existiert, ein Zeitstempel t zu den Kantenzeitstempeln hinzugefügt. Wen nicht, baut der Block 402 eine solche Kante zu G mit dem Zeitstempelsatz T(νi, νj) = {t} auf. In dieser Struktur werden die Attributwerte für eine einzige Entität nur einmal gespeichert. Für jede Ereignissequenz einer Länge/gibt es einen entsprechenden Pfad durch G von/Kanten. The graph model is therefore determined by the block 402 generated to integrate the meaningful information from the monitoring data in a compressed manner. The graph model is represented as a directed graph G = (V, E, T), where T is a set of timestamps, E ⊂ V × V × T is the set of edges and V = F ∪ P ∪ U ∪ S is the set of is vertices, where F is the set of files that are in the computer system, P is the set of processes, U the set of UNIX ® bushings and S is the set of Internet sockets. For a particular edge (ν i , ν 3 ) in E, T (ν i , ν j ) denotes the set of timestamps on the edge. For each event e, if the corresponding edge already exists in G, a timestamp t is added to the edge timestamps. If not, build the block 402 such an edge to G with the time stamp set T (ν i , ν j ) = {t}. In this structure, the attribute values for a single entity are stored only once. For each event sequence of length / there is a corresponding path through G of / edges.

Um die verdächtigsten Pfade vom Graphen G zu extrahieren, bestünde eine naive Methode darin, alle der existierenden Pfade zu untersuchen. Es ist jedoch unpraktisch, alle möglichen Pfade von einem dicht verbundenen Graphen aufzuzählen. Um eine Richtlinie für die Kandidatensuche im Block 406 zu schaffen, erzeugt der Block 404 einen Satz von gültigen Pfadmustern B. Nur jene Pfade, die den gültigen Pfadmustern entsprechen, werden auf potentielle Angriffe bezogen – andere können verworfen werden.To extract the most suspicious paths from the graph G, a naive method would be to examine all of the existing paths. However, it is impractical to enumerate all possible paths from a densely connected graph. To create a policy for the candidate search in the block 406 The block generates 404 a set of valid path patterns B. Only those paths that match the valid path patterns are related to potential attacks - others may be discarded.

Jedes Pfadmuster B der Länge/umfasst/Entitäten und/oder Entitätstypen. Folglich kann das Pfadmuster B sowohl spezielle Entitäten (z. B. spezielle Dateien) als auch allgemeinere Bezeichnungen des Entitätstyps im gleichen Pfad umfassen. B wird als gültiges Pfadmuster nur dann bestimmt, wenn mindestens ein Pfad p in G existiert, der mit B konsistent ist. In Anbetracht dessen, dass/eine kleine Zahl sein kann, können alle möglichen Pfade aufgezählt werden. Das Durchsuchen des Graphen G ermöglicht, dass alle gültigen Muster extrahiert werden.Each path pattern B of length / includes / entities and / or entity types. Thus, the path pattern B may include both special entities (e.g., special files) and more general entity type identifiers in the same path. B is determined as a valid path pattern only if there exists at least one path p in G that is consistent with B. Given that / can be a small number, all possible paths can be enumerated. Browsing the graph G allows all valid patterns to be extracted.

Die gültigen Pfadmuster B können beispielsweise durch Experten unter Verwendung ihrer Erfahrungen mit vorherigen Eindringdetektionsangriffen erzeugt werden. Es kann jedoch schwierig sein, einen genauen und vollständigen Satz von gültigen Pfadmustern von solchen Experten zu erhalten. An sich können Pfadmuster automatisch erzeugt werden. Jede Entität wird als spezieller Systementitätstyp festgelegt. Für alle Pfade, die einem Informationsleck entsprechen, müssen sie mit einer Dateientität (F) beginnen und mit einer Internet-Buchsenentität (I) enden. In Anbetracht eines Pfades p ∈ G und eines Pfadmusters B von G, stellen p[i] und B[i] den i-ten Knoten in p bzw. B dar. Der Pfad p ist daher mit B konsistent, der als p < B bezeichnet wird, wenn p und B dieselbe Länge aufweisen und wenn für jedes/p[i] ∈ B[i] gilt (d. h. die spezielle Entität p[i] gehört zum Entitätstyp B[i]). Dann ist B ein gültiges Pfadmuster, wenn mindestens ein Pfad p in G existiert, so dass p < B. In einem Beispiel gemäß den obigen Einschränkungen gibt es vier potentielle Pfadmuster mit einer Länge drei unter Verwendung der vier vorstehend beschriebenen Entitätstypen: {F, F, I}, {F, P, I}, {F, U, I} und {F, I, I}. Da nur ein Prozessknoten einen Dateiknoten mit einem Internet-Buchsenknoten verbinden kann. In dieser Weise können alle gültigen Muster in G entdeckt werden.The valid path patterns B may be generated, for example, by experts using their experience with previous intrusion detection attacks. However, it may be difficult to obtain an accurate and complete set of valid path patterns from such experts. As such, path patterns can be generated automatically. Each entity is designated as a specific system type. For all paths that match an information leak, they must begin with a file-type (F) and end with an Internet-connected-entity (I). Considering a path p ∈ G and a path pattern B of G, p [i] and B [i] represent the ith node in p and B, respectively. The path p is therefore consistent with B, which is p <B is denoted if p and B have the same length and if for each / p [i] ∈ B [i] holds (ie the special entity p [i] belongs to the entity type B [i]). Then B is a valid path pattern if at least one path p exists in G such that p <B. In one example according to the above constraints, there are four potential path patterns of length three using the four entity types described above: {F, F , I}, {F, P, I}, {F, U, I} and {F, I, I}. Because only one process node can connect a file node to an Internet book node. In this way, all valid patterns in G can be detected.

Auf der Basis der erzeugten gültigen Pfadmuster B sucht der Block 406 nach Pfaden im vielteiligen Graphen, die die Muster erfüllen. In Anbetracht einer Ereignissequenz seq = {e1, e2, ..., er) muss ein äquivalenter Pfad p = {ν1, ν2, ..., νr+1} im Graphen G vorhanden sein. Da die Ereignisse der Zeitreihenfolge folgen, wird eine Zeitreihenfolgeeinschränkung auf die Kandidatenpfadsuche angewendet. Durch Anwenden der Pfadmuster und der Zeitreihenfolgeeinschränkung auf eine Breitensuche können die Kandidatenpfade mit einer einmaligen Abtastung von G entdeckt werden. Die Kandidatenpfade C werden definiert als: C = {p|p ∈ G, ∃b ∈ B s.t. p < b} Based on the generated valid path pattern B, the block looks for 406 for paths in multipartite graphs that fulfill the patterns. Considering an event sequence seq = {e 1 , e 2 , ..., e r ), an equivalent path p = {ν 1 , ν 2 , ..., ν r + 1 } must be present in the graph G. Since the events follow the time order, a time order constraint is applied to the candidate path search. By applying the path patterns and time series constraint to a breadth-first search, the candidate paths can be discovered with a one-time sample of G. The candidate paths C are defined as: C = {p | p ∈ G, ∃b ∈ B st p <b}

Selbst mit einer Filterrichtlinie auf der Basis von Pfadmustern und der Zeitreihenfolgeeinschränkung kann immer noch eine große Anzahl von Kandidatenpfaden vorhanden sein, die im Graphen G verbleiben, von denen die meisten auf normales Verhalten bezogen sind. An sich extrahieren die vorliegenden Ausführungsformen verdächtige Pfade von dem größeren Satz von Kandidatenpfaden.Even with a filter policy based on path patterns and time series constraint, there may still be a large number of candidate paths that remain in graph G, most of which are related to normal behavior. As such, the present embodiments extract suspicious paths from the larger set of candidate paths.

Ein Kandidatenpfad wird durch den Block 408 als verdächtig bestimmt, wenn im Pfad die beteiligten Entitäten sich unterschiedlich von ihren normalen Rollen verhalten. In einem Computersystem werden die Informationssender und Informationsempfänger als Entitätsrollen identifiziert. Die Sender- und Empfängerbewertung sollte genau vom Computersystem gelernt werden, da sie verwendet werden, um das Profil des normalen Verhaltens festzulegen. Um dies zu erreichen, wird eine Zufallsbewegung auf den Graphen G angewendet. Von G wird eine quadratische N × N-Übergangsmatrix A berechnet als:

Figure DE112016002806T5_0002
wobei N die Gesamtzahl von Entitäten ist und T(vi, vj) der Satz von Zeitstempeln ist, an dem das Ereignis zwischen vi und vj jemals passiert ist. Folglich bezeichnet A[i][j] die Wahrscheinlichkeit, dass die Informationen von vi zu vj in G fließen.A candidate path is through the block 408 determined as suspicious if in the path the participating entities behave differently from their normal roles. In a computer system, the information sender and information recipients are identified as entity roles. The sender and receiver rating should be learned exactly by the computer system as they are used to set the profile of normal behavior. To achieve this, a random motion is applied to the graph G. From G, a square N × N transition matrix A is calculated as:
Figure DE112016002806T5_0002
where N is the total number of entities and T (v i , v j ) is the set of timestamps at which the event ever passed between v i and v j . Thus, A [i] [j] denotes the probability that the information flows from v i to v j in G.

Da A die Matrixdarstellung des vielteiligen Graphen G ist, kann A auch bezeichnet werden als:

Figure DE112016002806T5_0003
wobei null eine Null-Untermatrix darstellt, und wobei der Pfeiloperator eine Richtung des Informationsflusses angibt. P → F gibt beispielsweise einen Fluss von Informationen vom Prozess zur Datei an. Es sollte beachtet werden, dass die von null verschiedenen Untermatrizen von A nur zwischen Prozessen und Dateien und zwischen Prozessen und Buchsen auftreten, aber nicht zwischen jeweiligen Prozessen, da Prozess-Prozess-Wechselwirkungen nicht mit dem Wechselwirkungsfluss vorkommen. Diese sind durch UNIX-®-Systeme festgelegte Einschränkungen. Since A is the matrix representation of the multipart graph G, A can also be referred to as:
Figure DE112016002806T5_0003
where zero represents a zero sub-matrix and where the arrow operator indicates a direction of information flow. For example, P → F indicates a flow of information from the process to the file. It should be noted that the non-zero sub-matrices of A occur only between processes and files and between processes and jacks, but not between processes because process-process interactions do not occur with the interaction flow. These are restrictions imposed by UNIX ® systems.

Wenn X ein Senderbewertungsvektor sein soll, wobei X[i] die Senderbewertung von νi bezeichnet, und Y der Empfängerbewertungsvektor sein soll, dann können die Sender- und Empfängerbewertungen jeder Entität iterativ erzeugt werden als:

Figure DE112016002806T5_0004
wobei die anfänglichen Vektoren X0 und Y0 zufällig erzeugt werden und wobei sich m auf die Nummer der aktuellen Iteration bezieht. Allgemein ausgedrückt, eine Entität, die Informationen zu einer großen Anzahl von Entitäten mit hohen Empfängerbewertungen sendet, ist selbst ein wichtiger Informationssender und ebenso ist eine Entität, die Informationen von einer großen Anzahl von Entitäten mit hohen Senderbewertungen empfängt, ein wichtiger Informationsempfänger. Die Sender- und Empfängerbewertungen für eine Entität werden daher iterativ berechnet durch Akkumulieren der Empfänger- und Senderbewertungen in Bezug auf die Entität. Datei/etc./Passwort in einem UNIX®-System weist beispielsweise eine hohe Senderbewertung und eine niedrige Empfängerbewertung auf, da es zu vielen Prozessen zum Prüfen von Zugangserlaubnissen gesendet wird, aber selten modifiziert wird.If X is to be a transmitter weight vector, said X [i] denotes the channel evaluation of ν i, and Y is the recipient vector is to be reviewed, the transmitter and receiver reviews each entity can be generated iteratively as:
Figure DE112016002806T5_0004
wherein the initial vectors X 0 and Y 0 are generated randomly and wherein m refers to the number of the current iteration. Generally speaking, an entity that sends information to a large number of entities with high recipient ratings is itself an important information sender and also an entity that receives information from a large number of entities with high sender ratings is an important receiver of information. The sender and receiver scores for an entity are therefore calculated iteratively by accumulating the receiver and sender scores in relation to the entity. For example, file / etc / password in a UNIX® system has high station rating and low receiver rating because it is sent to many access permission checking processes but is rarely modified.

Ein Ergebnis dieser iterativen Verfeinerung besteht darin, dass die gelernten Bewertungswerte von den anfänglichen Bewertungswerten abhängen. Der Effekt der anfänglichen Bewertungswerte kann jedoch unter Verwendung der stationären Eigenschaft der Matrix beseitigt werden. In Anbetracht einer allgemeinen quadratischen Matrix M und eines allgemeinen Vektors π kann der allgemeine Vektor π wiederholt aktualisiert werden als: π T / m+1 = M × π T / m One result of this iterative refinement is that the learned score values depend on the initial scores. However, the effect of the initial scores can be eliminated using the stationary property of the matrix. Considering a general square matrix M and a general vector π, the general vector π can be repeatedly updated as: π T / m + 1 = M × π T / m

Ein Konvergenzzustand ist möglich, so dass πm+1 ≈ πm für ausreichend große Werte von m. In diesem Fall gibt es nur einen einzigen Wert, der den Konvergenzzustand erreichen kann: π T / n = M × π T / n A convergence state is possible such that π m + 1 ≈ π m for sufficiently large values of m. In this case, there is only one value that can reach the state of convergence: π T / n = M × π T / n

Der Konvergenzzustand weist die Eigenschaft auf, dass der konvergierte Vektor nur von der Matrix M abhängt, aber vom anfänglichen Vektorwert π0 unabhängig ist.The convergence state has the property that the converged vector depends only on the matrix M, but is independent of the initial vector value π 0 .

Um den Konvergenzzustand zu erreichen, muss die Matrix M zwei Bedingungen erfüllen: Irreduzibilität und Aperiodizität. Ein Graph G ist irreduzibel, wenn und nur wenn für beliebige zwei Knoten mindestens ein Pfad zwischen ihnen existiert. Die Periode eines Knotens ist die minimale Pfadlänge vom Knoten zurück zu sich selbst und die Periode eines Graphen ist der größte gemeinsame Teiler aller Periodenwerte der Knoten. Ein Graph G ist aperiodisch, wenn und nur wenn er irreduzibel ist und die Periode von G 1 ist.In order to achieve the state of convergence, the matrix M must fulfill two conditions: irreducibility and aperiodicity. A graph G is irreducible if and only if any two nodes have at least one path between them. The period of a node is the minimum path length from the node back to itself and the period of a graph is the largest common divisor of all the period values of the nodes. A graph G is aperiodic if and only if it is irreducible and the period of G 1.

Da der Systemgraph G nicht immer stark verbunden ist, erreicht die vorstehend beschriebene Iteration nicht immer Konvergenz. Um die Konvergenz sicherzustellen, wird eine Neustartmatrix R hinzugefügt, die eine quadratische N × N-Matrix ist, wobei jeder Zellenwert 1 / N ist. Eine neue Übergangsmatrix A ist definiert als: A = (1 – c) × A + c × R wobei c ein Wert zwischen 0 und 1 ist und als Neustartverhältnis bezeichnet wird. Es wird garantiert, dass A irreduzibel und aperiodisch ist, was konvergierte Senderbewertungs- und Empfängerbewertungsvektoren bereitstellt. Die Konvergenzrate kann durch Steuern des Neustartratenwerts gesteuert werden. Ein beispielhafter Wert für eine Anzahl von Iterationen zur Verwendung, um Konvergenz sicherzustellen, ist etwa 10.Since the system graph G is not always strongly connected, the iteration described above does not always achieve convergence. To ensure convergence, a restart matrix R is added, which is an N × N square matrix, with each cell value 1 / N is. A new transition matrix A is defined as: A = (1-c) × A + c × R where c is a value between 0 and 1 and is called a restart ratio. It is guaranteed that A is irreducible and aperiodic, providing converged sender evaluation and receiver evaluation vectors. The convergence rate can be controlled by controlling the restart rate value. An exemplary value for a number of iterations to use to ensure convergence is about 10.

Auf der Basis der Sender- und Empfängerbewertung und in Anbetracht eines Pfades p wird die Anomaliebewertung für den Pfad berechnet als: Bewertung(p) = 1 – NS(p)

Figure DE112016002806T5_0005
Based on the sender and receiver rating and considering a path p, the anomaly score for the path is calculated as: Rating (p) = 1 - NS (p)
Figure DE112016002806T5_0005

Wie vorstehend angegeben, weisen die Anomaliebewertungen für Pfade mit unterschiedlichen Längen verschiedene Verteilungen auf. Um die Verdächtigkeit von Pfaden mit verschiedenen Längen zu vergleichen, wird daher eine Transformation durchgeführt, um Pfade mit unterschiedlicher Länge auf ein gleiches Fundament zu setzen. Die Pfadanomaliebewertung kann eine beliebige Verteilung aufweisen und ist im Allgemeinen keine Normalverteilung. Die Verdächtigkeit eines Pfades mit der Länge r kann definiert werden als: susp(p|r) = Prob(T(Score(p')) ≤ T(Score(p))||p'| = r) wobei T die Normierungsfunktion ist.As noted above, the anomaly scores for paths of different lengths have different distributions. To the suspicion of paths of different lengths too Therefore, a transformation is performed to place paths of different lengths on the same foundation. The path anomaly score can have any distribution and is generally not a normal distribution. The suspicion of a path of length r can be defined as: susp (p | r) = Prob (T (Score (p ')) ≤ T (Score (p)) || p' | = r) where T is the normalization function.

Die oberen k verdächtigen Pfade sind diejenigen mit der größten Verdächtigkeitsbewertung. Mathematisch ist es durchführbar, die Transformation zu erhalten, um eine Normalverteilung in irgendeine andere Verteilung umzuwandeln, aber es ist schwierig, die inverse Funktion zu erhalten. Um dieses Problem zu lösen, wird eine Box-Cox-Leistungstransformation als Normierungsfunktion verwendet. Insbesondere wenn Q(r) den Satz von Anomaliebewertungen bezeichnen soll, die von Pfaden mit der Länge r berechnet werden, gilt für jede Bewertung q ∈ Q(r)

Figure DE112016002806T5_0006
wobei λ ein Normierungsparameter ist. Verschiedene Werte für λ ergeben verschiedene transformierte Verteilungen. Das Ziel besteht darin, einen Wert von λ auszuwählen, der eine normierte Verteilung so nahe wie möglich an der Normalverteilung ergibt (d. h. T(B, λ) ~ N(μ, σ2)).The top k suspects paths are those with the highest suspiciousness rating. Mathematically, it is feasible to obtain the transformation to convert a normal distribution to any other distribution, but it is difficult to obtain the inverse function. To solve this problem, a Box-Cox power transformation is used as a normalization function. In particular, if Q (r) is to denote the set of anomaly scores that are computed from paths of length r, then q ∈ Q (r) holds for each score.
Figure DE112016002806T5_0006
where λ is a normalization parameter. Different values for λ give different transformed distributions. The goal is to select a value of λ that gives a normalized distribution as close as possible to the normal distribution (ie T (B, λ) ~ N (μ, σ 2 )).

Die oberen k verdächtigen Pfade werden nicht in Bezug auf Eindringangriffe betrachtet, wenn sie nicht ausreichend unterschiedlich sind zu den normalen Pfaden. Um die Abweichung von verdächtigen Pfaden von normalen Pfaden zu messen, wird der t-Wert zwischen den zwei Gruppen von Pfaden berechnet. Aufgrund der großen Anzahl von normalen Pfaden wird eine effiziente Lösung auf der Basis einer Monte-Carlo-Simulation verwendet, um die Erwartung und Varianz von einer Probe von relativ kleiner Größe zu berechnen, ohne die Summierung zu berechnen.The upper k suspect paths are not considered in terms of intrusion attacks if they are not sufficiently different from the normal paths. To measure the deviation of suspicious paths from normal paths, the t-value between the two groups of paths is calculated. Because of the large number of normal paths, an efficient Monte Carlo simulation approach is used to calculate the expectancy and variance of a sample of relatively small size without computing the summation.

Sobald ein verdächtiger Pfad detektiert wurde, liefert das Host-Ebenen-Analysemodul 43 Informationen hinsichtlich der Anomalie, wobei ein Bericht erzeugt wird, der einen oder mehrere Alarme umfassen kann. Das Anomaliefusionsmodul 44 integriert diese Host-Ebenen-Alarme mit anderen Host- und Netzebenenanomalien und filtert automatisch Fehlalarme aus. Die resultierende Liste von Anomalien wird über das Visualisierungsmodul 45 zu einem Benutzer geliefert. In einer alternativen Ausführungsform können bestimmte Anomalien oder Klassen von Anomalien automatisch angegangen werden, beispielsweise durch Einsetzen von Sicherheitsgegenmaßnahmen oder Linderungen. In einem speziellen Beispiel kann eine automatische Antwort auf eine detektierte Anomalie darin bestehen, eine Vorrichtung abzuschalten, die das anomale Verhalten zeigt, bis sie durch einen Administrator überprüft werden kann.Once a suspicious path has been detected, the host level analysis module delivers 43 Information regarding the anomaly, wherein a report is generated that may include one or more alarms. The anomaly fusion module 44 Integrates these host-level alarms with other host and network-level anomalies and automatically filters out false positives. The resulting list of anomalies is via the visualization module 45 delivered to a user. In an alternative embodiment, certain anomalies or classes of anomalies may be automatically addressed, for example by employing security countermeasures or mitigations. In a specific example, an automatic response to a detected anomaly may be to turn off a device that displays the abnormal behavior until it can be verified by an administrator.

Mit Bezug nun auf 5 ein Pseudocode zum Entdecken der oberen k verdächtigen Pfade ”SP”. Sender- und Empfängerbewertungsvektoren X und Y werden unter Verwendung des Zufallsbewegungsprozesses erzeugt. Eine Warteschlange von Dateien FX wird gemäß absteigendem X sortiert und eine zweite Warteschlange von Dateien FY wird in absteigendem Y sortiert. Die Warteschlangen von Prozessen PX und PY, Warteschlangen von UNIX®-Buchsen UX und UY und Warteschlangen von Internet-Buchsen SX und SY werden in derselben Weise erzeugt. Die Pfade werden dann verarbeitet, um einen Pfadsatz zu finden, der dem Ereignissequenzmuster und der Zeiteinschränkung entspricht.With reference now to 5 a pseudocode to discover the upper k suspicious paths "SP". Transmitter and receiver evaluation vectors X and Y are generated using the random motion process. A queue of files F X is sorted according to descending X and a second queue of files F Y is sorted in descending Y. The queue of processes P X and P Y, queues of UNIX ® bushings U U X and Y, and queues of Internet sockets S X and S Y are generated in the same manner. The paths are then processed to find a path set that matches the event sequence pattern and the time constraint.

Hier beschriebene Ausführungsformen können vollständig Hardware, vollständig Software sein oder sowohl Hardware- als auch Softwareelemente umfassen. In einer bevorzugten Ausführungsform wird die vorliegende Erfindung in Software implementiert, die Firmware, residente Software, einen Mikrocode usw. umfasst, aber nicht darauf begrenzt ist.Embodiments described herein may be entirely hardware, fully software, or include both hardware and software elements. In a preferred embodiment, the present invention is implemented in software that includes, but is not limited to, firmware, resident software, microcode, etc.

Ausführungsformen können ein Computerprogrammprodukt umfassen, das von einem computernutzbaren oder computerlesbaren Medium zugänglich ist, das einen Programmcode zur Verwendung durch oder in Verbindung mit einem Computer oder irgendeinem Befehlsausführungssystem bereitstellt. Ein computernutzbares oder computerlesbares Medium kann irgendein Gerät umfassen, das das Programm zur Verwendung durch oder in Verbindung mit dem Befehlsausführungssystem, dem Befehlsausführungsgerät oder der Befehlsausführungsvorrichtung speichert, übermittelt, ausbreitet oder transportiert. Das Medium kann ein magnetisches, optisches, elektronisches, elektromagnetisches, Infrarot- oder Halbleitersystem (oder Gerät oder Vorrichtung) oder ein Ausbreitungsmedium sein. Das Medium kann ein computerlesbares Speichermedium wie z. B. einen Halbleiter- oder Festkörperarbeitsspeicher, ein Magnetband, eine entnehmbare Computerdiskette, einen Direktzugriffsarbeitsspeicher (RAM), einen Festwertarbeitsspeicher (ROM), eine starre magnetische Platte und eine optische Platte usw. umfassen.Embodiments may include a computer program product accessible from a computer usable or computer readable medium providing program code for use by or in connection with a computer or any instruction execution system. A computer usable or computer readable medium may include any device that stores, transmits, propagates, or transports the program for use by or in connection with the instruction execution system, the instruction execution device, or the instruction execution device. The medium may be a magnetic, optical, electronic, electromagnetic, infrared or semiconductor system (or device or device) or a propagation medium. The medium can be a computer-readable storage medium such. For example, a semiconductor or solid state memory, a magnetic tape, a removable computer diskette, a random access random access memory (RAM), a read only memory (ROM), a rigid magnetic disk and an optical disk and so on.

Jedes Computerprogramm kann konkret in maschinenlesbaren Speichermedien oder einer Speichervorrichtung (z. B. Programmarbeitsspeicher oder magnetische Platte) gespeichert sein, die durch einen programmierbaren Universal- oder Spezialcomputer lesbar ist, zum Konfigurieren und Steuern des Betriebs eines Computers, wenn die Speichermedien oder die Speichervorrichtung durch den Computer gelesen werden, um die hier beschriebenen Prozeduren durchzuführen. Das erfindungsgemäße System kann auch als in einem computerlesbaren Speichermedium verkörpert betrachtet werden, das mit einem Computerprogramm konfiguriert ist, wobei das so konfigurierte Speichermedium bewirkt, dass ein Computer in einer speziellen und vordefinierten Weise arbeitet, um die hier beschriebenen Funktionen durchzuführen.Specifically, each computer program may be stored in machine-readable storage media or a storage device (eg, program memory or magnetic disk) readable by a general purpose or special purpose computer for configuring and controlling the computer program Operating a computer when the storage media or storage device is read by the computer to perform the procedures described herein. The inventive system may also be considered embodied in a computer readable storage medium configured with a computer program, the storage medium thus configured causing a computer to operate in a specific and predefined manner to perform the functions described herein.

Ein Datenverarbeitungssystem, das zum Speichern und/oder Ausführen eines Programmcodes geeignet ist, kann mindestens einen Prozessor umfassen, der direkt oder indirekt mit Arbeitsspeicherelementen durch einen Systembus gekoppelt ist. Die Arbeitsspeicherelemente können einen lokalen Arbeitsspeicher, der während der tatsächlichen Ausführung des Programmcodes verwendet wird, einen Massespeicher und Cache-Arbeitsspeicher, die eine temporäre Speicherung von zumindest einem gewissen Programmcode vorsehen, um die Anzahl von Malen zu verringern, die der Code vom Massespeicher während der Ausführung abgerufen wird, umfassen. Eingabe/Ausgabe- oder E/A-Vorrichtungen (einschließlich, jedoch nicht begrenzt auf Tastaturen, Anzeigen, Zeigevorrichtungen usw.) können mit dem System entweder direkt oder durch zwischenliegende E/A-Steuereinheiten gekoppelt sein.A data processing system suitable for storing and / or executing program code may include at least one processor directly or indirectly coupled to memory elements through a system bus. The memory elements may include a local memory used during the actual execution of the program code, a mass memory and a cache memory that provide temporary storage of at least some program code to reduce the number of times that the code from the mass memory during the Execution is retrieved include. Input / output or I / O devices (including, but not limited to, keyboards, displays, pointing devices, etc.) may be coupled to the system either directly or through intervening I / O control units.

Netzadapter können auch mit dem System gekoppelt sein, um zu ermöglichen, dass das Datenverarbeitungssystem mit anderen Datenverarbeitungssystemen oder entfernten Druckern oder Speichervorrichtungen durch zwischenliegende private oder öffentliche Netze gekoppelt wird. Modems, ein Kabelmodem und Ethernet-Karten sind nur einige der gegenwärtig verfügbaren Typen von Netzadaptern.Network adapters may also be coupled to the system to enable the data processing system to be coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, a cable modem, and Ethernet cards are just a few of the currently available types of network adapters.

Mit Bezug nun auf 6 ist ein beispielhaftes Verarbeitungssystem 600 gezeigt, das den Analyseserver 30, das Eindringdetektionssystem 31 und/oder das Host-Ebenen-Analysemodul 43 darstellen kann. Das Verarbeitungssystem 600 umfasst mindestens einen Prozessor (CPU) 604, der wirksam mit anderen Komponenten über einen Systembus 602 gekoppelt ist. Ein Cache 606, ein Festwertarbeitsspeicher (ROM) 608, ein Direktzugriffsarbeitsspeicher (RAM) 610, ein Eingabe/Ausgabe-Adapter (E/A-Adapter) 620, ein Tonadapter 630, ein Netzadapter 640, ein Benutzerschnittstellenadapter 650 und ein Anzeigeadapter 660 sind mit dem Systembus 602 wirksam gekoppelt.With reference now to 6 is an exemplary processing system 600 shown that the analysis server 30 , the intrusion detection system 31 and / or the host level analysis module 43 can represent. The processing system 600 includes at least one processor (CPU) 604 that works with other components over a system bus 602 is coupled. A cache 606 , a read-only memory (ROM) 608 , a random access random access memory (RAM) 610 , an input / output adapter (I / O adapter) 620 , a sound adapter 630 , a network adapter 640 , a user interface adapter 650 and a display adapter 660 are with the system bus 602 effectively coupled.

Eine erste Speichervorrichtung 622 und eine zweite Speichervorrichtung 624 sind wirksam mit dem Systembus 602 durch den E/A-Adapter 620 gekoppelt. Die Speichervorrichtungen 622 und 624 können irgendeine von einer Plattenspeichervorrichtung (z. B. einer magnetischen oder optischen Plattenspeichervorrichtung), einer magnetischen Halbleitervorrichtung und so weiter sein. Die Speichervorrichtungen 622 und 624 können derselbe Typ von Speichervorrichtung oder verschiedene Typen von Speichervorrichtungen sein.A first storage device 622 and a second storage device 624 are effective with the system bus 602 through the I / O adapter 620 coupled. The storage devices 622 and 624 may be any of a disk storage device (e.g., a magnetic or optical disk storage device), a magnetic semiconductor device, and so on. The storage devices 622 and 624 may be the same type of storage device or different types of storage devices.

Ein Lautsprecher 632 ist wirksam mit dem Systembus 602 durch den Tonadapter 630 gekoppelt. Ein Sender/Empfänger 642 ist mit dem Systembus 602 durch den Netzadapter 640 wirksam gekoppelt. Eine Anzeigevorrichtung 662 ist mit dem Systembus 602 durch den Anzeigeadapter 660 wirksam gekoppelt.A loudspeaker 632 is effective with the system bus 602 through the sound adapter 630 coupled. A transmitter / receiver 642 is with the system bus 602 through the power adapter 640 effectively coupled. A display device 662 is with the system bus 602 through the display adapter 660 effectively coupled.

Eine erste Benutzereingabevorrichtung 652, eine zweite Benutzereingabevorrichtung 654 und eine dritte Benutzereingabevorrichtung 656 sind mit dem Systembus 602 durch den Benutzerschnittstellenadapter 650 wirksam gekoppelt. Die Benutzereingabevorrichtungen 652, 654 und 656 können irgendeine von einer Tastatur, einer Maus, einem Tastenfeld, einer Bilderfassungsvorrichtung, einer Bewegungserfassungsvorrichtung, einem Mikrophon, einer Vorrichtung mit der Funktionalität von mindestens zwei der vorangehenden Vorrichtungen und so weiter sein. Andere Typen von Eingabevorrichtungen können natürlich auch verwendet werden, während der Gedanke der vorliegenden Prinzipien aufrechterhalten wird. Die Benutzereingabevorrichtungen 652, 654, 656 können derselbe Typ von Benutzereingabevorrichtung oder verschiedene Typen von Benutzereingabevorrichtungen sein. Die Benutzereingabevorrichtungen 652, 654 und 656 werden verwendet, um Informationen in das und aus dem System 600 einzugeben und auszugeben.A first user input device 652 , a second user input device 654 and a third user input device 656 are with the system bus 602 through the user interface adapter 650 effectively coupled. The user input devices 652 . 654 and 656 may be any of a keyboard, a mouse, a keypad, an image capture device, a motion capture device, a microphone, a device having the functionality of at least two of the foregoing devices, and so on. Of course, other types of input devices may also be used while maintaining the spirit of the present principles. The user input devices 652 . 654 . 656 may be the same type of user input device or different types of user input devices. The user input devices 652 . 654 and 656 are used to get information in and out of the system 600 to enter and output.

Das Verarbeitungssystem 600 kann natürlich auch andere Elemente (nicht dargestellt) umfassen, wie von einem Fachmann auf dem Gebiet leicht erkannt, sowie bestimmte Elemente weglassen. Verschiedene andere Eingabevorrichtungen und/oder Ausgabevorrichtungen können beispielsweise im Verarbeitungssystem 600 in Abhängigkeit von der speziellen Implementierung desselben enthalten sein, wie leicht für einen Fachmann auf dem Gebiet verständlich ist. Verschiedene Typen von drahtlosen und/oder verdrahteten Eingabe- und/oder Ausgabevorrichtungen können beispielsweise verwendet werden. Überdies können zusätzliche Prozessoren, Steuereinheiten, Arbeitsspeicher und so weiter in verschiedenen Konfigurationen auch verwendet werden, wie durch einen Fachmann auf dem Gebiet leicht erkannt. Diese und andere Variationen des Verarbeitungssystems 600 werden von einem Fachmann auf dem Gebiet angesichts der Lehren der hier bereitgestellten vorliegenden Prinzipien leicht in Betracht gezogen,The processing system 600 may of course comprise other elements (not shown), as readily recognized by one skilled in the art, as well as omitting certain elements. Various other input devices and / or output devices may be used in the processing system, for example 600 depending on the particular implementation thereof, as will be readily understood by one skilled in the art. Various types of wireless and / or wired input and / or output devices may be used, for example. Moreover, additional processors, controllers, memory and so forth may also be used in various configurations, as readily recognized by one of ordinary skill in the art. These and other variations of the processing system 600 are readily contemplated by one skilled in the art in light of the teachings of the present principles provided herein,

Das Vorangehende soll als in jeder Hinsicht erläuternd und beispielhaft, aber nicht einschränkend verstanden werden, und der Schutzbereich der hier offenbarten Erfindung soll nicht aus der ausführlichen Beschreibung, sondern vielmehr aus den Ansprüchen bestimmt werden, wie gemäß der vollen Breite interpretiert, die durch die Patentgesetze zugelassen ist. Selbstverständlich sind die hier gezeigten und beschriebenen Ausführungsformen nur erläuternd für die Prinzipien der vorliegenden Erfindung und der Fachmann auf dem Gebiet kann verschiedene Modifikationen implementieren, ohne vom Schutzbereich und Gedanken der Erfindung abzuweichen. Der Fachmann auf dem Gebiet könnte verschiedene andere Merkmalskombinationen implementieren, ohne vom Schutzbereich und Gedanken der Erfindung abzuweichen. Nachdem somit Aspekte der Erfindung mit den Details und der Besonderheit, die durch die Patentgesetze erforderlich sind, beschrieben wurden, wird das, was als durch die Patenturkunde geschützt beansprucht und gewünscht ist, in den beigefügten Ansprüchen dargelegt.The foregoing is to be understood as illustrative and exemplary in all respects, but not limiting, and the scope of the invention disclosed herein is not to be determined by the detailed description, but rather by the claims, as interpreted in accordance with the full breadth of the patent is allowed. Of course, the embodiments shown and described herein are merely illustrative of the principles of the present invention, and those skilled in the art can implement various modifications without departing from the scope and spirit of the invention. One skilled in the art could implement various other feature combinations without departing from the scope and spirit of the invention. Having thus described aspects of the invention with the details and particularity required by the patent laws, what is claimed and desired to be protected by the patent is set forth in the appended claims.

Claims (20)

Verfahren zum Detektieren von böswilligen Prozessen, das umfasst: Modellieren von Systemdaten als Graphen mit Scheitelpunkten, die Systementitäten darstellen, und Kanten, die Ereignisse zwischen jeweilige Systementitäten darstellen, wobei jede Kante einen oder mehrere Zeitstempel umfasst, die jeweiligen Ereignissen zwischen zwei Systementitäten entsprechen; Erzeugen eines Satzes von gültigen Pfadmustern, die sich auf potentielle Ereignisse beziehen; und Bestimmen von einer oder mehreren Ereignissequenzen im System als verdächtig auf der Basis des Graphen und der gültigen Pfadmuster unter Verwendung einer Zufallsbewegung auf dem Graphen.A method of detecting malicious processes comprising: Modeling system data as graphs with vertices representing system entities and edges representing events between respective system entities, each edge comprising one or more timestamps corresponding to respective events between two system entities; Generating a set of valid path patterns related to potential events; and Determining one or more event sequences in the system as suspicious on the basis of the graph and the valid path patterns using random motion on the graph. Verfahren nach Anspruch 1, wobei die Systementitäten Dateien im System, Prozesse im System, UNIX®-Buchsen im System und Internet-Buchsen im System umfassen.The method of claim 1, wherein the system entities include files in the system, processes in the system, UNIX® sockets in the system, and Internet sockets in the system. Verfahren nach Anspruch 1, wobei die gültigen Muster auf der Basis von Eigenschaften der Systementitätstypen bestimmt werden.The method of claim 1, wherein the valid patterns are determined based on properties of the system type types. Verfahren nach Anspruch 3, wobei die gültigen Pfadmuster auf der Basis von Definitionen bestimmt werden, die durch Sicherheitsexperten gemäß ihren Erfahrungen auf der Basis von Eindringangriffen bereitgestellt werden.The method of claim 3, wherein the valid path patterns are determined based on definitions provided by security experts in accordance with their experience based on intrusion attacks. Verfahren nach Anspruch 1, wobei das Bestimmen der einen oder der mehreren Ereignissequenzen als verdächtig das Durchführen einer Breitensuche von Kandidatenpfaden innerhalb des Graphen umfasst.The method of claim 1, wherein determining the one or more event sequences as suspicious comprises performing a breadth-first search of candidate paths within the graph. Verfahren nach Anspruch 5, wobei die Breitensuche eine Zeitreihenfolgeeinschränkung auf der Basis der Kantenzeitstempel umfasst.The method of claim 5, wherein the breadth-first search comprises a time-order constraint based on the edge timestamps. Verfahren nach Anspruch 1, wobei das Bestimmen der einen oder der mehreren Ereignissequenzen als verdächtig das Bestimmen, dass die Entitäten an einer Kante von den normalen Rollen für diese Entitäten abweichen, umfasst.The method of claim 1, wherein determining the one or more event sequences as suspicious comprises determining that the entities at an edge deviate from the normal roles for those entities. Verfahren nach Anspruch 7, wobei das Bestimmen, dass Entitäten von der normalen Rolle für diese Entitäten abweichen, das Bestimmen einer Senderbewertung für eine Senderentität und einer Empfängerbewertung für eine Empfängerentität umfasst.The method of claim 7, wherein determining that entities differ from the normal role for these entities comprises determining a sender entity rating for a sender entity and a recipient rating for a recipient entity. Verfahren nach Anspruch 8, wobei das Bestimmen von einer oder mehreren Ereignissequenzen als verdächtig das Berechnen einer Anomaliebewertung auf der Basis der Senderbewertung und der Empfängerbewertung für jede Entität in jeder Ereignissequenz umfasst.The method of claim 8, wherein determining one or more event sequences as suspicious comprises calculating an anomaly score based on the transmitter score and the receiver score for each entity in each event sequence. Verfahren nach Anspruch 9, wobei das Bestimmen von einer oder mehreren Ereignissequenzen als verdächtig das Normieren von Anomaliebewertungen unter Verwendung einer Box-Cox-Leistungstransformation umfasst.The method of claim 9, wherein determining one or more event sequences as suspicious comprises normalizing anomaly scores using Box-Cox power transformation. System zum Detektieren von böswilligen Prozessen, das umfasst: ein Modellierungsmodul, das dazu konfiguriert ist, Systemdaten als Graphen zu modellieren, der Scheitelpunkte, die Systementitäten darstellen, und Kanten, die Ereignisse zwischen jeweiligen Systementitäten darstellen, umfasst, wobei jede Kante einen oder mehrere Zeitstempel umfasst, die jeweiligen Ereignissen zwischen zwei Systementitäten entsprechen; und ein Modul zum Entdecken von böswilligen Prozesspfaden mit einem Prozessor, der dazu konfiguriert ist, einen Satz von gültigen Pfadmustern zu erzeugen, die sich auf potentielle Angriffe beziehen, und eine oder mehrere Ereignissequenzen im System auf der Basis des Graphen und der gültigen Pfadmuster unter Verwendung einer Zufallsbewegung auf dem Graphen als verdächtig zu bestimmen.A system for detecting malicious processes comprising: a modeling module configured to model system data as graphs representing vertices representing system entities and edges representing events between respective system entities, each edge comprising one or more timestamps corresponding to respective events between two system entities; and a module for detecting malicious process paths with a processor configured to generate a set of valid path patterns related to potential attacks and one or more event sequences in the system based on the graph and the valid path patterns using a Random motion on the graph to be suspect. System nach Anspruch 11, wobei die Systementitäten Dateien in dem System, Prozesse im System, UNIX®-Buchsen im System und Internet-Buchsen im System umfassen.The system of claim 11, wherein the system entities include files in the system, processes in the system, UNIX® sockets in the system, and Internet sockets in the system. System nach Anspruch 11, wobei das Modul zum Entdecken von böswilligen Prozesspfaden ferner dazu konfiguriert ist, gültige Muster auf der Basis von Eigenschaften der Systementitätstypen zu bestimmen.The system of claim 11, wherein the malicious process path detection module is further configured to determine valid patterns based on properties of the system type types. System nach Anspruch 13, wobei das Modul zum Entdecken von böswilligen Prozesspfaden ferner dazu konfiguriert ist, gültige Pfadmuster auf der Basis von Definitionen zu bestimmen, die durch Sicherheitsexperten auf der Basis ihrer Erfahrungen auf der Basis von vorherigen Eindringangriffen bereitgestellt werden. The system of claim 13, wherein the malicious process path detection module is further configured to determine valid path patterns based on definitions provided by security experts based on their experience based on previous intrusion attacks. System nach Anspruch 11, wobei das Modul zum Entdecken von böswilligen Prozesspfaden ferner dazu konfiguriert ist, eine Breitensuche von Kandidatenpfaden innerhalb des Graphen durchzuführen.The system of claim 11, wherein the malicious process path detection module is further configured to perform a breadth search of candidate paths within the graph. System nach Anspruch 15, wobei die Breitensuche eine Zeitreihenfolgeeinschränkung auf der Basis der Kantenzeitstempel umfasst.The system of claim 15, wherein the breadth first search comprises a time order restriction based on the edge timestamps. System nach Anspruch 11, wobei das Modul zum Entdecken von böswilligen Prozesspfaden ferner dazu konfiguriert ist zu bestimmen, ob die Entitäten an einer Kante von den normalen Rollen für diese Entitäten abweichen.The system of claim 11, wherein the malicious process path detection module is further configured to determine whether the entities at one edge differ from the normal roles for those entities. System nach Anspruch 17, wobei das Modul zum Entdecken von böswilligen Prozesspfaden ferner dazu konfiguriert ist, eine Senderbewertung für eine Senderentität und eine Empfängerbewertung für eine Empfängerentität zu bestimmen.The system of claim 17, wherein the malicious process path detection module is further configured to determine a sender entity sender rating and a recipient entity recipient rating. System nach Anspruch 18, wobei das Modul zum Entdecken von böswilligen Prozesspfaden ferner dazu konfiguriert ist, eine Anomaliebewertung auf der Basis der Senderbewertung und Empfängerbewertung für jede Entität in jeder Ereignissequenz zu berechnen.The system of claim 18, wherein the malicious process path detection module is further configured to calculate an anomaly score based on the sender rating and recipient rating for each entity in each event sequence. System nach Anspruch 19, wobei das Modul zum Entdecken von böswilligen Prozesspfaden ferner dazu konfiguriert ist, Anomaliebewertungen unter Verwendung einer Box-Cox-Leistungstransformation zu normieren.The system of claim 19, wherein the malicious process path detection module is further configured to normalize anomaly scores using box-to-box performance transformation.
DE112016002806.7T 2015-07-24 2016-07-20 Graphene-based intrusion detection using process traces Pending DE112016002806T5 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562196404P 2015-07-24 2015-07-24
US62/196,404 2015-07-24
US15/213,896 2016-07-19
US15/213,896 US10305917B2 (en) 2015-04-16 2016-07-19 Graph-based intrusion detection using process traces
PCT/US2016/043040 WO2017019391A1 (en) 2015-07-24 2016-07-20 Graph-based intrusion detection using process traces

Publications (1)

Publication Number Publication Date
DE112016002806T5 true DE112016002806T5 (en) 2018-03-22

Family

ID=57885033

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112016002806.7T Pending DE112016002806T5 (en) 2015-07-24 2016-07-20 Graphene-based intrusion detection using process traces

Country Status (3)

Country Link
JP (1) JP6557774B2 (en)
DE (1) DE112016002806T5 (en)
WO (1) WO2017019391A1 (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017167544A1 (en) 2016-03-30 2017-10-05 British Telecommunications Public Limited Company Detecting computer security threats
EP3437291B1 (en) 2016-03-30 2022-06-01 British Telecommunications public limited company Network traffic threat identification
US11194915B2 (en) 2017-04-14 2021-12-07 The Trustees Of Columbia University In The City Of New York Methods, systems, and media for testing insider threat detection systems
EP3891639B1 (en) 2018-12-03 2024-05-15 British Telecommunications public limited company Detecting anomalies in computer networks
EP3663951B1 (en) 2018-12-03 2021-09-15 British Telecommunications public limited company Multi factor network anomaly detection
US11960610B2 (en) 2018-12-03 2024-04-16 British Telecommunications Public Limited Company Detecting vulnerability change in software systems
US11989289B2 (en) 2018-12-03 2024-05-21 British Telecommunications Public Limited Company Remediating software vulnerabilities
WO2020114920A1 (en) 2018-12-03 2020-06-11 British Telecommunications Public Limited Company Detecting vulnerable software systems
EP3681124B8 (en) 2019-01-09 2022-02-16 British Telecommunications public limited company Anomalous network node behaviour identification using deterministic path walking
CN111651761B (en) * 2019-03-04 2023-04-14 腾讯科技(深圳)有限公司 Black-production electronic equipment detection method and device, server and storage medium
US11483326B2 (en) 2019-08-30 2022-10-25 Palo Alto Networks, Inc. Context informed abnormal endpoint behavior detection
CN112487421B (en) * 2020-10-26 2024-06-11 中国科学院信息工程研究所 Android malicious application detection method and system based on heterogeneous network
US20240089091A1 (en) * 2022-09-13 2024-03-14 Capital One Services, Llc Secure cryptographic transfer using multiparty computation

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7773812B2 (en) * 2005-04-11 2010-08-10 Microsoft Corporation Method and system for performing searches and returning results based on weighted criteria
US7624448B2 (en) * 2006-03-04 2009-11-24 21St Century Technologies, Inc. Intelligent intrusion detection system utilizing enhanced graph-matching of network activity with context data
US7768921B2 (en) * 2006-10-30 2010-08-03 Juniper Networks, Inc. Identification of potential network threats using a distributed threshold random walk
US8161550B2 (en) * 2007-01-23 2012-04-17 Knowledge Based Systems, Inc. Network intrusion detection
US8010482B2 (en) * 2008-03-03 2011-08-30 Microsoft Corporation Locally computable spam detection features and robust pagerank
JP5121622B2 (en) * 2008-08-05 2013-01-16 日本電信電話株式会社 Access destination scoring method and program
JP2011053893A (en) * 2009-09-01 2011-03-17 Hitachi Ltd Illicit process detection method and illicit process detection system

Also Published As

Publication number Publication date
JP6557774B2 (en) 2019-08-07
WO2017019391A1 (en) 2017-02-02
JP2018526728A (en) 2018-09-13

Similar Documents

Publication Publication Date Title
DE112016002806T5 (en) Graphene-based intrusion detection using process traces
DE112016001742T5 (en) Integrated community and role discovery in enterprise networks
Hu et al. A simple and efficient hidden Markov model scheme for host-based anomaly intrusion detection
DE112017000886T5 (en) High fidelity data reduction for system dependency analysis
DE112016005290T5 (en) ANOM-RELIEF ON TEMPORAL CAUSALITY GRAPHS
DE112011103273B4 (en) Method, computer program product and device for passing on identities across application levels using context-dependent assignment and set values
EP2966828B1 (en) Method for detecting an attack on a work environment connected with a communications network
DE102022201746A1 (en) MANAGE DATA CENTERS WITH MACHINE LEARNING
AU2015201161A1 (en) Event correlation
DE112012000279T5 (en) Determine the vulnerability of computer software applications to rights extension attacks
Holm et al. Sved: Scanning, vulnerabilities, exploits and detection
DE112019003431T5 (en) RULES GENERATING WITH THE HELP OF ARTIFICIAL INTELLIGENCE
DE112018004408B4 (en) IDENTIFICATION OF ATTACK FLOWS IN A LAYERED NETWORK TOPOLOGY
CN117879970B (en) Network security protection method and system
DE112021004808T5 (en) DETECTING MALWARE THROUGH ANALYSIS OF DISTRIBUTED TELEMETRY DATA
DE112021000689T5 (en) ATTESTATION OF NEURAL PROCESSES
Yan A systems thinking for cybersecurity modeling
DE112021004115B4 (en) Security system for segmentation of computer file metadata
CN106469274B (en) A kind of data theft risk analysis method and analysis system
Yang et al. [Retracted] Computer User Behavior Anomaly Detection Based on K‐Means Algorithm
DE202022101839U1 (en) A data protection-compliant system for enforcing the protection of sensitive data
DE112020004161T5 (en) LEARNING A PATTERN DICTIONARY FROM BLURRED NUMERIC DATA IN DISTRIBUTED NETWORKS
Tommasini et al. Characterizing building automation system attacks and attackers
Dshalalow et al. On strategic defense in stochastic networks
Zhang et al. DIRECT: A robust distributed broker framework for trust and reputation management

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R081 Change of applicant/patentee

Owner name: CLOUD BYTE LLC, NEWARK, US

Free format text: FORMER OWNER: NEC LABORATORIES AMERICA, INC., PRINCETON, N.J., US

Owner name: IP WAVE PTE LTD., SG

Free format text: FORMER OWNER: NEC LABORATORIES AMERICA, INC., PRINCETON, N.J., US

Owner name: NEC ASIA PACIFIC PTE LTD., SG

Free format text: FORMER OWNER: NEC LABORATORIES AMERICA, INC., PRINCETON, N.J., US

Owner name: NEC CORP., JP

Free format text: FORMER OWNER: NEC LABORATORIES AMERICA, INC., PRINCETON, N.J., US

R082 Change of representative

Representative=s name: VOSSIUS & PARTNER PATENTANWAELTE RECHTSANWAELT, DE

R081 Change of applicant/patentee

Owner name: CLOUD BYTE LLC, NEWARK, US

Free format text: FORMER OWNER: NEC CORP., TOKYO, JP

Owner name: IP WAVE PTE LTD., SG

Free format text: FORMER OWNER: NEC CORP., TOKYO, JP

Owner name: NEC ASIA PACIFIC PTE LTD., SG

Free format text: FORMER OWNER: NEC CORP., TOKYO, JP

R081 Change of applicant/patentee

Owner name: CLOUD BYTE LLC, NEWARK, US

Free format text: FORMER OWNER: NEC ASIA PACIFIC PTE LTD., SINGAPORE, SG

Owner name: IP WAVE PTE LTD., SG

Free format text: FORMER OWNER: NEC ASIA PACIFIC PTE LTD., SINGAPORE, SG

R081 Change of applicant/patentee

Owner name: CLOUD BYTE LLC, NEWARK, US

Free format text: FORMER OWNER: IP WAVE PTE LTD., SINGAPORE, SG