DE102021211257A1 - Prevent attacks on an artificial neural network - Google Patents

Prevent attacks on an artificial neural network Download PDF

Info

Publication number
DE102021211257A1
DE102021211257A1 DE102021211257.9A DE102021211257A DE102021211257A1 DE 102021211257 A1 DE102021211257 A1 DE 102021211257A1 DE 102021211257 A DE102021211257 A DE 102021211257A DE 102021211257 A1 DE102021211257 A1 DE 102021211257A1
Authority
DE
Germany
Prior art keywords
data
ann
output data
sensor data
confidence
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
DE102021211257.9A
Other languages
German (de)
Inventor
Fabian Woitschek
Georg Schneider
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.)
ZF Friedrichshafen AG
Original Assignee
ZF Friedrichshafen AG
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 ZF Friedrichshafen AG filed Critical ZF Friedrichshafen AG
Priority to DE102021211257.9A priority Critical patent/DE102021211257A1/en
Priority to PCT/EP2022/076923 priority patent/WO2023057271A1/en
Publication of DE102021211257A1 publication Critical patent/DE102021211257A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0205Diagnosing or detecting failures; Failure detection models
    • B60W2050/0215Sensor drifts or sensor failures

Abstract

Verfahren zum Betreiben eines künstlichen neuronalen Netzwerks, nachfolgend als KNN (1) bezeichnet, während des Betriebs eines Fahrzeugs mit mehreren Sensoren, indem das KNN (1) mit Eingangsdaten gespeist wird und eine Kernfunktionalität gewährleistet, indem aus Ausgangsdaten des KNN (1) Steuersignale abgeleitet werden, mit den folgenden Schritten:- Empfangen (S1) von Sensordaten;- Vorverarbeiten (S2.1) der Sensordaten, um Eingangsdaten zum Speisen des KNN, zu erhalten und/oderAnalysieren (S2.2) der Sensordaten hinsichtlich der Sensordatenlegalität;- Bereitstellen (S3) eines KI-Ersatzmoduls, das zu dem KNN (1) redundant ist, wobei das KI-Ersatzmodul eingerichtet ist, die Redundanz mit zu dem KNN (1) alternativen Mitteln zu gewährleisten;- Analysieren (S4.1) der KNN-Ausgangsdaten hinsichtlich deren Konfidenz und/oderVerändern (S4.2) der KNN-Ausgangsdaten, um die KNN-Ausgangsdaten zu entwerten;- Speichern (S5) einer Auswahl an Ergebnisdaten aus wenigstens einem der Schritte: Vorverarbeiten und/oder Analysieren der Sensordaten; Analysieren und/oder Verändern der KNN-Ausgangsdaten;- Auswerten (S6) der vorangehenden Verfahrensschritte und Einleiten einer Reaktion auf die Auswertung.Method for operating an artificial neural network, hereinafter referred to as ANN (1), during the operation of a vehicle with multiple sensors, by feeding the ANN (1) with input data and ensuring a core functionality by deriving control signals from the output data of the ANN (1). be, with the following steps: - Receiving (S1) of sensor data; - Pre-processing (S2.1) of the sensor data in order to obtain input data for feeding the ANN and/or analyzing (S2.2) the sensor data with regard to sensor data legality; - Providing (S3) an AI replacement module that is redundant to the ANN (1), the AI replacement module being set up to ensure the redundancy with means alternative to the ANN (1);- Analyzing (S4.1) the ANN output data with regard to their confidence and/or changing (S4.2) the ANN output data in order to devalue the ANN output data;- storing (S5) a selection of result data from at least one of the steps: preprocessing and/or analyzing the sensor data; Analyzing and/or changing the ANN output data; - evaluating (S6) the preceding method steps and initiating a reaction to the evaluation.

Description

GEBIET DER ERFINDUNGFIELD OF THE INVENTION

Die vorliegende Erfindung betrifft ein Verfahren zum Gewährleisten einer Kernfunktionalität eines künstlichen neuronalen Netzwerks, nachfolgend mit KNN abgekürzt.The present invention relates to a method for ensuring a core functionality of an artificial neural network, hereinafter abbreviated to ANN.

TECHNISCHER HINTERGRUNDTECHNICAL BACKGROUND

Es ist bekannt, sicherheitsrelevante Anwendungen, mittels künstlicher neuronaler Netze zu steuern. Werden KNN für die Steuerung sicherheitsrelevanter Prozesse eingesetzt, ist es wünschenswert, sicherzustellen, dass das KNN sicher betrieben werden kann. Das bedeutet, dass es einem Angreifer nicht bzw. kaum möglich sein soll, einem Nutzer, einem Dritten oder einer Umwelt Schaden zuzufügen. Zudem soll sichergestellt sein, dass das KNN auch bei nicht optimalen Umgebungsbedingungen konfidente Ausgangsdaten produziert. Zudem ist es für Entwickler von KNN wünschenswert, dass geistiges Eigentum, beispielsweise Know-how, welches in einem KNN steckt, vor Diebstahl gesichert ist.It is known to control safety-relevant applications using artificial neural networks. If ANN are used to control safety-related processes, it is desirable to ensure that the ANN can be operated safely. This means that an attacker should not or hardly be able to harm a user, a third party or the environment. In addition, it should be ensured that the ANN produces reliable output data even if the environmental conditions are not ideal. In addition, it is desirable for developers of ANN that intellectual property, for example know-how, which is contained in an ANN is secured against theft.

ZUSAMMENFASSUNG DER ERFINDUNGSUMMARY OF THE INVENTION

Vor diesem Hintergrund liegt der vorliegenden Erfindung die Aufgabe zugrunde, den Betrieb eines sicherheitsrelevanten KNN sicherer zu gestalten.Against this background, the present invention is based on the object of making the operation of a safety-relevant ANN more secure.

Demgemäß ist vorgesehen:

  • - ein Verfahren zum Betreiben eines künstlichen neuronalen Netzwerks während des Betriebs eines Fahrzeugs mit mehreren Sensoren, indem das KNN mit Eingangsdaten gespeist wird und eine Kernfunktionalität gewährleistet, indem aus Ausgangsdaten des KNNs Steuersignale abgeleitet werden, mit den folgenden Schritten: Empfangen von Sensordaten; Vorverarbeiten der Sensordaten, um Eingangsdaten zum Speisen des KNN zu erhalten und/oder Analysieren der Sensordaten hinsichtlich der Sensordatenlegalität; Bereitstellen wenigstens eines KI-Ersatzmoduls, das zu dem KNN redundant ist, wobei das KI-Ersatzmodul eingerichtet ist, die Redundanz mit alternativen Mitteln wie das KNN zu gewährleisten; Analysieren der KNN-Ausgangsdaten hinsichtlich deren Konfidenz und/oder Verändern der KNN-Ausgangsdaten, um die KNN-Ausgangsdaten zu entwerten; Speichern einer Auswahl an Ergebnisdaten aus wenigstens einem der Schritte: „Vorverarbeiten und/oder Analysieren der Sensordaten“, „Analysieren und/oder Verändern der KNN-Ausgangsdaten“; Auswerten der vorangehenden Verfahrensschritte und Einleiten einer Reaktion auf die Auswertung.
Accordingly, it is provided:
  • - A method for operating an artificial neural network during the operation of a vehicle with multiple sensors by the ANN is fed with input data and ensures a core functionality by control signals are derived from output data of the ANNs, with the following steps: receiving sensor data; pre-processing the sensor data to obtain input data for feeding the ANN and/or analyzing the sensor data for sensor data legality; providing at least one replacement AI module that is redundant to the ANN, the replacement AI module being set up to ensure the redundancy with alternative means such as the ANN; Analyzing the KNN output data with regard to their confidence and/or changing the KNN output data in order to invalidate the KNN output data; Saving a selection of result data from at least one of the steps: “preprocessing and/or analyzing the sensor data”, “analyzing and/or changing the ANN output data”; Evaluating the preceding method steps and initiating a reaction to the evaluation.

Ein Sensor, auch als Detektor, (Messgrößen- oder Mess-)Aufnehmer oder (Mess-)Fühler bezeichnet, ist ein technisches Bauteil, das bestimmte physikalische, chemische Eigenschaften oder Zustände, z. B. Temperatur, Feuchtigkeit, Druck, Geschwindigkeit, Helligkeit, Beschleunigung, pH-Wert, Ionenstärke, elektrochemisches Potential und/oder die stoffliche Beschaffenheit seiner Umgebung qualitativ oder als Messgröße quantitativ erfassen kann. Diese Größen werden mittels physikalischer oder chemischer Effekte erfasst und als Sensordaten in ein weiterverarbeitbares elektrisches Signal umgeformt. Fahrzeugsensoren sind an einem Fahrzeug montiert, um eine Fahrzeugumgebung zu erfassen. Sensordaten, die von Fahrzeugsensoren erfasst werden, sind fahrzeugumgebungsbezogene Sensordaten. Fahrzeugsensoren sind Sensoren geeignet für einen Einsatz am Fahrzeug und sind an einem Fahrzeug montierbar oder montiert. Fahrzeugsensoren umfassen optische Sensoren, beispielsweise Kamera, Lidar, Radar, TOF und weitere Sensortechnologien, beispielsweise Akustiksensoren. In dem erfindungs-gemäßen Verfahren werden beispielsweise Sensordaten von jeweils einer oder mehrerer Kamera-sensoren, Lidarsensoren, Radarsensoren und/oder Akustiksensoren empfangen.A sensor, also known as a detector, (measuring variable or measurement) pickup or (measuring) probe, is a technical component that detects certain physical, chemical properties or states, e.g. B. temperature, humidity, pressure, speed, brightness, acceleration, pH, ionic strength, electrochemical potential and / or the material composition of its environment can be qualitatively or quantitatively recorded as a measurand. These variables are recorded using physical or chemical effects and converted into an electrical signal that can be further processed as sensor data. Vehicle sensors are mounted on a vehicle to sense a vehicle environment. Sensor data that is recorded by vehicle sensors is vehicle environment-related sensor data. Vehicle sensors are sensors suitable for use on a vehicle and are mountable or mounted on a vehicle. Vehicle sensors include optical sensors, such as camera, lidar, radar, TOF, and other sensor technologies, such as acoustic sensors. In the method according to the invention, for example, sensor data is received from one or more camera sensors, lidar sensors, radar sensors and/or acoustic sensors.

Maschinelles Lernen ist ein Oberbegriff für die „künstliche“ Generierung von Wissen aus Erfahrung. Ein künstliches System lernt aus Beispielen und kann diese nach Beendigung der Lernphase verallgemeinern. Dazu bauen Algorithmen beim maschinellen Lernen ein statistisches Modell auf, das auf Trainingsdaten beruht. Das heißt, es werden nicht einfach die Beispiele auswendig gelernt, sondern Muster und Gesetzmäßigkeiten in den Lerndaten erkannt. So kann das System auch unbekannte Daten beurteilen (Lerntransfer) oder aber am Lernen unbekannter Daten scheitern (Überanpassung; englisch overfitting).Machine learning is a generic term for the "artificial" generation of knowledge from experience. An artificial system learns from examples and can generalize them after the learning phase has ended. To do this, machine learning algorithms build a statistical model based on training data. This means that the examples are not simply learned by heart, but that patterns and regularities are recognized in the learning data. The system can also assess unknown data (learning transfer) or fail to learn unknown data (overfitting).

Beim maschinellen Lernen spielen Art und Mächtigkeit der Wissensrepräsentation eine wichtige Rolle. Man unterscheidet zwischen symbolischen Ansätzen, in denen das Wissen - sowohl die Beispiele als auch die induzierten Regeln - explizit repräsentiert ist, und nicht-symbolischen Ansätzen, wie neuronalen Netzen (KNN), denen zwar ein berechenbares Verhalten „antrainiert“ wird, die jedoch keinen Einblick in die erlernten Lösungswege erlauben; hier ist Wissen implizit repräsentiert.In machine learning, the type and power of knowledge representation play an important role. A distinction is made between symbolic approaches, in which the knowledge - both the examples and the induced rules - is explicitly represented, and non-symbolic approaches, such as neural networks (ANN), which are "trained" to behave in a calculable manner, but are not Allow insight into the learned solutions; here knowledge is implicitly represented.

In dieser Patentanmeldung werden die Begriffe KI (künstliche Intelligenz) und maschinelles Lernen synonym verwendet.In this patent application, the terms AI (artificial intelligence) and machine learning are used interchangeably.

Ein KI-Modul ist ein Computerprogramm, welches auf einer KI, z.B. auf einem KNN oder einer symbolischen KI-Routine, beruht. In dieser Patentanmeldung bezieht sich der Begriff KI-Modul auf eine Obereinheit mit mehreren KI-Submodulen und einem KNN. Das erfindungsgemäße KI-Modul umfasst ein KNN, ein KI-Ersatzmodul sowie weitere KI-Submodule. Ein KI-Submodul kann mehrere KI-Routinen umfassen.An AI module is a computer program based on an AI, e.g. on an ANN or a symbolic AI routine. In this patent application, the term AI module refers to an upper unit with several AI submodules and an ANN. The AI module according to the invention includes an ANN, an AI replacement module and other AI submodules. An KI submodule can contain several KI routines.

Support Vector Machines (SVMs) sind eine Methode der künstlichen Intelligenz. Ausgangsbasis für den Bau einer Support Vector Machine ist eine Menge von Trainingsobjekten, für die jeweils bekannt ist, welcher Klasse sie zugehören. Jedes Objekt wird durch einen Vektor in einem Vektorraum repräsentiert. Aufgabe der Support Vector Machine ist es, in diesen Raum eine Hyperebene einzupassen, die als Trennfläche fungiert und die Trainingsobjekte in zwei Klassen teilt. Der Abstand derjenigen Vektoren, die der Hyperebene am nächsten liegen, wird dabei maximiert. Dieser breite, leere Rand soll später dafür sorgen, dass auch Objekte, die nicht genau den Trainingsobjekten entsprechen, möglichst zuverlässig klassifiziert werden.Support Vector Machines (SVMs) are a method of artificial intelligence. The starting point for building a support vector machine is a set of training objects for which it is known which class they belong to. Every object is represented by a vector in a vector space. It is the task of the support vector machine to fit a hyperplane into this space, which acts as a separating surface and divides the training objects into two classes. The distance between those vectors that are closest to the hyperplane is maximized. This wide, empty border should later ensure that objects that do not exactly correspond to the training objects are classified as reliably as possible.

Entscheidungsbäume sind eine Methode der künstlichen Intelligenz zur automatischen Klassifikation von Datenobjekten und damit zur Lösung von Entscheidungsproblemen. Sie werden außerdem zur übersichtlichen Darstellung von formalen Regeln genutzt. Ein Entscheidungsbaum besteht aus einem Wurzelknoten und beliebig vielen inneren Knoten sowie mindestens zwei Blättern. Dabei repräsentiert jeder Knoten eine logische Regel und jedes Blatt eine Antwort auf das Entscheidungsproblem.Decision trees are a method of artificial intelligence for the automatic classification of data objects and thus for solving decision problems. They are also used for the clear presentation of formal rules. A decision tree consists of a root node and any number of inner nodes and at least two leaves. Each node represents a logical rule and each leaf an answer to the decision problem.

Ein künstliches neuronales Netzwerk (KNN, englisch artificial neural network - ANN) ist insbesondere ein in einem Rechenprogramm nachgebildetes Netzwerk aus vernetzten künstlichen Neuronen. Die künstlichen Neuronen sind dabei typischerweise auf verschiedenen Schichten (layers) angeordnet. Üblicherweise umfasst das künstliche neuronale Netzwerk eine Eingangsschicht und eine Ausgabeschicht (output layer), deren Neuronenausgabe als einzige des künstlichen neuronalen Netzwerks sichtbar wird. Zwischen der Eingangsschicht und der Ausgabeschicht liegende Schichten werden typischerweise als verdeckte Schichten (hidden layer) bezeichnet. Typischerweise wird zunächst eine Architektur bzw. Topologie eines künstlichen neuronalen Netzwerks initiiert und dann in einer Trainingsphase für eine spezielle Aufgabe oder für mehrere Aufgaben in einer Trainingsphase trainiert.An artificial neural network (ANN) is in particular a network of networked artificial neurons that is simulated in a computer program. The artificial neurons are typically arranged on different layers. Usually, the artificial neural network comprises an input layer and an output layer (output layer), whose neuron output is the only one of the artificial neural network that is visible. Layers lying between the input layer and the output layer are typically referred to as hidden layers. Typically, an architecture or topology of an artificial neural network is first initiated and then trained in a training phase for a specific task or for a plurality of tasks in a training phase.

Der Begriff „Topologie eines KNN“ umfasst sämtliche Aspekte bezüglich des Aufbaus eines KNN. Hierunter fallen beispielsweise die Anzahl der Neuronen des KNN, die Aufteilung der Neuronen auf die einzelnen Schichten des KNN, die Anzahl der Schichten eines KNN, die Vernetzung der Neuronen und die Gewichtung der Vernetzung.The term "topology of an ANN" includes all aspects relating to the structure of an ANN. This includes, for example, the number of neurons in the ANN, the allocation of the neurons to the individual layers of the ANN, the number of layers in an ANN, the networking of the neurons and the weighting of the networking.

Das Training des künstlichen neuronalen Netzwerks umfasst dabei typischerweise eine Veränderung eines Gewichts einer Verbindung zwischen zwei künstlichen Neuronen des künstlichen neuronalen Netzwerks. Das Gewicht enthält Information zur Stärke der Berücksichtigung eines Eingangs eines Neurons. Das Training des künstlichen neuronalen Netzwerks kann auch eine Entwicklung von neuen Verbindungen zwischen künstlichen Neuronen, ein Löschen von bestehenden Verbindungen zwischen künstlichen Neuronen, ein Anpassen von Schwellwerten der künstlichen Neuronen und/oder ein Hinzufügen oder ein Löschen von künstlichen Neuronen umfassen.The training of the artificial neural network typically includes changing a weight of a connection between two artificial neurons of the artificial neural network. The weight contains information about the strength of the consideration of an input of a neuron. The training of the artificial neural network can also include developing new connections between artificial neurons, deleting existing connections between artificial neurons, adjusting threshold values of the artificial neurons and/or adding or deleting artificial neurons.

Ein Beispiel für ein künstliches neuronales Netzwerk ist ein flaches künstliches neuronales Netzwerkwerk (shallow neural network), welches oft nur eine einzelne verdeckte Schicht zwischen der Eingabeschicht und der Ausgabeschicht enthält und damit relativ einfach zu trainieren ist. Ein weiteres Beispiel ist ein tiefes künstliches neuronales Netzwerkwerk (deep neural network), welches zwischen der Eingangsschicht und der Ausgabeschicht mehrere verschachtelte verdeckte Schichten von künstlichen Neuronen enthält. Das tiefe künstliche neuronale Netzwerk ermöglicht dabei eine verbesserte Erkennung von Mustern und komplexen Zusammenhängen.An example of an artificial neural network is a shallow artificial neural network, which often contains only a single hidden layer between the input layer and the output layer and is therefore relatively easy to train. Another example is a deep artificial neural network, which contains multiple nested hidden layers of artificial neurons between the input layer and the output layer. The deep artificial neural network enables improved recognition of patterns and complex relationships.

Trainingsdaten sind in dieser Anmeldung Datenpaare aus Eingangsdaten, die von dem KNN zu verarbeiten sind, sowie Soll-Ergebnisdaten, die von dem KNN zu ermitteln sind. Während des Trainings wird das KNN aufgrund eines Vergleichs von Soll-Ergebnisdaten mit dem von dem KNN ermittelten Ist-Ergebnisdaten angepasst, wodurch sich ein Trainingseffekt einstellt.In this application, training data are data pairs consisting of input data that are to be processed by the ANN and target result data that are to be determined by the ANN. During the training, the ANN is adjusted on the basis of a comparison of target result data with the actual result data determined by the ANN, as a result of which a training effect occurs.

Aus Ist-Ergebnisdaten lässt sich ein Ist-Reaktionssignal ableiten. Aus Soll-Ergebnisdaten lässt sich ein Soll-Reaktionssignal ableiten.An actual reaction signal can be derived from actual result data. A target reaction signal can be derived from target result data.

Datenlegalität umfasst sämtliche Aspekte der Datenintegrität und Datenauthentizität. Integrität ist neben Verfügbarkeit und Vertraulichkeit eines der drei Ziele der Informationssicherheit. Integrität wird definiert als „Verhinderung unautorisierter Modifikation von Information“. Datenauthentizität bedeutet, dass Daten jederzeit ihrem Ursprung zugeordnet werden können.Data legality encompasses all aspects of data integrity and data authenticity. Along with availability and confidentiality, integrity is one of the three goals of information security. Integrity is defined as "preventing unauthorized modification of information". Data authenticity means that data can be traced back to its origin at any time.

Ein KNN wird mit Eingangsdaten gespeist. Eingangsdaten beruhen auf Sensordaten und können Sensorrohdaten sein oder vorverarbeitete Sensordaten sein.An ANN is fed with input data. Input data is based on sensor data and can be raw sensor data or pre-processed sensor data.

Wenn eine KI ein Problem mit alternativen Mitteln löst, bedeutet das, dass die KI auf einer alternativen Technologie beruhen kann, eine alternative Struktur aufweisen kann, mit anderen Trainingsdaten trainiert wurde und/oder mit alternativen Eingangsdaten gespeist wird.If an AI solves a problem by alternative means, it means that the AI can rely on an alternative technology, an alternative Structure may have been trained with other training data and / or is fed with alternative input data.

Entwerten von KNN-Ausgangsdaten bedeutet, die Daten derart zu verändern, dass ein fiktives Training eines weiteren KNN mit den KNN-Ausgangsdaten als Soll-Ausgangsdaten in einem KNN resultiert, welches Ausgangsdaten von niedrigerer Konfidenz, welches die KNN-Ausgangsdaten ermittelt hat, produziert. So ist es denkbar, dass ein klassifizierendes KNN eine falsche Klasse zurückgibt. Verallgemeinert lässt sich auch feststellen, dass die Qualität einer entwerteten Ausgabe geringer ist.Devaluation of ANN output data means changing the data in such a way that fictitious training of another ANN with the ANN output data as target output data results in an ANN that produces output data of lower confidence that determined the ANN output data. So it is conceivable that a classifying ANN returns an incorrect class. In general, it can also be stated that the quality of a canceled issue is lower.

Ein zentraler Datenspeicher ist beispielsweise eine Cloud, das heißt ein Speicherplatz, der als Dienstleistung über das Internet bereitgestellt wird. Zentralsysteme umfassen zentrale Elemente, wie beispielsweise zentrale Datenspeicher oder zentrale Auswerteeinheiten, die im Internet bereitgestellt werden.A central data store is, for example, a cloud, ie a storage space that is provided as a service over the Internet. Central systems include central elements such as central data storage or central evaluation units that are provided on the Internet.

Der Begriff Sensordaten umfasst Sensorrohdaten sowie verarbeitete Sensordaten.The term sensor data includes raw sensor data as well as processed sensor data.

Eingangsdatenabweichungen können künstlicher (z.B. aufgrund von Angriffen), natürlicher (z.B. aufgrund von Sensorverschmutzung) oder technischer Natur (z.B. aufgrund von einer Signalstörung) sein. Die Abweichung bezieht sich dabei auf die Änderung der Eingangsdaten, die durch die künstliche, natürliche oder technische Störung verursacht worden ist.Input data deviations can be artificial (e.g. due to attacks), natural (e.g. due to sensor pollution) or technical (e.g. due to signal interference). The deviation refers to the change in the input data caused by the artificial, natural or technical disruption.

Ein Prüfstand ist ein Gerät oder eine Vorrichtung, mit dem ein technischer Gegenstand auf seine Eigenschaften reproduzierbar geprüft werden kann. Zu einem Prüfstand gehört neben der mechanischen Ausführung zur Positionierung des Prüfgegenstandes auch die entsprechende Sensorik und Steuerung, um die Eigenschaften generieren und Messwerte protokollieren zu können.A test bench is a device or device with which a technical object can be tested for its properties in a reproducible manner. In addition to the mechanical design for positioning the test object, a test bench also includes the appropriate sensors and controls to be able to generate the properties and log the measured values.

Unter Binning versteht man eine Klassenbildung als Vorverarbeitungstechnik. Z.B. werden dabei die Zielmengen der Attribute der Größe nach aufsteigend in Intervalle - sogenannte bins (engl. für Behälter) - eingeteilt, wenn die Zielmenge (eindimensionale) Zahlenwerte sind. Alle Attributwerte werden dann mit dem Repräsentanten des Intervalls ersetzt, in dem sich der Wert befindet. Dieser Repräsentationswert ist oft etwa der Durchschnitt oder der Median. Es handelt sich damit um eine Form von Quantisierung.Binning is understood to be class formation as a preprocessing technique. For example, the target sets of attributes are divided into intervals - so-called bins - in ascending order of size if the target set is a (one-dimensional) number. All attribute values are then replaced with the representative of the interval in which the value is located. This representation value is often about the average or the median. This is a form of quantization.

Diese Form von Binning kann zum einen dazu dienen, die Anzahl der Werte eines gegebenen Attributs und damit die Datenmenge zu reduzieren. Des Weiteren können dadurch die Folgen kleiner Abweichungen in den Attributwerten, etwa aufgrund von Messfehlern, verringert werden.On the one hand, this form of binning can be used to reduce the number of values of a given attribute and thus the amount of data. Furthermore, this can reduce the consequences of small deviations in the attribute values, for example due to measurement errors.

Bei der digitalen Bildbearbeitung versteht man unter Binning das Zusammenfassen benachbarter Pixel in einer Bilddatei. Durch die Bildung von Pixelblöcken wird Bildrauschen verringert. Im Gegenzug wird jedoch auch die Bildauflösung entsprechend der Anzahl der zusammengefassten Pixel reduziert, d. h. das Bild wird gröber.In digital image processing, binning means combining adjacent pixels in an image file. Image noise is reduced by forming pixel blocks. In return, however, the image resolution is reduced according to the number of combined pixels, i. H. the image becomes coarser.

Verschiedene KI-Routinen können auch für identische Eingangsdaten verschiedene Ausgangsdaten produzieren. Diese Unterschiede können durch das Datenformat, durch die Struktur der Datenverarbeitung und dergleichen bedingt sein. Ein gewisses Maß bzw. eine gewisse Struktur an Unterschieden in den Ausgangsdaten verschiedener KI-Routinen ist also zu erwarten. Ist eine KI-Routine ungeeignet, bestimmte Daten zu verarbeiten, können die Unterschiede in den Ausgangsdaten über ein erwartetes Maß bzw. Struktur zunehmen.Different AI routines can also produce different output data for identical input data. These differences can be due to the data format, the structure of the data processing and the like. A certain degree or a certain structure of differences in the output data of different AI routines can therefore be expected. If an AI routine is unsuitable for processing certain data, the differences in the output data can increase beyond an expected level or structure.

Redundantes KI-Ersatzmodul bedeutet in dieser Patentanmeldung, dass das redundante KI- Ersatzmodul die Fortsetzung des sicherheitsrelevanten Betriebs eines Steuergeräts, welches Steuerdaten aus Ausgangsdaten ermittelt, gewährleistet. Demnach kann vorgesehen sein, dass das KI-Ersatzmodul eine identische oder eingeschränkte Funktionalität wie das KNN gewährleistet. Redundanz bedeutet also nicht, den ganzen Funktionsumfang zu gewährleisten, sondern lediglich dessen sicherheitskritischen Teil. Auf ein Fahrzeug bezogen bedeutet das, dass eine Kernfunktionalität das autonome Steuern des Fahrzeugs betreffen kann und das redundante KI-Ersatzmodul eingerichtet ist, das Fahrzeug in eine nächstgelegene Parkbucht zu steuern, wenn das KNN ausfällt. Ein derartiges KI-Ersatzmodul kann mit niedrigerer Komplexität abgebildet werden, da das KI-Ersatzmodul z.B. keine Fahrten bei hoher Geschwindigkeit beherrschen muss.In this patent application, redundant AI replacement module means that the redundant AI replacement module ensures that the safety-relevant operation of a control unit, which determines control data from output data, continues. Accordingly, it can be provided that the AI replacement module guarantees identical or limited functionality as the ANN. Redundancy therefore does not mean guaranteeing the entire range of functions, but only its safety-critical part. In relation to a vehicle, this means that a core functionality can relate to the autonomous control of the vehicle and the redundant AI replacement module is set up to steer the vehicle into the nearest parking bay if the ANN fails. Such an AI replacement module can be mapped with lower complexity, since the AI replacement module does not have to be able to drive at high speeds, for example.

Die Formulierung „zur Laufzeit“ bedeutet, dass etwas während einer bestimmungsgemäßen Benutzung eines Computerprogramms passiert.The phrase "at runtime" means that something happens during the intended use of a computer program.

Computerprogrammprodukte umfassen in der Regel eine Folge von Befehlen, durch die die Hardware bei geladenem Programm veranlasst wird, ein bestimmtes Verfahren durchzuführen, das zu einem bestimmten Ergebnis führt.Computer program products typically include a sequence of instructions that, when the program is loaded, cause the hardware to perform a specific method that leads to a specific result.

Die grundlegende Idee der Erfindung ist es, ein übergreifendes System zur Abwehr von Angriffen auf ein künstliches neuronales Netzwerk zu schaffen. Das System umfasst mehrere Untereinheiten, die eingerichtet sind, bestimmte Aspekte eines Angriffs zu erkennen und/oder abzuwehren.The basic idea of the invention is to create an overarching system for defending against attacks on an artificial neural network. The system includes multiple sub-units configured to detect and/or mitigate certain aspects of an attack.

Bei den Angriffen kann es sich beispielsweise um eine Attacke handeln, die auf den Diebstahl von geistigen Eigentum, auf welches ein KI-Modul beruht, gerichtet ist, um das KI-Modul zu kopieren. Dabei wird ein KI-Modul mit möglichst umfassenden Eingangsdaten gespeist und aus den Ausgangsdaten, die von der KI produziert werden, wird die Struktur der KI abgeleitet.The attacks can be, for example, an attack aimed at stealing intellectual property on which an AI module is based in order to copy the AI module. An AI module is fed with input data that is as comprehensive as possible and the structure of the AI is derived from the output data produced by the AI.

Zudem kann es sich bei dem Angriff um einen Manipulationsversuch handeln. Wird mit dem KI-Modul z.B. ein Fahrzeug gesteuert, kann es Ziel einer Attacke sein, das Fahrzeug regelwidrig zu steuern, um Schaden zu erzeugen.The attack can also be an attempt at manipulation. If, for example, a vehicle is controlled with the AI module, the aim of an attack can be to control the vehicle illegally in order to cause damage.

Ein Aspekt der Erfindung betrifft die Handhabung von Sensordaten. Sensordaten zum Speisen eines künstlichen neuronalen Netzwerks können vorverarbeitet werden, um Angriffe, die auf die Verfälschung der Sensordaten gerichtet sind, abzuwehren oder zumindest deren Einfluss zu reduzieren.One aspect of the invention relates to the handling of sensor data. Sensor data for feeding an artificial neural network can be pre-processed to ward off attacks aimed at corrupting the sensor data, or at least to reduce their impact.

Alternativ und/oder zusätzlich ist vorgesehen, die Sensordaten hinsichtlich der Sensordatenlegalität zu analysieren, um einen Angriff auf die Sensordaten zu erkennen und/oder um die Verarbeitung der Sensordaten durch das KNN zu vereinfachen.Alternatively and/or additionally, it is provided to analyze the sensor data with regard to the legality of the sensor data in order to detect an attack on the sensor data and/or to simplify the processing of the sensor data by the ANN.

Im Rahmen der Vorverarbeitung der Sensordaten ist es denkbar, die Sensordaten zu normalisieren, zum Beispiel das Beschneiden von Sensordaten auf eine vorbekannte Reichweite eines Sensors, Pixelwerte der Sensordaten zu ändern, die Auflösung der Sensordaten zu verändern, die Sensordaten hinsichtlich ihrer Frequenz zu analysieren und bestimmte Frequenzen zu filtern, die Sensordaten durch Binning zu quantifizieren und/oder dergleichen.As part of the pre-processing of the sensor data, it is conceivable to normalize the sensor data, for example cropping sensor data to a previously known range of a sensor, changing pixel values of the sensor data, changing the resolution of the sensor data, analyzing the sensor data with regard to their frequency and determining to filter frequencies, to quantify the sensor data by binning, and/or the like.

Alternativ und/oder zusätzlich ist es auch denkbar, Eingangsdaten gezielt zu selektieren, um die Verarbeitung durch das KNN zu vereinfachen, zu beschleunigen oder robuster zu gestalten.Alternatively and/or additionally, it is also conceivable to select input data in a targeted manner in order to simplify, accelerate or make the processing by the ANN more robust.

Ferner ist vorgesehen, wenigstens ein zu dem KNN redundantes KI-Ersatzmodul bereitzustellen, auf welches zurückgegriffen werden kann, wenn festgestellt wird, dass das KNN Ausgangsdaten von unzureichender Konfidenz produziert oder ein Angriff auf das KNN erkannt wird. Bei dem KI-Ersatzmodul kann es sich um ein anderes KNN oder um eine alternative KI-Technologie, beispielsweise um ein Machine-Learning-Konzept, welches mit anderen Mitteln als das KNN trainiert wurde, handeln. Des Weiteren ist es denkbar, ein KI-Ersatzmodul mit einer Vielzahl KI-Ersatzroutinen bereitzustellen, die andere Eingangsdaten, beispielsweise Sensorrohdaten oder vorverarbeitete Sensordaten, verarbeiten.Provision is also made to provide at least one AI replacement module that is redundant for the ANN and which can be accessed if it is determined that the ANN is producing output data of insufficient confidence or an attack on the ANN is detected. The AI replacement module can be a different ANN or an alternative AI technology, for example a machine learning concept that was trained using other means than the ANN. Furthermore, it is conceivable to provide an AI replacement module with a large number of AI replacement routines that process other input data, for example raw sensor data or pre-processed sensor data.

Dabei kann auch vorgesehen sein, dass aus den vorstehend genannten Optionen eine geeignete Option ursachenabhängig ausgewählt wird, das bedeutet, dass sich die Reaktion für Angriffe verschiedener Art unterscheiden kann, oder falls erkannt wird, dass das KNN auf Eingangsdaten zur Laufzeit unzureichend trainiert wurde.Provision can also be made for a suitable option to be selected from the above options depending on the cause, which means that the reaction to attacks of different types can differ, or if it is recognized that the ANN was insufficiently trained on input data at runtime.

Darüber hinaus ist vorgesehen, die KNN-Ausgangsdaten hinsichtlich deren Konfidenz zu analysieren und/oder die KNN-Ausgangsdaten zu verändern, um die KNN-Ausgangsdaten zu entwerten.In addition, provision is made for the ANN output data to be analyzed with regard to their confidence and/or for the ANN output data to be changed in order to invalidate the ANN output data.

Die Bedeutung der Konfidenz von Ausgangsdaten wird im Folgenden anhand eines Klassifikationsnetzwerks erläutert. Die folgenden Aspekte lassen sich jedoch auch auf nicht-klassifizierende Netze übertragen.The importance of the confidence of the initial data is explained below using a classification network. However, the following aspects can also be transferred to non-classifying networks.

Die Konfidenz ist ein Maß für die Güte bzw. die Zuverlässigkeit der Ausgabe eines KNN und kann über zahlreiche Modelle modelliert werden. Beispielsweise lässt sich die Konfidenz über die Entfernung eines Datenpunkts im Eingangsdatenraum zu den nächsten Entscheidungsgrenzen modellieren. Somit kann beurteilt werden, wie nah ein Datenpunkt an einer anderen Entscheidungsgrenze liegt. Stellt sich heraus, dass der Abstand des Datenpunkts im Eingangsdatenraum zu einer anderen Entscheidungsgrenze gering ist, ergibt sich daraus eine niedrige Konfidenz eines Klassifikationsergebnisses, da bereits eine geringe Variation der Eingangsdaten zu einem anderen Klassifikationsergebnis führen würde.Confidence is a measure of the quality or reliability of the output of an ANN and can be modeled using numerous models. For example, the confidence about the distance of a data point in the input data space to the next decision limits can be modeled. This allows an assessment of how close a data point is to another decision boundary. If it turns out that the distance between the data point in the input data space and another decision limit is small, this results in a low confidence in a classification result, since even a small variation in the input data would lead to a different classification result.

Die Beurteilung der Aussagekraft bzw. Verlässlichkeit eines Klassifikationsergebnisses eines künstlichen neuronalen Netzwerks ist für eine Vielzahl von sicherheitskritischen Anwendungen relevant.The assessment of the significance or reliability of a classification result of an artificial neural network is relevant for a large number of safety-critical applications.

Die Analyse der Konfidenz beruht auf der Annahme, dass die Klassifikationssicherheit, also die Konfidenz, eines KNN höher ist, wenn die Eingangsdaten im Zentrum einer Entscheidungsgrenze liegen. In diesem Punkt werden die Daten am sichersten einem spezifischen Klassifikationsergebnis zugeordnet und kleine Veränderungen in den Daten ändern das Klassifikationsergebnis nicht. Dementsprechend sollte das Maß für die Konfidenz derart bemessen sein, dass an derartigen Punkten, die ermittelte Konfidenz des KNN hoch ist und derart bemessen sein, dass die ermittelte Konfidenz für Eingangsdaten in der Nähe einer Entscheidungsgrenze gering ist.The analysis of the confidence is based on the assumption that the classification certainty, i.e. the confidence, of an ANN is higher when the input data are in the center of a decision boundary. At this point, the data is most reliably assigned to a specific classification result, and small changes in the data do not change the classification result. Accordingly, the measure of confidence should be such that at such points the determined confidence of the ANN is high and such that the determined confidence for input data is low near a decision boundary.

In der Praxis ist die Lage der Entscheidungsgrenzen nicht immer bekannt. In diesem Fall lassen sich Entscheidungsgrenzen empirisch ermitteln.In practice, the location of the decision boundaries is not always known. In this case, decision limits can be determined empirically.

Die Konfidenz lässt sich in Echtzeit gleichzeitig zu Klassifikationsergebnissen von Eingangsdaten ermitteln. Dementsprechend werden gestörte Eingangsdaten in Echtzeit generiert und das klassifizierende künstliche neuronale Netzwerk wird mit diesen gestörten Eingangsdaten zwecks dessen Klassifikation gespeist. Dementsprechend ist die Konfidenz hoch, wenn auch große Störungen das Ergebnis nicht verändern bzw. niedrig, wenn kleine Störung das Ergebnis verändern. Es ist denkbar, die Konfidenz aufgrund eines Maßes eines Unterschiedes zwischen Klassifikationsergebnissen der gestörten und nicht gestörten Eingangsdaten zu ermitteln, wenn sich die Klassifikationsergebnisse der gestörten von den nicht gestörten Eingangsdaten unterscheiden.The confidence can be determined in real time at the same time as the classification results of input data. Correspondingly, noisy input data is generated in real time and the classifying artificial neural network is fed with this noisy input data for the purpose of its classification. Accordingly, the confidence is high when large disturbances do not change the result, and low when small disturbances change the result. It is conceivable to determine the confidence on the basis of a measure of a difference between the classification results of the noisy and non-noisy input data if the classification results of the noisy input data differ from the non-noisy ones.

Alternativ ist es auch denkbar, Entscheidungsgrenzen z.B. in einer Trainingsphase, vor der bestimmungsgemäßen Verwendung eines KNN zu ermitteln. Die Konfidenz von Ausgangsdaten lässt sich dann aus dem Abstand der Eingangsdaten zu einer Entscheidungsgrenze ermitteln.Alternatively, it is also conceivable to determine decision limits, e.g. in a training phase, before an ANN is used as intended. The confidence of the output data can then be determined from the distance between the input data and a decision limit.

Das Verändern der KNN-Ausgangsdaten hat zum Ziel, die KNN-Ausgangsdaten zu entwerten, beispielsweise wenn erkannt wird, dass im Rahmen eines Angriffs versucht wird, Know-how bezüglich des KNN zu stehlen. Durch das Verändern der Daten können Ausgangsdaten codiert, verfälscht oder gelöscht werden. Dabei ist es denkbar, die Ausgangsdaten, so zu verfälschen, dass diese für ein Steuergerät, welches von dem KNN gesteuert wird, brauchbar bleiben oder unbrauchbar werden.The aim of changing the ANN output data is to invalidate the ANN output data, for example if it is recognized that an attempt is being made to steal know-how relating to the ANN as part of an attack. By changing the data, output data can be encoded, falsified or deleted. It is conceivable to falsify the output data in such a way that they remain usable or become unusable for a control device which is controlled by the ANN.

Es ist vorgesehen, die vorstehend beschriebenen Ergebnisdaten zu speichern, um Angriffe auf das KNN zu erkennen, wenn eine laufzeitabhängige Veränderung der Ergebnisdaten hierfür relevant ist, und um den Angriff zu dokumentieren.Provision is made for the result data described above to be stored in order to detect attacks on the ANN if a runtime-dependent change in the result data is relevant for this, and to document the attack.

Es versteht sich, dass die beschriebenen Verfahrensschritte ausgewertet werden, um eine Reaktion auf die Auswertung einzuleiten. Beispielhafte Reaktionen sind an anderer Stelle erläutert, z.B. die Auswahl eines alternativen KI-Ersatzmoduls, die Veränderung von Eingangsdaten zur Laufzeit, das Manipulieren von KNN-Ausgangsdaten und/oder dergleichen.It goes without saying that the method steps described are evaluated in order to initiate a reaction to the evaluation. Exemplary reactions are explained elsewhere, e.g. selecting an alternative AI replacement module, changing input data at runtime, manipulating ANN output data and/or the like.

Vorteilhafte Ausgestaltungen und Weiterbildungen ergeben sich aus den weiteren Unteransprüchen sowie aus der Beschreibung unter Bezugnahme auf die Figuren der Zeichnung.Advantageous refinements and developments result from the further dependent claims and from the description with reference to the figures of the drawing.

Gemäß einer bevorzugten Weiterbildung der Erfindung ist es vorteilhaft, wenn die Sensordaten vorverarbeitet werden, indem die Sensordaten mittels Binning quantifiziert werden, wobei insbesondere eine Bingröße zur Laufzeit gewählt wird. According to a preferred development of the invention, it is advantageous if the sensor data are preprocessed by the sensor data being quantified by means of binning, with a bin size being selected in particular at runtime.

Beim Binning werden Sensordaten in sogenannte Bins, die ein vorbestimmtes Intervall bzw. eine Teilmenge eines Eingangsdatenraums bilden, einsortiert. Dabei wird jeder Bin von einem bestimmten Wert, beispielsweise einem Randwert oder einem Mittelwert, repräsentiert. Somit lässt sich zunächst die Datengröße von Eingangsdaten verringern. Zudem ist es durch Binning möglich, einen geringen Rauscheinfluss in den Eingangsdaten zu entfernen.With binning, sensor data is sorted into so-called bins, which form a predetermined interval or a subset of an input data space. Each bin is represented by a specific value, for example a marginal value or an average value. The data size of input data can thus initially be reduced. In addition, binning makes it possible to remove a small influence of noise in the input data.

Somit lässt sich der Einfluss von Rauschen auf Eingangsdaten verringern, sodass Angriffe, die auf gestörten, verrauschten Eingangsdaten beruhen, erschwert bzw. abgeschwächt werden. Dabei ist es auch denkbar, die Größe eines Bins zur Laufzeit zu adaptieren und somit die Sensitivität auf Rauscheinflüsse einzustellen. Beispielsweise ist es denkbar, dass erkannt wird, dass Sensordaten durch einen Angriff gestört werden und auf diesen Angriff durch eine stärkere Quantifizierung, d.h. Vergrößerung der Bins, der Sensordaten reagiert wird. Alternativ ist es auch denkbar, statt dem KNN ein anderes KI-Ersatzmodul auszuwählen, von dem bekannt ist, dass es sich bei Rauscheinflüssen robuster verhält.The influence of noise on input data can thus be reduced, so that attacks based on disturbed, noisy input data are made more difficult or weakened. It is also conceivable to adapt the size of a bin at runtime and thus adjust the sensitivity to noise influences. For example, it is conceivable that it is recognized that sensor data is being disturbed by an attack and that this attack is responded to by greater quantification, i.e. enlarging the bins, of the sensor data. Alternatively, it is also conceivable to select another AI replacement module instead of the ANN, which is known to be more robust in the event of noise influences.

Gemäß einer bevorzugten Weiterbildung der Erfindung ist es vorteilhaft, Sensordaten vorzuverarbeiten, indem die Sensordaten nach Relevanz für die Kernfunktionalität selektiert werden.According to a preferred development of the invention, it is advantageous to preprocess sensor data by selecting the sensor data according to their relevance for the core functionality.

Demnach ist es vorteilhaft, wenn Eingangsdaten, mit welchen das KNN gespeist wird, nur einen anwendungsspezifisch festgelegten Ausschnitt der Sensordaten enthalten. Handelt es sich bei dem KNN z.B. um eine Anwendung zur Spurerkennung ist es denkbar, einen oberen Bereich eines Kamerabildes abzuschneiden, da dort typischerweise nur Himmel zu sehen ist. Die Darstellung des Himmels beeinflusst die Spurerkennung nicht. Das Abschneiden des Himmels verringert die Fläche, die im Rahmen eines Angriffs genutzt werden kann, um Störungen oder andere schädliche Muster in die Eingangsdaten einzufügen.Accordingly, it is advantageous if input data, with which the ANN is fed, contain only an application-specific specified section of the sensor data. If the ANN is an application for lane detection, for example, it is conceivable to cut off an upper area of a camera image, since typically only sky can be seen there. The display of the sky does not affect lane detection. Sky clipping reduces the area that can be used by an attack to inject noise or other malicious patterns into the input data.

Das bedeutet, dass es denkbar ist, die Eingangsdaten dahingehend zu untersuchen, welche Teilmengen relevant für ein KNN sind und nicht relevante Teilmengen aus den Eingangsdaten auszuschneiden, bevor das KNN mit den Eingangsdaten gespeist wird.This means that it is conceivable to examine the input data to determine which subsets are relevant for an ANN and to cut out irrelevant subsets from the input data before the ANN is fed with the input data.

Es versteht sich, dass vielfältige Sensordaten unter diesem Aspekt verändert werden können. Beispielsweise ist es denkbar, aus einem Signal bestimmte Bestandteile zu bestimmten (nicht) relevanten Frequenzen auszuschneiden.It goes without saying that diverse sensor data can be changed under this aspect. For example, it is conceivable to cut out certain components from a signal at certain (non)relevant frequencies.

Gemäß einer bevorzugten Weiterbildung der Erfindung ist es vorteilhaft, wenn die Sensordaten hinsichtlich der Sensordatenlegalität analysiert werden, indem die Veränderung einer Sensordatenfolge untersucht wird.According to a preferred development of the invention, it is advantageous if the sensor data be analyzed with regard to sensor data legality by examining the change in a sensor data sequence.

Beispielsweise ist es bekannt, dass sogenannte Black-Box-Evasion-Angriffe ein KNN sukzessive mit vielen Datenbeispielen speisen, wobei sich die Datenbeispiele nur geringfügig unterscheiden. Dabei kann sich ergeben, dass für einen menschlichen Beobachter kein Unterschied erkennbar ist. Durch die Analyse der (übergeordneten) Struktur der Datenbeispiele lässt sich feststellen, ob Datenbeispiele in einer angriffstypischen Weise verändert worden sind.For example, it is known that so-called black box evasion attacks feed an ANN successively with many data examples, with the data examples differing only slightly. The result can be that no difference is discernible to a human observer. By analyzing the (superordinate) structure of the data examples, it can be determined whether data examples have been modified in a manner typical of an attack.

Gemäß einer bevorzugten Weiterbildung der Erfindung ist vorgesehen, die Eingangsdaten bzw. die Sensordaten hinsichtlich ihrer Verteilung zu analysieren, indem eine Verteilung der Sensordaten mit einer Verteilung der Trainingsdaten, mit dem das KNN in einer Trainingsphase trainiert wurde, verglichen wird.A preferred development of the invention provides for the input data or the sensor data to be analyzed with regard to their distribution by comparing a distribution of the sensor data with a distribution of the training data with which the ANN was trained in a training phase.

Dabei ergeben sich verschiedene Ergebnisse des Vergleichs. Es ist denkbar, dass die Sensordaten zur Laufzeit unabhängig und identisch zur Verteilung der Trainingsdaten, mit welchen das KNN trainiert wurde, verteilt sind. In diesem Fall ist das KNN auf repräsentativen Daten dieser Verteilung trainiert worden und wird konfidente Ausgangsdaten zu den Eingangsdaten ermitteln, wenn es mit den Sensordaten gespeist wird.This results in different results of the comparison. It is conceivable that the sensor data are distributed at runtime independently and identically to the distribution of the training data with which the ANN was trained. In this case, the ANN has been trained on representative data of this distribution and, when fed with the sensor data, will determine output data that are congruent with the input data.

Stattdessen ist es auch denkbar, dass die Eingangsdaten zur Laufzeit ähnlich verteilt sind wie die Trainingsdaten. Dementsprechend weicht die Verteilung der Eingangsdaten zur Laufzeit geringfügig von den Trainingsdaten ab, sodass es passieren kann, dass Datenpunkte geringfügig außerhalb der Trainingsverteilung liegen. Dies kann in einer verringerten Konfidenz der auf die Eingangsdaten ermittelten Ausgangsdaten resultieren. Da die Mehrheit der Datenpunkte dennoch innerhalb der Verteilung der Trainingsdaten liegt, ist schlimmstenfalls mit einem geringem Rauscheinfluss auf die Verteilung zu rechnen.Instead, it is also conceivable that the input data is distributed similarly to the training data at runtime. Accordingly, the distribution of the input data at runtime deviates slightly from the training data, so it can happen that data points lie slightly outside the training distribution. This can result in reduced confidence in the output data determined based on the input data. Since the majority of the data points are still within the distribution of the training data, the worst that can be expected is a small influence of noise on the distribution.

Als weitere Verschlechterung ist es auch denkbar, dass die Sensordaten deutlich von der Verteilung der Trainingsdaten abweichen. Dementsprechend hat sich die Verteilung der Daten zur Laufzeit im Vergleich zur Verteilung der Trainingsdaten verschoben. Dies kann beispielsweise aus einer Nutzung unter veränderten Umgebungsbedingungen resultieren. Beispielsweise ist es denkbar, dass ein Fahrerassistenzsystem auf eine Anwendung in Deutschland trainiert wurde und die Anwendung des Fahrerassistenzsystems in einem anderen Land zu einer Verschiebung der Verteilung der Eingangsdaten führt. Es ist davon auszugehen, dass das KNN, ohne eine Anpassung, unzureichend konfidente Ausgangsdaten produziert, wenn es mit den verschoben verteilten Eingangsdaten gespeist wird.As a further deterioration, it is also conceivable that the sensor data deviate significantly from the distribution of the training data. Accordingly, the distribution of runtime data has shifted compared to the distribution of training data. This can result, for example, from use under changed environmental conditions. For example, it is conceivable that a driver assistance system was trained for an application in Germany and the application of the driver assistance system in another country leads to a shift in the distribution of the input data. It can be assumed that the ANN, without an adjustment, produces insufficiently confident output data when fed with the shifted distributed input data.

Ferner ist es in einer weiteren Verschlechterung denkbar, dass die Verteilung der Sensordaten zur Laufzeit vollkommen anders ist als die Verteilung der Trainingsdaten. In diesem Fall ist die Verteilung nicht nur verschoben, sondern unterscheidet sich durch weitere Charakteristika, beispielsweise die Art der Verteilung, die Varianz, ein Bias oder dergleichen. Beispielsweise ist es denkbar, dass ein Fahrerassistenzsystem, welches für Autobahnfahrten entwickelt wurde, für innerstädtische Fahrten benutzt wird und die innerstädtischen Sensordaten völlig anders verteilt sind, wie die autobahnbezogenen Trainingsdaten. In diesem Fall ist davon auszugehen, dass das KNN unbrauchbare Ausgangsdaten produziert, wenn es mit den anders verteilten Eingangsdaten gespeist wird.Furthermore, in a further deterioration, it is conceivable that the distribution of the sensor data at runtime is completely different from the distribution of the training data. In this case, the distribution is not only shifted, but differs by other characteristics, for example the type of distribution, the variance, a bias or the like. For example, it is conceivable that a driver assistance system that was developed for freeway driving is used for inner-city driving and the inner-city sensor data is distributed completely differently from the freeway-related training data. In this case, it can be assumed that the ANN will produce unusable output data if it is fed with input data that is distributed differently.

Darüber hinaus ist es auch denkbar, dass Eingangsdaten im Rahmen eines Angriffs auf das KNN bewusst verändert wurden, um das KNN zu täuschen. Derartige gestörte Sensordaten liegen häufig an den Rändern einer Entscheidungsregion, das bedeutet, dass minimale Veränderungen der Sensordaten zu großen Veränderungen in den Ausgangsdaten führen. Es ist denkbar, dass derartige Datenbeispiele im Rahmen eines Angriffs bewusst konstruiert wurden, um ein KNN zu täuschen, sodass ein Angreifer die Ausgabe des KNN kontrollieren kann.In addition, it is also conceivable that input data was deliberately changed as part of an attack on the ANN in order to deceive the ANN. Such noisy sensor data often lies at the edges of a decision region, which means that small changes in the sensor data lead to large changes in the output data. It is conceivable that such data examples were deliberately constructed as part of an attack in order to deceive an ANN so that an attacker can control the output of the ANN.

Gemäß einer bevorzugten Weiterbildung der Erfindung ist es vorteilhaft, ein KI-Ersatzmodul mit mehreren KI-Ersatzroutinen, bereitzustellen und eine geeignete KI-Ersatzroutine anhand einer Bingröße auszuwählen. Somit ist es denkbar, das KNN auf eine Standardbingröße zu optimieren und auf eine KI-Ersatzroutine zurückzugreifen, wenn die Bingröße ggü. der Standardgröße verändert wurde. Dabei können ein oder mehrere KI-Ersatzroutinen auf bestimmte Bingrößen optimiert sein.According to a preferred development of the invention, it is advantageous to provide an AI replacement module with multiple AI replacement routines and to select a suitable AI replacement routine based on a bin size. It is therefore conceivable to optimize the ANN to a standard bin size and to use an AI replacement routine if the bin size is compared to changed from the default size. One or more AI replacement routines can be optimized for specific bin sizes.

Gemäß einer bevorzugten Weiterbildung der Erfindung werden mehrere KI-Ersatzroutinen bereitgestellt, die auf wenigstens einer der folgenden Technologien beruhen: Support-Vector-Machine (SVM), Entscheidungsbäume, andere symbolische KI-Komponenten. Diese KI-Modelle unterscheiden sich im Aufbau und in der Funktionsweise von einem KNN. Somit können Angriffe, die ein KNN täuschen, indem die Angriffe darauf ausgelegt sind, spezifische Sicherheitslücken eines KNN zu nutzen, abgewehrt werden, indem KNN-spezifische Sicherheitslücken mit einer anderen Technologie geschlossen werden.According to a preferred development of the invention, several AI replacement routines are provided which are based on at least one of the following technologies: support vector machine (SVM), decision trees, other symbolic AI components. These AI models differ in structure and functionality from an ANN. Thus, attacks that deceive an ANN by designing the attacks to exploit vulnerabilities specific to an ANN can be countered by closing vulnerabilities specific to an ANN with another technology.

Gemäß einer bevorzugten Weiterbildung der Erfindung wird ein KI-Ersatzmodul mit wenigstens einer spezialisierten KI-Ersatzroutine bereitgestellt, die eingerichtet ist, auf einer Teilmenge des Eingangsdatenraums des KNN wertigere Ausgangsdaten zu produzieren.According to a preferred embodiment of the invention, an AI replacement module with at least provided to a specialized AI replacement routine that is set up to produce more valuable output data on a subset of the input data space of the ANN.

Beispielsweise ist es denkbar, dass ein KI-Ersatzmodul, welches für eine Vielzahl von Ländern trainiert wurde, bereitgestellt wird und auf dieses KI-Ersatzmodul gewechselt wird, wenn erkannt wird, dass Eingangsdaten, mit welchen ein KNN gespeist wird, aus einem Land stammen, hinsichtlich welchen das KNN nicht trainiert wurde.For example, it is conceivable that an AI replacement module that has been trained for a large number of countries is made available and that a switch is made to this AI replacement module if it is recognized that input data fed into an ANN comes from a country for which the ANN has not been trained.

Ähnliche Anwendungen sind bei schlechten Sichtverhältnissen wie Nacht, Nebel, starker Niederschlag und/oder dergleichen denkbar, indem ein KNN bereitgestellt wird, welches auf derartige Verhältnisse spezialisiert ist.Similar applications are conceivable in poor visibility conditions such as night, fog, heavy precipitation and/or the like by providing an ANN that is specialized for such conditions.

Gemäß einer bevorzugten Weiterbildung der Erfindung wird wenigstens eine robuste künstliche Intelligenz bereitgestellt, die eingerichtet ist, für Daten, die nach einem spezifischen Muster verfälscht wurden, konfidentere Ausgangsdaten als das KNN zu produzieren. Beispielsweise ist es denkbar, dass erkannt wird, dass ein sicherheitskritisches KNN zur Laufzeit angegriffen wird, um Schaden zu verursachen. In diesem Fall lässt sich ein Schaden möglicherweise verhindern oder mildern, wenn auf ein KI-Ersatzmodul zurückgegriffen wird, welches spezifisch dahingehend ausgelegt ist, sich im Falle eines Angriffs robust zu verhalten. Dies kann auch relativ einfache Konzepte wie das sichere Abschalten des Steuergeräts, welches von dem KNN gesteuert wird, umfassen. Beispielsweise ist es denkbar, dass das KI-Ersatzmodul eingerichtet ist, ein Fahrzeug sicher zu parken.According to a preferred development of the invention, at least one robust artificial intelligence is provided, which is set up to produce more reliable output data than the ANN for data that has been falsified according to a specific pattern. For example, it is conceivable that it is recognized that a security-critical ANN is attacked at runtime in order to cause damage. In this case, damage may be prevented or mitigated by resorting to a replacement AI module that is specifically designed to be resilient in the event of an attack. This can also include relatively simple concepts such as the safe switching off of the control unit, which is controlled by the ANN. For example, it is conceivable that the AI replacement module is set up to park a vehicle safely.

Gemäß einer bevorzugten Weiterbildung der Erfindung werden die Eingangsdaten und/oder die Sensordaten hinsichtlich dessen untersucht, ob die Sensordaten auf einem Prüfstand oder einer anderen Testapparatur generiert wurden bzw. sich ein Steuergerät, insbesondere eines Fahrzeugs, welches Steuersignale aus den Ausgangsdaten des KNN ableitet, sich auf einem Prüfstand befindet.According to a preferred development of the invention, the input data and/or the sensor data are examined with regard to whether the sensor data were generated on a test bench or other test apparatus or whether a control device, in particular of a vehicle, which derives control signals from the output data of the ANN, itself is on a test bench.

Ein Angreifer, der beabsichtigt, Know-how des KNN zu stehlen, könnte sich einen umfangreichen relevanten Eingangsdatensatz verschaffen und das KNN auf einem Prüfstand mit diesem Eingangsdatensatz speisen, um sämtliche Ergebnisdaten, also auch Steuerdaten des Steuergeräts, zu diesem Eingangsdatensatz zu erhalten. Im Rahmen einer derartigen Vorgehensweise ist es möglich, ein KNN mit statistischen Mitteln zu kopieren. Im Rahmen der Analyse einer Abfolge von Sensordaten ist es jedoch möglich, einen Prüfstandsbetrieb zu detektieren. Handelt es sich bei dem Steuergerät um ein Steuergerät eines Fahrzeugs und bei den Sensordaten um fahrzeug(umgebungs)bezogene Sensordaten lässt sich ein Prüfstandsbetrieb an abrupten Veränderungen von Sensordaten, die sich auf das Fahrzeug selbst oder auf die Fahrzeugumgebung beziehen, erkennen. Beispielsweise werden Pedalstellungen (zum Beispiel einer Bremse) mittels geeigneten Sensoren überwacht. Ändert sich die Pedalstellung abrupt und wird zusätzlich eine große Anzahl verschiedener Pedalstellungen durchlaufen, ist davon auszugehen, dass sich ein entsprechendes Fahrzeug mit einem zugehörigen künstlichen neuronalen Netzwerk auf einem Prüfstand befindet.An attacker who intends to steal know-how from the ANN could obtain a comprehensive, relevant input data set and feed the ANN with this input data set on a test bench in order to obtain all the result data, including control data from the control unit, for this input data set. Within the framework of such a procedure, it is possible to copy an ANN using statistical means. However, when analyzing a sequence of sensor data, it is possible to detect test bench operation. If the control unit is a vehicle control unit and the sensor data is vehicle (environment)-related sensor data, test bench operation can be recognized by abrupt changes in sensor data that relate to the vehicle itself or to the vehicle environment. For example, pedal positions (for example a brake) are monitored using suitable sensors. If the pedal position changes abruptly and a large number of different pedal positions are also run through, it can be assumed that a corresponding vehicle with an associated artificial neural network is on a test bench.

Gemäß einer bevorzugten Weiterbildung der Erfindung wird die Konfidenz von Ausgangsdaten gespeichert und ein Konfidenzstrom eines zugehörigen Ausgangsdatenstrom wird analysiert. Alternativ und/oder zusätzlich ist es auch denkbar, die Konfidenz der Ausgangsdaten des KNN mit der Konfidenz eines KI-Ersatzmoduls zu vergleichen.According to a preferred development of the invention, the confidence of the output data is stored and a confidence stream of an associated output data stream is analyzed. Alternatively and/or additionally, it is also conceivable to compare the confidence of the output data of the ANN with the confidence of an AI replacement module.

Beispielsweise kann es sich ergeben, dass sich die Konfidenz des KNN oder eines KI-Ersatzmoduls plötzlich oder sogar sprunghaft ändert. Plötzliche oder sprunghafte Änderungen der Konfidenz sind bei einer bestimmungsgemäßen Verwendung nicht zu erwarten, da das KNN mit einem kontinuierlichen Strom von Eingangsdaten gespeist wird. Demnach ist es vorteilhaft, die Konfidenz über mehrere Zeitschritte zu speichern, um aktuelle Konfidenzwerte zu korrigieren.For example, it can happen that the confidence of the ANN or an AI replacement module changes suddenly or even suddenly. Sudden or erratic changes in confidence are not to be expected when used as intended, since the ANN is fed with a continuous stream of input data. Accordingly, it is advantageous to store the confidence over several time steps in order to correct current confidence values.

Gemäß einer bevorzugten Weiterbildung der Erfindung wird aufgrund der Konfidenzanalyse eines Ausgangsdatenstroms auf eine Ursache für Auffälligkeiten bzgl. der Konfidenz geschlossen, wenn Auffälligkeiten bzgl. der Konfidenz festgestellt werden.According to a preferred development of the invention, a cause for abnormalities with regard to the confidence is inferred on the basis of the confidence analysis of an output data stream if abnormalities with regard to the confidence are ascertained.

Gemäß einer bevorzugten Weiterbildung der Erfindung werden Angriffsdaten oder Daten, die Informationen über potenzielle Angriffe enthalten, an einen zentralen Datenspeicher übermittelt. Somit ist es möglich, Kenntnisse über spezifische Angriffe unverzüglich zu verteilen und somit andere potenzielle geschädigte Module oder Nutzer zu warnen. Somit ist es möglich, Angriffsdaten zu veröffentlichen bzw. über einen Angriff zu informieren, wenn eine unnatürliche Struktur in Sensordaten oder ein unnatürliches Verhalten in Aktuatoren bemerkt wird.According to a preferred development of the invention, attack data or data containing information about potential attacks is transmitted to a central data store. Thus, it is possible to immediately distribute knowledge about specific attacks and thus warn other potentially compromised modules or users. It is thus possible to publish attack data or to provide information about an attack if an unnatural structure in sensor data or unnatural behavior in actuators is noticed.

Gemäß einer bevorzugten Weiterbildung der Erfindung wird mit Mitteln der künstlichen Intelligenz ausgewählt, ob Ausgangsdaten des KNN und einer oder mehrerer KI-Ersatzroutinen zu mitteln sind oder welche der Ersatzroutinen des KI-Ersatzmoduls oder das KNN die konfidenteste Ausgangsdaten produziert, wenn sich die Ausgangsdaten stärker als erwartet unterscheiden.According to a preferred development of the invention, artificial intelligence is used to select whether the output data of the ANN and one or more AI replacement routines are to be averaged or which of the replacement routines of the AI replacement module or the ANN produces the most reliable output data if the output data differs more than expected differ.

Dabei ist es denkbar, dass ein bestimmtes KI-Ersatzmodul aufgrund einer besonderen situationsbedingten Eignung ausgewählt wird oder dass aus mehreren Ausgangsdaten mehrerer KI-Module ein Mittelwert ermittelt wird, der weiterverarbeitet wird. Der Mittelwert kann sich aus gewichteten Werten errechnen.It is conceivable that a specific AI replacement module is selected on the basis of a particular situation-related suitability or that an average value is determined from multiple output data from multiple AI modules and is processed further. The mean can be calculated from weighted values.

Sollte es sich zur Laufzeit ergeben, dass ein KNN einem Angriff ausgesetzt ist oder die Ausgabe des KNN nicht konfident ist, kann vorgesehen sein, die Ausgangsdaten des KNN zu überschreiben. In diesem Fall kann die Ausgabe des KNN von den Ausgaben des KI-Ersatzmoduls überschrieben werden, wobei mittels eines Bewertungsverfahrens eine geeignete Gewichtung mehrerer Ausgaben verschiedener KI-Ersatzroutinen ermittelt wird oder eine geeignete KI-Ersatzroutine für die Generierung von Ersatz-Ausgangsdaten ermittelt wird. Wird beispielsweise ein Know-how-Diebstahl-Angriff erkannt, kann vorgesehen sein, falsche Ausgangsdaten zu generieren, um einen Angreifer zu verwirren oder die Ausgabe zu löschen.If it turns out at runtime that an ANN is exposed to an attack or the output of the ANN is not reliable, provision can be made for the output data of the ANN to be overwritten. In this case, the output of the ANN can be overwritten by the outputs of the AI replacement module, with an evaluation method being used to determine a suitable weighting of several outputs from different AI replacement routines or a suitable AI replacement routine for generating replacement output data. If, for example, a know-how theft attack is detected, false output data can be generated in order to confuse an attacker or to delete the output.

Gemäß einer bevorzugten Weiterbildung der Erfindung gewährleistet das KNN eine Funktionalität im Rahmen des autonomen oder assistierten Fahrens und das Verfahren ist eingerichtet, einen Angriff auf das KNN zu detektieren und insbesondere abzuwehren.According to a preferred development of the invention, the ANN ensures functionality within the scope of autonomous or assisted driving and the method is set up to detect and in particular to ward off an attack on the ANN.

Gemäß einer bevorzugten Weiterbildung der Erfindung werden Ausgangsdaten des KNN und des KI-Ersatzmoduls hinsichtlich Unterschieden analysiert und es wird entschieden, ob eine Ursache für Unterschiede sicherheitskritisch für den Betrieb des KI-Moduls ist.According to a preferred development of the invention, output data from the ANN and the AI replacement module are analyzed with regard to differences, and a decision is made as to whether a cause for the differences is safety-critical for the operation of the AI module.

Es versteht sich, dass ein KI-System, welches eingerichtet ist, das Verfahren wie es vorstehend beschrieben wurde, durchzuführen, vorteilhaft ist. Das KI-System weist ein KNN, welches die Kernfunktionalität gewährleistet, eine Recheneinheit, insbesondere eine KI, welche eingerichtet ist, die Sensordaten vorzuverarbeiten, um Eingangsdaten zum Speisen des KNN zu erhalten und/oder die Sensordaten hinsichtlich der Sensordatenlegalität zu analysieren, einem KI-Ersatzmodul mit wenigstens einer, insbesondere einer Vielzahl KI-Ersatzroutinen, die zu dem KNN redundant ist, indem das KI-Ersatzmodul eingerichtet ist, die Kernfunktionalität mit alternativen Mitteln wie das KNN zu gewährleisten, einer Recheneinheit, insbesondere einer KI, welche eingerichtet ist, die KNN-Ausgangsdaten hinsichtlich deren Konfidenz zu analysieren und/oder die KNN-Ausgangsdaten zu verändern, um die KNN-Ausgangsdaten zu entwerten, einem Datenspeicher zum Speichern einer Auswahl an Ergebnisdaten einer KI, welche eingerichtet ist, die Verfahrensschritte eines Verfahrens wie es vorstehend beschrieben wurde, auszuwerten und eine Reaktion einzuleiten, wobei sichergestellt ist, dass das KNN lediglich während des Betriebs der weiteren Komponenten betreibbar ist.It goes without saying that an AI system that is set up to carry out the method as described above is advantageous. The AI system has an ANN, which ensures the core functionality, a computing unit, in particular an AI, which is set up to preprocess the sensor data in order to receive input data for feeding the ANN and/or to analyze the sensor data with regard to sensor data legality, an AI Replacement module with at least one, in particular a large number of AI replacement routines, which is redundant to the ANN, in that the AI replacement module is set up to ensure the core functionality with alternative means such as the ANN, a computing unit, in particular an AI, which is set up to To analyze ANN output data with regard to their confidence and/or to change the ANN output data in order to devalue the ANN output data, a data memory for storing a selection of result data from an AI, which is set up, the method steps of a method as described above , evaluate and initiate a reaction, it being ensured that the ANN can only be operated during the operation of the other components.

Es versteht sich, dass ein Trainingsverfahren für ein KI-Modul, welches eingerichtet ist, das Verfahren wie es vorstehend beschrieben wurde, durchzuführen, vorteilhaft ist. Dabei ist vorgesehen, dass das System mit einem Trainingsdatensatz umfassend Trainings-Eingangsdaten und Soll-Ausgangsdaten, trainiert wird, wobei die Trainings-Eingangsdaten Daten bezüglich eines Angriffs auf das KNN, welches die Kernfunktionalität gewährleistet, des KI-Moduls enthalten.It goes without saying that a training method for an AI module that is set up to carry out the method as described above is advantageous. It is provided that the system is trained with a training data set comprising training input data and target output data, the training input data containing data relating to an attack on the ANN, which ensures the core functionality, of the AI module.

Es kann vorgesehen sein, das KI-Modul im Rahmen des Trainings spezifisch auf das Zuordnen von Auffälligkeiten bzgl. der Konfidenz von Ausgangsdaten zu möglichen Ursachen für die Konfidenzauffälligkeiten zu trainieren.Provision can be made for the AI module to be trained as part of the training specifically to allocate abnormalities with regard to the confidence of initial data to possible causes for the abnormalities in confidence.

Ferner kann vorgesehen sein, das KI-Modul im Rahmen des Trainings spezifisch auf das Zuordnen von Auffälligkeiten in einem Eingangsdatenstrom bzw. von Unterschieden in einem Ausgangsdatenstrom mehrerer KI-Routinen bzw. dem KNN zu möglichen Ursachen für die Auffälligkeiten bzw. die Unterschiede zu trainieren.Provision can also be made for the AI module to be specifically trained as part of the training to allocate abnormalities in an input data stream or differences in an output data stream of multiple AI routines or the ANN to possible causes for the abnormalities or the differences.

Ein Computerprogrammprodukt gemäß einem Verfahren einer Ausführungsform der Erfindung führt die Schritte eines Verfahrens gemäß der vorangehenden Beschreibung aus, wenn das Computerprogrammprodukt auf einem Computer, insbesondere einem fahrzeuginternen Computer, läuft. Wenn das betreffende Programm auf einem Computer zum Einsatz kommt, ruft das Computerprogrammprodukt einen Effekt hervor, nämlich das Schließen von Sicherheitslücken eines KNN.A computer program product according to a method of an embodiment of the invention performs the steps of a method as described above when the computer program product runs on a computer, in particular an in-vehicle computer. If the program in question is used on a computer, the computer program product causes an effect, namely the closing of security gaps in an ANN.

Figurenlistecharacter list

Die vorliegende Erfindung wird nachfolgend anhand der in den schematischen Figuren der Zeichnungen angegebenen Ausführungsbeispiele näher erläutert. Es zeigen dabei:

  • 1 ein schematisches Blockdiagramm einer Ausführungsform der Erfindung;
  • 2 ein schematisches Blockdiagramm einer Ausführungsform der Erfindung.
The present invention is explained in more detail below with reference to the exemplary embodiments given in the schematic figures of the drawings. They show:
  • 1 a schematic block diagram of an embodiment of the invention;
  • 2 Figure 12 is a schematic block diagram of an embodiment of the invention.

Die beiliegenden Zeichnungen sollen ein weiteres Verständnis der Ausführungsformen der Erfindung vermitteln. Sie veranschaulichen Ausführungsformen und dienen im Zusammenhang mit der Beschreibung der Erklärung von Prinzipien und Konzepten der Erfindung. Andere Ausführungsformen und viele der genannten Vorteile ergeben sich im Hinblick auf die Zeichnungen. Die Elemente der Zeichnungen sind nicht notwendigerweise maßstabsgetreu zueinander gezeigt.The accompanying drawings are provided to provide a further understanding of embodiments of the invention. They illustrate embodiments and, together with the description, serve to explain principles and concepts of the invention. Other embodiments and many of the advantages mentioned arise in look at the drawings. The elements of the drawings are not necessarily shown to scale with respect to one another.

In den Figuren der Zeichnungen sind gleiche, funktionsgleiche und gleichwirkende Elemente, Merkmale und Komponenten - sofern nicht anders ausgeführt ist - jeweils mit denselben Bezugszeichen versehen.In the figures of the drawings, elements, features and components that are identical, have the same function and have the same effect--unless stated otherwise--are each provided with the same reference symbols.

BESCHREIBUNG VON AUSFÜHRUNGSBEISPIELENDESCRIPTION OF EXEMPLARY EMBODIMENTS

1 zeigt ein KI-Modul 10 zur Durchführung eines Verfahrens wie es vorstehend beschrieben wurde. Bei dem KI-Modul 10 handelt es sich um einen Teil eines Fahrerassistenzsystems zum Steuern eines Kraftfahrzeugs. Das KI-Modul 10 umfasst ein KNN 1, welches die Kernfunktionalität des KI-Moduls 10 gewährleistet, nämlich das Steuern eines Fahrzeugs. Das KI-Modul 10 umfasst ferner mehrere KI-Submodule 2, 3, 4 und 6, um den sicherheitskritischen Betrieb des KI-Moduls 10 zu gewährleisten, wenn sich ergibt, dass das KNN Ausgangsdaten von unzureichender Konfidenz generiert oder zur Laufzeit ein Angriff auf das KI-Modul bzw. das KNN 1 stattfindet, sowie einen Datenspeicher 5. 1 shows an AI module 10 for carrying out a method as described above. The AI module 10 is part of a driver assistance system for controlling a motor vehicle. The AI module 10 includes an ANN 1, which ensures the core functionality of the AI module 10, namely controlling a vehicle. The KI module 10 also includes several KI submodules 2, 3, 4 and 6 in order to ensure the safety-critical operation of the KI module 10 if it turns out that the ANN generates output data of insufficient confidence or an attack on the AI module or the ANN 1 takes place, as well as a data memory 5.

Um den sicherheitskritischen Betrieb des KI-Moduls 10 zu gewährleisten, werden Sensorrohdaten 73 von einer KI-Routine 22 des KI-Submoduls 2 analysiert. Die Analyse der Eingangsdaten zielt darauf ab, strukturelle Anomalien oder Aberrationen in den Eingangsdaten, die auf einen Angriff oder auf Sensordaten von unzureichender Qualität hinweisen, zu erkennen. Ferner umfasst das KI-Submodul 2 eine KI-Routine 21, um die Sensorrohdaten 73 vorzuverarbeiten. Im Rahmen der Vorverarbeitung der Sensorrohdaten 73 ist vorgesehen, die Sensorrohdaten anwendungsspezifisch zu selektieren. Demnach ist vorgesehen, dass aus den Sensordaten ein oberer Teil eines Bildes, der Himmel enthält, verworfen wird, wenn eine Spurerkennung des KI-Moduls 10 aktiv ist. Alternativ oder zusätzlich ergeben sich andere Vorverarbeitungsmethoden für andere Anwendungen, beispielsweise wenn eine Einparkhilfe aktiviert ist. Die Analyse und die Vorverarbeitung der Eingangsdaten 73 mittels der KI-Routinen 21, 22 findet parallel statt.In order to ensure the safety-critical operation of the AI module 10 , raw sensor data 73 is analyzed by an AI routine 22 of the AI submodule 2 . The analysis of the input data aims to detect structural anomalies or aberrations in the input data that indicate an attack or sensor data of insufficient quality. Furthermore, the AI submodule 2 includes an AI routine 21 in order to preprocess the raw sensor data 73 . As part of the pre-processing of the raw sensor data 73, provision is made for the raw sensor data to be selected in an application-specific manner. Accordingly, it is provided that an upper part of an image containing the sky is discarded from the sensor data if lane detection of the AI module 10 is active. Alternatively or additionally, there are other preprocessing methods for other applications, for example when a parking aid is activated. The analysis and the pre-processing of the input data 73 by means of the AI routines 21, 22 take place in parallel.

Die Ergebnisse der KI-Routine 22 bezüglich der Strukturanalyse der Sensorrohdaten 73 wird zunächst in einem Musterspeicher 51 des Datenspeichers 5 gespeichert. Die KI-Routine 63 des KI-Submoduls 6 greift auf den Musterspeicher 51 des Datenspeichers 5 zu, um die Ergebnisse der Strukturanalyse der Sensorrohdaten 73, die in der Speicherroutine 51 gespeichert sind, auszuwerten. Ergebnisse der Auswertung der KI-Routine 63 werden an die KI-Routine 64 der Auswerte-KI 6 weitergeleitet, um eine geeignete Reaktion auf das Ergebnis der Strukturanalyse einzuleiten. Im günstigen Normalfall ist eine geeignete Reaktion auf die Strukturanalyse, dass keine weiteren Schritte unternommen werden, da die Struktur der Eingangsdaten darauf hindeuten, dass die Legalität der Eingangsdaten gewährleistet ist. Sollte die KI-Routine 64 zum Ergebnis kommen, dass eine ausreichende Datenlegalität nicht gewährleistet ist, kann die KI-Routine 63 Reaktionen einleiten, die noch im Folgenden beschrieben werden.The results of the AI routine 22 with regard to the structural analysis of the raw sensor data 73 are first stored in a sample memory 51 of the data memory 5 . The AI routine 63 of the AI submodule 6 accesses the pattern memory 51 of the data memory 5 in order to evaluate the results of the structural analysis of the raw sensor data 73 that are stored in the memory routine 51 . Results of the evaluation of the AI routine 63 are forwarded to the AI routine 64 of the evaluation AI 6 in order to initiate a suitable reaction to the result of the structural analysis. In the normal, favorable case, an appropriate response to the structure analysis is to take no further action, since the structure of the input data indicates that the legality of the input data is guaranteed. If the AI routine 64 comes to the conclusion that sufficient data legality is not guaranteed, the AI routine 63 can initiate reactions that are described below.

Im Normalfall, d.h. wenn von der KI-Routine 64 keine weiteren Reaktionen eingeleitet werden, werden die vorverarbeiteten Eingangsdaten von der KI-Routine 21 an das KNN 1 weitergeleitet, um das KNN 1 mit den vorverarbeiteten Eingangsdaten zu speisen, um hieraus Ausgangsdaten zu erhalten. Im Normalfall werden aus den Ausgangsdaten des KNN 1 Steuersignale zum Steuern des Fahrzeugs abgeleitet. Des Weiteren werden die Ausgangsdaten des KNN 1 hinsichtlich ihrer Konfidenz von der KI-Routine 41 des KI-Submoduls 4 überwacht. Dementsprechend wird zu einem Ausgangsdatenstrom des KNN 1 ein zugehöriger Konfidenzstrom zu dem Ausgangsdatenstrom ermittelt und in dem Konfidenzspeicher 52 des Datenspeichers 5 gespeichert. Die KI-Routine 61 des KI-Moduls 6 greift auf die den Konfidenzspeicher 52, in dem der Konfidenzstrom gespeichert ist, zu, um den Konfidenzstrom zu analysieren. Stellt die KI-Routine 61 einen auffälligen Konfidenzstrom fest, beispielsweise sprunghafte oder schnelle Änderungen der Konfidenz, kann durch die KI-Routine 64 eine geeignete Reaktion auf die Auffälligkeiten im Konfidenzstrom eingeleitet werden. Auffälligkeiten im Konfidenzstrom können aus verschiedenen Ursachen resultieren, zum Beispiel aus einer unzureichenden Datenlegalität aufgrund eines Angriffs auf das KI-Modul 10 oder auf eine plötzlich auftretende Sensorverschmutzung oder eine plötzlich auftretende Degradierung der Sichtverhältnisse, beispielsweise wenn ein Fahrzeug durch eine Nebelsenke gesteuert wird und sich innerhalb der Nebelsenke die Sicht abrupt verschlechtert. Dementsprechend ist die KI-Routine derart trainiert, dass die KI-Routine 64 aufgrund der Art der Konfidenzsprünge, aufgrund deren Häufigkeit und/oder aufgrund deren Stärke die Ursache für den Konfidenzsprung weiter eingrenzen kann und eine geeignete Reaktion auf den Konfidenzsprung ermitteln kann.In the normal case, i.e. if no further reactions are initiated by the AI routine 64, the pre-processed input data is forwarded by the AI routine 21 to the ANN 1 in order to feed the ANN 1 with the pre-processed input data in order to obtain output data therefrom. Normally, 1 control signals for controlling the vehicle are derived from the output data of the ANN. Furthermore, the output data of the ANN 1 are monitored by the AI routine 41 of the AI submodule 4 with regard to their confidence. Accordingly, an associated confidence stream for the output data stream is determined for an output data stream of the ANN 1 and stored in the confidence memory 52 of the data memory 5 . The AI routine 61 of the AI module 6 accesses the confidence memory 52 in which the confidence flow is stored in order to analyze the confidence flow. If the AI routine 61 detects a conspicuous confidence flow, for example erratic or rapid changes in confidence, the AI routine 64 can initiate a suitable reaction to the abnormalities in the confidence flow. Abnormalities in the confidence stream can result from various causes, for example from insufficient data legality due to an attack on the AI module 10 or from a sudden sensor pollution or a sudden degradation of the visibility conditions, for example if a vehicle is driven through a fog sink and is inside the fog sink suddenly degrades visibility. Accordingly, the AI routine is trained in such a way that the AI routine 64 can further narrow down the cause of the confidence jump based on the type of confidence jumps, their frequency and/or their strength and can determine a suitable reaction to the confidence jump.

Die eingeleitete Reaktion wird an das KI-Modul 4 zur weiteren Umsetzung durch die KI-Routine 42, mittels welcher Ausgangsdaten des KNN 1 und/ oder der KI-Ersatzroutinen 31, 32, 33 verändert werden können. Kommt die KI-Routine 64 zu dem Ergebnis, dass ein auffälliges Konfidenzmuster aus einem Angriff auf das KI-Modul 10 resultiert, kann es vorgesehen sein, die Ausgangsdaten zu verändern, beispielsweise um einen Angreifer zu täuschen und somit den Angriff abzuwehren. Stellt die KI-Routine 64 fest, dass Auffälligkeiten des Konfidenzmusters andere unkritische Ursachen haben, beispielsweise eine plötzliche Sensorverschmutzung, oder das keine Auffälligkeiten in dem Konfidenzmuster existieren, kann vorgesehen sein, die Ausgangsdaten des KNN 1 bzw. der KI-Ersatzroutinen 31, 32, 33 nicht zu verändern.The initiated reaction is sent to the AI module 4 for further implementation by the AI routine 42, by means of which output data from the ANN 1 and/or the AI replacement routines 31, 32, 33 can be changed. If the AI routine 64 comes to the conclusion that a conspicuous confidence pattern results from an attack on the AI module 10, provision can be made for the output data to be changed change, for example to deceive an attacker and thus repel the attack. If the AI routine 64 determines that abnormalities in the confidence pattern have other non-critical causes, for example sudden sensor contamination, or that there are no abnormalities in the confidence pattern, it can be provided that the output data from the ANN 1 or the AI replacement routines 31, 32, 33 not to be changed.

Ferner wird neben dem KNN 1 auch eine Reihe von KI-Ersatzroutinen 31, 32, 33 mit den Eingangsdaten gespeist, um eine Redundanz zu dem KNN 1 zu gewährleisten. Dementsprechend wird die KI-Ersatzroutine 31 mit den vorverarbeiteten Eingangsdaten gespeist, wohingegen die KI-Ersatzroutinen 32 und 33 mit den unverarbeiteten Sensorrohdaten gespeist werden. Dementsprechend ist die KI-Ersatzroutine 31 eine symbolische KI, dass bedeutet, dass die KI-Ersatzroutine 31 mit symbolischen Entscheidungsregeln trainiert wurde, statt mit einem Trainingsdatensatz, der Datensätze enthält, die zu zukünftigen Sensordaten möglichst ähnlich sind. Dementsprechend sollten sich die Ausgangsdaten des KNN 1 und die Ausgangsdaten der KI-Ersatzroutine 31 nicht zu stark voneinander unterscheiden. Unterscheiden sich die Ausgangsdaten des KNN 1 und die Ausgangsdaten der KI-Ersatzroutine 31 über ein vorbestimmtes Maß voneinander, so zeigt dies an, dass das KNN 1 oder die KI-Ersatzroutine 31 geeigneter ist, die Eingangsdaten zu verarbeiten. Deutliche Unterschiede in den Ausgangsdaten des KNN und der KI-Ersatzroutine 31 zeigen an, dass zumindest das KNN oder die KI-Ersatzroutine 31 auf dieser Art von Eingangsdaten nicht oder unzureichend trainiert wurde. Da das Training jedoch derart ausgelegt war, dass sämtliche denkbaren Konstellationen an Eingangsdaten abgedeckt wurden, deutet ein signifikanter Unterschied in den Ausgangsdaten des KNN 1 und den Ausgangsdaten der KI-Ersatzroutine 31 darauf hin, dass Sensordaten künstlich verändert worden sind.In addition to the ANN 1, a number of AI replacement routines 31, 32, 33 are also supplied with the input data in order to ensure redundancy with the ANN 1. Accordingly, the AI replacement routine 31 is fed with the pre-processed input data, whereas the AI replacement routines 32 and 33 are fed with the unprocessed raw sensor data. Accordingly, the AI replacement routine 31 is a symbolic AI, which means that the AI replacement routine 31 was trained with symbolic decision rules instead of with a training data set that contains data sets that are as similar as possible to future sensor data. Accordingly, the output data of the ANN 1 and the output data of the AI replacement routine 31 should not differ too greatly from one another. If the output data of the ANN 1 and the output data of the AI surrogate routine 31 differ from each other by a predetermined amount, this indicates that the ANN 1 or the AI surrogate routine 31 is more suitable to process the input data. Significant differences in the output data of the ANN and the AI replacement routine 31 indicate that at least the ANN or the AI replacement routine 31 was not trained or was insufficiently trained on this type of input data. However, since the training was designed in such a way that all conceivable constellations of input data were covered, a significant difference in the output data of the ANN 1 and the output data of the AI replacement routine 31 indicates that sensor data have been artificially changed.

Ferner enthält das KI-Ersatzmodul 3 eine weitere KI-Routine 32, die als KNN, welches mit Sensorrohdaten 73 gespeist wird, ausgebildet ist. Das KNN 1 und die KI-Ersatzroutine 32 sind derart trainiert, dass diese für Sensorrohdaten 73 bzw. vorverarbeitete Sensorrohdaten 73 möglichst ähnliche bzw. vorzugsweise identische Ausgangsdaten produzieren. Unterschiede in den Ausgangsdaten zwischen dem KNN 1 und der KI-Ersatzroutine 32, die über ein erwartetes Maß hinausgehen, sind dementsprechend fast immer auf einen Unterschied zwischen den Sensorrohdaten 73 und den vorverarbeiteten Sensordaten zurückzuführen. Dabei kann es sich ergeben, dass die Sensorrohdaten gestört sind und die Störung durch die Vorverarbeitung der Sensorrohdaten zumindest teilweise herausgemittelt wurde. Dies kann unter anderem auf eine unzureichende Datenlegalität aufgrund eines Angriffs hindeuten.Furthermore, the AI replacement module 3 contains a further AI routine 32 which is in the form of an ANN which is fed with raw sensor data 73 . The ANN 1 and the AI replacement routine 32 are trained in such a way that they produce output data that is as similar as possible or preferably identical for sensor raw data 73 or preprocessed sensor raw data 73 . Accordingly, differences in the output data between the ANN 1 and the AI replacement routine 32 that go beyond an expected level are almost always due to a difference between the raw sensor data 73 and the pre-processed sensor data. The result can be that the raw sensor data is disturbed and the disturbance was at least partially averaged out by the pre-processing of the raw sensor data. This can indicate, among other things, insufficient data legality due to an attack.

Die KI-Routine 62 kann darauf trainiert sein, aus Unterschieden in den Ausgangsdaten des KNN 1 und den KI-Ersatzroutinen 31, 32, 33 auf bestimmte Ursachen in den Eingangsdaten zu schließen. Vorzugsweise ist die KI-Routine 62 derart trainiert, dass sich harmlose Unterschiede in den Ausgangsdaten, die sich nicht auf die Kernfunktionalität, nämlich das Steuern eines Kraftfahrzeugs, auswirken, von sicherheitskritischen Unterschieden in den Ausgangsdaten, d. h. dass beispielsweise die Sicherheit des KI-Moduls 10 nicht ausreichend gewährleistet ist, unterscheidet.The AI routine 62 can be trained to infer specific causes in the input data from differences in the output data of the ANN 1 and the AI replacement routines 31, 32, 33. The AI routine 62 is preferably trained in such a way that harmless differences in the output data that do not affect the core functionality, namely the control of a motor vehicle, differ from safety-critical differences in the output data, i. H. that, for example, the security of the AI module 10 is not sufficiently guaranteed.

Ferner enthält das KI-Ersatzmodul 3 eine weitere symbolische KI-Routine 33, die mit Sensorrohdaten 73 gespeist wird. Dementsprechend ist zu erwarten, dass die KI-Routinen 31 und 33 Ausgangsdaten produzieren, die sich kaum oder gar nicht voneinander unterscheiden. Unterschiede in den Ausgangsdaten der KI-Routinen 31 und 33 sind fast immer in einem Unterschied zwischen dem den Sensorrohdaten 73 und den vorverarbeiteten Sensordaten begründet. Ferner sind Unterschiede zwischen der KI-Routine 32 und der KI-Routine 33 fast immer durch die unterschiedliche Struktur der KI-Routinen 32 und 33 begründet, da es sich bei der KI-Routine 32 um ein künstliches neuronales Netzwerk und bei der KI-Routine 33, um eine symbolische KI handelt.Furthermore, the AI replacement module 3 contains a further symbolic AI routine 33 which is fed with raw sensor data 73 . Accordingly, it can be expected that the AI routines 31 and 33 produce output data that differ little or not at all from one another. Differences in the output data of the AI routines 31 and 33 are almost always due to a difference between the raw sensor data 73 and the pre-processed sensor data. Furthermore, differences between the KI routine 32 and the KI routine 33 are almost always due to the different structure of the KI routines 32 and 33, since the KI routine 32 is an artificial neural network and the KI routine 33, is a symbolic AI.

Sämtliche Ausgangsdaten des KI-Ersatzmoduls 3 werden hinsichtlich ihrer Konfidenz überwacht und deren Konfidenz analog zu der Konfidenz der Ausgangsdaten des KNN 1 analysiert. Des Weiteren werden sämtliche Ausgangsdaten des KI-Ersatzmoduls 3 und des KNN 1 an die KI-Routine 62 übermittelt, die darauf trainiert ist, aufgrund von Unterschieden in den Ausgangsdaten des KNN 1 bzw. der KI-Routinen 31, 32, 33 auf eine Ursache für die Unterschiede in den Ausgangsdaten zu schließen, wobei die KI-Routine 64 eingerichtet ist, zu entscheiden, ob die Ursache sicherheitskritisch ist oder nicht.All of the output data from the AI replacement module 3 is monitored with regard to its confidence and its confidence is analyzed analogously to the confidence in the output data from the ANN 1 . Furthermore, all of the output data from the AI replacement module 3 and the ANN 1 is transmitted to the AI routine 62, which is trained based on differences in the output data from the ANN 1 or the AI routines 31, 32, 33 to a cause for the differences in the output data, the AI routine 64 being set up to decide whether the cause is safety-critical or not.

Erkennt die KI-Routine 64 ein Sicherheitsrisiko für das KI-Modul 10 wird ein Alarmmitteilung, die über einen zentralen Datenspeicher (nicht dargestellt) an eine Vielzahl von Interessierten verteilt wird. Die Interessierten können andere Verkehrsteilnehmer, andere KI-Module, Entwickler oder Überwachungssysteme, die die Sicherheit einer Vielzahl von KI-Modulen gewährleisten, sein.If the AI routine 64 detects a security risk for the AI module 10, an alarm message is sent, which is distributed to a large number of interested parties via a central data store (not shown). The interested parties can be other road users, other AI modules, developers or surveillance systems that ensure the safety of a variety of AI modules.

Schließlich ermittelt das KI-Modul 10 aus den vorangegangenen Schritten ein Ergebnis 74. Im günstigen Normalfall beruht das Ergebnis 74 auf den Ausgangsdaten des KNN, aus welchen ein Steuersignal für ein Steuergerät abgeleitet wird. Erkennt das KI-Modul 10 jedoch einen Angriff können die Ausgangsdaten, wie vorstehend beschrieben verändert werden.Finally, the AI module 10 determines a result 74 from the previous steps. In the favorable normal case, the result 74 is based on the output data of the ANN, from which a control signal for a control device is derived. However, if the AI module 10 recognizes an attack the output data can be changed as described above.

In 1 ist angedeutet, dass die Sensorrohdaten 73 von einem Manipulationsangriff 71 manipuliert oder im Rahmen eines Diebstahlangriffs 72 erzeugt sein können, wobei es ein Zweck des KN-Moduls 10 ist, einen Manipulationsangriff 71 oder einen Diebstahlangriff 72 mittels der KI-Submodule 2, 4, 6 und des KI-Ersatzmoduls 3 zu erkennen und abzuwehren.In 1 indicates that the raw sensor data 73 can be manipulated by a manipulation attack 71 or generated as part of a theft attack 72, with the purpose of the KN module 10 being to prevent a manipulation attack 71 or a theft attack 72 using the AI submodules 2, 4, 6 and the AI replacement module 3 to recognize and fend off.

2 zeigt ein schematisches Blockdiagramm eines Verfahrens zum Betreiben eines KNN während des Betriebs eines Fahrzeugs mit mehreren Sensoren. Das KNN 1 wird mit Eingangsdaten gespeist und gewährleistet eine Kernfunktionalität, indem aus Ausgangsdaten des KNN Steuersignale abgeleitet werden. Das Verfahren umfasst die folgenden Schritte:

  • In dem Schritt S1 werden Sensordaten empfangen.
  • In dem Schritt S2.1 werden die Sensordaten vorverarbeitet, um Eingangsdaten zum Speisen des KNN zu erhalten. Alternativ oder zusätzlich werden in dem Schritt S2.2 die Sensordaten hinsichtlich der Sensordatenlegalität analysiert. Werden Sensordaten nicht vorverarbeitet kann das KNN auch mit Sensorrohdaten gespeist werden.
  • In dem Schritt S3 wird ein KI-Ersatzmodul 3 bereitgestellt, welches zu dem KNN redundant ist, wobei das KI-Ersatzmodul 3 eingerichtet ist, die Redundanz mit zu dem KNN 1 alternativen Mitteln zu gewährleisten. Die alternativen Mittel können als unterschiedliche Eingangsdaten, beispielsweise Sensorrohdaten oder vorverarbeitete Sensordaten bzw. anderweitig vorverarbeitete Sensordaten ausgebildet sein oder als eine KI-Routine, die auf einer anderen Technologie oder auf einer anderen Struktur wie das KNN 1 beruht, ausgebildet sein.
  • In dem Schritt S4.1 werden die KNN-Ausgangsdaten hinsichtlich deren Konfidenz analysiert. Alternativ oder zusätzlich werden die KNN-Ausgangsdaten in dem Schritt S4.2 verändert, um die KNN-Ausgangsdaten zu entwerten.
  • In dem Schritt S5 wird eine Auswahl an Ergebnisdaten aus wenigstens einem der Schritte S2.1, S2.2, S4.1, S4.2 gespeichert.
  • In dem Schritt S6 werden die vorangehenden Verfahrensschritte S1 bis S5 ausgewertet und eine Reaktion auf die Auswertung wird eingeleitet.
2 FIG. 12 shows a schematic block diagram of a method for operating an ANN during operation of a vehicle with multiple sensors. The ANN 1 is fed with input data and ensures a core functionality in that control signals are derived from the output data of the ANN. The procedure includes the following steps:
  • In step S1 sensor data are received.
  • In step S2.1, the sensor data are pre-processed in order to obtain input data for feeding the ANN. Alternatively or additionally, in step S2.2, the sensor data are analyzed with regard to the legality of the sensor data. If sensor data is not pre-processed, the ANN can also be fed with raw sensor data.
  • In step S3, an AI replacement module 3 is provided, which is redundant to the ANN, the AI replacement module 3 being set up to ensure the redundancy with alternative means to the ANN 1 . The alternative means can be embodied as different input data, for example raw sensor data or preprocessed sensor data or otherwise preprocessed sensor data, or as an AI routine that is based on a different technology or on a different structure than the ANN 1 .
  • In step S4.1, the ANN output data are analyzed with regard to their confidence. Alternatively or additionally, the KNN output data are changed in step S4.2 in order to invalidate the KNN output data.
  • In step S5, a selection of result data from at least one of steps S2.1, S2.2, S4.1, S4.2 is stored.
  • In step S6, the preceding method steps S1 to S5 are evaluated and a reaction to the evaluation is initiated.

BezugszeichenlisteReference List

S 1-S6S1-S6
Verfahrensschritteprocess steps
11
KNNCAN
22
KI-SubmodulAI submodule
33
KI-ErsatzmodulAI replacement module
44
KI-SubmodulAI submodule
55
Datenspeicherdata storage
66
KI-SubmodulAI submodule
1010
KI-ModulAI module
2121
KI-RoutineAI routine
2222
KI-RoutineAI routine
3131
KI-ErsatzroutineAI replacement routine
3232
KI-ErsatzroutineAI replacement routine
3333
KI-ErsatzroutineAI replacement routine
4141
KI-RoutineAI routine
4242
KI-RoutineAI routine
5151
Musterspeicherpattern store
5252
Konfidenzspeicherconfidence memory
6161
KI-RoutineAI routine
6262
KI-RoutineAI routine
6363
KI-RoutineAI routine
6464
KI-RoutineAI routine
7474
ErgebnisResult
7171
Manipulationsangriffmanipulation attack
7272
Diebstahlangrifftheft attack
7373
Sensorrohdatensensor raw data

Claims (20)

Verfahren zum Betreiben eines künstlichen neuronalen Netzwerks, nachfolgend als KNN (1) bezeichnet, während des Betriebs eines Fahrzeugs mit mehreren Sensoren, indem das KNN (1) mit Eingangsdaten gespeist wird und eine Kernfunktionalität gewährleistet, indem aus Ausgangsdaten des KNN (1) Steuersignale abgeleitet werden, mit den folgenden Schritten: - Empfangen (S1) von Sensordaten; - Vorverarbeiten (S2.1) der Sensordaten, um Eingangsdaten zum Speisen des KNN, zu erhalten und/oder Analysieren (S2.2) der Sensordaten hinsichtlich der Sensordatenlegalität; - Bereitstellen (S3) eines KI-Ersatzmoduls, das zu dem KNN (1) redundant ist, wobei das KI-Ersatzmodul eingerichtet ist, die Redundanz mit zu dem KNN (1) alternativen Mitteln zu gewährleisten; - Analysieren (S4.1) der KNN-Ausgangsdaten hinsichtlich deren Konfidenz und/oder Verändern (S4.2) der KNN-Ausgangsdaten, um die KNN-Ausgangsdaten zu entwerten; - Speichern (S5) einer Auswahl an Ergebnisdaten aus wenigstens einem der Schritte: Vorverarbeiten und/oder Analysieren der Sensordaten; Analysieren und/oder Verändern der KNN-Ausgangsdaten; - Auswerten (S6) der vorangehenden Verfahrensschritte und Einleiten einer Reaktion auf die Auswertung.Method for operating an artificial neural network, hereinafter referred to as ANN (1), during the operation of a vehicle with multiple sensors, by feeding the ANN (1) with input data and ensuring a core functionality by deriving control signals from the output data of the ANN (1). with the following steps: - receiving (S1) sensor data; - Preprocessing (S2.1) the sensor data in order to obtain input data for feeding the ANN and/or analyzing (S2.2) the sensor data with regard to the sensor data legality; - Providing (S3) an AI replacement module that is redundant to the ANN (1), the AI replacement module being set up to ensure the redundancy with the ANN (1) alternative means; - Analysis (S4.1) of the ANN output data obviously their confidence and/or changing (S4.2) the ANN output data in order to invalidate the ANN output data; - Saving (S5) a selection of result data from at least one of the steps: preprocessing and/or analyzing the sensor data; Analyzing and/or changing the ANN output data; - Evaluation (S6) of the preceding method steps and initiation of a reaction to the evaluation. Verfahren nach Anspruch 1, wobei die Sensordaten vorverarbeitet werden, indem die Sensordaten mittels Binning quantifiziert werden, wobei insbesondere eine Bin-Größe zur Laufzeit gewählt wird.procedure after claim 1 , the sensor data being pre-processed by the sensor data being quantified by means of binning, with a bin size being selected at runtime in particular. Verfahren nach einem der vorstehenden Ansprüche, wobei die Sensordaten vorverarbeitet werden, indem die Sensordaten nach Relevanz für die Kernfunktionalität selektiert werden.Method according to one of the preceding claims, wherein the sensor data are pre-processed by the sensor data being selected according to relevance for the core functionality. Verfahren nach einem der vorstehenden Ansprüche, wobei die Sensordaten hinsichtlich der Sensordatenlegalität analysiert werden, indem die Veränderung einer Sensordatenzeitfolge untersucht wird.A method according to any one of the preceding claims, wherein the sensor data is analyzed for sensor data legality by examining the change in sensor data time series. Verfahren nach einem der vorstehenden Ansprüche, wobei die Sensordaten analysiert werden, indem eine Verteilung der Sensordaten mit einer Verteilung von Trainingsdaten, mit welchen das KNN (1) in einer Trainingsphase trainiert wurde, verglichen wird.Method according to one of the preceding claims, in which the sensor data are analyzed by comparing a distribution of the sensor data with a distribution of training data with which the ANN (1) was trained in a training phase. Verfahren nach einem der vorstehenden Ansprüche, sofern auf Anspruch 2 rückbezogen, wobei ein KI-Ersatzmodul mit mehreren KI-Ersatzroutinen bereitgestellt wird und eine KI-Ersatzroutine anhand einer Bingröße nach Anspruch 2 ausgewählt wird.Method according to one of the preceding claims, provided that claim 2 back-related, providing an AI replacement module with multiple AI replacement routines and an AI replacement routine based on a bin size claim 2 is selected. Verfahren nach einem der vorstehenden Ansprüche, wobei ein KI-Ersatzmodul mit mehreren KI-Ersatzroutinen bereitgestellt wird, die auf wenigstens einer der folgenden Technologien beruhen: Support-Vector-Machines, Entscheidungsbäume, entscheidungsbasierte KI-Komponenten, die nicht auf Daten trainiert wurden; wobei wenigstens eine KI-Ersatzroutine aufgrund des Vorverarbeiten und/oder Analysieren der Sensordaten ausgewählt wird, um den Einfluss von Eingangsdatenabweichungen auf die Ausgangsdaten zu reduzieren.Method according to one of the preceding claims, wherein an AI replacement module is provided with a plurality of AI replacement routines based on at least one of the following technologies: support vector machines, decision trees, decision-based AI components that have not been trained on data; wherein at least one AI replacement routine is selected based on the pre-processing and/or analyzing of the sensor data in order to reduce the influence of input data deviations on the output data. Verfahren nach einem der vorstehenden Ansprüche, wobei wenigstens ein spezialisiertes KI-Ersatzmodul bereitgestellt wird, das eingerichtet ist, auf einer Teilmenge des Eingangsdatenraums des KNN (1) wertigere Ausgangsdaten als das KNN zu produzieren.Method according to one of the preceding claims, wherein at least one specialized AI replacement module is provided, which is set up to produce more valuable output data than the ANN on a subset of the input data space of the ANN (1). Verfahren nach einem der vorstehenden Ansprüche, wobei wenigstens ein robustes KI-Ersatzmodul bereitgestellt wird, das eingerichtet ist, für Daten, die nach einem spezifischen Muster verfälscht wurden, konfidentere Ausgangsdaten als das KNN (1) zu produzieren.Method according to one of the preceding claims, wherein at least one robust AI replacement module is provided which is set up to produce more confidential output data than the ANN (1) for data which has been corrupted according to a specific pattern. Verfahren nach einem der vorstehenden Ansprüche, wobei die Eingangsdaten und/oder die Sensordaten dahingehend untersucht werden, ob die Sensordaten auf einem Prüfstand generiert wurden bzw. sich ein Steuergerät, insbesondere für ein Fahrzeug, welches Steuersignale aus den Ausgangsdaten des KNN (1) ableitet, sich auf einem Prüfstand befindet.Method according to one of the preceding claims, in which the input data and/or the sensor data are examined to determine whether the sensor data were generated on a test bench or whether a control device, in particular for a vehicle, which derives control signals from the output data of the ANN (1) is on a test bench. Verfahren nach Anspruch 9, wobei die Ausgangsdaten entwertet werden, wenn ein Prüfstandsbetrieb, der nicht autorisiert wurde, detektiert wurde.procedure after claim 9 , the output data being invalidated if test bench operation that was not authorized was detected. Verfahren nach einem der vorstehenden Ansprüche, wobei die Konfidenz zu Ausgangsdaten gespeichert wird und ein Konfidenzverlauf einer Zeitreihe von Ausgangsdaten analysiert wird und/oder die Konfidenz der Ausgangsdaten des KNN (1) mit der Konfidenz eines KI-Ersatzmoduls verglichen wird.Method according to one of the preceding claims, wherein the confidence in the output data is stored and a confidence curve of a time series of output data is analyzed and/or the confidence in the output data of the ANN (1) is compared with the confidence in an AI replacement module. Verfahren nach Anspruch 12, wobei aufgrund der Konfidenzanalyse und/oder aufgrund des Konfidenzvergleichs auf eine Ursache für Auffälligkeiten bzgl. der Konfidenz geschlossen wird, wenn Auffälligkeiten bzgl. der Konfidenz festgestellt werden.procedure after claim 12 , a cause for abnormalities with regard to the confidence being inferred on the basis of the confidence analysis and/or based on the confidence comparison if abnormalities with regard to the confidence are determined. Verfahren nach einem der vorstehenden Ansprüche, wobei Angriffsdaten oder Daten über einen potenziellen Angriff an einen zentralen Datenspeicher übermittelt werden.Method according to one of the preceding claims, wherein attack data or data about a potential attack are transmitted to a central data store. Verfahren nach einem der vorstehenden Ansprüche, wobei ausgewählt wird, ob Ausgangsdaten des KNN (1) und Ausgangsdaten des KI-Ersatzmoduls zu mitteln sind oder ob das KI-Ersatzmodul oder das KNN (1) konfidenteste Ausgangsdaten produziert, wenn sich die Ausgangsdaten stärker als erwartet unterscheiden.Method according to one of the preceding claims, wherein it is selected whether output data of the ANN (1) and output data of the AI replacement module are to be averaged or whether the AI replacement module or the ANN (1) produces the most confidential output data if the output data changes more strongly than expected differentiate. Verfahren nach einem der vorstehenden Ansprüche, wobei die Kernfunktionalität das autonome oder assistierte Fahren betrifft, insbesondere das Erkennen und Verfolgen von Fahrspuren, Fahrbahnbegrenzungen, Fahrbahnmarkierungen, weiteren Kraftfahrzeugen, Verkehrsschildern und/oder Lichtzeichen(anlagen), und das Verfahren eingerichtet ist, einen Angriff auf das KNN (1) zu detektieren und insbesondere abzuwehren.Method according to one of the preceding claims, wherein the core functionality relates to autonomous or assisted driving, in particular the recognition and tracking of lanes, lane boundaries, lane markings, other motor vehicles, traffic signs and / or light signals (systems), and the method is set up to attack to detect and, in particular, to fend off the ANN (1). Verfahren nach einem der vorstehenden Ansprüche, wobei Ausgangsdaten des KNN (1) und des KI-Ersatzmoduls (3; 31; 32; 33) hinsichtlich Unterschieden analysiert werden und entschieden wird, ob eine Ursache für Unterschiede sicherheitskritisch für den Betrieb des KI-Moduls (10) ist.Method according to one of the preceding claims, wherein output data of the ANN (1) and the AI replacement module (3; 31; 32; 33) are analyzed with regard to differences and a decision is made as to whether a cause for differences is safety-critical for the operation of the AI module (10). KI-Modul (10), welches eingerichtet ist, das Verfahren nach einem der vorstehenden Ansprüche durchzuführen, mit - einem KNN (1), welches die Kernfunktionalität gewährleistet; - einer Recheneinheit, insbesondere einem KI-Submodul (2; 21; 22), welche eingerichtet ist, die Sensordaten vorzuverarbeiten, um Eingangsdaten zum Speisen des KNN (1) zu erhalten und/oder Sensordaten hinsichtlich der Sensordatenlegalität zu analysieren; - einem KI-Ersatzmodul (3; 31; 32; 33), insbesondere mit einer Vielzahl KI-Ersatzroutinen (31; 32; 33), das zu dem KNN (1) redundant ist, indem das KI-Ersatzmodul (3) eingerichtet ist, die Redundanz zu dem KNN (1) zu gewährleisten, wobei das KI-Ersatzmodul die Ausgangsdaten mit alternativen Mitteln wie das KNN (1) ermittelt; - einer Recheneinheit, insbesondere einem KI-Submodul (4; 41; 42), welche eingerichtet ist, die KNN-Ausgangsdaten hinsichtlich deren Konfidenz zu analysieren und/oder die KNN-Ausgangsdaten zu verändern; - einem Datenspeicher (5; 51; 52) zum Speichern relevanter Ergebnisdaten; - einem KI-Submodul (6; 61; 62; 63; 64), das eingerichtet ist, die Verfahrensschritte eines Verfahrens nach einem der vorstehenden Ansprüche auszuwerten und eine Reaktion einzuleiten, wobei sichergestellt ist, dass das KNN (1) lediglich während des Betriebs der weiteren Komponenten betreibbar ist.AI module (10), which is set up to carry out the method according to any one of the preceding claims, with - an ANN (1), which ensures the core functionality; - A computing unit, in particular an AI submodule (2; 21; 22), which is set up to preprocess the sensor data in order to receive input data for feeding the ANN (1) and/or to analyze sensor data with regard to sensor data legality; - An AI replacement module (3; 31; 32; 33), in particular with a large number of AI replacement routines (31; 32; 33), which is redundant to the ANN (1) in that the AI replacement module (3) is set up to ensure the redundancy to the ANN (1), the AI replacement module determining the output data with alternative means such as the ANN (1); - A computing unit, in particular an AI submodule (4; 41; 42), which is set up to analyze the KNN output data with regard to their confidence and/or to change the KNN output data; - a data memory (5; 51; 52) for storing relevant result data; - An AI submodule (6; 61; 62; 63; 64), which is set up to evaluate the method steps of a method according to one of the preceding claims and to initiate a reaction, it being ensured that the ANN (1) only during operation the other components can be operated. Trainingsverfahren für ein KI Modul, welches eingerichtet ist, das Verfahren nach einem der vorstehenden Ansprüche 1 bis 14 durchzuführen, wobei das System mit einem Trainingsdatensatz umfassend Trainingseingangsdaten und Soll-Ausgangsdaten trainiert wird, wobei die Trainingseingangsdaten Daten bezüglich eines Angriffs auf das KNN (1) des KI Moduls, enthalten.Training method for an AI module, which is set up, the method according to one of the above Claims 1 until 14 to be carried out, the system being trained with a training data set comprising training input data and target output data, the training input data containing data relating to an attack on the ANN (1) of the AI module. Computerprogrammprodukt mit Programmcode-Mitteln, um das Verfahren gemäß einem der Ansprüche 1-17 durchzuführen.Computer program product with program code means to implement the method according to one of Claims 1 - 17 to perform.
DE102021211257.9A 2021-10-06 2021-10-06 Prevent attacks on an artificial neural network Pending DE102021211257A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102021211257.9A DE102021211257A1 (en) 2021-10-06 2021-10-06 Prevent attacks on an artificial neural network
PCT/EP2022/076923 WO2023057271A1 (en) 2021-10-06 2022-09-28 Preventing attacks on an artificial neural network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021211257.9A DE102021211257A1 (en) 2021-10-06 2021-10-06 Prevent attacks on an artificial neural network

Publications (1)

Publication Number Publication Date
DE102021211257A1 true DE102021211257A1 (en) 2023-04-06

Family

ID=83995701

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021211257.9A Pending DE102021211257A1 (en) 2021-10-06 2021-10-06 Prevent attacks on an artificial neural network

Country Status (2)

Country Link
DE (1) DE102021211257A1 (en)
WO (1) WO2023057271A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004061405A2 (en) 2002-12-20 2004-07-22 Siemens Aktiengesellschaft Method and device for fault analysis of motor vehicle control units and corresponding control unit
DE112019005425T5 (en) 2018-10-30 2021-07-22 Motional Ad Llc REDUNDANCY IN AUTONOMOUS VEHICLES

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10324467B1 (en) * 2017-12-29 2019-06-18 Apex Artificial Intelligence Industries, Inc. Controller systems and methods of limiting the operation of neural networks to be within one or more conditions
US11814083B2 (en) * 2020-03-31 2023-11-14 Uatc, Llc Asynchronous processing for autonomous vehicle computing systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004061405A2 (en) 2002-12-20 2004-07-22 Siemens Aktiengesellschaft Method and device for fault analysis of motor vehicle control units and corresponding control unit
DE112019005425T5 (en) 2018-10-30 2021-07-22 Motional Ad Llc REDUNDANCY IN AUTONOMOUS VEHICLES

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
GROSSE, Kathrin [et al.]: On the (statistical) detection of adversarial examples. Version 2, 17.10.2017, S. 1-13, URL: https://arxiv.org/pdf/1702.06280 [abgerufen am 18.01.2023]
LEE, Keuntaek [et al.]: Ensemble bayesian decision making with redundant deep perceptual control policies. In: 2019 18th IEEE International Conference On Machine Learning And Applications (ICMLA). IEEE, 2019. S. 831-837
WU, Fei [et al]: Defense against adversarial attacks in traffic sign images identification based on 5G. EURASIP Journal on Wireless Communications and Networking, 2020, 2020. Jg., Nr. 1, S. 1-15

Also Published As

Publication number Publication date
WO2023057271A1 (en) 2023-04-13

Similar Documents

Publication Publication Date Title
WO2019068291A1 (en) Testing a neural network
DE102020005507A1 (en) Method for testing an automated driving function
DE102018220711A1 (en) Measuring the vulnerability of AI modules to attempts at deception
DE102018222720A1 (en) Monitoring of driving functions based on neural networks
DE102020214860A1 (en) SYSTEM AND PROCEDURE FOR DETECTING A MALICIOUS ATTACK
DE102021207613A1 (en) Process for quality assurance of a system
DE102019208735B4 (en) Method for operating a driver assistance system for a vehicle and a driver assistance system for a vehicle
DE102021211257A1 (en) Prevent attacks on an artificial neural network
DE102019206720B4 (en) Monitoring of an AI module of a driving function of a vehicle
DE102021204040A1 (en) Method, device and computer program for creating training data in the vehicle
DE102021201833A1 (en) Device for processing at least one input data set using a neural network and method
DE102017219269A1 (en) Classification with automatic selection of promising learning data
DE102020212921A1 (en) Method, computer program and device for evaluating a usability of simulation data
EP3973455A1 (en) Method for assessing a function-specific robustness of a neural network
WO2020233992A1 (en) Method for making a neural network more robust in a function-specific manner
DE102019118607A1 (en) ANOMALY DETECTOR FOR VEHICLE CONTROL SIGNALS
DE102021207471A1 (en) TECHNIQUES FOR PROTECTING A COMPUTER-BASED CLASSIFICATOR
DE102021208349B3 (en) Method and sensor system for merging sensor data and vehicle with a sensor system for merging sensor data
DE102021214329A1 (en) Method and device for determining coverage of a data set for a machine learning system with regard to trigger events
WO2021191115A1 (en) Quantitative rating of the uncertainty of statements by a classifier
DE102023132137A1 (en) Test procedure and test system for testing the security of a vehicle against cyber attacks
WO2022063577A1 (en) Computer-implemented method, computer program, computer-readable data carrier, data carrier signal and system for preventing a model stealing attack on a software system, and control system for a driving system
DE102020213057A1 (en) Method and device for checking an AI-based information processing system used in partially automated or fully automated control of a vehicle
DE102020209900A1 (en) Method and analysis device for processing environmental sensor data
DE102021210566A1 (en) Quantitative assessment of the uncertainty of statements from a classifier based on measurement data and several processing products of the same

Legal Events

Date Code Title Description
R163 Identified publications notified