-
Die vorliegende Erfindung betrifft eine Rechenvorrichtung zur Mustererkennung in einer Ereignisfolge sowie ein Verfahren zur Mustererkennung in einer Ereignisfolge. Des Weiteren betrifft die vorliegende Erfindung ein Computerprogrammprodukt, welches die Durchführung eines solchen Verfahrens veranlasst.
-
In verschiedenen technischen Systemen können Angriffe von Dritten auf das technische System erfolgen. Solche Angriffe sollen möglichst schnell und sicher erkannt werden. Hierzu können beispielsweise Angriffserkennungssysteme (Intrusion Detection System, IDS) verwendet werden, die mit Hilfe von Sensoren Ereignisse (bzw. Events) wahrnehmen, die dann in Log-Dateien gesammelt werden. Gleichzeitig können diese Ereignisse durch eine Mustererkennung überprüft und verarbeitet, und die gesammelten Daten mit Signaturen aus einer Musterdatenbank verglichen werden.
-
Falls die gesammelten Daten auf eines der Muster zutreffen, so wird ein Alarm ausgelöst. Solche Log-Dateien weisen Logs auf, die auch als Protokolldateien bezeichnet werden. Solche Logs sind eine selbsttätige Aufzeichnung bzw. Protokollierung von Events oder Ereignissen in einer Datei oder mittels eines anderen technischen Speichermechanismus. Logs werden verwendet, um Situationen zu rekonstruieren oder zu interpretieren, aber auch um kritische Situationen schnell und zuverlässig erkennen zu können. Logs werden beispielsweise in Tests bei der Angriffs- bzw. Eindringerkennung verwendet. Bei Tests zeichnet ein Testprotokoll die Ereignisse während einer Testausführung auf. Logs können auch in der nachträglichen Interpretation von Ereignisfolgen verwendet werden, zum Beispiel um Angriffe oder Angriffsversuche zu verstehen (sogenannte Forensik), aber auch um Fehler jeder Art zu erkennen (sogenanntes Debugging). Insbesondere bei Angriffserkennungssystemen ist das schnelle Erkennen von kritischen Situationen wichtig.
-
Gespeicherte Ereignisse in den Log-Dateien werden häufig durch Automaten analysiert. Es gibt verschiedene Arten von solchen Automaten, die dazu verwendet werden können. Hierzu zählen deterministische Automaten, nicht-deterministische und lernende Automaten. Für xml-Daten können auch Baumautomaten benutzt werden. Alle diese Automaten analysieren die gespeicherten Logs in der temporalen Reihenfolge. Die Arbeitslast einer solchen Verarbeitung ist allerdings in manchen Situationen sehr groß.
-
Falls es nicht sinnvoll erscheint, alle möglichen Ereignisse aufzuzeichnen, weil die Rechenleistung, um sie zu bearbeiten und zu überprüfen, zu groß wäre, können die Muster abstrahiert und gröbere Muster benutzt werden. Dieser Prozess wird allerdings oft nur ungenau und intuitiv gemacht, wodurch die Qualität der Erkennung verringert wird.
-
Vor diesem Hintergrund besteht eine Aufgabe der vorliegenden Erfindung darin, eine Mustererkennung in einer Ereignisfolge bereitzustellen, bei der die Qualität der Mustererkennung nicht verringert wird, während gleichzeitig die benötigte Rechenleistung reduziert wird.
-
Demgemäß wird eine Rechenvorrichtung zur Mustererkennung in einer Ereignisfolge vorgeschlagen. Die Rechenvorrichtung weist eine Empfangseinheit zum Empfangen der Ereignisfolge, die eine Mehrzahl von Ereignissen aufweist, eine Auswahleinheit zum Auswählen einer Untermenge aus der Mehrzahl von Ereignissen und eines Musters, welches mit der ausgewählten Untermenge assoziiert ist, eine Überprüfungseinheit zum Durchführen einer Mustererkennung in der ausgewählten Untermenge basierend auf dem assoziierten Muster, und eine Anpassungseinheit zum dynamischen Anpassen der ausgewählten Untermenge und des damit assoziierten Musters basierend auf einem Ergebnis der durchgeführten Musterkennung durch die Überprüfungseinheit auf.
-
Die jeweilige Einheit, zum Beispiel Überprüfungseinheit oder Anpassungseinheit, kann hardwaretechnisch und/oder auch softwaretechnisch implementiert sein. Bei einer hardwaretechnischen Implementierung kann die jeweilige Einheit als Vorrichtung oder als Teil einer Vorrichtung, zum Beispiel als Computer oder als Mikroprozessor ausgebildet sein. Bei einer softwaretechnischen Implementierung kann die jeweilige Einheit als Computerprogrammprodukt, als eine Funktion, als eine Routine, als Teil eines Programmcodes oder als ausführbares Objekt ausgebildet sein.
-
Die Rechenvorrichtung kann beispielsweise als Prozessor, Mikroprozessor, Computer, PC, Server oder ähnliches ausgestaltet sein. Sie kann in einem Netzwerk angeordnet sein und mit anderen Geräten oder Rechenvorrichtungen kommunizieren, beispielsweise mit einem technischen System.
-
Unter einer Ereignisfolge wird eine Mehrzahl von Ereignissen verstanden. Diese Ereignisse können beispielsweise bestimmte Daten oder Werte von Sensoren, aber auch Ausgangswerte oder Ausgangssignale eines Systems sein. Die Auswahleinheit wählt aus der Mehrzahl von Ereignissen der Ereignisfolge eine Untermenge aus, wobei die Untermenge ein Teil der Ereignisse sein kann, oder als abstraktere Betrachtung der Mehrzahl von Ereignissen verstanden wird. Je nach ausgewählter Untermenge wird ein entsprechendes Muster ausgewählt, welches mit der ausgewählten Untermenge assoziiert ist. Das bedeutet, dass bei einer kleineren Untermenge ein entsprechend anderes Muster verwendet wird als bei einer größeren Untermenge.
-
Unter einem Muster wird eine Sequenz von Ereignissen verstanden, wobei ein Auftreten dieser Sequenz in der Ereignisfolge ein Indikator für einen Angriff ist.
-
Je größer die Übereinstimmung der Ereignisfolge mit dem Muster ist, desto größer ist die Wahrscheinlichkeit, dass ein Angriff vorliegt. Man spricht auch von der Wahrscheinlichkeit P(Att|M) als der Wahrscheinlichkeit, dass ein Angriff vorliegt, wenn dieses Muster beobachtet wird, wobei M für das Muster und Att für einen Angriff steht. Die Wahrscheinlichkeit P(Att|M), d.h. das ein Angriff zusammen mit einem auftretenden Muster vorliegt, ist größer als die Wahrscheinlichkeit P(Att), das heißt größer als die Wahrscheinlichkeit, dass ein Angriff vorliegt, ohne dass das entsprechende Muster beobachtet wurde. Das Muster M wird auch als Indikator für einen Angriff bezeichnet.
-
Die Mustererkennung kann auch als Projektion des Musters M auf eine Klasse H von Ereignissen bezeichnet werden, wobei unter einer Klasse H von Ereignissen alle interessanten Ereignisse, d.h. Ereignisse, die mit einem Angriff in Zusammenhang stehen können, verstanden werden kann. Die Projektion des Musters ProjH(M) kann auch als abstrahiertes Muster oder gröberes Muster bezeichnet werden.
-
Im vorliegenden Fall wird eine Untermenge Hi von Ereignissen ausgewählt und das entsprechende Muster ProjHi(M) in der Untermenge von Ereignissen durch die Überprüfungseinheit bei der Mustererkennung gesucht.
-
Die Anpassungseinheit kann basierend auf einem Ergebnis der durchgeführten Mustererkennung die ausgewählte Untermenge und das damit assoziierte Muster anpassen. Das bedeutet, dass sowohl die ausgewählte Untermenge größer, das heißt genauer, werden kann, als auch kleiner, das heißt ungenauer. Dies hängt davon ab, ob das assoziierte Muster in der ausgewählten Untermenge gefunden oder nicht gefunden wurde.
-
Auf diese Weise kann die Granularität, das heißt die Genauigkeit bzw. der Informationsgehalt der Untermenge sowie des Musters dynamisch verändert werden. Auf diese Weise ist es möglich, in einem ersten Schritt lediglich eine kleine Untermenge an Ereignissen zu überprüfen und nur bei Auftreten einer Übereinstimmung der Untermenge mit dem entsprechenden Muster weitere Ereignisse in die Mustererkennung aufzunehmen. Die benötigten Rechenressourcen und Speicherressourcen werden auf diese Weise reduziert.
-
Gemäß einer Ausführungsform weist die Ereignisfolge Ausgaben von Sensoren eines technischen Systems auf.
-
Beispielsweise können Sensoren eines Angriffserkennungssystems Werte als Ereignisse ausgeben, die dann die Ereignisfolge bilden.
-
Gemäß einer weiteren Ausführungsform weist die Rechenvorrichtung eine Speichereinheit zum Speichern der empfangenen Ereignisfolge in einer Logdatei auf.
-
Die Speichereinheit kann eine beliebige Art von Speicher sein, der in der Lage ist, die empfangene Ereignisfolge zu speichern. Dies kann beispielsweise in einer Log-Datei erfolgen, die dann durch die Auswahleinheit untersucht wird, wobei eine Untermenge der gespeicherten Daten in der Log-Datei ausgewählt wird.
-
Gemäß einer weiteren Ausführungsform ist die Anpassungseinheit dazu eingerichtet, die ausgewählte Untermenge für die gespeicherte Ereignisfolge anzupassen. Des Weiteren ist die Überprüfungseinheit dazu eingerichtet, eine Mustererkennung in der angepassten Untermenge der gespeicherten Ereignisfolge durchzuführen.
-
In dieser Ausführungsform wird bei einem erkannten Muster die Untermenge ausgewählt bzw. angepasst und das damit assoziierte Muster ebenfalls entsprechend angepasst. Dann wird die Überprüfung der Untermenge anhand der gespeicherten Ereignisfolge erneut durchgeführt. Das bedeutet, dass bei einem erkannten Muster in die Vergangenheit der Ereignisfolge zurückgekehrt und alles erneut untersucht wird. Auf diese Weise kann ein bereits erfolgter Angriff verifiziert werden.
-
Gemäß einer weiteren Ausführungsform weist die Rechenvorrichtung eine Speichereinheit zum Speichern der ausgewählten Untermenge auf.
-
Gemäß dieser Ausführungsform wird nicht die gesamte Ereignisfolge, sondern lediglich bzw. ausschließlich die ausgewählte Untermenge gespeichert. Dies verringert den erforderlichen Speicherbedarf.
-
Gemäß einer weiteren Ausführungsform ist die Empfangseinheit dazu eingerichtet, die Ereignisfolge kontinuierlich zu empfangen. Die Überprüfungseinheit ist dazu eingerichtet, eine Mustererkennung in der angepassten Untermenge der kontinuierlich empfangenen Ereignisfolge durchzuführen.
-
Gemäß dieser Ausführungsform wird bei einem erkannten Muster nicht in die Vergangenheit zurückgekehrt und alles erneut untersucht, sondern lediglich für die Zukunft, das heißt für zukünftig empfangene Ereignisse der Ereignisfolge eine angepasste, beispielsweise genauere, Mustererkennung durchgeführt.
-
Gemäß einer weiteren Ausführungsform weist die ausgewählte Untermenge eine gröbere Granularität als die empfangene Ereignisfolge auf.
-
Unter Granularität wird ein Maß für die Feinkörnigkeit der Untermenge und der Mustererkennung verstanden. Das bedeutet, dass die ausgewählte Untermenge eine gröbere Granularität als die empfangene Ereignisfolge aufweist. Die ausgewählte Untermenge weist daher einen geringeren Informationsgehalt bzw. eine geringere Auflösung auf als die empfangene Ereignisfolge. Beispielsweise kann die ausgewählte Untermenge nur aus jedem dritten Ereignis bestehen, wodurch eine geringere Auflösung erreicht wird.
-
Gemäß einer weiteren Ausführungsform weisen die ausgewählte Untermenge und das damit assoziierte Muster eine erste Granularität auf.
-
Die ausgewählte Untermenge und das damit assoziierte Muster weisen bevorzugt dieselbe Granularität auf. Bei einer geringeren Auflösung oder einem geringeren Informationsgehalt der ausgewählten Untermenge kann auch das damit assoziierte Muster einen entsprechend geringen Informationsgehalt bzw. eine geringe Auflösung aufweisen.
-
Gemäß einer weiteren Ausführungsform weisen die angepasste Untermenge und das angepasste Muster eine zweite Granularität auf, wobei die zweite Granularität feiner als die erste Granularität ist.
-
Bei einem erkannten Muster kann die Granularität der Untermenge und des Musters angepasst und dabei erhöht bzw. verfeinert werden. Das bedeutet, dass die Ereignisse, nachdem ein grobes Muster erkannt wurde, genauer untersucht und ein feineres Muster angewendet wird, bzw. mehr Ereignisse als zuvor betrachtet werden. Dies kann beliebig wiederholt und auch in die entgegengesetzte Richtung verändert werden, d.h. von einer feineren Granularität zu einer gröberen Granularität.
-
Gemäß einer weiteren Ausführungsform ist die Anpassungseinheit dazu eingerichtet, die Granularität der Untermenge und des damit assoziierten Musters sukzessive zu verfeinern.
-
Die Anpassungseinheit kann beispielsweise die Granularität der Untermenge und des damit assoziierten Musters schrittweise verfeinern. Sobald ein Ereignis in der entsprechenden Stufe erkannt wird, kann die Granularität weiter verfeinert werden. Umgekehrt kann die Granularität wieder vergröbert werden, wenn kein Ereignis erkannt wird.
-
Gemäß einer weiteren Ausführungsform ist die Untermenge eine Teilmenge der empfangenen Ereignisfolge.
-
Die Untermenge kann beispielsweise eine Teilmenge der empfangenen Ereignisfolge sein. Das bedeutet, dass die Untermenge lediglich einen Bruchteil der Ereignisse der Ereignisfolge aufweist.
-
Gemäß einer weiteren Ausführungsform weist das ausgewählte Muster ein bestimmtes Ereignis auf.
-
Das ausgewählte Muster kann beispielsweise ein einziges bestimmtes Ereignis aufweisen. Bei Auftreten dieses einen bestimmten Ereignisses kann die Granularität der Untermenge sowie des Musters verfeinert werden, wobei das angepasste Muster dann auch mehr als ein Ereignis aufweisen kann.
-
Gemäß einer weiteren Ausführungsform weist das ausgewählte Muster eine bestimmte Folge an Ereignissen auf.
-
Statt eines einzelnen Ereignisses kann das ausgewählte Muster auch eine bestimmte Folge an Ereignissen aufweisen. Je nach Granularität kann die Menge an Ereignissen variieren.
-
Gemäß einem weiteren Aspekt wird ein Verfahren zur Mustererkennung in einer Ereignisfolge vorgeschlagen. Das Verfahren weist die folgenden Schritte auf: Empfangen der Ereignisfolge, die eine Mehrzahl von Ereignissen aufweist, Auswählen einer Untermenge aus der Mehrzahl von Ereignissen und eines Musters, welches mit der ausgewählten Untermenge assoziiert ist, Durchführen einer Mustererkennung in der ausgewählten Untermenge basierend auf dem assoziierten Muster, und dynamisches Anpassen der ausgewählten Untermenge und des damit assoziierten Musters basierend auf einem Ergebnis der durchgeführten Musterkennung durch die Überprüfungseinheit.
-
Die für die vorgeschlagene Vorrichtung beschriebenen Ausführungsformen und Merkmale gelten für das vorgeschlagene Verfahren entsprechend.
-
Weiterhin wird ein Computerprogrammprodukt vorgeschlagen, welches auf einer programmgesteuerten Einrichtung die Durchführung des wie oben erläuterten Verfahrens veranlasst.
-
Ein Computerprogrammprodukt, wie z.B. ein Computerprogramm-Mittel, kann beispielsweise als Speichermedium, wie z.B. Speicherkarte, USB-Stick, CD-ROM, DVD, oder auch in Form einer herunterladbaren Datei von einem Server in einem Netzwerk bereitgestellt oder geliefert werden. Dies kann zum Beispiel in einem drahtlosen Kommunikationsnetzwerk durch die Übertragung einer entsprechenden Datei mit dem Computerprogrammprodukt oder dem Computerprogramm-Mittel erfolgen.
-
Weitere mögliche Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich der Ausführungsbeispiele beschriebenen Merkmale oder Ausführungsformen. Dabei wird der Fachmann auch Einzelaspekte als Verbesserungen oder Ergänzungen zu der jeweiligen Grundform der Erfindung hinzufügen.
-
Weitere vorteilhafte Ausgestaltungen und Aspekte der Erfindung sind Gegenstand der Unteransprüche sowie der im Folgenden beschriebenen Ausführungsbeispiele der Erfindung. Im Weiteren wird die Erfindung anhand von bevorzugten Ausführungsformen unter Bezugnahme auf die beigelegten Figuren näher erläutert. Es zeigen:
-
1 ein schematisches Blockdiagramm eines Ausführungsbeispiels einer Rechenvorrichtung zur Mustererkennung in einer Ereignisfolge;
-
2 eine schematische Ansicht einer Anpassung der Granularität der Untermenge und des Musters; und
-
3 ein schematisches Ablaufdiagramm eines Verfahrens zur Mustererkennung in einer Ereignisfolge.
-
In den Figuren sind gleiche oder funktionsgleiche Elemente mit denselben Bezugszeichen versehen worden, sofern nichts anderes angegeben ist.
-
1 zeigt eine Rechenvorrichtung 10 zur Mustererkennung in einer Ereignisfolge 6.
-
Die Rechenvorrichtung 10 weist eine Empfangseinheit 1 zum Empfangen der Ereignisfolge 6 auf, die eine Mehrzahl von Ereignissen aufweist.
-
Optional kann die empfangene Ereignisfolge direkt in einer Speichereinrichtung 5 gespeichert werden.
-
Eine Auswahleinheit 2 kann eine Untermenge 7 aus der Mehrzahl von Ereignissen der Ereignisfolge 6 auswählen. Optional kann die ausgewählte Untermenge 7 in der Speichereinheit 5 gespeichert werden. Die Auswahleinheit 2 wählt des Weiteren ein Muster aus, welches mit der ausgewählten Untermenge 7 assoziiert ist.
-
Anschließend führt eine Überprüfungseinheit 3 eine Mustererkennung in der ausgewählten Untermenge 7 basierend auf dem assoziierten Muster durch. Die Überprüfungseinheit 3 kann hierbei eine Übereinstimmung des Musters mit der Untermenge oder einem Teil der Untermenge feststellen. Sollte eine Übereinstimmung festgestellt werden, kann eine Anpassungseinheit 4 den Grad der Granularität der ausgewählten Untermenge und des damit assoziierten Musters verfeinern. Die Überprüfungseinheit 3 kann dann die Überprüfung bzw. Durchführung der Mustererkennung in der angepassten Untermenge und dem damit assoziierten angepassten Muster erneut durchführen.
-
Sofern keine Übereinstimmung des assoziierten Musters mit der ausgewählten Untermenge festgestellt wird, kann die Anpassungseinheit 4 den Grad der Granularität der ausgewählten Untermenge und des damit assoziierten Musters verringern, und die Überprüfungseinheit 3 für zukünftige Ereignisse der empfangenen Ereignisfolge einen gröberen Granularitätsgrad bei der Mustererkennung zugrunde legen.
-
Auf diese Weise kann erreicht werden, dass in der Speichereinheit 5 geringere Mengen an Daten gespeichert werden müssen, da nur die erforderlichen Ereignisse abgespeichert werden. Sofern alle Ereignisse der Ereignisfolge in der Speichereinheit 5 gespeichert werden, kann zumindest die erforderliche Rechenleistung minimiert werden, da nur ein Teil der Ereignisse einer Mustererkennung unterzogen werden.
-
2 zeigt die verschiedenen Granularitäten, die zugrunde gelegt werden können.
-
Es wird eine Kette von Ereignismengen gewählt:
H1 < H2 < ... < Hi < ... < H, wobei < Inklusion bedeutet und H die Menge aller möglichen interessanten Ereignisse ist. H entspricht also der Ereignisfolge 7. Die Projektion des Musters M mit der feinsten Granularität auf H ist also ProjH(M) = M.
-
Es werden aber, wie bereits beschrieben, nicht alle Ereignisse H untersucht, sondern je nach Auswahl durch die Auswahleinheit 2 nur die Ereignisse Hi. Das entsprechende Muster ist dann ProjHi(M).
-
Zunächst überprüft die Überprüfungseinheit 3 basierend auf einer ausgewählten Untermenge Hi und dem korrespondieren ausgewählten Muster ProjHi(M), ob dieses Muster in der Untermenge Hi vorliegt. Im Folgenden wird angenommen, dass zu dem Zeitpunkt t eine Übereinstimmung erkannt wird.
-
Bis zu diesem Zeitpunkt t wurde von dem Zeitpunkt t – x bis zu dem Zeitpunkt t eine Untermenge 7 mit der Auflösung 20 bzw. Granularität 20 und einem entsprechenden Muster, das dieselbe Granularität aufweist, überprüft. Wenn zu dem Zeitpunkt t keine Übereinstimmung erkannt worden wäre, würde für den Zeitraum t bis t + x die Mustererkennung mit derselben Granularität, in 2 als 21 bezeichnet, fortgesetzt werden.
-
Da nun zum Zeitpunkt t eine Übereinstimmung bei der Mustererkennung vorliegt, kann nun in einer möglichen Ausführungsform für die Zukunft, das heißt vom Zeitpunkt t bis zum zukünftigen Zeitpunkt t+x die Granularität 31 verfeinert werden, so dass eine größere Menge an Ereignissen mit einem feineren Muster überprüft wird. Das heißt, da nun die Wahrscheinlichkeit für einen Angriff größer ist, d.h. P(Att|ProfHi(M)) größer ist, werden genauere Logs aufgezeichnet. Es wird nun also nicht nur Hi, sondern auch H(i + 1) aufgezeichnet und mit dem entsprechenden Muster ProjH(i+1)(M) untersucht.
-
Alternativ kann für die Vergangenheit erneut eine Überprüfung durch die Überprüfungseinheit 3 erfolgen, wobei hier vom Zeitpunkt t – x bis zum jetzigen Zeitpunkt t, und eventuell darüber hinaus bis zum Zeitpunkt t + x, eine Überprüfung bzw. Mustererkennung mit einer feineren Granularität 30 durchgeführt werden. Diese beiden Möglichkeiten können auch kombiniert werden.
-
Durch die beschriebene Rechenvorrichtung 10 werden die Logs, also die zu speichernde Menge an Ereignissen, kleiner, da nicht alles geloggt wird, sondern nur die ausgewählte Untermenge 7. Dadurch können auch Komponenten mit weniger Speicherplatz eingesetzt werden.
-
3 zeigt ein Verfahren zur Mustererkennung in einer Ereignisfolge 6.
-
In einem ersten Schritt 101 wird die Ereignisfolge 6 empfangen, die eine Mehrzahl von Ereignissen aufweist.
-
In einem zweiten Schritt 102 wird eine Untermenge 6 aus der Mehrzahl von Ereignissen und ein Muster, welches mit der ausgewählten Untermenge 6 assoziiert ist, ausgewählt.
-
In einem dritten Schritt 103 wird eine Mustererkennung in der ausgewählten Untermenge 6 basierend auf dem assoziierten Muster durchgeführt.
-
In einem vierten Schritt 104 wird dann die ausgewählte Untermenge 6 und das damit assoziierte Muster basierend auf einem Ergebnis der durchgeführten Musterkennung durch die Überprüfungseinheit 3 dynamisch angepasst.
-
Obwohl die vorliegende Erfindung anhand von Ausführungsbeispielen beschrieben wurde, ist sie vielfältig modifizierbar.