DE112017000886T5 - High-Fidelity-Datenreduktion zur Systemabhängigkeitsanalyse - Google Patents

High-Fidelity-Datenreduktion zur Systemabhängigkeitsanalyse Download PDF

Info

Publication number
DE112017000886T5
DE112017000886T5 DE112017000886.7T DE112017000886T DE112017000886T5 DE 112017000886 T5 DE112017000886 T5 DE 112017000886T5 DE 112017000886 T DE112017000886 T DE 112017000886T DE 112017000886 T5 DE112017000886 T5 DE 112017000886T5
Authority
DE
Germany
Prior art keywords
events
tracking
module
hot process
causality
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.)
Withdrawn
Application number
DE112017000886.7T
Other languages
English (en)
Inventor
Zhenyu Wu
Zhichun LI
Junghwan Rhee
Fengyuan Xu
Guofei Jiang
Kangkook Jee
Xusheng Xiao
Zhang Xu
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.)
NEC Laboratories America Inc
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
Application filed by NEC Laboratories America Inc filed Critical NEC Laboratories America Inc
Priority claimed from PCT/US2017/015267 external-priority patent/WO2017142692A1/en
Publication of DE112017000886T5 publication Critical patent/DE112017000886T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Environmental & Geological Engineering (AREA)

Abstract

Verfahren und Systeme zur Abhängigkeitsverfolgung enthalten ein Identifizieren eines heißen Prozesses, der Bursts von Ereignissen mit verschachtelten Abhängigkeiten erzeugt. Ereignisse, die bezogen sind auf den heißen Prozess, werden gemäß einer prozesszentrischen Abhängigkeitsapproximation aggregiert, die Abhängigkeiten zwischen den Ereignissen ignoriert, die bezogen sind auf den heißen Prozess. Eine Kausalität in einem reduzierten Ereignisstrom, der die aggregierten Ereignisse umfasst, wird verfolgt.

Description

  • INFORMATION ÜBER ZUGEHÖRIGE ANMELDUNG
  • Diese Anmeldung beansprucht die Priorität der provisorischen US-Anmeldung mit der Serien-Nr. 62/296,646, eingereicht am 18. Februar 2016, die hierin durch Bezugnahme in ihrer Gesamtheit enthalten ist.
  • HINTERGRUND
  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft eine Kausalitätsabhängigkeitsanalyse und, genauer gesagt, eine Datenreduktion an großen Mengen an Ereignisinformation.
  • Beschreibung des zugehörigen Standes der Technik
  • Eine genaue Kausalitätsabhängigkeitsanalyse auf Computersystemen, und insbesondere eine forensische Abhängigkeitsanalyse, verwenden ein detailliertes Überwachen und Aufzeichnen von Systemereignissen niedriger Ebene, wie beispielsweise eine Prozesserzeugung, Datei-Lese/Schreib-Operationen und Netzwerk-Sende/Empfangs-Operationen. Jedoch benötigt die durch eine solche feinkörnige Überwachung erzeugte große Menge an Information signifikante Computerressourcen, um die Daten in Echtzeit zu verarbeiten und zu speichern, sowie beim selektiven Zugreifen auf die historische Information mit niedriger Latenzzeit.
  • Während ein Reduzieren der Menge an Daten aufgrund der iterativen Art einer Abhängigkeitsanalyse daher vorteilhaft sein würde, kann die Auswirkung von Ungenauigkeiten, die aus einem Reduzieren von Daten resultieren, exponentiell vergrößert werden. Beispielsweise könnte eine einzige falsch eingeführte Abhängigkeit, die über mehrere Hops entlang der Kausalitätskette vorwärts oder rückwärts verfolgt wird, zu hunderten von falschpositiven führen.
  • Einige existierende Techniken für eine Datenverfolgungsmengenreduktion verwenden z.B. räumliches und zeitliches Abtasten. Jedoch erzeugt diese abtastbasierte Datenreduktion aufgrund einer exponentiellen Fehlerverstärkung bei einer Kausalitätsabhängigkeitsanalyse keine nützlichen Ergebnisse. Andere Techniken arbeiten an stark redundanten Stapelverfolgungen, wo eine Datenreduktion durch eine Deduplizierung erreicht werden kann. Jedoch haben Kausalitätsabhängigkeiten innerhalb gesammelter Daten oft keine strukturellen Duplizierungen, die einfach adressiert werden können.
  • Andere Versuche haben ein domänenwissenbasiertes Beschneiden verwendet, wo gewisse Typen von Dateien weniger Abhängigkeitsinformation als andere tragen können und somit diese Dateien ohne Einführen eines signifikanten Fehlers beschnitten werden können. Diese Ansätze sind aufgrund der anwendungsspezifischen Art des Domänenwissens, die grade verwendet wird, von begrenzter allgemeiner Anwendbarkeit.
  • Schließlich konzentrieren sich einige Versuche eher auf eine kleine Gruppe von Anwendungen, als dass sie sich eine systemweite Abhängigkeitsanalyse als Ziel setzen. Diese Anwendungen könnten beispielsweise eine Datenbank oder einen Webserver enthalten. Diese Analysen stellen eine Ansicht höherer Ebene der gesammelten Daten zur Verfügung, die eine geringere Datenmenge erzeugt, aber auf Kosten eines Fehlens wichtiger Information, die aus den Daten niedriger Ebene ausfindig gemacht worden sein könnte.
  • ZUSAMMENFASSUNG
  • Ein Verfahren zur Abhängigkeitsverfolgung enthält ein Identifizieren eines heißen Prozesses, der Bursts bzw. Bündel von Ereignissen mit verschachtelten Abhängigkeiten erzeugt. Ereignisse, die auf den heißen Prozess bezogen sind, werden gemäß einer prozesszentrischen Abhängigkeitsapproximation aggregiert, die Abhängigkeiten zwischen den Ereignissen ignoriert, die auf den heißen Prozess bezogen sind. Eine Kausalität wird in einem reduzierten Ereignisstrom, der die aggregierten Ereignisse enthält, unter Verwendung eines Prozessors verfolgt.
  • Ein System zur Abhängigkeitsverfolgung enthält ein Modul für einen ausgelasteten Prozess, das konfiguriert ist, um einen heißen Prozess zu identifizieren, der Bursts bzw. Bündel von Ereignissen mit verschachtelten Abhängigkeiten erzeugt. Ein Aggregationsmodul ist konfiguriert, um Ereignisse, die auf den heißen Prozess bezogen sind, gemäß einer prozesszentrischen Abhängigkeitsapproximation zu aggregieren, die Abhängigkeiten zwischen den Ereignissen ignoriert, die auf den heißen Prozess bezogen sind. Ein Kausalitätsverfolgungsmodul enthält einen Prozessor, der konfiguriert ist, um eine Kausalität in einem reduzierten Ereignisstrom zu verfolgen, der die aggregierten Ereignisse enthält.
  • Diese und andere Merkmale und Vorteile werden aus der folgenden detaillierten Beschreibung ihrer illustrativen Ausführungsformen offensichtlich werden, welche in Verbindung mit den beigefügten Zeichnungen zu lesen ist.
  • Figurenliste
  • Die Offenbarung wird in der folgenden Beschreibung bevorzugter Ausführungsformen unter Bezugnahme auf die folgenden Figuren Details zur Verfügung stellen, wobei:
    • 1 ein Block/Ablauf-Diagramm eines Verfahrens zur Datenreduktion gemäß den vorliegenden Prinzipien ist;
    • 2 ein Block/Ablauf-Diagramm eines Verfahrens zur Datenreduktion gemäß den vorliegenden Prinzipien ist;
    • 3 ein Diagramm einer beispielhaften Gruppe von Ereignissen gemäß den vorliegenden Prinzipien ist;
    • 4 ein Diagramm einer beispielhaften Gruppe von Ereignissen gemäß den vorliegenden Prinzipien ist;
    • 5 ein Block/Ablauf-Diagramm eines Verfahrens zur Datenreduktion gemäß den vorliegenden Prinzipien ist;
    • 6 ein Blockdiagramm eines Datenreduktionssystems gemäß den vorliegenden Prinzipien ist;
    • 7 ein Blockdiagramm eines Verarbeitungssystems gemäß den vorliegenden Prinzipien ist; und
    • 8 ein Blockdiagramm eines Einbrucherfassungssystems gemäß den vorliegenden Prinzipien ist.
  • DETAILLIERTE BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSFORMEN
  • Gemäß den vorliegenden Prinzipien werden Systeme und Verfahren zur Verfügung gestellt, die Systemereignisverfolgungsdaten in Echtzeit reduzieren, während Abhängigkeiten zwischen Ereignissen bewahrt werden. Dies erhöht die Skalierbarkeit einer Abhängigkeitsanalyse mit minimaler Auswirkung in Richtung zur Analysequalität.
  • Um eine Datenreduktion zur Verfügung zu stellen, machen die vorliegenden Ausführungsformen einen Unterschied zwischen „Schlüsselereignissen“ und „observierten Ereignissen“. In einem Strom von Systemereignissen niedriger Ebene trägt nur ein kleiner Bruchteil von Ereignissen eine Kausalitätssignifikanz für andere Ereignisse. Auf diese Ereignisse wird hierin als „Schlüsselereignisse“ Bezug genommen. Für jedes Schlüsselereignis kann eine Reihe von „observierten Ereignissen“ existieren, deren Kausalitätsbeziehungen zu anderen Ereignissen beim Vorhandensein des Schlüsselereignisses vernachlässigbar sind. Das bedeutet, dass das Vorhandensein oder Nichtvorhandensein von beschatteten bzw. observierten Ereignissen die Ergebnisse der Abhängigkeitsanalyse nicht ändert. Die vorliegenden Ausführungsformen erfassen daher Schlüsselereignisse und observierte Ereignisse in Echtzeit-Systemereignisströmen. Information, die für eine Abhängigkeitsanalyse relevant ist, wird bewahrt, während eine Datenmenge durch Aggregieren und Zusammenfassen anderer Information reduziert wird.
  • Die vorliegenden Ausführungsformen können in entweder „verlustlosen“ oder „verlustbehafteten“ Moden arbeiten. Im verlustlosen Mode wird eine Datenreduktion basierend nur auf einer Identifikation von Schlüsselereignis und observiertem Ereignis durchgeführt, so dass eine Kausalität perfekt bewahrt wird. Eine beliebige Abhängigkeitsanalyse an Daten vor und nach einer Datenreduktion erzeugt dieselbe Sequenz von Ereignissen bei derselben anderen.
  • Ein verlustbehafteter Mode zieht indessen einen Vorteil aus der Tatsache, dass einige Anwendungen (z.B. Systemdaemons) dazu neigen, starke Bursts von ähnlichen Ereignissen zu zeigen, die in einem verlustlosen Mode nicht reduzierbar sind. Ein Beispiel eines solchen Szenarios enthält ein wiederholtes Zugreifen auf eine Gruppe von Dateien mit verschachtelten Abhängigkeiten. Jeder Burst, der durch eine solche Anwendung erzeugt ist, kann eine einzige Operation hoher Ebene durchführen, wie beispielsweise ein Prüfen auf die Existenz einer bestimmten Hardwarekomponente, ein Scannen von Dateien in einem Directory bzw. Datenverzeichnis etc. Während die Operation hoher Ebene nicht notwendigerweise komplex ist, kann sie sich zu stark wiederholenden Operationen niedriger Ebene umwandeln. Aus der Sicht einer Kausalitätsanalyse kann ein Verfolgen der Operationen hoher Ebene nach unten genügend Information ergeben, um beim Verstehen der Ergebnisse zu helfen, so dass die Details der exakten Abhängigkeiten einer Operation niedriger Ebene nicht viel mehr an Wert hinzufügen. Daher kann ein Genauigkeitsverlust akzeptierbar sein, solange die Auswirkung der Fehler derart enthalten ist, dass sie Ereignisse nicht beeinflusst, die nicht zum Burst gehören.
  • Die vorliegenden Ausführungsformen stellen dadurch eine Datenreduktion zur Verfügung, ohne die Ergebnisse einer Kausalitätsanalyse an Systemereignisverfolgungen niedriger Ebene zu beeinflussen. Zusätzlich können die vorliegenden Ausführungsformen anstelle eines Benötigens von domänenspezifischem Wissen, das nur für gewisse spezifische Typen von Daten gilt, auf irgendeinen Typ von Daten angewendet werden. Als Ergebnis sind die vorliegenden Ausführungsformen auf eine größere Vielfalt von Systemen anwendbar. Weiterhin können, obwohl die vorliegenden Ausführungsformen auf Systemereignisverfolgungen niedriger Ebene abzielen, die vorliegenden Ausführungsformen auf verschiedene Semantikebenen angewendet werden.
  • Nimmt man nun Bezug auf 1, ist ein Verfahren für eine Ereignissammlung gezeigt. Ein Block 102 sammelt einen Ereignisstrom beispielsweise in der Form von Systemaufrufen oder anderen Prozessinteraktionen in einem Computersystem. Obwohl die vorliegenden Ausführungsformen mit spezifischem Fokus auf Systemaufrufe beschrieben sind, sollte es verstanden werden, dass stattdessen irgendeine Vielfalt von Ereignisinformation oder anderen Daten mit Abhängigkeitsbeziehungen gesammelt werden kann. Der Ereignisstrom enthält z.B. Zeitgabeinformation, einen Operationstyp und Informationsflussrichtungen, was verwendet werden kann, um kausale Abhängigkeiten zwischen historischen Ereignissen wiederherzustellen. Es sollte beachtet werden, dass die Ausdrücke „Kausalität“ und „Abhängigkeit“ hierin austauschbar verwendet sein können. Ein Block 104 führt ein Löschen von Daten auf temporär belegten Speichermedien an dem gesammelten Ereignisstrom durch.
  • Ein Block 106 führt eine Datenreduktion an dem einem Löschen von Daten auf temporär belegten Speichermedien unterzogenen Ereignisstrom durch. Wie es nachstehend detaillierter beschrieben werden wird, kann eine Datenreduktion im Block 106 verlustlos oder verlustbehaftet sein, wobei Schlüsselereignisse und observierte Ereignisse in jedem Fall zu Lokalisierungskategorien von Ereignisdaten identifiziert werden, die eliminiert werden können. Ein Block 108 indexiert und speichert dann die übrigen Daten für eine spätere Abhängigkeitsanalyse.
  • Nimmt man nun Bezug auf 2, ist ein Verfahren zum Durchführen einer Datenreduktion im Block 106 gezeigt. Ein Block 202 identifiziert ausgelastete Prozesse, die intensive bzw. starke Bursts von Ereignissen mit verschachtelten Abhängigkeiten erzeugen. Der Block 202 verfolgt dadurch jeden lebenden bzw. aktiven Prozess, der ein Verfolgen enthält, z.B. die Anzahl von Ressourcen (z.B. Dateien, Netzwerkverbindungen, etc.), mit welchem die aktiven Prozesse in einem gegebenen Zeitintervall interagieren, und ihre Ereignisintensität bzw. -stärke. Wenn beide Maße über einer vordefinierten Schwelle sind, wird der Prozess als ausgelastet klassifiziert, und auf ihn wird hierin als „heißer“ Prozess Bezug genommen. Heiße Prozesse können unter Verwendung einer statistischen Berechnung mit einem Gleitzeitfenster erfasst werden - wenn die Anzahl von Ereignissen, die auf einen Prozess in einem Zeitfenster bezogen sind, die Schwelle übersteigt, wird der Prozess als heißer Prozess markiert. Bei einem spezifischen Beispiel kann die Schwelle derart eingestellt sein, dass sie zwanzig Ereignisse pro fünf Sekunden hat.
  • Ein Block 203 führt eine Ereignisabfertigung durch, was jedes Ereignis demgemäß klassifiziert, ob das Ereignis zu einem ausgelasteten Prozess gehört. Ereignisse, die zu ausgelasteten Prozessen gehören, werden durch einen Block 205 zum Prozessablauf der 5 umgeleitet, der nachstehend beschrieben ist. Ein Block 204 führt eine Abhängigkeitsverfolgung und eine Aggregation an den Ereignissen durch, die nicht zu ausgelasteten Prozessen gehören. Ein Block 206 führt eine Ereigniszusammenfassung durch, was einen reduzierten Ereignisstrom erzeugt. Dieses Verfahren führt eine verlustlose Datenreduktion durch. Ein weiteres Verfahren kann neben dem Verfahren der 2 durchgeführt werden, um eine verlustbehaftete Datenreduktion durchzuführen, welche ausgelastete Prozesse handhabt, die Ereignisse erzeugen, die durch das verlustlose Verfahren nicht reduzierbar sind.
  • Die Abhängigkeitsverfolgung und die Aggregation des Blocks 204 werden verwendet, um temporäre Ereignisse und Zustände upzudaten, die als Rückmeldung für eine weitere Verfolgung verwendet werden können. Der Block 204 analysiert und identifiziert dadurch Schlüsselereignisse, die eine Kausalität tragen, die im Ereignisstrom signifikant ist, sowie entsprechende observierte Ereignisse, die Kandidaten für eine Ereignisaggregation sind.
  • Nimmt man nun Bezug auf 3, ist ein Beispiel eines Zurückverfolgens einer Ereignisaggregation für einen Abhängigkeitsgraphen 300 gezeigt. Ein Abhängigkeitsgraph kann in z.B. vielen forensischen Analyseanwendungen verwendet werden, wie beispielsweise einer Ursachendiagnose, einer Eindringungsentdeckung, einer Angriffsauswirkungsanalyse und einer Vorwärtsverfolgung, die eine Kausalitätsverfolgung auf dem Abhängigkeitsgraphen 300 durchführt.
  • Die Knoten 302 stellen unterschiedliche Systementitäten bzw. -einheiten (z.B. Prozesse oder Dateien) dar, während die gerichteten Kanten zwischen den Knoten 302 Systemereignisse zwischen einem Initiator und einem Ziel darstellen. Die Knoten sind mit A, B, C und D bezeichnet, was bei einem spezifischen Beispiel als die Entitäten „/etc/bash“, „/etc/bashrc,“ „/etc/inputrc“, bzw. „/bin/wget“ angesehen werden kann. Eine Kante bzw. ein Rand kann als z.B. eNM-i beschrieben werden, wobei N den Initiatorknoten darstellt, M den Zielknoten darstellen und i einen Index für die Reihenfolge von Ereignissen zwischen diesen zwei Knoten darstellt. Somit wird das erste aufgezeichnete Ereignis zwischen den Knoten A und B als eAB-1 bezeichnet werden, wird das zweite derartige Ereignis als eAB-2 bezeichnet werden, und so weiter. Jedes Ereignis wird bei diesem Beispiel als ein Ereignistyp und ein Zeitfenster, während welchem das Ereignis stattfindet, beschrieben. Somit kann ein Ereignis eAB-1 als ein „Lesen“-Ereignis beschrieben werden, das in dem Zeitfenster zwischen einem Zeitstempel 10 und einem Zeitstempel 20 auftritt: [10, 20]. Auf diese Weise codieren die Knoten und Kanten Information, die zur Kausalitätsanalyse nötig ist: die Informationsflussrichtung (die durch die Richtung der Kante reflektiert wird), der Typ eines Ereignisses und das Fenster, während welchem das Ereignis stattfindet.
  • Eine Kausalitätsverfolgung ist eine Prozedur einer Durchquerung eines rekursiven Graphen, welche der kausalen Beziehung von Kanten entweder in der Vorwärts- oder Rückwärtsrichtung folgt. Beispielsweise wird in 3, um die Grundursache des Ereignisses eAD-1 zu untersuchen, eine Rückwärtsverfolgung auf diese Kante angewendet, welche allen Kanten rekursiv folgt, die zu eAD-1 beigetragen haben könnten. Eine Kausalitätsabhängigkeit kann formal für zwei Ereignisse egh und eij definiert sein, wenn ein Knoten h derselbe wie ein Knoten I ist und wenn die Endzeit für egh vor der Endzeit für eij ist. Wenn egh einen Informationsfluss zu eij hat und eij einen Informationsfluss zu einem dritten Ereignis emn hat, dann hat eij einen Informationsfluss zu emn.
  • Bei gegebenen zwei Ereigniskanten quer über dasselbe Paar von Knoten eij-1 und eij-2, wo die Endzeit von eij-2 später als die Endzeit bzw. Beendigungszeit von eij-1 ist, beschattet bzw. verfolgt auf Schritt und Tritt bzw. observiert eij-2 die Rückwärtskausalität von eij-1, wenn und nur wenn keine Ereigniskante emn existiert, die alles von i = m, j ≠ n erfüllt, wobei die Beendigungszeit von emn später als diejenige eij-1 ist und die Beendigungszeit von emn vor der Beendigungszeit von eij-2 ist. Gleichermaßen observiert eij-1 die Vorwärtskausalität von eij-2, wenn und nur wenn keine Ereigniskante emn existiert, die alles von i ≠ m, j = n erfüllt, wobei die Beendigungszeit von emn später als die Beendigungszeit von eij-1 ist und die Beendigungszeit von emn vor der Beendigungszeit von eij-2 ist. Zwei Ereigniskanten sind dann vollständig äquivalent bezüglich einer Verfolgbarkeit, wenn und nur wenn eij-2 eij-1 rückwärts observiert und eij-1 eij-2 vorwärts observiert.
  • Zwei Ereignisse sind nur dann aggregierbar, wenn sie denselben Typ haben und dieselben Quellen- und Zielortknoten gemeinsam nutzen. Für gewisse Typen von Ereignissen, wie beispielsweise Lesen/Schreiben, können die zwei Ereignisse auch gewisse Attribute (z.B. einen Dateienanlagedeskriptor) gemeinsam nutzen müssen. Eine Gruppe von aggregierbaren Ereignissen ist eine Supergruppe eines Schlüsselereignisses und seiner observierten Ereignisse.
  • Dem vorliegenden Beispiel folgend gibt es zwei Lesungen der Datei/etc/bashrc (Knoten B), zwei Lesungen der Datei/etc/inputrc (Knoten C) und eine Ausführung von /bin/wget (Knoten D), die alle durch den Prozess/bin/bash (Knoten A) durchgeführt werden. Die Pfeile zeigen den Fluss von Information von den Lesungen von Dateien zu /bin/bash und von /bin/bash zu dem ausgeführten /bin/wget an. Wenn eine Kausalitätsanalyse verwendet wird, um die Ursache des Ereignisses eAD 1 zu bestimmen, werden die Ereignisse, die einen Informationsfluss in den Knoten A vor dem Ereignis eAD-1 verursachen, einschließlich der Ereignisse eAB-1 (Lesen, [10, 20]), eAC-1 (Lesen, [15, 23]) und eAC-2 (Lesen, [28, 32]) zurückverfolgt. Bei diesem Beispiel tritt das Ereignis eAB-2 (Lesen, [40, 42]) nach dem Ereignis von Interesse 308 eAD-1 (Ausführen [36, 37]) auf. Als Ergebnis hat die Existenz von eAB-2 keine Kausalitätsauswirkung auf die Kausalität von eAD-1. Das irrelevante Ereignis ist mit einer gepunkteten Linie 307 markiert.
  • Das zweite Ereignis zwischen A und C, nämlich eAC-2, findet nach eAC-1 statt, und beide Ereignisse sind vom selben Typ (Lesen), was dieselben Entitäten enthält. Als Ergebnis hat die Existenz von eAC-1 im Ereignisstrom keine Kausalitätsauswirkung auf die Rückwärtsabhängigkeit von eAD-1. Anders ausgedrückt ist eAC-2 ein Schlüsselereignis 304, das das Ereignis eAC-1 observiert, wobei observierte Ereignisse durch eine gestrichelte Linie 306 bezeichnet sind. Bei einem forensischen Analysebeispiel eines Angriffs beschreiben die observierten Ereignisse dieselben Ereignisangreiferaktivitäten, die bereits durch die Schlüsselereignisse offenbart worden sind. Daher kann die Datenmenge durch intakt Halten der kausalen Abhängigkeiten reduziert werden durch z.B. Verknüpfen oder Zusammenfassen von Information in „observierten Ereignissen“ in „Schlüsselereignisse“, während kausale relevante Information in den letzteren bewahrt wird.
  • Nimmt man nun Bezug auf 4, ist ein Beispiel einer Vorwärtsverfolgungs-Ereignisaggregation für einen Abhängigkeitsgraphen 4 gezeigt. Bei diesem Beispiel sind aggregierbare Ereignisse für eine Vorwärtsverfolgung identifiziert. Ein Knoten E kann beispielsweise „excel.exe“ sein, ein Knoten F kann „salary.xls“ sein und ein Knoten G kann „dropbox.exe“ sein und ein Knoten H kann „backup.exe“ sein, und Ereignisse können eEF-1 (Schreiben, [10, 20]), eEF-1 (Schreiben [30, 32]), eFG-1 (Lesen, [42, 44]), eFG-2 (Lesen, [38, 40]) und eFH-1 (Lesen [18, 27]) enthalten.
  • Bei diesem Beispiel ist das Ereignis von Interesse 308 das Ereignis eEF-2 mit einem Zeitfenster von [30, 32]. Die Ereignisse eEF-1 und eFH-1 treten beide vor eEF-2 auf, so dass sie als irrelevante Ereignisse 307 zur Vorwärtsverfolgung markiert sind. Das Ereignis eFG-2 tritt vor eFG-1 auf, was eFG-2 zu einem Schlüsselereignis 304 und eFG-1 zu einem observierten Ereignis 306 macht.
  • Ein Block 206 ist verantwortlich für ein Durchführen einer Datenreduktion. Bei einem gegebenen Schlüsselereignis 304 und seinen assoziierten observierten Ereignissen 306 verknüpft der Block 206 alle Ereignis-Zeitfenster in ein einziges Zeitfenster, das den Beginn und das Ende der gesamten Gruppe von Ereignissen dicht einkapselt. Zusätzlich wird eine ereignistypspezifische Datenzusammenfassung an anderen Attributen der Ereignisse durchgeführt. Beispielsweise kann für „Lesen“-Ereignisse die Menge an Daten für Lesen in allen Ereignissen in eine einzige Anzahl akkumuliert werden, die die gesamte Menge von Daten für Lesen durch die Gruppe bezeichnet.
  • Somit kann dann, wenn drei Ereignisse zwischen den Knoten X und Y existieren (eXY-1 (Schreiben, [10, 20], 20 Bytes), eXY-2 (Lesen [18, 27], 50 Bytes) und eXY-3 (Schreiben, [30, 32], 200 Bytes)), das Schlüsselereignis als eXY-3 identifiziert werden, wobei eXY-1 und eXY-2 als observierte Ereignisse identifiziert werden. Die Ereignisse können dann zu einem einzigen Ereignis EXY-1 (Schreiben, [10, 32], 72 Bytes) reduziert werden.
  • Nimmt man nun Bezug auf 5, ist ein sekundärer Prozess zum Durchführen einer Datenreduktion im Block 106 gezeigt. Dieser sekundäre Arbeitsfluss bzw. -ablauf kann zusätzlich zu und parallel zu dem Prozess der 2 durchgeführt werden. Wie es oben angemerkt ist, erfasst der Block 202 ausgelastete Prozesse und fertigt ein Block 205 die ausgelasteten Prozesse ab. Ein Block 502 empfängt den abgefertigten heißen Prozess und sammelt alle Objekte, die bei den Interaktionen beteiligt sind, um eine Nachbargruppe N(u) auszubilden, wobei u der heiße Prozess ist. Anstelle eines Prüfens der Verfolgbarkeit von allen Aggregationskandidaten werden nur diejenigen Ereignisse mit Informationsfluss in und aus der Nachbargruppe N(u) geprüft. Dies stellt sicher, dass, solange kein Ereignis innerhalb von N(u) als Ereignis von Interesse ausgewählt wird, Verfolgungsereignisse hoher Qualität erzeugt werden.
  • Basierend auf den Ereignissen für die ausgelasteten Prozesse führt ein Block 504 eine abhängigkeitsapproximierende Datenreduktion durch. Bei einem Beispiel kann ein ausgelasteter Prozess ein Scannen von Dateien sein. Der Prozess und seine geführten bzw. gerichteten Interaktionen mit anderen Systemobjekten können verfolgt werden. Alle diese Ereignisse können als Teil einer einzigen Operation hoher Ebene angesehen werden. Als Ergebnis können die genauen Kausalitäten unter den Ereignissen ignoriert werden und können die Ereignisse aggregiert werden, selbst wenn sie sonst nicht aggregierbar sein würden. Der Block 206 aggregiert dann Ereignisse, wie es durch einen Block 504 angezeigt ist. Die aggregierten Ereignisse, die aus der 5 resultieren, können einigen Genauigkeitsverlust einführen, aber dieser Genauigkeitsverlust ist gut enthalten bei Ereignissen, die durch ausgelastete Prozesse erzeugt sind.
  • Hierin beschriebene Ausführungsformen können gänzlich Hardware, gänzlich Software oder einschließlich von sowohl Hardware- als auch Softwareelementen sein. Bei einer bevorzugten Ausführungsform ist die vorliegende Erfindung in Software implementiert, die Firmware, residente Software, einen Mikrocode, etc. enthält, aber nicht darauf beschränkt ist.
  • Ausführungsformen können ein Computerprogrammprodukt enthalten, auf das von einem computernutzbaren oder computerlesbaren Medium zugreifbar ist, das einen Programmcode zur Verwendung durch oder in Verbindung mit einem Computer oder irgendeinem Anweisungsausführungssystem zur Verfügung stellt. Ein computernutzbares oder computerlesbares Medium kann irgendeine Vorrichtung enthalten, die das Programm zur Verwendung durch oder in Verbindung mit dem Anweisungsausführungssystem, der Vorrichtung oder dem Gerät speichert, kommuniziert, ausbreitet oder transportiert. Das Medium kann magnetisch, optisch, elektronisch, elektromagnetisch, Infrarot oder ein Halbleitersystem (oder eine Vorrichtung oder ein Gerät) oder ein Ausbreitungsmedium sein. Das Medium kann ein computerlesbares Speichermedium enthalten, wie beispielsweise einen Halbleiter oder einen Festkörperspeicher, ein Magnetband, eine entfernbare Computerdiskette, einen Direktzugriffsspeicher (RAM), einen Nurlesespeicher (ROM), eine starre Magnetplatte und eine optische Platte, etc.
  • Jedes Computerprogramm kann konkret in einem maschinenlesbaren Speichermedium oder einer Vorrichtung gespeichert sein (z.B. einem Programmspeicher oder einer Magnetplatte), das oder die durch einen allgemeinen oder einen speziellen programmierbaren Computer lesbar ist, zum Konfigurieren und Steuern einer Operation eines Computers, wenn die Speichermedien oder die Vorrichtung durch den Computer gelesen werden oder wird, um die hierin beschriebenen Prozeduren durchzuführen. Das erfinderische System kann auch derart angesehen werden, dass es in einem computerlesbaren Speichermedium verkörpert ist, das mit einem Computerprogramm konfiguriert ist, wo das so konfigurierte Speichermedium veranlasst, dass ein Computer auf eine spezifische und vordefinierte Weise arbeitet, um die hierin beschriebenen Funktionen durchzuführen.
  • Ein Datenverarbeitungssystem, das zum Speichern und/oder Ausführen eines Programmcodes geeignet ist, kann wenigstens einen Prozessor enthalten, der direkt oder indirekt mit Speicherelementen durch einen Systembus gekoppelt ist. Die Speicherelemente können einen lokalen Speicher enthalten, der während einer aktuellen Ausführung des Programmcodes verwendet wird, einen Massenspeicher und Cache-Speicher, die eine temporäre Speicherung von wenigstens einem gewissen Programmcode zur Verfügung stellen, um die Anzahl von Malen zu reduzieren, für welche ein Code während einer Ausführung aus einem Massenspeicher ausgelesen wird. Eingabe/Ausgabe- oder I/O-Vorrichtungen (einschließlich, aber nicht darauf beschränkt, Tastaturen, Anzeigen, Zeigevorrichtungen, etc.) können mit dem System entweder direkt oder indirekt durch dazwischenliegende I/O-Steuerungen gekoppelt sein.
  • Netzwerkadapter können auch mit dem System gekoppelt sein, um zu ermöglichen, dass das Datenverarbeitungssystem mit anderen Datenverarbeitungssystemen oder entfernten Druckern oder Speichervorrichtungen durch dazwischenliegende private oder öffentliche Netzwerke gekoppelt werden. Modems, ein Kabelmodem und Ethernetkarten sind nur einige der aktuell verfügbaren Typen von Netzwerkadaptern.
  • Eine besondere Anwendung für die vorliegenden Ausführungsformen ist auf dem Gebiet eines Erfassens von fortgeschrittenen, andauernden Bedrohungs-(APT = Advanced Persistent Threat)-Attacken, die intrusive, mehrstufige Attacken enthalten können. Es kann eine signifikante Menge an Zeit für einen Angreifer dauern, nach und nach in ein Computersystem eines Unternehmens durchzudringen, um seine Infrastruktur zu verstehen und um wichtige Information zu stehlen oder wichtige Infrastruktur zu sabotieren. Verglichen mit herkömmlichen Attacken bzw. Angriffen können ausgeklügelte, mehrstufige Attacken, wie beispielsweise APT-Attacken, eine viel ernsthaftere Beschädigung an einem Geschäft eines Unternehmens zufügen. Um diesen Attacken entgegenzuwirken, würden Unternehmen einen Vorteil aus Lösungen ziehen, die „die Punkte verbinden“ über mehrere Aktivitäten, die individuell nicht verdächtig genug sein könnten, um Alarm zu schlagen. Weil ein Angreifer potentiell irgendeine Vorrichtung innerhalb des Unternehmens angreifen könnte, wird Angriffsherkunftsinformation von jedem Host überwacht.
  • Bei einer Studie wurde herausgefunden, dass APT-Attacken für einen Durchschnitt von etwa 6 Monaten unentdeckt geblieben sind, und in einigen Fällen von Jahren, bevor schädliche Aktionen gestartet werden. Dies impliziert, dass, um die Auswirkung von solchen Angriffen bzw. Attacken zu erfassen und zu verstehen, Unternehmen wenigstens eine Hälfte eines Jahres von Ereignisdaten speichern müssen. Die Prüfdaten auf Systemebene allein können leicht 1 GB pro Host erreichen. In einem Echtweltszenario eines Unternehmens mit 200.000 Hosts beträgt die Datenspeicherung um 17 Petabytes bis etwa 70 Petabytes.
  • Die Daten müssen nicht effizient gespeichert werden, sondern indexiert, um eine Wiedergewinnung effizient zu machen. Die vorliegenden Ausführungsformen stellen die Fähigkeit zur Verfügung, Ereignisinformation zu aggregieren, ohne die Genauigkeit der Fähigkeit wesentlichen zu beeinflussen, Angriffe zu erfassen.
  • Nimmt man nun Bezug auf 6, ist ein System 600 zur Abhängigkeitsverfolgung gezeigt. Das System 600 enthält einen Hardwareprozessor 602 und einen Speicher. Das System 600 enthält auch ein oder mehrere funktionelle Module, die bei einer Ausführungsform als Hardware implementiert sein können, die durch den Speicher 604 gespeichert ist und durch den Prozessor 602 ausgeführt wird. Bei einer alternativen Ausführungsform können die funktionellen Module als eine oder mehrere diskrete Hardwarekomponenten implementiert sein, wie beispielsweise in der Form eines anwendungsspezifischen integrierten Chips oder eines feldprogrammierbaren Gate-Arrays.
  • Die funktionellen Module enthalten z.B. einen Ereignismonitor 606, der Ereignisse hoher Ebene und niedriger Ebene verfolgt und einen Ereignisstrom erzeugt. Ein Verfolgungsmodul 608 identifiziert Schlüsselereignisse im Ereignisstrom sowie entsprechende observierte Ereignisse. Ein Modul für einen ausgelasteten Prozess 610 identifiziert heiße Prozesse innerhalb des Ereignisstroms, während ein Approximationsmodul 612 Aggregationen der Ereignisse bestimmt, die auf die heißen Prozesse bezogen sind. Ein Aggregationsmodul 614 aggregiert Ereignisse gemäß der Ausgabe des Verfolgungsmoduls und des Approximationsmoduls 612. Ein Kausalitätsverfolgungsmodul 616 führt dann eine Kausalitätsverfolgung für ein Ereignis von Interesse unter Verwendung des Ereignisstroms und von Ereignisaggregationen durch.
  • Nimmt man nun Bezug auf 7, ist ein beispielhaftes Verarbeitungssystem 700 gezeigt, das die Übertragungsvorrichtung 100 oder die Empfangsvorrichtung 120 darstellen kann. Das Verarbeitungssystem 700 enthält wenigstens einen Prozess (CPU) 704, der operativ mit anderen Komponenten über einen Systembus 702 gekoppelt ist. Ein Cache 706, ein Nurlesespeicher (ROM) 708, ein Direktzugriffsspeicher (RAM) 710, ein Eingabe/Ausgabe-(I/O-)Adapter 720, ein Klangadapter 730, ein Netzwerkadapter 740, ein Anwenderschnittstellenadapter 750 und ein Anzeigeadapter 760 sind operativ mit dem Systembus 702 gekoppelt.
  • Eine erste Speichervorrichtung 722 und eine zweite Speichervorrichtung 724 sind operativ mit dem Systembus 702 durch den I/O-Adapter 720 gekoppelt. Die Speichervorrichtungen 722 und 724 können irgendetwas von einer Plattenspeichervorrichtung (z.B. eine magnetische oder optische Plattenspeichervorrichtung), einer Festkörper-Magnetvorrichtung, und so weiter sein. Die Speichervorrichtungen 722 und 724 können derselbe Typ von Speichervorrichtung oder unterschiedliche Typen von Speichervorrichtungen sein.
  • Ein Lautsprecher 732 ist operativ mit dem Systembus 702 durch den Klangadapter 730 gekoppelt. Ein Transceiver 743 ist operativ mit dem Systembus 702 durch den Netzwerkadapter 740 gekoppelt. Eine Anzeigevorrichtung 762 ist operativ mit dem Systembus 702 durch den Anzeigeadapter 760 gekoppelt.
  • Eine erste Anwendereingabevorrichtung 752, eine zweite Anwendereingabevorrichtung 754 und eine dritte Anwendereingabevorrichtung 756 sind operativ mit dem Systembus 702 durch den Anwenderschnittstellenadapter 750 gekoppelt. Die Anwendereingabevorrichtungen 752, 754 und 756 können irgendetwas von einer Tastatur, einer Maus, einer Kleintastatur bzw. einer Folientastatur, einer Bilderfassungsvorrichtung, einer Bewegungserfassungsvorrichtung, einem Mikrophon, einer Vorrichtung, die die Funktionalität von wenigstens zwei der vorangehenden Vorrichtungen enthält, und so weiter sein. Natürlich können auch andere Typen von Eingabevorrichtungen verwendet werden, während der Sinngehalt der vorliegenden Prinzipien beibehalten wird. Die Anwendereingabevorrichtungen 752, 754 und 756 können derselbe Typ von Anwendereingabevorrichtung oder unterschiedliche Typen von Anwendereingabevorrichtungen sein. Die Anwendereingabevorrichtungen 752, 754 und 756 werden verwendet, um Information zum System 700 einzugeben und daraus auszugeben.
  • Natürlich kann das Verarbeitungssystem 700 auch andere Elemente (nicht gezeigt) enthalten, wie es von einem Fachmann auf dem Gebiet ohne weiteres in Erwägung gezogen wird, sowie gewisse Elemente weglassen. Beispielsweise können verschiedene andere Eingabevorrichtungen und/oder Ausgabevorrichtungen im Verarbeitungssystem 700 enthalten sein, und zwar in Abhängigkeit von der bestimmten Implementierung desselben, wie es von einem Fachmann auf dem Gebiet ohne weiteres verstanden wird. Beispielsweise können verschiedene Typen von drahtlosen und/oder verdrahteten Eingabe- und/oder Ausgabevorrichtungen verwendet werden. Darüber hinaus können auch zusätzliche Prozessoren, Steuerungen, Speicher und so weiter in verschiedenen Konfigurationen verwendet werden, wie es von einem Fachmann auf dem Gebiet ohne weiteres eingesehen wird. Diese und andere Variationen des Verarbeitungssystems 700 werden von einem Fachmann auf dem Gebiet ohne weiteres in Erwägung gezogen, dem die Lehren der hierin zur Verfügung gestellten vorliegenden Prinzipien übergeben werden.
  • Nimmt man nun Bezug auf 8, ist ein Eindringungserfassungs- und Wiederherstellungssystem 300 gezeigt. Das Eindringungserfassungssystem 300 enthält ein Kausalitätsverfolgungssystem 600, wie es oben beschrieben ist. Das Eindringungserfassungs- und Wiederherstellungssystem 800 kann dicht mit dem Kausalitätsverfolgungssystem 600 integriert sein, indem derselbe Hardwareprozessor 602 und derselbe Speicher 604 verwendet werden, oder kann alternativ seinen eigenen alleinstehenden Hardwareprozessor 802 und Speicher 804 haben. Im letzteren Fall kann das Eindringungserfassungs- und Wiederherstellungssystem 800 mit dem Kausalitätsverfolgungssystem durch beispielsweise Interprozesskommunikationen, Netzwerkkommunikationen oder irgendein anderes geeignetes Medium und/oder Protokoll kommunizieren.
  • Das Eindringungserfassungs- und Wiederherstellungssystem 800 kann bestimmte Ereignisse zur Überprüfung mit einem Flag versehen. Dies kann automatisch durchgeführt werden, wie beispielsweise unter Verwendung von einer oder mehreren Heuristiken oder Maschinenlernprozessen, um zu bestimmen, wenn ein Ereignis unerwartet oder auf andere Weise nicht angebracht ist. Ein Versehen von Ereignissen mit Flags zur Überprüfung kann alternativ oder zusätzlich durch einen menschlichen Bediener durchgeführt werden, der spezifische Ereignisse zur Überprüfung auswählt. Das Eindringungserfassungs- und Wiederherstellungssystem 800 zeigt dann das mit Flag versehene Ereignis zum Kausalitätsverfolgungssystem 600 an, um eine Kausalitätsverfolgung für das mit Flag versehene Ereignis effizient aufzubauen. Unter Verwendung dieser Kausalitätsverfolgung bestimmt ein Eindringungserfassungsmodul 805, ob ein Einbruch aufgetreten ist. Das Einbruchserfassungsmodul 805 kann unter Verwendung von z.B. einem oder mehreren Heuristiken oder Maschinenlernprozessen arbeiten, die einen Vorteil aus der Kausalitätsinformation ziehen, die durch das Kausalitätsverfolgungssystem 600 zur Verfügung gestellt ist, und kann durch eine Überprüfung durch einen menschlichen Bediener ergänzt werden, um zu bestimmen, dass ein Eindringen aufgetreten ist.
  • Wenn ein Eindringen erfasst worden ist, kann ein Abschwächungsmodul 806 automatisch eine oder mehrere Abschwächungsaktionen auslösen. Abschwächungsaktionen können beispielsweise ein Ändern von Zugriffserlaubnissen in einem oder mehreren betroffenen oder zugreifbaren Computersystemen, ein Stellen von betroffenen Daten oder Programmen unter Quarantäne, ein Erhöhen einer Einlogg- oder Überwachungsaktivität und irgendeine andere automatische Aktion, die dazu dienen kann, den Effekt oder Schutz eines Eindringens zu stoppen oder zu verringern, enthalten. Das Abschwächungsmodul 806 kann eine Abschwächung und eine Wiederherstellung durch eine Vorwärtsverfolgung der Auswirkung eines Eindringens unter Verwendung der Kausalitätsverfolgung führen. Ein Alarmmodul 808 kann einen menschlichen Bediener über das Eindringen alarmieren, was Kausalitätsinformation sowie Information in Bezug auf irgendwelche Abschwächungsaktionen, die aufgetreten sind, zur Verfügung stellt.
  • Das Vorangehende ist derart zu verstehen, dass es in jederlei Hinsicht illustrativ und beispielhaft ist, aber nicht beschränkend, und dass der Schutzumfang der hierin offenbarten Erfindung nicht aus der detaillierten Beschreibung zu bestimmen ist, sondern vielmehr aus den Ansprüchen, wie sie gemäß der vollen Breite, die durch die Patentgesetze zugelassen ist, interpretiert werden. Es ist zu verstehen, dass die hierin gezeigten und beschriebenen Ausführungsformen nur illustrativ für die Prinzipien der vorliegenden Erfindung sind und dass Fachleute auf dem Gebiet verschiedene Modifikationen implementieren können, ohne vom Schutzumfang und Sinngehalt der Erfindung abzuweichen. Diese Fachleute auf dem Gebiet könnten verschiedene andere Merkmalskombinationen implementieren, ohne vom Schutzumfang und Sinngehalt der Erfindung abzuweichen. Hat man somit Aspekte der Erfindung mit den Details und der Besonderheit, die durch die Patentgesetze erforderlich sind, beschrieben, ist das, was beansprucht und erwünscht geschützt durch die Buchstaben des Patentgesetzes ist, in den beigefügten Ansprüchen dargelegt.

Claims (36)

  1. Verfahren zur Abhängigkeitsverfolgung, umfassend: Identifizieren eines heißen Prozesses, der Bursts von Ereignissen mit verschachtelten Abhängigkeiten erzeugt; Aggregieren von Ereignissen, die bezogen sind auf den heißen Prozess, gemäß einer prozesszentrischen Abhängigkeitsapproximation, die Abhängigkeiten zwischen den Ereignissen ignoriert, die bezogen sind auf den heißen Prozess; und Verfolgen einer Kausalität in einem reduzierten Ereignisstrom, der die aggregierten Ereignisse umfasst, unter Verwendung eines Prozessors.
  2. Verfahren nach Anspruch 1, wobei ein Identifizieren des heißen Prozesses ein Zählen einer Anzahl von Ereignissen umfasst, die durch einen Prozess über eine Zeitperiode erzeugt werden.
  3. Verfahren nach Anspruch 2, wobei ein Identifizieren des heißen Prozesses ein Vergleichen der gezählten Anzahl von Ereignissen mit einer Schwelle umfasst, so dass ein Prozess mit einer gezählten Anzahl von Ereignissen in der Zeitperiode, die die Schwelle übersteigt, als ein heißer Prozess identifiziert wird.
  4. Verfahren nach Anspruch 1, wobei ein Aggregieren von Ereignissen, die bezogen sind auf den heißen Prozess, ein Ersetzen der Ereignisse durch ein einziges Ereignis umfasst, das eine Dauer hat, die alle der Dauern der Ereignisse enthält.
  5. Verfahren nach Anspruch 1, weiterhin umfassend: Identifizieren von Schlüsselereignissen und entsprechenden beschatteten bzw. observierten Ereignissen; und Aggregieren von observierten Ereignissen mit jeweiligen Schlüsselereignissen.
  6. Verfahren nach Anspruch 5, wobei eine Ausgabe einer Kausalitätsverfolgung durch das Vorhandensein oder Nichtvorhandensein von observierten Ereignissen nicht beeinflusst wird.
  7. Verfahren nach Anspruch 5, wobei ein Identifizieren von Schlüsselereignissen ein Identifizieren von Schlüsselereignissen in einem Rückwärtsverfolgungsszenario umfasst.
  8. Verfahren nach Anspruch 5, wobei ein Identifizieren von Schlüsselereignissen ein Identifizieren von Schlüsselereignissen in einem Vorwärtsverfolgungsszenario umfasst.
  9. Verfahren nach Anspruch 5, wobei ein Identifizieren von Schlüsselereignissen und observierten Ereignissen und ein Aggregieren von observierten Ereignissen nur für Ereignisse durchgeführt werden, die nicht mit einem heißen Prozess assoziiert sind.
  10. System zur Abhängigkeitsverfolgung, umfassend: ein Modul für einen ausgelasteten Prozess, das konfiguriert ist, um einen heißen Prozess zu identifizieren, der Bursts von Ereignissen mit verschachtelten Abhängigkeiten erzeugt; ein Aggregationsmodul, das konfiguriert ist, um Ereignisse zu aggregieren, die bezogen sind auf den heißen Prozess, gemäß einer prozesszentrischen Abhängigkeitsapproximation, die Abhängigkeiten zwischen den Ereignissen ignoriert, die bezogen sind auf den heißen Prozess; und ein Kausalitätsverfolgungsmodul, das einen Prozessor umfasst, der konfiguriert ist, um eine Kausalität in einem reduzierten Ereignisstrom zu verfolgen, der die aggregierten Ereignisse umfasst.
  11. System nach Anspruch 10, wobei das Modul für einen ausgelasteten Prozess weiterhin konfiguriert ist, um eine Anzahl von Ereignissen zu zählen, die durch einen Prozess über eine Zeitperiode erzeugt werden.
  12. System nach Anspruch 11, wobei das Modul für einen ausgelasteten Prozess weiterhin konfiguriert ist, um die gezählte Anzahl von Ereignissen mit einer Schwelle zu vergleichen, so dass ein Prozess mit einer gezählten Anzahl von Ereignissen in der Zeitperiode, die die Schwelle übersteigt, als ein heißer Prozess identifiziert wird.
  13. System nach Anspruch 10, wobei das Aggregationsmodul weiterhin konfiguriert ist, um Ereignisse durch ein einziges Ereignis zu ersetzen, das eine Dauer hat, die alle der Dauern der ersetzten Ereignisse enthält.
  14. System nach Anspruch 10, das weiterhin ein Verfolgungsmodul umfasst, das konfiguriert ist, um Schlüsselereignisse und entsprechende beschattete bzw. observierte Ereignisse zu identifizieren, wobei das Aggregationsmodul weiterhin konfiguriert ist, um observierte Ereignisse mit jeweiligen Schlüsselereignissen zu aggregieren.
  15. System nach Anspruch 14, wobei eine Ausgabe des Verfolgungsmoduls durch das Vorhandensein oder Nichtvorhandensein von observierten Ereignissen nicht beeinflusst wird.
  16. System nach Anspruch 14, wobei das Verfolgungsmodul weiterhin konfiguriert ist, um Schlüsselereignisse in einem Rückwärtsverfolgungsszenario zu identifizieren.
  17. System nach Anspruch 14, wobei das Verfolgungsmodul weiterhin konfiguriert ist, um Schlüsselereignisse in einem Vorwärtsverfolgungsszenario zu identifizieren.
  18. System nach Anspruch 14, wobei das Verfolgungsmodul weiterhin konfiguriert ist, um Schlüsselereignisse und observierte Ereignisse zu identifizieren und observierte Ereignisse zu aggregieren, was nur für Ereignisse durchgeführt wird, die nicht mit einem heißen Prozess assoziiert sind.
  19. Verfahren zur Eindringungserfassung, umfassend: Bestimmen einer Kausalitätsverfolgung für ein mit einem Flag versehenes Ereignis, umfassend Identifizieren eines heißen Prozesses, der Bursts von Ereignissen mit verschachtelten Abhängigkeiten erzeugt; Aggregieren von Ereignissen, die bezogen sind auf den heißen Prozess, gemäß einer prozesszentrischen Abhängigkeitsapproximation, die Abhängigkeiten zwischen den Ereignissen ignoriert, die bezogen sind auf den heißen Prozess; und Verfolgen einer Kausalität in einem reduzierten Ereignisstrom, der die aggregierten Ereignisse umfasst, unter Verwendung eines Prozessors; Bestimmen, ob eine Eindringung aufgetreten ist, basierend auf der Kausalitätsverfolgung; und Durchführen von einer oder mehreren Abschwächungsaktionen, wenn bestimmt wird, dass eine Eindringung aufgetreten ist.
  20. Verfahren nach Anspruch 19, wobei ein Identifizieren des heißen Prozesses ein Zählen einer Anzahl von Ereignissen umfasst, die durch einen Prozess über eine Zeitperiode erzeugt werden.
  21. Verfahren nach Anspruch 20, wobei ein Identifizieren des heißen Prozesses ein Vergleichen der gezählten Anzahl von Ereignissen mit einer Schwelle umfasst, so dass ein Prozess mit einer gezählten Anzahl von Ereignissen in der Zeitperiode, die die Schwelle übersteigt, als ein heißer Prozess identifiziert wird.
  22. Verfahren nach Anspruch 19, wobei ein Aggregieren von Ereignissen, die bezogen sind auf den heißen Prozess, ein Ersetzen der Ereignisse durch ein einziges Ereignis umfasst, das eine Dauer hat, die alle der Dauern der Ereignisse enthält.
  23. Verfahren nach Anspruch 19, weiterhin umfassend: Identifizieren von Schlüsselereignissen und entsprechenden beschatteten bzw. observierten Ereignissen; und Aggregieren von observierten Ereignissen mit jeweiligen Schlüsselereignissen.
  24. Verfahren nach Anspruch 23, wobei eine Ausgabe einer Kausalitätsverfolgung durch das Vorhandensein oder Nichtvorhandensein von observierten Ereignissen nicht beeinflusst wird.
  25. Verfahren nach Anspruch 23, wobei ein Identifizieren von Schlüsselereignissen ein Identifizieren von Schlüsselereignissen in einem Rückwärtsverfolgungsszenario umfasst.
  26. Verfahren nach Anspruch 23, wobei ein Identifizieren von Schlüsselereignissen ein Identifizieren von Schlüsselereignissen in einem Vorwärtsverfolgungsszenario umfasst.
  27. Verfahren nach Anspruch 23, wobei ein Identifizieren von Schlüsselereignissen und observierten Ereignissen und ein Aggregieren von observierten Ereignissen nur für Ereignisse durchgeführt werden, die nicht mit einem heißen Prozess assoziiert sind.
  28. System zur Eindringungserfassung, umfassend: ein Kausalitätsverfolgungssystem, das konfiguriert ist, um eine Kausalitätsverfolgung für ein mit einem Flag versehenes Ereignis zu bestimmen, wobei das Kausalitätsverfolgungssystem umfasst: ein Modul für einen ausgelasteten Prozess, das konfiguriert ist, um einen heißen Prozess zu identifizieren, der Bursts von Ereignissen mit verschachtelten Abhängigkeiten erzeugt; ein Aggregationsmodul, das konfiguriert ist, um Ereignisse zu aggregieren, die bezogen sind auf den heißen Prozess, gemäß einer prozesszentrischen Abhängigkeitsapproximation, die Abhängigkeiten zwischen den Ereignissen ignoriert, die bezogen sind auf den heißen Prozess; und ein Kausalitätsverfolgungsmodul, das einen Prozessor umfasst, der konfiguriert ist, um eine Kausalität in einem reduzierten Ereignisstrom zu verfolgen, der die aggregierten Ereignisse umfasst; ein Eindringungserfassungsmodul, das konfiguriert ist, um basierend auf der Kausalitätsverfolgung zu bestimmen, ob eine Eindringung aufgetreten ist; und ein Abschwächungsmodul, das konfiguriert ist, um eine oder mehrere Abschwächungsaktionen durchzuführen, wenn das Eindringungserfassungsmodul bestimmt, dass eine Eindringung aufgetreten ist.
  29. System nach Anspruch 28, wobei das Modul für einen ausgelasteten Prozess weiterhin konfiguriert ist, um eine Anzahl von Ereignissen zu zählen, die durch einen Prozess über eine Zeitperiode erzeugt werden.
  30. System nach Anspruch 29, wobei das Modul für einen ausgelasteten Prozess weiterhin konfiguriert ist, um die gezählte Anzahl von Ereignissen mit einer Schwelle zu vergleichen, so dass ein Prozess mit einer gezählten Anzahl von Ereignissen in der Zeitperiode, die die Schwelle übersteigt, als ein heißer Prozess identifiziert wird.
  31. System nach Anspruch 28, wobei das Aggregationsmodul weiterhin konfiguriert ist, um Ereignisse durch ein einziges Ereignis zu ersetzen, das eine Dauer hat, die alle der Dauern der ersetzten Ereignisse enthält.
  32. System nach Anspruch 28, das weiterhin ein Verfolgungsmodul umfasst, das konfiguriert ist, um Schlüsselereignisse und entsprechende observierte Ereignisse zu identifizieren, wobei das Aggregationsmodul weiterhin konfiguriert ist, observierte Ereignisse mit jeweiligen Schlüsselereignissen zu aggregieren.
  33. System nach Anspruch 32, wobei eine Ausgabe des Verfolgungsmoduls durch das Vorhandensein oder Nichtvorhandensein von observierten Ereignissen nicht beeinflusst wird.
  34. System nach Anspruch 32, wobei das Verfolgungsmodul weiterhin konfiguriert ist, um Schlüsselereignisse in einem Rückwärtsverfolgungsszenario zu identifizieren.
  35. System nach Anspruch 32, wobei das Verfolgungsmodul weiterhin konfiguriert ist, um Schlüsselereignisse in einem Vorwärtsverfolgungsszenario zu identifizieren.
  36. System nach Anspruch 32, wobei das Verfolgungsmodul weiterhin konfiguriert ist, um Schlüsselereignisse und observierte Ereignisse zu identifizieren und observierte Ereignisse zu aggregieren, was nur für Ereignisse durchgeführt wird, die nicht mit einem heißen Prozess assoziiert sind.
DE112017000886.7T 2016-02-18 2017-01-27 High-Fidelity-Datenreduktion zur Systemabhängigkeitsanalyse Withdrawn DE112017000886T5 (de)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201662296646P 2016-02-18 2016-02-18
US62/296,646 2016-02-18
US15/416,462 2017-01-26
US15/416,346 2017-01-26
US15/416,346 US20170244620A1 (en) 2016-02-18 2017-01-26 High Fidelity Data Reduction for System Dependency Analysis
US15/416,462 US20170244733A1 (en) 2016-02-18 2017-01-26 Intrusion detection using efficient system dependency analysis
PCT/US2017/015267 WO2017142692A1 (en) 2016-02-18 2017-01-27 High fidelity data reduction for system dependency analysis related application information

Publications (1)

Publication Number Publication Date
DE112017000886T5 true DE112017000886T5 (de) 2018-10-25

Family

ID=59630700

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017000886.7T Withdrawn DE112017000886T5 (de) 2016-02-18 2017-01-27 High-Fidelity-Datenreduktion zur Systemabhängigkeitsanalyse

Country Status (3)

Country Link
US (2) US20170244733A1 (de)
JP (1) JP2019506678A (de)
DE (1) DE112017000886T5 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9967267B2 (en) 2016-04-15 2018-05-08 Sophos Limited Forensic analysis of computing activity
US9928366B2 (en) 2016-04-15 2018-03-27 Sophos Limited Endpoint malware detection using an event graph
US11314573B2 (en) 2018-11-30 2022-04-26 Hewlett Packard Enterprise Development Lp Detection of event storms
US11483326B2 (en) 2019-08-30 2022-10-25 Palo Alto Networks, Inc. Context informed abnormal endpoint behavior detection
US10891174B1 (en) 2019-09-19 2021-01-12 International Business Machines Corporation Performing hierarchical provenance collection
US11704129B2 (en) 2019-11-25 2023-07-18 The Board Of Trustees Of The University Of Illinois Transparent interpretation and integration of layered software architecture event streams
CN113259302B (zh) * 2020-02-12 2023-06-27 腾讯云计算(长沙)有限责任公司 网络攻击数据的关系分解方法、装置和计算机设备
US11349703B2 (en) * 2020-07-24 2022-05-31 Hewlett Packard Enterprise Development Lp Method and system for root cause analysis of network issues
US20220188957A1 (en) * 2020-12-15 2022-06-16 Beijing Didi Infinity Technology And Development Co., Ltd. System and method for blocking a ride-hailing order
CN113904881B (zh) * 2021-12-13 2022-03-04 北京金睛云华科技有限公司 一种入侵检测规则误报处理方法和装置
US20230300112A1 (en) * 2022-03-21 2023-09-21 Sophos Limited Aggregating security events

Also Published As

Publication number Publication date
US20170244620A1 (en) 2017-08-24
US20170244733A1 (en) 2017-08-24
JP2019506678A (ja) 2019-03-07

Similar Documents

Publication Publication Date Title
DE112017000886T5 (de) High-Fidelity-Datenreduktion zur Systemabhängigkeitsanalyse
US10417072B2 (en) Scalable predictive early warning system for data backup event log
DE112016001742T5 (de) Integrierte Gemeinschafts- und Rollenentdeckung in Unternehmensnetzwerken
DE69923435T2 (de) System und verfahren zur optimierung der leistungskontrolle von komplexen informationstechnologiesystemen
DE102005010923B4 (de) System, computerverwendbares Medium und Verfahren zum Überwachen einer Netzwerkaktivität
DE112006001378T5 (de) Automatische Verwaltung einer Speicherzugriffssteuerung
DE112011103273B4 (de) Verfahren, Computerprogrammprodukt und Vorrichtung zur Weitergabe von Identitäten über Anwendungsebenen unter Verwendung von kontextabhängiger Zuordnung und gesetzten Werten
DE112020001038T5 (de) Detektion von phishing-kampagnen
DE202011111121U1 (de) System zum Erfassen komplexer Schadsoftware
DE112016002806T5 (de) Eindringdetektion auf Graphenbasis unter Verwendung von Prozessspuren
DE112016005290T5 (de) Anomliefusion auf temporalen kausalitätsgraphen
DE112011101559T5 (de) Dynamische adaptive Erkennung von Prozessen und deren Einhaltung
DE102014116367A1 (de) Verwaltung von leistungsstufen von informationstechnologiesystemen
DE102022201746A1 (de) Verwaltung von rechenzentren mit maschinellem lernen
DE112010003979T5 (de) System und Verfahren für das statische Erkennen und Kategorisieren von Informationsfluss-Herabstufungseinrichtungen
DE112017000937T5 (de) Persistente Datenflusserkennungen, die verteilte Anwendungen ermöglichen
DE112021003747T5 (de) Erkennen von anomalien in einer netzwerktopologie
DE102020112592A1 (de) Anwendungsverhaltensbezogene Fingerabdrücke
DE102016102945A1 (de) Code-Analyse zum Bereitstellen von Datenschutz in ETL-Systemen
DE102012223167A1 (de) Gemeinsame Nutzung von Artefakten zwischen kollaborativen Systemen
DE602005006156T2 (de) Unterdrückung von falschalarmen unter in einem überwachten informationssystem produzierten alarmen
DE112020004572T5 (de) Identifizierung von teilereignissen in einem ereignissturm in einer operationsverwaltung
DE112021000689T5 (de) Attestierung von neuronalen abläufen
DE112021003657T5 (de) Fehlerlokalisierung für cloud-native anwendungen
DE112015004557B4 (de) Anforderungsüberwachen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee