DE102021211257A1 - Prevent attacks on an artificial neural network - Google Patents
Prevent attacks on an artificial neural network Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Details 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/02—Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
- B60W50/0205—Diagnosing or detecting failures; Failure detection models
- B60W2050/0215—Sensor 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.
- - 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.
-
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
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
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
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
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
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
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
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
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
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
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
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
In
- 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.
- 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, theAI 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)
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)
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)
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 |
-
2021
- 2021-10-06 DE DE102021211257.9A patent/DE102021211257A1/en active Pending
-
2022
- 2022-09-28 WO PCT/EP2022/076923 patent/WO2023057271A1/en unknown
Patent Citations (2)
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)
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 |