DE112016002806T5 - Graphene-based intrusion detection using process traces - Google Patents
Graphene-based intrusion detection using process traces Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 230000008569 process Effects 0.000 title claims abstract description 67
- 238000001514 detection method Methods 0.000 title claims description 33
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 title 1
- 229910021389 graphene Inorganic materials 0.000 title 1
- 230000009466 transformation Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 description 11
- 238000009826 distribution Methods 0.000 description 10
- 239000011159 matrix material Substances 0.000 description 10
- 239000013598 vector Substances 0.000 description 9
- 239000003795 chemical substances by application Substances 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 230000002159 abnormal effect Effects 0.000 description 6
- 230000006399 behavior Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000004927 fusion Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000035515 penetration Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- 238000000342 Monte Carlo simulation Methods 0.000 description 1
- 206010042635 Suspiciousness Diseases 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 125000002015 acyclic group Chemical group 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003012 network analysis Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000032258 transport Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting 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:
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
Jeder Agent
Mit Bezug auf
Mit Bezug auf
Das Host-Ebenen-Analysemodul
Mit Bezug nun auf
Der Block
Der Block
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
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
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
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
Da A die Matrixdarstellung des vielteiligen Graphen G ist, kann A auch bezeichnet werden als: 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: 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: 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: 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:
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:
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
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
Auf der Basis der Sender- und Empfängerbewertung und in Anbetracht eines Pfades p wird die Anomaliebewertung für den Pfad berechnet als:
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:
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) 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. 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
Mit Bezug nun auf
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
Eine erste Speichervorrichtung
Ein Lautsprecher
Eine erste Benutzereingabevorrichtung
Das Verarbeitungssystem
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)
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)
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)
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 |
-
2016
- 2016-07-20 WO PCT/US2016/043040 patent/WO2017019391A1/en active Application Filing
- 2016-07-20 JP JP2018502363A patent/JP6557774B2/en active Active
- 2016-07-20 DE DE112016002806.7T patent/DE112016002806T5/en active Pending
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 |