DE102017210787A1 - Method and apparatus for detecting anomalies in a communication network - Google Patents

Method and apparatus for detecting anomalies in a communication network Download PDF

Info

Publication number
DE102017210787A1
DE102017210787A1 DE102017210787.1A DE102017210787A DE102017210787A1 DE 102017210787 A1 DE102017210787 A1 DE 102017210787A1 DE 102017210787 A DE102017210787 A DE 102017210787A DE 102017210787 A1 DE102017210787 A1 DE 102017210787A1
Authority
DE
Germany
Prior art keywords
encoder
variable
input
determined
anomaly
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
DE102017210787.1A
Other languages
German (de)
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 DE102017210787.1A priority Critical patent/DE102017210787A1/en
Publication of DE102017210787A1 publication Critical patent/DE102017210787A1/en
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/06Management of faults, events, alarms or notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/20Arrangements for detecting or preventing errors in the information received using signal quality detector
    • H04L1/208Arrangements for detecting or preventing errors in the information received using signal quality detector involving signal re-encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks

Abstract

Verfahren zum Ermitteln, ob in einem Kommunikationsnetzwerk (110, 120, 130, 300), insbesondere eines Kraftfahrzeugs (100), eine Anomalie vorliegt, wobei mindestens eine über das Kommunikationsnetzwerk (110, 120, 130, 300) übermittelte Nachricht analysiert wird, indem abhängig von der, d.h. insbesondere aus der, übermittelten Nachricht eine Eingangsgröße (x) eines Kodierers (1100) ermittelt wird, wobei mittels des Kodierers (1100) eine Zwischengröße (h) reduzierter Dimensionalität ermittelt wird, und wobei abhängig von der Zwischengröße (h) mittels eines Dekodierers (1200) eine Ausgangsgröße (y) mit der Dimensionalität der Eingangsgröße (x) ermittelt wird, wobei abhängig von Eingangsgröße (x) und Ausgangsgröße (y) entschieden wird, ob die Anomalie vorliegt, oder nicht.Method for determining whether there is an anomaly in a communication network (110, 120, 130, 300), in particular of a motor vehicle (100), wherein at least one message transmitted via the communication network (110, 120, 130, 300) is analyzed by depending on the, ie In particular, an input variable (x) of an encoder (1100) is determined from the transmitted message, an intermediate variable (h) of reduced dimensionality being determined by means of the encoder (1100), and depending on the intermediate variable (h) by means of a decoder (1200 ) an output quantity (y) is determined with the dimensionality of the input quantity (x), it being decided whether or not the anomaly is present, depending on the input quantity (x) and the output quantity (y).

Description

Technisches GebietTechnical area

Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Ermitteln, ob in einem Kommunikationsnetzwerk eine Anomalie vorliegt, ein Computerprogramm, und ein maschinenlesbares Speichermedium.The invention relates to a method and a device for determining whether there is an anomaly in a communication network, a computer program, and a machine-readable storage medium.

Stand der TechnikState of the art

In der DE 10 2009 026 995 A1 ist ein Verfahren zum Betreiben eines Bussystems, insbesondere eines CAN-Busses, beschrieben. An das Bussystem sind mehrere Stationen anschließbar. Eine übertragene Nachricht weist einen Identifier auf, wobei ein bestimmter Identifier (z.B. IDENT2) immer nur von einer einzigen Station verwendet werden darf. Jede der Stationen vergleicht den Identifier einer übertragenen Nachricht mit den von ihr selbst verwendeten Identifiern (z.B. IDENT2). Bei einer Übereinstimmung wird eine Fehlermeldung erzeugt.In the DE 10 2009 026 995 A1 is a method for operating a bus system, in particular a CAN bus, described. Several stations can be connected to the bus system. A transmitted message has an identifier, whereby a specific identifier (eg IDENT2) may only ever be used by a single station. Each of the stations compares the identifier of a transmitted message with the identifiers used by itself (eg IDENT2). If there is a match, an error message is generated.

Vorteil der ErfindungAdvantage of the invention

Das Verfahren mit den Merkmalen des unabhängigen Anspruchs 1 hat demgegenüber den Vorteil, dass eine einfache und wirksamere Erkennung von Anomalien in einem Kommunikationsnetzwerk möglich ist. Vorteilhafte Weiterbildungen sind Gegenstand der unabhängigen Ansprüche.The method with the features of independent claim 1 has the advantage that a simple and more effective detection of anomalies in a communication network is possible. Advantageous developments are the subject of the independent claims.

Offenbarung der ErfindungDisclosure of the invention

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).An important aspect of today's machines, devices and systems is their internal and external data exchange. Within a device, for example, data is exchanged between individual components to allow for their desired interaction (eg, between control devices in a motor vehicle). For example, external data exchange may occur between independent devices of the same type (eg, between multiple vehicles traveling together in the same traffic or between household devices communicating with each other within a networked home).

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.In a real union of communicating systems and devices, the data traffic can basically be subdivided into two groups: The first group, the "normal behavior", describes the type of data traffic in normal operation - ie. without errors, failures, external manipulations o. Ä. - incurs. In a properly operating system, only error-free data will occur and the individual data will generally depend on specific correlations (both stationary and time-varying).

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.
The second group, "anomalies", describes the type of traffic that differs from "normal behavior". For various reasons, deviations from normal behavior can occur in the data during real operation. Causes can be, for example, the following nature:
  1. (i) Defective or failed sensors provide incorrect or no data
  2. (ii) components are damaged,
  3. (iii) the system was manipulated by an external source (e.g., by a hacker attack).

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.It is very important to identify such anomalies, as it might be possible to take control of a motor vehicle through such attacks.

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.It is possible to implement a method for detecting anomalies rule-based. This creates a list of queries, checks, and inferences for a selection of possible, non-normal behaviors that the system uses.

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.Another possible approach uses a set of sample data that contains additional information as to whether this is a normal or an abnormal state. Suitable systems such. B. Neural networks can then be trained on the basis of these labels (supervised learning), in order to recognize similar states later.

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.One difficulty with rule-based or training-based data-based techniques is that the nature of a possible anomaly should be known before it occurs. Just the specific case of a (hacker) attack on a system to manipulate its behavior makes it clear that such an assumption involves a great deal of effort.

Es kann daher 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.Therefore, a data-based model of the normal behavior can be provided which is able to fully cover the space of possible system states occurring during the "normal behavior" in a reduced-dimensional space and reproduce the normal behavior therefrom, while anomalies , d. H. Deviations from normal behavior, can not be reproduced by the model. Based on the deviation between the actual data point and the model prediction, an "anomaly score" can then be calculated, which provides information on whether a test data point is to be regarded as normal or abnormal.

Die grundlegende Idee des Verfahrens ist daher 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.)The basic idea of the procedure is therefore the following: The (physical or causal) cause of the accumulating data in the Normal behavior can be described in a relatively low-dimensional space. For example, the condition of a motor vehicle or its engine is determined by few physical variables such as speed, acceleration, temperature, air pressure, etc. The resulting amount of (measurement) data is much higher-dimensional and highly correlated with each other. (For example, in a motor vehicle, there may be several thousand sensor data associated with corresponding maps.)

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.It is thus possible, according to an encoder-decoder scheme, to project the high-dimensional (measurement) data space to a lower-dimensional space of latent variables substantially without loss of information, and vice versa. Normally, normal behavior data is mapped to itself, whereas data deviating from normal behavior can not be reproduced by this scheme. Based on a reconstruction error can thus be judged whether it is a data point to normal behavior or an anomaly.

In einem ersten Aspekt wird daher ein Verfahren vorgestellt, das ermittelt, ob in einem Kommunikationsnetzwerk, insbesondere eines Kraftfahrzeugs, eine Anomalie vorliegt, oder nicht. Hierbei wird mindestens eine über das Kommunikationsnetzwerk übermittelte Nachricht analysiert, 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 (also eine latente Variable) reduzierter Dimensionalität (d.h. mit einer Dimension die kleiner ist als die der Eingangsgröße) 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.In a first aspect, therefore, a method is presented which determines whether or not there is an anomaly in a communication network, in particular of a motor vehicle. Here, at least one message transmitted over the communication network is analyzed, depending on the, e.g. In particular from the transmitted message, an input variable of an encoder is determined, wherein by means of the encoder an intermediate variable (ie a latent variable) of reduced dimensionality (ie with a dimension smaller than that of the input variable) is determined, and wherein depending on the intermediate size means a decoder is determined an output variable with the dimensionality of the input, wherein it is decided whether or not the anomaly is present, depending on the input variable and the output variable.

Es ist ein Vorteil dieses Verfahrens, dass Anomalien im Datenverkehr des Kommunikationsnetzwerks selbstständig erkannt werden können, wobei kein Vorwissen über ihre Art und ihr Zustandekommen notwendig ist. Die Anomalie-Erkennung beruht also ausschließlich auf der Kenntnis des Normalverhaltens des jeweiligen Systems.It is an advantage of this method that anomalies in the traffic of the communication network can be independently recognized, with no prior knowledge of their nature and their occurrence is necessary. The anomaly detection is thus based exclusively on the knowledge of the normal behavior of the respective system.

Darüber hinaus ist dieses Verfahren besonders einfach auf weitere Kommunikationsteilnehmer im Kommunikationsnetzwerk erweiterbar.In addition, this method is particularly easy to extend to other communication participants in the communication network.

Auch ist es gegenüber einem Verfahren, das auf einem überwachten Lernansatz aufbaut, besonders einfach anzulernen, da keine gelabelten Daten benötigt werden.Also, it is particularly easy to learn as compared to a method based on a supervised learning approach, since no labeled data is needed.

Ferner bietet das Verfahren den Vorteil, dass kategorische Daten ebenfalls berücksichtigt werden können, beispielsweise durch „one-hot encoding“. Das Verfahren ist sowohl „online“ als auch „offline“ anwendbar. D.h. das Verfahren kann auf einem Steuergerät, das im Kraftfahrzeug verbaut ist, ablaufen, oder auch auf einem Diagnosesystem außerhalb des Kraftfahrzeugs, beispielsweise auf einem externen Rechner.Furthermore, the method offers the advantage that categorical data can also be taken into account, for example by "one-hot encoding". The method is applicable both "online" and "offline". That The method may be run on a control unit which is installed in the motor vehicle, or on a diagnostic system outside the motor vehicle, for example on an external computer.

Darüber hinaus ist es sehr einfach möglich, das Verfahren upzudaten (durch Update der entsprechenden Decoder-/Encoder-Funktionen) und es kann online anhand neu anfallender Daten weiterlernen.In addition, it is very easy to update the process (by updating the corresponding decoder / encoder functions) and it can continue to learn online based on newly accumulating data.

In einer besonders einfachen Weiterbildung kann vorgesehen sein, dass abhängig von einer eine Abweichung zwischen Eingangssignal und Ausgangssignal charakterisierenden Größe entschieden wird, ob eine Anomalie vorliegt, oder nicht. Diese Größe kann beispielsweise ein Absolutbetrag einer Differenz zwischen Eingangssignal und Ausgangssignal sein.In a particularly simple development it can be provided that, depending on a variable characterizing a deviation between the input signal and the output signal, it is decided whether an anomaly exists or not. For example, this quantity may be an absolute value of a difference between the input signal and the output signal.

Weisen Kodierer und Dekodierer anpassbare Parameter auf, so kann in einem weiteren Aspekt vorgesehen sein, dass diese Parameter derart eingerichtet sind, dass die die Abweichung zwischen Eingangssignal und Ausgangssignal charakterisierende Größe kleiner als ein vorgebbarer Schwellwert, insbesondere minimal, ist, wenn die Eingangsgröße regulär (d.h. anomaliefrei) ist.If the encoders and decoders have adaptable parameters, it can be provided in a further aspect that these parameters are set up such that the variable characterizing the deviation between the input signal and the output signal is smaller than a predefinable threshold value, in particular minimal, if the input variable is regular ( ie anomaly-free).

Dies kann beispielsweise dadurch geschehen, dass die Parameter derart angepasst werden, dass über einem Trainingsdatensatz von Nachrichten, die dem „Normalverhalten“ entsprechen, eine sich für den gesamten Trainingsdatensatz ergebende Abweichung (oder eine diese Abweichung charakterisierende Größe) zwischen Eingangssignal und Ausgangssignal minimal wird.This can be done, for example, by adjusting the parameters such that over a training data set of messages corresponding to the "normal behavior" a deviation (or a variable characterizing this deviation) between the input signal and the output signal becomes minimal for the entire training data set.

In einem weiteren Aspekt kann vorgesehen sein, dass Kodierer und Dekodierer einen Autoencoder umfassen, d.h. Kodierer und Dekodierer umfassen ein neuronales Netzwerk, das als Autencoder aufgebaut ist. Hierdurch können auch komplexe, nicht-lineare Zusammenhänge zwischen Eingangssignal und Zwischensignal modelliert werden. Ferner ist es durch Verwendung rekurrenter neuronaler Netze auf besonders einfache Art und Weise möglich, Zeitabhängigkeiten zu berücksichtigen.In another aspect, it may be provided that encoders and decoders include an auto-encoder, i. Encoders and decoders include a neural network constructed as an autocoder. As a result, even complex, non-linear relationships between the input signal and the intermediate signal can be modeled. Furthermore, by using recurrent neural networks, it is possible to consider time dependencies in a particularly simple manner.

Insbesondere können hier Parameter des Autoencoders derart angepasst werden, dass die die Abweichung zwischen Eingangssignal und Ausgangssignal charakterisierende Größe minimal ist, wenn die Eingangsgröße regulär ist.In particular, here parameters of the auto-encoder can be adjusted such that the variable characterizing the deviation between the input signal and the output signal is minimal if the input variable is regular.

Alternativ oder zusätzlich kann vorgesehen sein, dass die Zwischengröße abhängig von einer Hauptkomponentenanalyse (englisch „principal component analysis“, PCA) ermittelt wird. Da die Hauptkomponentenanalyse eine orthogonale Transformation ist, hat eine Ausgangsgröße der Hauptkomponentenanalyse die gleiche Dimensionalität wie ihre Eingangsgröße. Die dimensionale Reduktion zum Ermitteln der Zwischengröße kann daher durch eine Projektion auf einen vorgebbaren Unterraum ausgeführt werden (dies ist besonders einfach). Alternatively or additionally, it may be provided that the intermediate variable is determined as a function of a principal component analysis (PCA). Since the principal component analysis is an orthogonal transformation, an output of the principal component analysis has the same dimensionality as its input. The dimensional reduction for determining the intermediate size can therefore be carried out by projection onto a predefinable subspace (this is particularly simple).

In einer Weiterbildung der vorherigen Aspekte kann vorgesehen sein, dass die Ermittlung der Ausgangsgröße abhängig von einer Ausgangsgröße des Autoencoders ermittelt wird, wobei eine Eingangsgröße des Autoencoders abhängig von einer Ausgangsgröße der Hauptkomponentenanalyse ermittelt wird.In a further development of the previous aspects, provision can be made for the determination of the output variable to be determined as a function of an output variable of the auto-encoder, wherein an input variable of the auto-encoder is determined as a function of an output variable of the main component analysis.

Eine solche Kombination von Hauptkomponentenanalyse und Autoencoder ist besonders vorteilhaft, da die Hauptkomponentenanalyse lineare Abhängigkeiten zwischen den Komponenten der Eingangsgröße optimal transformiert, und Parameter des Autoencoders derart angepasst werden können, dass der Autoencoder die Nichtlineartäten optimal erfasst.Such a combination of principal component analysis and auto-encoder is particularly advantageous because the principal component analysis optimally transforms linear dependencies between the components of the input, and parameters of the auto-encoder can be adjusted such that the auto-encoder optimally detects the nonlinear devices.

Anstelle der Hauptkomponentenanalyse kann auch eine Unabhängigkeitsanalyse (englisch „independent component analysis“, ICA) verwendet werden.Instead of the principal component analysis, an independent component analysis (ICA) can also be used.

In einem noch weiteren Aspekt ist es möglich, dass abhängig von einer eine Abweichung zwischen einer Komponente des Eingangssignal und einer korrespondierenden Komponente des Ausgangssignal charakterisierenden Größe entschieden wird, welcher Art eine vorliegende Anomalie ist, d.h. an Stelle einer Gesamtbetrachtung einer Abweichung zwischen einem vektorwertigen Eingangssignal und einem vektorwertigen Ausgangssignal wird ausgenutzt, dass weitere Information über die Natur der Anomalie darin enthalten ist, welche Komponenten dieser vektorwertigen Signale eine große und welche eine kleine Abweichung aufweisen.In yet another aspect, it is possible to decide which type is a present anomaly, depending on a variable characterizing a deviation between a component of the input signal and a corresponding component of the output signal. Instead of an overall consideration of a deviation between a vector-valued input signal and a vector-valued output signal, it is exploited that further information about the nature of the anomaly is contained in which components of these vector-valued signals have a large and a small deviation.

In weiteren Aspekten betrifft die Erfindung ein Computerprogramm, welches eingerichtet ist, eines der vorgenannten Verfahren auszuführen, wenn es auf einem Computer ausgeführt wird, ein maschinenlesbares Speichermedium, auf dem dieses Computerprogramm gespeichert ist (wobei dieses Speichermedium selbstverständlich räumlich verteilt ausgebildet sein kann, z.B. bei paralleler Ausführung über mehrere Computer verteilt), und eine Vorrichtung, insbesondere eine Überwachungseinheit, die eingerichtet ist, eines dieser Verfahren auszuführen (beispielsweise durch Abspielen des vorgenannten Computerprogramms).In further aspects, the invention relates to a computer program which is adapted to carry out one of the aforementioned methods, when executed on a computer, a machine-readable storage medium, on which this computer program is stored (this storage medium, of course, can be spatially distributed, eg at parallel execution distributed over several computers), and a device, in particular a monitoring unit, which is configured to perform one of these methods (for example by playing the aforementioned computer program).

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 in einem Flussdiagramm eine Ausführungsform des Verfahrens zum Detektieren von Anomalien;
  • 6 zeitliche Verläufe eines Eingangssignals, eines Ausgangssignals und ihres Differenzsignals;
  • 7 in einem Flussdiagramm eine Ausführungsform eines Verfahrens zum Trainieren eines Autoencoders.
Hereinafter, embodiments of the invention will be explained in more detail with reference to the accompanying drawings. In the drawings show:
  • 1 schematically a communication network in a motor vehicle;
  • 2 schematically a signal flow in the monitoring unit;
  • 3 an exemplary structure of encoder and decoder;
  • 4 another exemplary structure of encoder and decoder;
  • 5 a flowchart of an embodiment of the method for detecting anomalies;
  • 6 time profiles of an input signal, an output signal and their difference signal;
  • 7 in a flowchart an embodiment of a method for training an auto-encoder.

Beschreibung der AusführungsbeispieleDescription of the embodiments

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. 1 shows an exemplary communication network in a motor vehicle 100 , The communication network is in this example by a CAN bus 300 given, over the communication participant 110 . 120 and 130 communicate with each other by exchanging messages. The monitoring unit 200 is also on the CAN bus 300 connected and can messages that the communication participants 110 . 120 . 130 send each other also received and possibly even a message on the CAN bus 300 to take countermeasures if anomaly is detected. communication stations 110 . 120 . 130 and the network connecting them, here the CAN bus 300 , together make up the communication network.

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.Of course, the invention is not limited to a CAN bus. Instead, it can also be used in motor vehicles in which another bus or a combination of several bus systems are present, for example Ethernet. The method can also be used outside a motor vehicle, for example in a 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, insbesondere das in 6 illustrierte Verfahren. Selbstverständlich ist es auch möglich, dass Teile des Verfahrens oder das gesamte Verfahren in Hardware implementiert sind.The monitoring unit 200 has a computer 210 on, which is a machine-readable storage medium 220 having. On this machine-readable storage medium 220 can one Be stored in a computer program that includes instructions that when removed from the computer 210 be carried out to carry out the inventive method, in particular the in 6 illustrated method. Of course, it is also possible that parts of the method or the entire method are implemented in hardware.

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 Kodierer 1100 zugeführt, der hieraus die Zwischengröße h ermittelt. Die Dimension der (vektorwertigen) Zwischengröße h ist hierbei geringer als die Dimension der (vektorwertigen) Eingangsgröße x. Die Zwischengröße h wird dem Dekodierer 1200 zugeführt, der aus der Zwischengröße h die Ausgangsgröße y ermittelt. Die Dimension der (vektorwertigen) Ausgangsgröße y ist gleich der Dimension der Eingangsgröße x. 2 illustrates the flow of signals within the monitoring unit 200 , An entrance block 1000 will be a message N fed to the monitoring unit 200 over the CAN bus 300 has received. The input block extracts an input from the message x , For example, a payload and / or metadata of the message N , This input is the encoder 1100 fed, which determines the intermediate size h from this. The dimension of the (vector-valued) intermediate variable h is smaller than the dimension of the (vector-valued) input variable x , The intermediate size h becomes the decoder 1200 fed, which determines the output variable y from the intermediate size h. The dimension of the (vector-valued) output y is equal to the dimension of the input variable x ,

Die Ausgangsgröße y wird ebenso wie die Eingangsgröße x einem Überwachungsblock 1300 zugeführt, der abhängig von diesen beiden Größen 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. 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.The output y becomes as well as the input x a monitoring block 1300 fed, depending on these two sizes an error signal F determined. The error signal F characterized in whether in the communication network value, ie in the communication between the communication participants 110 . 120 . 130 over the CAN bus 300 or in the monitoring unit 200 there is an anomaly. The error signal F is optionally a control 1400 fed, which determines therefrom a Ansteuergröße A, via the CAN bus 300 one or more of the communication participants 110 . 120 . 130 the communication network is transmitted.

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.For example, it is possible that the motor vehicle 100 is converted into a secure state. Is it the motor vehicle 100 to an autonomously mobile motor vehicle 100 , a driver may be required to control the autonomous vehicle 100 to take over again. Alternatively or additionally, it is possible that the communication via the CAN bus 300 is restricted to essential messages.

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.If the error signal F already contains specific information about what is the cause of the anomaly, the control quantity A can initiate a specific countermeasure, such as one of the communication participants 110 . 120 . 130 from the traffic over the CAN bus.

3 zeigt beispielhaft den Aufbau von Kodierer 1100 und Dekodierer 1200 gemäß einem ersten Ausführungsbeispiel. In diesem Beispiel sind Kodierer 1100 und Dekodierer 1200 gemeinsam als Autoencoder 1150 eingerichtet. Die Komponenten der Eingangsgröße x werden hier mit x1, x2, x3 bezeichnet. Diese werden Neuronen a1, a2, a3, a4 einer ersten Zwischenschicht 1110 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 1210 zugeführt, aus der die Ausgangsgröße y mit Komponenten y1, y2, y3 ermittelt werden. 3 shows by way of example the structure of coder 1100 and decoders 1200 according to a first embodiment. In this example are encoders 1100 and decoders 1200 together as a car encoder 1150 set up. The components of the input variable x are here with x1 . x2 . x3 designated. These become neurons a1 . a2 . a3 . a4 a first intermediate layer 1110 fed. From the output quantities of the neurons a1 . a2 . a3 . a4 becomes the intermediate size h with components h1 . h2 determined. These components become neurons b1 . b2 . b3 . b4 a second intermediate layer 1210 supplied, from which the output quantity y with components y1 . y2 . y3 be determined.

Der Autoencoder 1150 kann beispielsweise auch als „stacked Autoencoder“, „denoising Autoencoder“, „variational Autoencoder“, „smooth Autoencoder“, „rekurrenter Autoencoder“ oder „LSTM Autoencoder“ implementiert sein.The car encoder 1150 For example, it can also be implemented as a stacked auto-encoder, denoising auto-encoder, variational auto-encoder, smooth auto-encoder, recurrent auto-encoder, or LSTM auto-encoder.

Selbstverständlich können erste Zwischenschicht 1110 und/oder zweite Zwischenschicht 1210 jeweils wieder aus einer Mehrzahl von Schichten bestehen, beispielsweise, wenn der Autoencoder 1150 als „stacked Autoencoder“ oder als „deep Autoencoder“ implementiert ist.Of course, first intermediate layer 1110 and / or second intermediate layer 1210 each again consist of a plurality of layers, for example, when the auto-encoder 1150 is implemented as a "stacked auto-encoder" or as a "deep auto-encoder".

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.Concretely, such a car encoder 1150 For example, be implemented by three consecutive fully-connected layers, wherein the middle of the three fully-connected layer is smaller dimensioned than the two outer.

4 zeigt beispielhaft den Aufbau von Kodierer 1100 und Dekodierer 1200 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. 4 shows by way of example the structure of coder 1100 and decoders 1200 according to a second embodiment. The input quantity x with components x1 . x2 . x3 this is a block 1120 which performs a principal component analysis (by multiplying an appropriate matrix M by the input x ). As a result of this matrix multiplication becomes an encoder intermediate size k with components k1 . k2 . k3 determined, and a second block 1130 fed. The second block 1130 determines the intermediate size from this H with components h1 . h2 , for example, by only those N components k1 . k2 . k3 the encoder intermediate size k whose associated eigenvalues have the greatest value in the principal component analysis. N Here is a fixed predetermined number. That is to say, the intermediate coder k is mathematically projected onto a space which corresponds to the dimensionality of the intermediate variable h. blocks 1120 and 1130 together correspond to the encoder 1100 ,

Der Dekodierer 1200 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.The decoder 1200 includes a third block 1220 and a fourth block 1230 , The third block 1220 determines from intermediate variable h a decoder intermediate variable p with components p1 . p2 . p3 , from which the fourth block by means of an inverse principal component analysis (ie a Matrix multiplication of the (left) inverse M_inv of the matrix M with the decoder intermediate size p). As a result of this matrix multiplication, the output becomes y with components y1 . y2 . y3 determined.

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).Output size y and decoder intermediate size p have the same dimensionality. To the decoder intermediate size p From the intermediate size h to determine, the third block 1220 for example, canonically embed the vector-valued quantity h (ie, add the components of the "missing" dimensions to the value "zero").

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.Instead of a principal component analysis, in block 1120 also be carried out an independence analysis. In block 1230 then an inverse independence analysis is performed instead of an inverse principal component analysis.

Selbstverständlich ist es auch möglich, Hauptkomponentenanalyse und Unabhängigkeitsanalyse hintereinander auszuführen.Of course, it is also possible to carry out principal component analysis and independence analysis one after the other.

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.Still further, it is possible that instead of or in addition to the dimensional reduction in the second block 1130 and dimensional embedding in the third block 1220 a car encoder, as exemplified in 3 is illustrated is used.

5 zeigt in einem Flussdiagramm beispielhaft ein Verfahren, wie es in der Überwachungseinheit 200 durchgeführt werden kann. 5 shows in a flowchart by way of example a method, as in the monitoring unit 200 can be carried out.

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ößex = (x1, x2, x3... xd)T, wobei d der Dimensionalität der Eingangsgröße x entspricht.First ( 2000 ) one or more CAN messages N are transmitted via the CAN bus 300 receive. Then ( 2100 ) extracts input block 1000 the payload data and thus generates the input variable x = (x1, x2, x3 ... xd) T , where d corresponds to the dimensionality of the input variable x.

Anschließend (2200) wird mittels Kodierer 1100 und Dekodierer 1200 die Ausgangsgröße y = (y1,y2,y3...yd)T ermittelt.Subsequently ( 2200 ) is coded 1100 and decoders 1200 the output quantity y = ( y1 , y2, y3 ... yd) T determined.

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.Well 2300 ) determines monitoring block 1300 the difference signal δ = || (δ1, δ2, δ3 ... δd) T || with δi = xi - yi for i = 1 ... d and checks whether the difference signal δ is greater than a predefinable threshold S. If this is not the case (output "n"), goes to step 2400 branches, in which the error signal F receives a value indicating that no error has been detected, and this passage of the method ends. Otherwise (output "j") will go to step 2500 branched. The error signal F receives a value indicating that an error has been detected. Then ( 2600 ) becomes the error signal F the control 1400 which optionally depends on the value of the error signal F the drive size A determined. This ends the procedure.

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.Alternatively or additionally, in steps 2300 - 2600 are also checked separately for each component δi of the difference signal δ whether it exceeds the predetermined threshold value S and, if necessary, an error signal F which can be predetermined individually for each of the components. Otherwise, the process can proceed as described above.

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.Alternatively or additionally, in the steps 2300 - 2600 also another error measure δ = δ (x, y) depending on input x and initial size y which is compared to a threshold S to determine if there is an anomaly.

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).In the above embodiments, the threshold S not necessarily be constant. He may also be dependent on the input size x are chosen, ie S = S (x) or depending on output y , ie S = S (y), or dependent on both, that is S = S (x, y).

6 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. 6 shows exemplary time profiles of the (x for simplicity) input x, the (one-dimensionally illustrated for simplicity) input y and the difference signal δ. In the concrete example occurs before a first time interval T1 an error in an injection pump of the motor vehicle 100 on. This error causes in the first time interval T1 , in a second time interval T2 and in a third time interval T3 the difference signal δ exceeds the threshold value S, so that an error is detected here.

7 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) generiert werden. Dann (3300) werden (z.B. in einem Gradientenabstiegsverfahren und Backpropagation durch wiederholte Anwendung der Schritte 3000, 3100, 3200) optimale Parameterwerte P * = argmin δ ( P )

Figure DE102017210787A1_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. 7 shows by way of example a method for training the in 3 exemplified Autoencoders 1150 , First ( 3000 ) training data are generated, for example by input signals x are read from a file. Then ( 3100 ) are determined by means of the auto-encoder coded with current parameter values P. 1150 Output signals y determined and then ( 3200 ) Difference signals δ (P) are generated. Then ( 3300 ) (eg in a gradient descent process and backpropagation by repeated application of the steps 3000 . 3100 . 3200 ) optimal parameter values P * = argmin δ ( P )
Figure DE102017210787A1_0001
approximately determined, and the auto-encoder 1150 is then preferably used with these optimal parameter values P *. By "approximate determination" is meant that, of course, in general, the determined optimal parameter values P * do not exactly satisfy equation (I) but have a numerical error. For example, this numerical error can essentially be determined by a convergence criterion Reaching the actual optimum value is met and the numerical method is terminated, and / or determined by the numerical method has reached a local minimum instead of the global minimum.

Im optionalen Schritt 3400 wird mit den optimalen Parameterwerte P* das Differenzsignal δ(P*) ermittelt und der Schwellwert S auf den Wert S = F * δ ( P* )

Figure DE102017210787A1_0002
mit einem vorgebbaren Sicherheitsfaktor F (z.B. F = 1,2) gesetzt. Damit endet dieses Verfahren.In the optional step 3400 the difference signal δ (P *) is determined with the optimum parameter values P *, and the threshold value S is set to the value S = F * δ ( P * )
Figure DE102017210787A1_0002
with a predefinable safety factor F (eg F = 1.2). This ends this procedure.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

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.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • DE 102009026995 A1 [0002]DE 102009026995 A1 [0002]

Claims (10)

Verfahren zum Ermitteln, ob in einem Kommunikationsnetzwerk (110, 120, 130, 300), insbesondere eines Kraftfahrzeugs (100), eine Anomalie vorliegt, wobei mindestens eine über das Kommunikationsnetzwerk (110, 120, 130, 300) übermittelte Nachricht analysiert wird, indem abhängig von der, d.h. insbesondere aus der, übermittelten Nachricht eine Eingangsgröße (x) eines Kodierers (1100) ermittelt wird, wobei mittels des Kodierers (1100) eine Zwischengröße (h) reduzierter Dimensionalität ermittelt wird, und wobei abhängig von der Zwischengröße (h) mittels eines Dekodierers (1200) eine Ausgangsgröße (y) mit der Dimensionalität der Eingangsgröße (x) ermittelt wird, wobei abhängig von Eingangsgröße (x) und Ausgangsgröße (y) entschieden wird, ob die Anomalie vorliegt, oder nicht.Method for determining whether there is an anomaly in a communication network (110, 120, 130, 300), in particular of a motor vehicle (100), wherein at least one message transmitted via the communication network (110, 120, 130, 300) is analyzed by depending on the, ie In particular, an input variable (x) of an encoder (1100) is determined from the transmitted message, an intermediate variable (h) of reduced dimensionality being determined by means of the encoder (1100), and depending on the intermediate variable (h) by means of a decoder (1200 ) an output quantity (y) is determined with the dimensionality of the input quantity (x), it being decided whether or not the anomaly is present, depending on the input quantity (x) and the output quantity (y). Verfahren nach Anspruch 1, wobei abhängig von einer eine Abweichung zwischen Eingangssignal (x) und Ausgangssignal (y) charakterisierenden Größe (δ) entschieden wird, ob eine Anomalie vorliegt, oder nicht.Method according to Claim 1 in which, depending on a variable (δ) characterizing a deviation between input signal (x) and output signal (y), it is decided whether an anomaly exists or not. Verfahren nach Anspruch 2, wobei Kodierer (1100) und Dekodierer (1200) derart eingerichtet sind, dass die die Abweichung zwischen Eingangssignal (x) und Ausgangssignal (y) charakterisierende Größe (δ) kleiner als ein vorgebbarer Schwellwert (S) ist, wenn die Eingangsgröße (x) regulär ist.Method according to Claim 2 wherein encoder (1100) and decoder (1200) are arranged such that the variable (δ) characterizing the deviation between input signal (x) and output signal (y) is smaller than a predefinable threshold value (S) when the input variable (x) is regular. Verfahren nach einem der Ansprüche 1 bis 3, wobei Kodierer (1100) und Dekodierer (1200) einen Autoencoder (1150) umfassen.Method according to one of Claims 1 to 3 wherein encoder (1100) and decoder (1200) comprise an auto-encoder (1150). Verfahren nach einem der vorherigen Ansprüche, wobei die Zwischengröße (h) abhängig von einer Hauptkomponentenanalyse oder einer Unabhängigkeitsanalyse (englisch „independent component analysis“, ICA) ermittelt wird.Method according to one of the preceding claims, wherein the intermediate size (h) is determined as a function of a main component analysis or an independent component analysis (ICA). Verfahren nach Anspruch 4 und 5, wobei die Ermittlung der Ausgangsgröße (y) abhängig von einer Ausgangsgröße (p) des Autoencoders (1150) ermittelt wird, wobei eine Eingangsgröße (k) des Autoencoders (1150) abhängig von einer Ausgangsgröße (k) der Hauptkomponentenanalyse bzw. der Unabhängigkeitsanalyse (1120) ermittelt wird.Method according to Claim 4 and 5 wherein the determination of the output quantity (y) is determined as a function of an output quantity (p) of the auto-encoder (1150), wherein an input quantity (k) of the auto-encoder (1150) depends on an output quantity (k) of the principal component analysis or the independence analysis (1120 ) is determined. Verfahren nach einem der vorherigen Ansprüche, wobei die abhängig von einer eine Abweichung zwischen einer Komponente des Eingangssignal (xi) und einer korrespondierenden Komponente des Ausgangssignal (yi) charakterisierenden Größe (δi) entschieden wird, welcher Art eine vorliegende Anomalie ist.Method according to one of the preceding claims, wherein the variable (δi) characterizing a deviation between a component of the input signal (xi) and a corresponding component of the output signal (yi) is decided which type is an existing anomaly. Computerprogramm, welches eingerichtet ist, das Verfahren nach einem der vorhergehenden Schritte auszuführen.Computer program adapted to carry out the method according to one of the preceding steps. Maschinenlesbares Speichermedium (220), auf dem das Computerprogramm nach Anspruch 8 gespeichert ist.Machine-readable storage medium (220) on which the computer program is based Claim 8 is stored. Überwachungseinheit (200), die eingerichtet ist, das Verfahren nach einem der Ansprüche 1 bis 7 durchzuführen.Monitoring unit (200), which is adapted to the method according to one of Claims 1 to 7 perform.
DE102017210787.1A 2017-06-27 2017-06-27 Method and apparatus for detecting anomalies in a communication network Pending DE102017210787A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102017210787.1A DE102017210787A1 (en) 2017-06-27 2017-06-27 Method and apparatus for detecting anomalies in a communication network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102017210787.1A DE102017210787A1 (en) 2017-06-27 2017-06-27 Method and apparatus for detecting anomalies in a communication network

Publications (1)

Publication Number Publication Date
DE102017210787A1 true DE102017210787A1 (en) 2018-12-27

Family

ID=64567623

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017210787.1A Pending DE102017210787A1 (en) 2017-06-27 2017-06-27 Method and apparatus for detecting anomalies in a communication network

Country Status (1)

Country Link
DE (1) DE102017210787A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017213771A1 (en) 2017-08-08 2019-02-14 Robert Bosch Gmbh Method and apparatus for detecting anomalies in a communication network
DE102018209407A1 (en) 2018-06-13 2019-12-19 Robert Bosch Gmbh Method and device for handling an anomaly in a communication network
CN112394706A (en) * 2019-08-14 2021-02-23 潘塔安全系统公司 Method for detecting signal in communication network based on controller area network and device thereof
DE102020116054A1 (en) 2020-06-18 2021-12-23 Bayerische Motoren Werke Aktiengesellschaft Method, device, computer program and computer-readable storage medium for determining a neural network and for operating a vehicle
US11277299B2 (en) 2018-09-19 2022-03-15 Robert Bosch Gmbh Method and device for anomaly detection in a vehicle

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009026995A1 (en) 2009-06-17 2011-03-31 Robert Bosch Gmbh Method for operating a bus system, in particular a CAN bus
US20110158542A1 (en) * 2009-12-28 2011-06-30 Canon Kabushiki Kaisha Data correction apparatus and method
US20160127405A1 (en) * 2014-10-29 2016-05-05 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009026995A1 (en) 2009-06-17 2011-03-31 Robert Bosch Gmbh Method for operating a bus system, in particular a CAN bus
US20110158542A1 (en) * 2009-12-28 2011-06-30 Canon Kabushiki Kaisha Data correction apparatus and method
US20160127405A1 (en) * 2014-10-29 2016-05-05 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017213771A1 (en) 2017-08-08 2019-02-14 Robert Bosch Gmbh Method and apparatus for detecting anomalies in a communication network
DE102018209407A1 (en) 2018-06-13 2019-12-19 Robert Bosch Gmbh Method and device for handling an anomaly in a communication network
US11228605B2 (en) 2018-06-13 2022-01-18 Robert Bosch Gmbh Method and device for handling an anomaly in a communication network
US11277299B2 (en) 2018-09-19 2022-03-15 Robert Bosch Gmbh Method and device for anomaly detection in a vehicle
CN112394706A (en) * 2019-08-14 2021-02-23 潘塔安全系统公司 Method for detecting signal in communication network based on controller area network and device thereof
DE102020116054A1 (en) 2020-06-18 2021-12-23 Bayerische Motoren Werke Aktiengesellschaft Method, device, computer program and computer-readable storage medium for determining a neural network and for operating a vehicle

Similar Documents

Publication Publication Date Title
DE102017210787A1 (en) Method and apparatus for detecting anomalies in a communication network
DE102017223751A1 (en) Method and device for detecting anomalies in a data stream of a communication network
DE102017213119A1 (en) Method and apparatus for detecting anomalies in a communication network
DE202017102238U1 (en) Aktorsteuerungssystem
DE102018200724A1 (en) Method and device for improving the robustness against "Adversarial Examples"
DE202017102235U1 (en) training system
DE102017222616A1 (en) A method for automatically creating rules for rule-based anomaly detection in a data stream
WO2021121695A1 (en) Method, apparatus and system for detecting abnormal operating states of a device
EP3671632A1 (en) Image-based maintenance prediction and erroneous operation detection
EP3282399B1 (en) Method for the improved detection of process anomalies of a technical installation and corresponding diagnostic system
DE102019217613A1 (en) METHOD OF DIAGNOSING AN ENGINE CONDITION AND DIAGNOSTIC MODELING METHOD FOR THEREOF
DE102015216265A1 (en) Method and subsystem for installing a software update in a vehicle
DE102017006599A1 (en) Method for operating a vehicle
EP3684015A1 (en) Device and method for classifying data in particular for a controller area network or an automotive ethernet network
EP3825796A1 (en) Method and device for ki-based operation of an automation system
DE112020006810T5 (en) OPERATING CONDITION CLASSIFICATION SYSTEM AND OPERATING CONDITION CLASSIFICATION METHOD
DE102017116016A1 (en) A motor vehicle sensor device having a plurality of sensor units and a neural network for generating an integrated representation of an environment
DE102017213771A1 (en) Method and apparatus for detecting anomalies in a communication network
EP3857455A1 (en) Machine learning system and a method, a computer program and a device for creating the machine learning system
DE102021200789A1 (en) Computer-implemented method and device for manipulation detection for exhaust aftertreatment systems using artificial intelligence methods
DE102020209228A1 (en) Method for monitoring at least one computing unit
WO2008064616A1 (en) Method and diagnostic system for the diagnosis of a technical system
DE102019217300A1 (en) Method for training an artificial neural network, computer program, storage medium, device, artificial neural network and application of the artificial neural network
DE102019001005A1 (en) Device and method for the compression of sensor data
DE102018201710A1 (en) Method and device for checking a function of a neural network

Legal Events

Date Code Title Description
R163 Identified publications notified
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012260000

Ipc: H04L0043000000

R012 Request for examination validly filed