DE102017213771A1 - Verfahren und Vorrichtung zum Ermitteln von Anomalien in einem Kommunikationsnetzwerk - Google Patents

Verfahren und Vorrichtung zum Ermitteln von Anomalien in einem Kommunikationsnetzwerk Download PDF

Info

Publication number
DE102017213771A1
DE102017213771A1 DE102017213771.1A DE102017213771A DE102017213771A1 DE 102017213771 A1 DE102017213771 A1 DE 102017213771A1 DE 102017213771 A DE102017213771 A DE 102017213771A DE 102017213771 A1 DE102017213771 A1 DE 102017213771A1
Authority
DE
Germany
Prior art keywords
data
detector
anomaly
phase
training
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102017213771.1A
Other languages
English (en)
Inventor
Andrej Junginger
Markus Hanselmann
Thilo Strauss
Holger Ulmer
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102017213771.1A priority Critical patent/DE102017213771A1/de
Publication of DE102017213771A1 publication Critical patent/DE102017213771A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • 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)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Algebra (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

Verfahren zum Ermitteln, ob in einem Kommunikationsnetzwerk, insbesondere eines Kraftfahrzeugs (100), eine Anomalie vorliegt,
wobei in einer Trainingsphase ein unüberwacht trainierbarer Detektor (1050) unüberwacht trainiert wird, zu erkennen, dass keine Anomalie vorliegt, wenn ihm Normaldaten (n) zugeführt werden, indem dem Detektor (1050) zum Trainieren in dieser ersten Phase tatsächliche Normaldaten (n) als Eingangsdaten (x) zugeführt werden,
wobei der Detektor (1050) in dieser Trainingsphase auch unüberwacht trainiert wird, zu erkennen, dass eine Anomalie vorliegt, wenn ihm Anomaliedaten (a) zugeführt werden, indem dem Detektor (1050) zum Training in dieser zweiten Phase tatsächliche Anomaliedaten (a) als Eingangsdaten (x) zugeführt werden,
wobei in einer Detektionsphase dem Detektor (1050) ein Inhalt von über das Kommunikationsnetzwerk empfangenen Nachrichten (N) als Eingangsdaten (x) zugeführt wird, abhängig von den Eingangsdaten (x) Ausgangsdaten (y) des Detektors (1050) ermittelt werden und abhängig von den Ausgangsdaten (y) darauf entschieden wird, ob die Anomalie vorliegt, oder nicht.

Description

  • Technisches Gebiet
  • Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Ermitteln, ob in einem Kommunikationsnetzwerk eine Anomalie vorliegt, ein Computerprogramm, und ein maschinenlesbares Speichermedium.
  • Stand der Technik
  • Aus der nicht vorveröffentlichten DE 10 2017 210 787 ist ein Verfahren zum Ermitteln, ob in einem Kommunikationsnetzwerk eine Anomalie vorliegt, bekannt, wobei mindestens eine über das Kommunikationsnetzwerk übermittelte Nachricht analysiert wird, indem abhängig von der, d.h. insbesondere aus der, übermittelten Nachricht eine Eingangsgröße eines Kodierers ermittelt wird, wobei mittels des Kodierers eine Zwischengröße reduzierter Dimensionalität ermittelt wird, und wobei abhängig von der Zwischengröße mittels eines Dekodierers eine Ausgangsgröße mit der Dimensionalität der Eingangsgröße ermittelt wird, wobei abhängig von Eingangsgröße und Ausgangsgröße entschieden wird, ob die Anomalie vorliegt, oder nicht.
  • Aus der nicht vorveröffentlichten DE 10 2017 213 119 ist ein Verfahren zum Ermitteln, ob in einem Kommunikationsnetzwerk eine Anomalie vorliegt, bekannt, wobei in einer ersten Phase ein Diskriminator trainiert wird, zu erkennen, ob über das Kommunikationsnetzwerk übermittelte Nachrichten auf ein Vorliegen der Anomalie hinweisen,
    wobei beim Trainieren dem Diskriminator Normaldaten und von einem Generator erzeugte künstliche Daten als Eingangsgröße zugeführt werden und der Diskriminator darauf trainiert wird, zu erkennen, dass keine Anomalie vorliegt, wenn ihm Normaldaten zugeführt werden und dass eine Anomalie vorliegt, wenn ihm künstliche Daten zugeführt werden,
    wobei in einer zweiten Phase der Generator darauf trainiert wird, künstliche Daten derart zu erzeugen, dass sie, wenn sie dem Diskriminator zugeführt werden, von diesem mit möglichst großer Wahrscheinlichkeit als Normaldaten klassifiziert werden,
    wobei in einer dritten Phase der Diskriminator ein Inhalt von über das Kommunikationsnetzwerk empfangenen Nachrichten als Eingangsgröße zugeführt wird, abhängig von der Eingangsgröße eine Ausgangsgröße ermittelt wird und abhängig von der Ausgangsgröße darauf entschieden wird, ob die Anomalie vorliegt, oder nicht.
  • In den beiden vorgenannten Verfahren werden ausschließlich Normaldaten zum Training verwendet.
  • Vorteil der Erfindung
  • Das Verfahren mit den Merkmalen des unabhängigen Anspruchs 1 hat demgegenüber den Vorteil, dass durch die Verwendung von Trainingsdaten, in denen Anomaliedaten vorliegen eine noch wirksamere Erkennung von Anomalien in dem Kommunikationsnetzwerk möglich ist. Vorteilhafte Weiterbildungen sind Gegenstand der unabhängigen Ansprüche.
  • Offenbarung der Erfindung
  • Ein wichtiger Aspekt heutiger Maschinen, Geräte und Systeme besteht in ihrem internen sowie externen Datenaustausch. Innerhalb eines Geräts werden Daten beispielsweise zwischen einzelnen Bauteilen ausgetauscht, um deren gewünschtes Zusammenwirken zu ermöglichen (z. B. zwischen Steuergeräten in einem Kraftfahrzeug). Ein externer Datenaustausch kann beispielsweise zwischen unabhängigen Geräten derselben Art erfolgen (z. B. zwischen mehreren Fahrzeugen, die sich gemeinsam im selben Verkehr bewegen, oder zwischen Haushaltsgeräten, die innerhalb eines vernetzten Hauses miteinander kommunizieren).
  • In einem realen Zusammenschluss kommunizierender Systeme und Geräte kann der Datenverkehr dabei grundsätzlich in zwei Gruppen unterteilt werden: Die erste Gruppe, das „Normalverhalten“, beschreibt die Art des Datenverkehrs wie er im normalen Betrieb - d.h. ohne Fehler, Ausfälle, äußere Manipulationen o. ä. - anfällt. In einem korrekt arbeitenden System treten dann nur fehlerfreie Daten auf und die einzelnen Daten hängen im Allgemeinen durch spezifische (sowohl stationäre als auch zeitlich veränderliche) Korrelationen voneinander ab.
  • Die zweite Gruppe, „Anomalien“, beschreibt die Art des Datenverkehrs, der vom „Normalverhalten“ abweicht. Aus verschiedenen Gründen können im realen Betrieb in den Daten Abweichungen vom Normalverhalten auftreten. Ursachen dafür können beispielsweise folgender Natur sein:
    1. (i) Defekte oder ganz ausgefallene Sensoren liefern falsche oder gar keine Daten,
    2. (ii) Bauteile sind beschädigt,
    3. (iii) das System wurde durch eine externe Quelle (z. B. durch einen Hackerangriff) manipuliert.
  • Es ist von hoher Bedeutung, solche Anomalien zu erkennen, da es beispielsweise möglich sein könnte, über solche Angriffe die Kontrolle über ein Kraftfahrzeug zu übernehmen.
  • Es ist möglich, ein Verfahren zur Detektion von Anomalien regelbasiert zu implementieren. Hierbei wird für eine Auswahl an möglichem, nicht-normalem Verhalten eine Liste an Abfragen, Überprüfungen und Folgerungen erstellt, anhand der das System verfährt.
  • Ein anderer möglicher Ansatz verwendet einen Satz an Beispieldaten, die zusätzliche Information enthalten, ob es sich dabei um einen normalen oder anormalen Zustand handelt. Geeignete Systeme wie z. B. neuronale Netze können dann anhand dieser Labels trainiert werden (überwachtes Lernen), um später ähnliche Zustände erkennen zu können.
  • Eine Schwierigkeit regelbasierter oder auf dem Training gelabelter Daten basierenden Verfahren ist hierbei, dass die Art und Weise einer möglichen Anomalie vor deren Eintreten bekannt sein sollte. Alleine der spezielle Fall eines (Hacker-)Angriffs auf ein System, um dessen Verhalten zu manipulieren, macht klar, dass eine solche Annahme mit großem Aufwand verbunden ist.
  • Es kann daher wie aus der nicht vorveröffentlichten DE 10 2017 210 787 bekannt ein datenbasiertes Modell des Normalverhaltens vorgesehen werden, das in der Lage ist, den Raum der möglichen Systemzustände, die während des „Normalverhaltens“ auftreten, in einem reduziert-dimensionalen Raum vollständig abzudecken und aus diesem das Normalverhalten wieder zu reproduzieren, während Anomalien, d. h. Abweichungen vom Normalverhalten, durch das Modell nicht reproduziert werden können. Anhand der Abweichung zwischen dem tatsächlichen Datenpunkt und der Modellvorhersage kann dann ein „Anomaly Score“ berechnet werden, der Auskunft darüber gibt, ob ein Testdatenpunkt als normal oder anormal anzusehen ist.
  • In einem ersten Aspekt betrifft die Erfindung ein Verfahren zum Ermitteln, ob in einem Kommunikationsnetzwerk, insbesondere eines Kraftfahrzeugs, eine Anomalie vorliegt,
    wobei in einer Trainingsphase ein unüberwacht trainierbarer Detektor unüberwacht trainiert wird, zu erkennen, dass keine Anomalie vorliegt, wenn ihm Normaldaten zugeführt werden, indem dem Detektor zum Trainieren in dieser ersten Phase tatsächliche Normaldaten als Eingangsdaten zugeführt werden, wobei der Detektor in dieser Trainingsphase auch unüberwacht trainiert wird, zu erkennen, dass eine Anomalie vorliegt, wenn ihm Anomaliedaten zugeführt werden, indem dem Detektor zum Training in dieser zweiten Phase tatsächliche Anomaliedaten als Eingangsdaten zugeführt werden, wobei in einer Detektionsphase dem Detektor ein Inhalt von über das Kommunikationsnetzwerk empfangenen Nachrichten als Eingangsdaten zugeführt wird, abhängig von den Eingangsdaten Ausgangsdaten des Detektors ermittelt werden und abhängig von den Ausgangsdaten darauf entschieden wird, ob die Anomalie vorliegt, oder nicht.
  • Mit „tatsächlichen Anomaliedaten“ sind Daten von real vorgekommenen und aufgezeichneten Anomalien, zu deren Erkennung das Kommunikationsnetzwerk trainiert werden soll. Im Folgenden wird synonym zum Begriff „Eingangsdaten“ auch der Begriff „Eingangsgröße(n)“ verwendet, synonym zum Begriff „Ausgangsdaten“ auch der Begriff „Ausgangsgröße(n)“.
  • Dieses Verfahren nutzt also die überraschende Erkenntnis aus, dass es trotz der Verwendung des Lerndogmas des unüberwachten Lernens möglich ist, sowohl Normaldaten als auch Anomaliedaten zum Trainieren zu verwenden. In einem weiterbildenden Aspekt ist vorgesehen, dass in der ersten Phase und in der zweiten Phase jeweils Parameter des Detektors derart angepasst werden, dass die jeweiligen Parameter in der ersten Phase eine erste Kostenfunktion und in der zweiten Phase eine zweite Kostenfunktion optimieren, wobei diese Kostenfunktionen jeweils abhängig von Ausgangsdaten des Detektors ermittelt werden und derart gewählt sind, dass dann, wenn dem Detektor tatsächliche Anomaliedaten als Eingangsdaten zugeführt werden, die erste Kostenfunktion nach der zweiten Phase weniger optimale Werte annimmt als vor der zweiten Phase.
  • Die Optimierung ist hierbei entweder eine Minimierung oder eine Maximierung. Für den Fall, dass die erste Kostenfunktion bei der Optimierung minimiert wird, bedeutet „weniger optimal“, dass die erste Kostenfunktion nach der zweiten Phase größere Werte annimmt als vor der zweiten Phase, für den Fall, dass die erste Kostenfunktion bei der Optimierung maximiert wird, bedeutet „weniger optimal“, dass die erste Kostenfunktion nach der zweiten Phase kleinere Werte annimmt als vor der zweiten Phase.
  • In einer alternativen oder zusätzlichen Weiterbildung kann vorgesehen sein, dass in der Trainingsphase der Detektor ein- oder mehrfach zunächst mit Normaldaten trainiert wird und dann mit Anomaliedaten trainiert wird.
  • Sollen also Anomaliedaten für das Training verwendet werden, kann also nach jeweils einer ersten Anzahl Trainingsiterationen mit Normaldaten ein derart beschriebener Iterationsschritt eine zweite Anzahl von Malen durchgeführt werden.
  • Ebenso ist es möglich, das Anomalieerkennungssystem mit neuen Daten (welche Normaldaten und/oder Anomaliedaten enthalten können) zu aktualisieren. Hierzu kann die oben beschriebene Trainingsiteration durchgeführt werden. Eine vorteilhafte Wahl ist es, den Wert der ersten Anzahl gleich null zu setzen, d.h. es werden ausschließlich Trainingsiterationen mit Anomaliedaten durchgeführt.
  • In einer alternativen Weiterbildung kann vorgesehen sein, dass in der Trainingsphase der Detektor mit gemischten Batches trainiert wird, die sowohl Normaldaten als auch Anomaliedaten umfassen.
  • In einem weiteren Aspekt kann vorgesehen sein, dass der Detektor durch einen Autoencoder gegeben ist, wobei dann bevorzugt abhängig von einem Abstand der Ausgangsdaten von den Eingangsdaten des Detektor darauf entschieden wird, ob die Anomalie vorliegt, oder nicht.
  • Die grundlegende Idee zur Verwendung eines Autoencoders ist folgende: Die (physikalische oder kausale) Ursache für die anfallenden Daten im Normalverhalten lässt sich in einem relativ niedrig-dimensionalen Raum beschreiben. Beispielsweise ist der Zustand eines Kraftfahrzeugs oder seines Motors durch wenige physikalische Größen wie Geschwindigkeit, Beschleunigung, Temperatur, Luftdruck, usw. festgelegt. Die daraus entstehende Menge an (Mess-)Daten ist wesentlich höher-dimensional und untereinander teils hoch korreliert. (Beispielsweise gibt es in einem Kraftfahrzeug u.U. mehrere Tausend Sensordaten, die durch entsprechende Kennfelder in Zusammenhang stehen.)
  • Es ist folglich möglich, gemäß einem Encoder-Decoder-Schema den hochdimensionalen (Mess-)Datenraum im Wesentlichen ohne Informationsverlust auf einen niedrig-dimensionaleren Raum latenter Variablen zu projizieren und umgekehrt. Daten des Normalverhaltens werden dabei in guter Näherung auf sich selbst abgebildet, während vom Normalverhalten abweichende Daten durch dieses Schema nicht reproduziert werden können. Anhand eines Rekonstruktionsfehlers kann somit beurteilt werden, ob es sich bei einem Datenpunkt um Normalverhalten handelt oder um eine Anomalie.
  • In einem weiteren Aspekt betrifft die Erfindung ein Verfahren zum Trainieren des erwähnten Anomalieerkennungssystems in der vorgenannten Trainingsphase, wobei in einer Trainingsphase ein unüberwacht trainierbarer Detektor unüberwacht trainiert wird, zu erkennen, dass keine Anomalie vorliegt, wenn ihm Normaldaten zugeführt werden, indem dem Detektor zum Trainieren in dieser ersten Phase tatsächliche Normaldaten als Eingangsdaten zugeführt werden, wobei der Detektor in dieser Trainingsphase auch unüberwacht trainiert wird, zu erkennen, dass eine Anomalie vorliegt, wenn ihm Anomaliedaten zugeführt werden, indem dem Detektor zum Training in dieser zweiten Phase tatsächliche Anomaliedaten als Eingangsdaten zugeführt werden.
  • In einer Weiterbildung kann vorgesehen sein, dass in der Trainingsphase dem Detektor neben Normaldaten und Anomaliedaten auch von einem Generator erzeugte künstliche Daten als Eingangsdaten zugeführt werden und der Detektor darauf trainiert wird, zu erkennen, dass keine Anomalie vorliegt, wenn ihm Normaldaten zugeführt werden und dass eine Anomalie vorliegt, wenn ihm künstliche Daten zugeführt werden, wobei in einer weiteren Generator-Trainingsphase der Generator darauf trainiert wird, künstliche Daten derart zu erzeugen, dass sie, wenn sie dem Detektor zugeführt werden, von diesem mit möglichst großer Wahrscheinlichkeit als Normaldaten klassifiziert werden.
  • In noch weiteren Aspekten betrifft die Erfindung ein Computerprogramm, welches eingerichtet ist, eines der vorgenannten Verfahren nach einem der vorherigen Ansprüche auszuführen, wenn es auf einem Computer ausgeführt wird, sowie ein maschinenlesbares Speichermedium, auf dem dieses Computerprogramm gespeichert ist.
  • In einem noch weiteren Aspekt betrifft die Erfindung das vorgenannte Anomalieerkennungssystem welches mit genannten Trainingsverfahren trainiert worden ist.
  • In einem noch weiteren Aspekt betrifft die Erfindung ein Trainingssystem für das vorgenannte Anomalieerkennungssystem, wobei das Trainingssystem eingerichtet ist, das vorgenannte Trainingsverfahren auszuführen (beispielsweise durch Abspielen des vorgenannten Computerprogramms).
  • Nachfolgend werden Ausführungsformen der Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. In den Zeichnungen zeigen:
    • 1 schematisch ein Kommunikationsnetzwerk in einem Kraftfahrzeug;
    • 2 schematisch einen Signalfluss in der Überwachungseinheit;
    • 3 einen beispielhaften Aufbau von Kodierer und Dekodierer;
    • 4 einen weiteren beispielhaften Aufbau von Kodierer und Dekodierer;
    • 5 einen beispielhaften Aufbau eines Systems zum Training von Detektor und Generator;
    • 6 in einem Flussdiagramm eine Ausführungsform des Verfahrens zum Detektieren von Anomalien;
    • 7 zeitliche Verläufe eines Eingangssignals, eines Ausgangssignals und ihres Differenzsignals;
    • 8 in einem Flussdiagramm eine Ausführungsform eines Verfahrens zum Trainieren des Detektors;
    • 9 in einem Flussdiagramm eine Ausführungsform eines Aspekts des Verfahrens zum Trainieren von Diskriminator und Generator.
  • Beschreibung der Ausführungsbeispiele
  • 1 zeigt ein beispielhaftes Kommunikationsnetzwerk in einem Kraftfahrzeug 100. Das Kommunikationsnetzwerk ist in diesem Beispiel durch einen CAN-Bus 300 gegeben, über den Kommunikationsteilnehmer 110, 120 und 130 durch Austausch von Nachrichten miteinander kommunizieren können. Die Überwachungseinheit 200 ist ebenfalls an den CAN-Bus 300 angeschlossen und kann Nachrichten, die die Kommunikationsteilnehmer 110, 120, 130 einander zuschicken ebenfalls empfangen und ggf. selbst eine Nachricht auf den CAN-Bus 300 absetzen, um bei erkannter Anomalie Gegenmaßnahmen einzuleiten. Kommunikationsteilnehmer 110, 120, 130 und das sie verbindende Netzwerk, hier der CAN-Bus 300, bilden zusammen das Kommunikationsnetzwerk.
  • Selbstverständlich ist die Erfindung nicht auf einen CAN-Bus beschränkt. Stattdessen kann sie auch in Kraftfahrzeugen angewandt werden, in denen ein anderer Bus oder eine Kombination mehrerer Bus-Systeme vorhanden sind, beispielsweise Ethernet. Das Verfahren kann auch außerhalb eines Kraftfahrzeugs angewendet werden, beispielsweise in einem Smart Home.
  • Die Überwachungseinheit 200 weist einen Computer 210 auf, der ein maschinenlesbares Speichermedium 220 aufweist. Auf diesem maschinenlesbaren Speichermedium 220 kann ein Computerprogramm gespeichert sein, das Anweisungen umfasst, die, wenn sie von dem Computer 210 ausgeführt werden, das erfindungsgemäße Verfahren ausführen. Selbstverständlich ist es auch möglich, dass Teile des Verfahrens oder das gesamte Verfahren in Hardware implementiert sind.
  • 2 illustriert den Signalfluss innerhalb der Überwachungseinheit 200. Einem Eingangsblock 1000 wird eine Nachricht N zugeführt, die die Überwachungseinheit 200 über den CAN-Bus 300 empfangen hat. Der Eingangsblock extrahiert aus der Nachricht eine Eingangsgröße x, beispielsweise einen Nutzdateninhalt (Englisch „pay load“) und/oder Metadaten der Nachricht N. Diese Eingangsgröße wird dem Detektor 1050 zugeführt, der hieraus die Ausgangsgröße y ermittelt. Die Ausgangsgröße y kann eine Wahrscheinlichkeit quantifizieren, dass im Kommunikationsnetzwerk eine Anomalie vorliegt. Der Detektor 1050 wird durch Parameter P parametriert, die von einem ersten Parameterspeicher 1110 zur Verfügung gestellt werden.
  • Die Ausgangsgröße y wird beispielhaft einem Überwachungsblock 1300 zugeführt, der abhängig hiervon ein Fehlersignal F ermittelt. Das Fehlersignal F charakterisiert, ob im Kommunikationsnetzwert, also in der Kommunikation zwischen den Kommunikationsteilnehmern 110, 120, 130 über den CAN-Bus 300 oder in der Überwachungseinheit 200 eine Anomalie vorliegt. Beispielsweise kann das Fehlersignal F ein binär codiertes Signal sein, z.B. „0“ = „keine Anomalie liegt vor“, „1“ = „eine Anomalie liegt vor“. Das Fehlersignal F kann beispielsweise auf den Wert „1“ gesetzt werden wenn der Wert des Ausgangssignals y einen vorgebbaren Schwellwert überschreitet.
  • Das Fehlersignal F wird optional einer Ansteuerung 1400 zugeführt, die hieraus eine Ansteuergröße A ermittelt, die über den CAN-Bus 300 einem oder mehreren der Kommunikationsteilnehmer 110, 120, 130 des Kommunikationsnetzwerks übermittelt wird.
  • Beispielsweise ist es möglich, dass das Kraftfahrzeug 100 in einen abgesicherten Zustand überführt wird. Handelt es sich bei dem Kraftfahrzeug 100 um ein autonom fahrbares Kraftfahrzeug 100, kann ein Fahrer aufgefordert werden, die Kontrolle des autonom fahrenden Kraftfahrzeugs 100 wieder zu übernehmen. Alternativ oder zusätzlich ist es möglich, dass die Kommunikation über den CAN-Bus 300 auf essentielle Nachrichten eingeschränkt wird.
  • Enthält das Fehlersignal F bereits spezifische Informationen darüber was die Ursache für die Anomalie ist, kann die Ansteuergröße A eine spezifische Gegenmaßnahme einleiten, wie etwa einen der Kommunikationsteilnehmer 110, 120, 130 vom Datenverkehr über den CAN-Bus abzuschneiden.
  • 3 zeigt beispielhaft den Aufbau des Detektors 1050 gemäß eines ersten Ausführungsbeispiels, in dem der Detektor 1050 durch einen Autoencoder gegeben ist. Hier umfasst der Detektor 1050 einen Kodierer 1100 und einen Dekodierer 1199. Die Komponenten der Eingangsgröße x werden hier mit x1, x2, x3 bezeichnet. Diese werden Neuronen a1, a2, a3, a4 einer ersten Zwischenschicht 1111 zugeführt. Aus den Ausgangsgrößen der Neuronen a1, a2, a3, a4 wird die Zwischengröße h mit Komponenten h1, h2 ermittelt. Diese Komponenten werden Neuronen b1, b2, b3, b4 einer zweiten Zwischenschicht 1211 zugeführt, aus der die Ausgangsgröße y mit Komponenten y1, y2, y3 ermittelt werden.
  • Der Autoencoder 1050 kann beispielsweise auch als „stacked Autoencoder“, „denoising Autoencoder“, „variational Autoencoder“, „smooth Autoencoder“, „rekurrenter Autoencoder“ oder „LSTM Autoencoder“ implementiert sein.
  • Selbstverständlich können erste Zwischenschicht 1111 und/oder zweite Zwischenschicht 1211 jeweils wieder aus einer Mehrzahl von Schichten bestehen, beispielsweise, wenn der Autoencoder 1150 als „stacked Autoencoder“ oder als „deep Autoencoder“ implementiert ist.
  • Ganz konkret kann ein solcher Autoencoder 1150 beispielsweise durch drei aufeinander folgende fully-connected Layer implementiert sein, wobei der mittlere der drei fully-connected Layer kleiner dimensioniert ist als die beiden äußeren.
  • 4 zeigt beispielhaft den Aufbau von Kodierer 1100 und Dekodierer 1199 gemäß einem zweiten Ausführungsbeispiel. Die Eingangsgröße x mit Komponenten x1, x2, x3 wird hierbei einem Block 1120 zugeführt, der eine Hauptkomponentenanalyse (durch Multiplikation einer geeigneten Matrix M mit der Eingangsgröße x) durchführt. Als Ergebnis dieser Matrixmultiplikation wird eine Kodierer-Zwischengröße k mit Komponenten k1, k2, k3 ermittelt, und einem zweiten Block 1130 zugeführt. Der zweite Block 1130 ermittelt hieraus die Zwischengröße h mit Komponenten h1, h2, beispielsweise, indem nur diejenigen N Komponenten k1, k2, k3 der Kodierer-Zwischengröße k übernommen werden, deren zugehörige Eigenwerte bei der Hauptkomponentenanalyse den größten Wert haben. N ist hierbei eine fest vorgebbare Zahl. D.h. die Kodierer-Zwischengröße k wird also mathematisch auf einen Raum, der der Dimensionalität der Zwischengröße h entspricht, projiziert. Blöcke 1120 und 1130 entsprechen zusammen dem Kodierer 1100.
  • Der Dekodierer 1199 umfasst einen dritten Block 1220 und einen vierten Block 1230. Der dritte Block 1220 ermittelt aus der Zwischengröße h eine Dekodierer-Zwischengröße p mit Komponenten p1, p2, p3, aus denen der vierte Block mittels einer inversen Hauptkomponentenanalyse (also einer Matrixmultiplikation der (links-)Inversen M_inv der Matrix M mit der Dekodierer-Zwischengröße p). Als Ergebnis dieser Matrixmultiplikation wird die Ausgangsgröße y mit Komponenten y1, y2, y3 ermittelt.
  • Ausgangsgröße y und Dekodierer-Zwischengröße p haben die gleiche Dimensionalität. Um die Dekodierer-Zwischengröße p aus der Zwischengröße h zu ermitteln, kann der dritte Block 1220 die vektorwertige Größe h beispielsweise kanonisch einbetten (d.h. die Komponenten der „fehlenden“ Dimensionen auf den Wert „Null“ ergänzen).
  • Anstatt einer Hauptkomponentenanalyse kann in Block 1120 auch eine Unabhängigkeitsanalyse durchgeführt werden. In Block 1230 wird dann statt einer inversen Hauptkomponentenanalyse eine inverse Unabhängigkeitsanalyse durchgeführt.
  • Selbstverständlich ist es auch möglich, Hauptkomponentenanalyse und Unabhängigkeitsanalyse hintereinander auszuführen.
  • Noch ferner ist es möglich, dass anstelle oder zusätzlich zur dimensionalen Reduktion im zweiten Block 1130 und dimensionalen Einbettung im dritten Block 1220 ein Autoencoder, wie er beispielhaft in 3 illustriert ist, eingesetzt wird.
  • 5 illustriert den Aufbau einer Vorrichtung 400 zum Trainieren des Detektors 1050 gemäß einer Ausführungsform. Die Vorrichtung 400 kann als Computerprogramm implementiert und auf dem maschinenlesbaren Speichermedium 220 der Überwachungseinheit 200 implementiert sein. Sie kann aber auch in einer separaten Vorrichtung implementiert sein, beispielsweise als Computerprogramm, das auf einem PC abläuft.
  • Über einen Schalter 1150 kann ausgewählt werden, welche Daten dem Detektor 1050 als Eingangsdaten zugeführt werden. Dem Detektor 1050 werden als Eingangsdaten x in einer ersten Schalterstellung A Normaldaten n zugeführt, die von einem Block 1101 generiert werden, beispielsweise, indem sie aus einer Datei ausgelesen werden.
  • In einer zweiten Schalterstellung B werden dem Detektor 1050 Anomaliedaten a als Eingangsdaten x zugeführt, die von einem Block 1301 generiert werden, beispielsweise, indem sie aus einer Datei ausgelesen werden.
  • In einer optionalen dritten Schalterstellung C werden dem Detektor 1050 künstliche Daten f zugeführt, die von einem Generator 1200 erzeugt werden. Der Generator 1200 erzeugt die künstlichen Daten f abhängig von Zufallsgrößen r, die ihm von einem Block 1201 zugeführt werden. Block 1201 kann beispielsweise einen Pseudo-Zufallszahlengenerator umfassen, oder einen (beispielsweise in HW implementierten) Zufallszahlengenerator.
  • Der Detektor 1050 wird durch erste Parameter P parametriert, die von einem ersten Parameterspeicher 1110 zur Verfügung gestellt werden. Der Generator 1200 wird durch zweite Parameter Q parametriert, die von einem zweiten Parameterspeicher 1210 zur Verfügung gestellt werden. Bei dem ersten Parameterspeicher 1110 und/oder bei dem zweiten Parameterspeicher 1210 kann es sich beispielsweise um dedizierte Speicherbereiche in einem maschinenlesbaren Speichermedium handeln.
  • Detektor 1050 und/oder Generator 1200 können jeweils durch ein neuronales Netz realisiert sein, beispielsweise durch eine Hintereinanderschaltung mehrerer fully-connected layer.
  • Der Generator 1200 erzeugt die Ausgangsgröße y und führt sie einem Block 1500 zu. Block 1500 wird optional die Stellung des Schalters 1150 übermittelt.
  • Block 1500 ermittelt neue Parameter P', Q', die dem ersten Parameterspeicher 1110 und/oder dem zweiten Parameterspeicher 1120 übermittelt werden. Die neuen ersten Parameter P' ersetzen im ersten Parameterspeicher 1110 die aktuellen ersten Parameter P und/oder die neuen zweiten Parameter Q' ersetzen im zweiten Parameterspeicher 1120 die aktuellen zweiten Parameter Q.
  • 6 zeigt in einem Flussdiagramm beispielhaft ein Verfahren, wie es in der Überwachungseinheit 200 durchgeführt werden kann.
  • Zunächst (2000) werden eine oder mehrere CAN-Nachrichten N über den CAN-Bus 300 empfangen. Dann (2100) extrahiert Eingangsblock 1000 den Nutzdateninhalt und erzeugt so die Eingangsgröße x = (x1, x2, x3 ... xd)T, wobei d der Dimensionalität der Eingangsgröße x entspricht.
  • Anschließend (2200) wird mittels Kodierer 1100 und Dekodierer 1199 die Ausgangsgröße y = (y1, y2, y3 ... yd)T ermittelt.
  • Nun (2300) ermittelt Überwachungsblock 1300 das Differenzsignal δ = ∥(δ1, δ2, δ3 ...δd)T ∥ mit δi = xi - yi für i=1...d und überprüft, ob das Differenzsignal δ größer ist als ein vorgebbarer Schwellwert S. Ist dies nicht der Fall (Ausgang „n“), wird zu Schritt 2400 verzweigt, in dem das Fehlersignal F einen Wert erhält, der aussagt, dass kein Fehler detektiert wurde, und dieser Durchgang des Verfahrens endet. Andernfalls (Ausgang „j“) wird zu Schritt 2500 verzweigt. Das Fehlersignal F erhält einen Wert, der aussagt, dass ein Fehler detektiert wurde. Dann (2600) wird das Fehlersignal F der Ansteuerung 1400 übermittelt, die optional abhängig vom Wert des Fehlersignals F die Ansteuergröße A ermittelt. Damit endet das Verfahren.
  • Alternativ oder zusätzlich kann in Schritten 2300-2600 auch für jede Komponente δi des Differenzsignals δ separat überprüft werden, ob sie den vorgebbaren Schwellwert S überschreitet und ggf. ein für jede der Komponenten individuell vorgebbares Fehlersignal F definiert werden. Ansonsten kann das Verfahren wie oben beschrieben ablaufen.
  • Alternativ oder zusätzlich kann in den Schritten 2300-2600 auch ein anderes Fehlermaß δ = δ(x, y) abhängig von Eingangsgröße x und Ausgangsgröße y verwendet werden, das mit einem Schwellwert S verglichen wird, um festzustellen, ob eine Anomalie vorliegt.
  • In den obigen Ausführungsbeispielen muss der Schwellwert S nicht zwangsläufig konstant sein. Er kann auch abhängig von der Eingangsgröße x gewählt werden, also S = S(x) oder abhängig von Ausgangsgröße y, also S = S(y), oder abhängig von beiden, also S = S(x,y).
  • 7 zeigt beispielhaft zeitliche Verläufe der (zur Vereinfachung eindimensional dargestellten) Eingangsgröße x, der (zur Vereinfachung eindimensional dargestellten) Eingangsgröße y und des Differenzsignals δ. Im konkreten Beispiel tritt vor einem ersten Zeitintervall T1 ein Fehler in einer Einspritzpumpe des Kraftfahrzeugs 100 auf. Dieser Fehler bewirkt, dass im ersten Zeitintervall T1, in einem zweiten Zeitintervall T2 und in einem dritten Zeitintervall T3 das Differenzsignal δ den Schwellwert S überschreitet, sodass hier auf einen Fehler erkannt wird.
  • 8 zeigt beispielhaft ein Verfahren zum Trainieren des in 3 beispielhaft dargestellten Autoencoders 1150. Zunächst (3000) werden Trainingsdaten generiert, beispielsweise indem Eingangssignale x aus einer Datei ausgelesen werden. Dann (3100) werden mittels des mit aktuellen Parameterwerten P parametrierten Autoencoders 1150 Ausgangssignale y ermittelt und anschließend (3200) Differenzsignale δP(x,y) generiert. Das aufsummierte Differenzsignal δP = Σ(x,y) δP(x, y) wird auch als Kostenfunktion bezeichnet. Dann (3300) werden (z.B. in einem Gradientenabstiegsverfahren und Backpropagation) optimale Parameterwerte P * = arg  min P   δ P
    Figure DE102017213771A1_0001
    näherungsweise ermittelt, und der Autoencoder 1150 wird dann vorzugsweise mit diesen optimalen Parameterwerten P* eingesetzt. Mit „näherungsweiser Ermittlung“ ist gemeint, dass selbstverständlich im Allgemeinen die ermittelten optimalen Parameterwerte P* Gleichung (I) nicht exakt erfüllen, sondern einen numerischen Fehler aufweisen. Dieser numerische Fehler kann beispielsweise im Wesentlichen dadurch bestimmt sein, dass ein Konvergenzkriterium vor Erreichen des tatsächlichen Optimalwerts erfüllt ist und das numerische Verfahren beendet wird, und/oder dadurch bestimmt sein, dass das numerische Verfahren statt des globalen Minimums ein lokales Minimum erreicht hat.
  • Die Abfolge der Schritte 3100, 3200 und 3300 kann optional mehrfach wiederholt werden, beispielsweise n1 mal, wobei n1 eine vorgebbare Zahl ist.
  • Anschließend (3400) wird Schalter 1150 in Stellung „B“ umgeschaltet, und es werden Trainingsdaten generiert, beispielsweise indem anomale Eingangssignale x aus einer Datei ausgelesen werden. Dann (3500) werden mittels des mit aktuellen Parameterwerten P parametrierten Autoencoders 1150 Ausgangssignale y ermittelt und anschließend (3600) zweite Differenzsignale δ2P(x,y) generiert. Das aufsummierte zweite Differenzsignal δ2P = Σ(x,y) δ2P(x,y) wird auch als zweite Kostenfunktion bezeichnet.
  • Beispielsweise kann das zweite Differenzsignal δ2P als δ 2 P = δ 1 P
    Figure DE102017213771A1_0002
    gewählt werden.
  • Anschließend (3700) werden analog zu Schritt 3300 (z.B. in einem Gradientenabstiegsverfahren und Backpropagation) näherungsweise optimale Parameterwerte P 2 * = arg  min P   δ 2 P
    Figure DE102017213771A1_0003
    ermittelt.
  • Diese Wahl der zweiten Kostenfunktion δ2P ist nicht zwingend, sie sollte jedoch vorteilhafterweise so gewählt sein, dass dann, wenn Anomaliedaten a als Eingangsdaten x verwendet werden, gilt δ P ( x ) < δ P* ( x ) .
    Figure DE102017213771A1_0004
  • Im optionalen Schritt 3800 wird mit den optimalen Parameterwerte P* das Differenzsignal δP* ermittelt und der Schwellwert S auf den Wert S = F * δ P *
    Figure DE102017213771A1_0005
    mit einem vorgebbaren Sicherheitsfaktor F (z.B. F = 1,2) gesetzt. Damit endet dieses Verfahren.
  • 9 illustriert in einem Flussdiagramm einen weiteren Aspekt einer Ausführungsform des Verfahrens, wie es von der Vorrichtung 400 zum Trainieren des Detektors 1050 an Stelle der Schritte 3000 bis 3300 des in 8 illustrierten Verfahrens ablaufen kann.
  • Zunächst werden Normaldaten n von Block 1101 generiert (4000), beispielsweise aus einer Datei ausgelesen. Dann werden Zufallsgrößen r generiert (4100), beispielsweise ebenfalls aus einer Datei ausgelesen (nachdem sie vorher von einem echten Zufallszahlengenerator generiert wurden). Die Zufallsgrößen r werden dem Generator 1200 zugeführt, der abhängig von Zufallsgrößen r und zweiten Parametern Q die künstlichen Daten f erzeugt (4200).
  • D.h. der Generator 1200 setzt eine üblicherweise nichtlineare mathematische Beziehung g f = g ( r , Q )
    Figure DE102017213771A1_0006
    um. Die Funktion g kann beispielsweise wie beschrieben durch ein neuronales Netzwerk gegeben sein.
  • Nun wird der Detektor 1050 überwacht trainiert (4300): Durch Wahl der Schalterstellung A, C werden dem Detektor 1050 wechselweise Batches von Normaldaten n bzw. künstlichen Daten f als Eingangsgröße x zugeführt, und wie in Formel 1 beschrieben Ausgangsgrößen y ermittelt.
  • Die Wahl der Schalterstellung A, C vermittelt also der Eingangsgröße x indirekt ein Label, je nachdem, ob die Eingangsgröße x ein Normaldatum n oder ein künstliches Datum f ist. Daher ist es selbstverständlich auch möglich, dem Detektor gemischte Batches zuzuführen, die sowohl Normaldaten n als auch künstliche Größen f enthalten.
  • Durch ein Gradientenabstiegsverfahren wird nun eine von den ermittelten Ausgangsgrößen y, der Schalterstellung A, C und von den ersten Parametern P abhängige Kostenfunktion k(y; P) (englisch: loss function) optimiert, beispielsweise (wenn der Detektor 1050durch ein neuronales Netz gegeben ist) mittels Backpropagation. Die Kostenfunktion k ist dabei derart gewählt, dass sie umso kleinere Werte annimmt, je häufiger der Detektor 1050 auf das Vorliegen einer Anomalie entschieden hat, wenn ihm künstliche Daten f zugeführt wurden, und auf die Abwesenheit einer Anomalie entschieden hat, wenn ihm Normaldaten n zugeführt wurden. Dies kann im Ausführungsbeispiel dadurch geschehen, dass die Kostenfunktion k so realisiert ist, dass der Ausgabewert y des Detektors 1050 mit der wahren Label A, C für jeden Trainingspunkt der Eingangsdaten x verglichen wird. Sowohl auf künstlichen Daten als auch auf normalen Daten sollte diese Abweichung klein sein.
  • Es sei angemerkt, dass dieses Tainieren des Detektors 1050 keine mit Labeln versehenen Trainingsdaten erfordert und daher trotz des implizit durch die Stellung des Schalters 1150 gegebenen Labels ein unüberwachtes Trainingsverfahren ist.
  • Somit werden in jeder Trainingsiteration neue Parameterwerte P* bestimmt, die beispielsweise durch ein numerisches, iteratives Verfahren die Lösung der Gleichung P ' = arg  min P   k ( y ; P )
    Figure DE102017213771A1_0007
    approximieren. Die ersten Parameterwerte P werden durch die neuen Parameterwerte P* ersetzt.
  • Dann wird der Generator 1200 trainiert (4400). Es werden erneut Zufallsgrößen r generiert (optional können auch die oben in Schritt 3100 bereits generierten Zufallsgrößen r übernommen werden) dem Generator 1200 zugeführt, und dann die künstlichen Daten f in Abhängigkeit der aktuellen zweiten Parameterwerte Q generiert. Schalter 1150 wird in der zweiten Schalterstellung B gehalten und die künstlichen Daten f dem Detektor 1050 zugeführt. Der Detektor 1050 ermittelt abhängig von den aktuellen ersten Parameterwerten P erneut die Ausgangsgröße y. Block 1500 ermittelt nun durch ein Gradientenabstiegsverfahren eine von der Ausgangsgröße y, von den ersten Parametern P und zweiten Parametern Q abhängige zweite Kostenfunktion m(y; P, Q).
  • Ist der Detektor 1050 so konfiguriert, dass die Ausgangsgröße y als Wahrscheinlichkeit interpretiert wird, dass es sich bei der Eingangsgröße x um Normaldaten n handelt, kann die zweite Kostenfunktion m(y;P,Q) so konfiguriert werden, dass sie angibt, wie wahrscheinlich es sich um Normaldaten n handelt. Die Kostenfunktion m(y;P,Q) kann dann minimiert werden, beispielsweise durch Backpropagation (wenn der Detektor 1050 und der Generator 1200 neuronale Netze sind).
  • Hierdurch kann erreicht werden, dass der Detektor 1050 vom Generator 1200 generierte künstliche Daten f wahrscheinlicher als Normaldaten n ansieht.
  • Somit werden in jeder Trainingsiteration neue zweite Parameterwerte Q* bestimmt, die beispielsweise durch ein numerisches, iteratives Verfahren die Lösung der Gleichung Q ' = arg  min Q   m ( y ; P , Q )
    Figure DE102017213771A1_0008
    approximieren. Die zweiten Parameterwerte Q werden durch die neuen zweiten Parameterwerte Q* ermittelt.
  • Vorzugsweise verzweigt das Verfahren zurück zu Schritt 400 und führt die Schritte 4000 bis 4400 wiederholt aus, beispielsweise eine vorgebbare Anzahl von Wiederholungen oder bis ein Konvergenzkriterium des ersten Parameterwerts P und/oder des zweiten Parameterwerts Q erfüllt ist.
  • Damit endet dieser Teil des Verfahrens.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • DE 102017210787 [0002, 0013]
    • DE 102017213119 [0003]

Claims (12)

  1. Verfahren zum Ermitteln, ob in einem Kommunikationsnetzwerk, insbesondere eines Kraftfahrzeugs (100), eine Anomalie vorliegt, wobei in einer Trainingsphase ein unüberwacht trainierbarer Detektor (1050) unüberwacht trainiert wird, zu erkennen, dass keine Anomalie vorliegt, wenn ihm Normaldaten (n) zugeführt werden, indem dem Detektor (1050) zum Trainieren in dieser ersten Phase tatsächliche Normaldaten (n) als Eingangsdaten (x) zugeführt werden, wobei der Detektor (1050) in dieser Trainingsphase auch unüberwacht trainiert wird, zu erkennen, dass eine Anomalie vorliegt, wenn ihm Anomaliedaten (a) zugeführt werden, indem dem Detektor (1050) zum Training in dieser zweiten Phase tatsächliche Anomaliedaten (a) als Eingangsdaten (x) zugeführt werden, wobei in einer Detektionsphase dem Detektor (1050) ein Inhalt von über das Kommunikationsnetzwerk empfangenen Nachrichten (N) als Eingangsdaten (x) zugeführt wird, abhängig von den Eingangsdaten (x) Ausgangsdaten (y) des Detektors (1050) ermittelt werden und abhängig von den Ausgangsdaten (y) darauf entschieden wird, ob die Anomalie vorliegt, oder nicht.
  2. Verfahren nach Anspruch 1, wobei in der ersten Phase und in der zweiten Phase jeweils Parameter (P) des Detektors (1050) derart angepasst werden, dass die jeweiligen Parameter (P) in der ersten Phase eine erste Kostenfunktion und in der zweiten Phase eine zweite Kostenfunktion optimieren, wobei diese Kostenfunktionen jeweils abhängig von Ausgangsdaten (y) des Detektors (1050) ermittelt werden und derart gewählt sind, dass dann, wenn Detektor (1050) tatsächliche Anomaliedaten (a) als Eingangsdaten (x) zugeführt werden, die erste Kostenfunktion nach der zweiten Phase weniger optimale Werte annimmt als vor der zweiten Phase.
  3. Verfahren nach einem der Ansprüche 1 bis 2, wobei in der Trainingsphase der Detektor (1050) ein- oder mehrfach zunächst mit Normaldaten (n) trainiert wird und dann mit Anomaliedaten (a) trainiert wird.
  4. Verfahren nach einem der Ansprüche 1 bis 2, wobei in der Trainingsphase der Detektor (1050) mit gemischten Batches trainiert wird, die sowohl Normaldaten (n) als auch Anomaliedaten (a) umfassen.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Detektor (1050) einen Autoencoder gegeben ist.
  6. Verfahren nach Anspruch 5, wobei abhängig von einem Abstand der Ausgangsdaten (y) von den Eingangsdaten (x) des Detektor (1050) darauf entschieden wird, ob die Anomalie vorliegt, oder nicht.
  7. Verfahren zum Trainieren eines Anomalieerkennungssystems in einer Trainingsphase, wobei das Anomalieerkennungssystem eingerichtet ist, zu ermitteln, ob in einem Kommunikationsnetzwerk, insbesondere eines Kraftfahrzeugs (100), eine Anomalie vorliegt, wobei das Anomalieerkennungssystem einen Detektor (1050) umfasst, wobei das Anomalieerkennungssystem eingerichtet ist, dem Detektor (1050) einen Inhalt von über das Kommunikationsnetzwerk empfangenen Nachrichten (N) als Eingangsdaten (x) zuzuführen, und abhängig von den Eingangsdaten (x) Ausgangsdaten (y) des Detektors (1050) zu ermitteln abhängig von den Ausgangsdaten (y) darauf zu entscheiden, ob die Anomalie vorliegt, oder nicht, wobei in einer Trainingsphase ein unüberwacht trainierbarer Detektor (1050) unüberwacht trainiert wird, zu erkennen, dass keine Anomalie vorliegt, wenn ihm Normaldaten (n) zugeführt werden, indem dem Detektor (1050) zum Trainieren in dieser ersten Phase tatsächliche Normaldaten (n) als Eingangsdaten (x) zugeführt werden, wobei der Detektor (1050) in dieser Trainingsphase auch unüberwacht trainiert wird, zu erkennen, dass eine Anomalie vorliegt, wenn ihm Anomaliedaten (a) zugeführt werden, indem dem Detektor (1050) zum Training in dieser zweiten Phase tatsächliche Anomaliedaten (a) als Eingangsdaten (x) zugeführt werden.
  8. Verfahren nach Anspruch 7, wobei in der Trainingsphase dem Detektor (1050) neben Normaldaten (n) und Anomaliedaten (a) auch von einem Generator (1200) erzeugte künstliche Daten (f) als Eingangsdaten (x) zugeführt werden und der Detektor (1050) darauf trainiert wird, zu erkennen, dass keine Anomalie vorliegt, wenn ihm Normaldaten (n) zugeführt werden und dass eine Anomalie vorliegt, wenn ihm künstliche Daten (f) zugeführt werden, wobei in einer weiteren Generator-Trainingsphase der Generator (1200) darauf trainiert wird, künstliche Daten (f) derart zu erzeugen, dass sie, wenn sie dem Detektor (1050) zugeführt werden, von diesem mit möglichst großer Wahrscheinlichkeit als Normaldaten (n) klassifiziert werden.
  9. Computerprogramm, das eingerichtet ist, das Verfahren nach einem der vorherigen Ansprüche auszuführen, wenn es auf einem Computer ausgeführt wird.
  10. Maschinenlesbares Speichermedium, auf dem das Computerprogramm nach Anspruch 9 gespeichert ist.
  11. Anomalieerkennungssystem das eingerichtet ist, zu ermitteln, ob in einem Kommunikationsnetzwerk, insbesondere eines Kraftfahrzeugs (100), eine Anomalie vorliegt, wobei das Anomalieerkennungssystem einen Detektor (1050) umfasst, wobei das Anomalieerkennungssystem eingerichtet ist, dem Detektor (1050) einen Inhalt von über das Kommunikationsnetzwerk empfangenen Nachrichten (N) als Eingangsdaten (x) zuzuführen, und abhängig von den Eingangsdaten (x) Ausgangsdaten (y) des Detektors (1050) zu ermitteln abhängig von den Ausgangsdaten (y) darauf zu entscheiden, ob die Anomalie vorliegt, oder nicht, welches mit dem Verfahren nach Anspruch 8 oder 9 trainiert worden ist.
  12. Trainingssystem (400) für das Anomalieerkennungssystem nach Anspruch 11, wobei das Trainingssystem eingerichtet ist, das Verfahren nach Anspruch 8 oder 9 auszuführen.
DE102017213771.1A 2017-08-08 2017-08-08 Verfahren und Vorrichtung zum Ermitteln von Anomalien in einem Kommunikationsnetzwerk Pending DE102017213771A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102017213771.1A DE102017213771A1 (de) 2017-08-08 2017-08-08 Verfahren und Vorrichtung zum Ermitteln von Anomalien in einem Kommunikationsnetzwerk

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102017213771.1A DE102017213771A1 (de) 2017-08-08 2017-08-08 Verfahren und Vorrichtung zum Ermitteln von Anomalien in einem Kommunikationsnetzwerk

Publications (1)

Publication Number Publication Date
DE102017213771A1 true DE102017213771A1 (de) 2019-02-14

Family

ID=65084352

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017213771.1A Pending DE102017213771A1 (de) 2017-08-08 2017-08-08 Verfahren und Vorrichtung zum Ermitteln von Anomalien in einem Kommunikationsnetzwerk

Country Status (1)

Country Link
DE (1) DE102017213771A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112394706A (zh) * 2019-08-14 2021-02-23 潘塔安全***公司 在基于控制器域网的通信网络中检测信号的方法及其装置
DE102020116054A1 (de) 2020-06-18 2021-12-23 Bayerische Motoren Werke Aktiengesellschaft Verfahren, Vorrichtung, Computerprogramm und computerlesbares Speichermedium zum Ermitteln eines neuronalen Netzes und zum Betreiben eines Fahrzeuges

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017210787A1 (de) 2017-06-27 2018-12-27 Robert Bosch Gmbh Verfahren und Vorrichtung zum Ermitteln von Anomalien in einem Kommunikationsnetzwerk
DE102017213119A1 (de) 2017-07-31 2019-01-31 Robert Bosch Gmbh Verfahren und Vorrichtung zum Ermitteln von Anomalien in einem Kommunikationsnetzwerk

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017210787A1 (de) 2017-06-27 2018-12-27 Robert Bosch Gmbh Verfahren und Vorrichtung zum Ermitteln von Anomalien in einem Kommunikationsnetzwerk
DE102017213119A1 (de) 2017-07-31 2019-01-31 Robert Bosch Gmbh Verfahren und Vorrichtung zum Ermitteln von Anomalien in einem Kommunikationsnetzwerk

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112394706A (zh) * 2019-08-14 2021-02-23 潘塔安全***公司 在基于控制器域网的通信网络中检测信号的方法及其装置
DE102020116054A1 (de) 2020-06-18 2021-12-23 Bayerische Motoren Werke Aktiengesellschaft Verfahren, Vorrichtung, Computerprogramm und computerlesbares Speichermedium zum Ermitteln eines neuronalen Netzes und zum Betreiben eines Fahrzeuges

Similar Documents

Publication Publication Date Title
DE102017210787A1 (de) Verfahren und Vorrichtung zum Ermitteln von Anomalien in einem Kommunikationsnetzwerk
DE102017213119A1 (de) Verfahren und Vorrichtung zum Ermitteln von Anomalien in einem Kommunikationsnetzwerk
DE102017223751A1 (de) Verfahren und Vorrichtung zur Erkennung von Anomalien in einem Datenstrom eines Kommunikationsnetzwerks
DE102018208763A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Betreiben eines maschinellen Lernsystems
EP3876061A1 (de) Verfahren zur validierung und auswahl auf maschinellem lernen basierender modelle zur zustandsüberwachung einer maschine
DE102019217613A1 (de) Verfahren zur diagnose eines motorzustands und diagnostisches modellierungsverfahren dafür
EP3701434A1 (de) Verfahren und vorrichtung zum automatischen erzeugen eines künstlichen neuronalen netzes
EP3782081B1 (de) Verfahren zur erzeugung eines testdatensatzes, verfahren zum testen, verfahren zum betreiben eines systems, vorrichtung, steuerungssystem, computerprogrammprodukt, computerlesbares medium, erzeugung und verwendung
DE102017213771A1 (de) Verfahren und Vorrichtung zum Ermitteln von Anomalien in einem Kommunikationsnetzwerk
DE102013206308A1 (de) Verfahren und System zum Adaptieren von Modellparametern eines in einem Steuergerät eines Kraftfahrzeugs implementierten Funktionmodells
DE102017116016A1 (de) Kraftfahrzeug-Sensorvorrichtung mit mehreren Sensoreinheiten und einem neuronalen Netz zum Erzeugen einer integrierten Repräsentation einer Umgebung
DE102017201796A1 (de) Steuervorrichtung zum Ermitteln einer Eigenbewegung eines Kraftfahrzeugs sowie Kraftfahrzeug und Verfahren zum Bereitstellen der Steuervorrichtung
DE102018220608A1 (de) Maschinelles Lernsystem, sowie ein Verfahren, ein Computerprogramm und eine Vorrichtung zum Erstellen des maschinellen Lernsystems
DE102009012887B4 (de) Verfahren zum Prüfen einer nicht korrekten Installation von Fahrzeugsensoren
EP3985565A1 (de) Verfahren und vorrichtung zum überprüfen eines beim teilautomatisierten oder vollautomatisierten steuern eines fahrzeugs verwendeten ki-basierten informationsverarbeitungssystems
DE102017219269A1 (de) Klassifizierung mit automatischer Auswahl aussichtsreicher Lerndaten
DE102021200789A1 (de) Computer-implementiertes Verfahren und Vorrichtung zur Manipulationserkennung für Abgasnachbehandlungssysteme mithilfe Verfahren künstlicher Intelligenz
DE102020203058A1 (de) Automatisierte Zuverlässigkeitsprüfung einer infrastrukturseitigen Überwachungssensorik
DE102013220453A1 (de) Verfahren zum Betreiben eines Kraftfahrzeugs und Verfahren zum Auswerten von erfassten zeitlichen Verläufen
DE102019217300A1 (de) Verfahren zum Trainieren eines künstlichen neuronalen Netzes, Computerprogramm, Speichermedium, Vorrichtung, künstliches neuronales Netz und Anwendung des künstlichen neuronalen Netzes
WO2008064616A1 (de) Verfahren und diagnosesystem zur diagnose eines technischen systems
DE102017219274A1 (de) Verfahren und Vorrichtung zum Verbessern der Robustheit eines maschinellen Lernsystems
DE102023000357B3 (de) Verfahren zum Erzeugen von Testdaten für eine Simulation eines Assistenzsystems eines zumindest teilweise assistiert betriebenen Kraftfahrzeugs, Computerprogrammprodukt, computerlesbares Speichermedium sowie elektronische Recheneinrichtung
DE102017214610A1 (de) Verfahren zum Überprüfen von zumindest einer Fahrzeugfunktion sowie Prüfvorrichtung
DE102020213058A1 (de) Verfahren und Vorrichtung zum teilautomatisierten oder vollautomatisierten Steuern eines Fahrzeugs

Legal Events

Date Code Title Description
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012260000

Ipc: H04L0043000000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0043000000

Ipc: H04L0043026000

R163 Identified publications notified
R012 Request for examination validly filed