DE102020210874A1 - Apparatus, system and method for preventing malicious attacks by program code on a vehicle - Google Patents
Apparatus, system and method for preventing malicious attacks by program code on a vehicle Download PDFInfo
- Publication number
- DE102020210874A1 DE102020210874A1 DE102020210874.9A DE102020210874A DE102020210874A1 DE 102020210874 A1 DE102020210874 A1 DE 102020210874A1 DE 102020210874 A DE102020210874 A DE 102020210874A DE 102020210874 A1 DE102020210874 A1 DE 102020210874A1
- Authority
- DE
- Germany
- Prior art keywords
- program codes
- vehicle
- execution environment
- codes
- malicious
- 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
- 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/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- 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/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- 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/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Abstract
Die Anmeldung stellt eine Vorrichtung, ein System und ein Verfahren zur Verhinderung böswilliger Angriffe durch Programmcodes auf ein Fahrzeug vor, wobei die Programmcodes so eingerichtet werden, dass sie in einer isolierten Ausführungsumgebung eines elektronischen Systems des Fahrzeugs durchgeführt werden. Die Vorrichtung umfasst: ein Bestimmungsmodul, das zum Bestimmen einer Betriebsart und eines Bereichs eines Betriebsobjekts für einen Betrieb der Programmcodes konfiguriert ist; ein Berechnungsmodul, das abhängig von der Betriebsart und dem Bereich des Betriebsobjekts einen Einflusswert berechnet, der einen Grad eines Einflusses auf die Sicherheit des Fahrzeugs, falls die Programmcodes in einer ursprünglichen Ausführungsumgebung des elektronischen Systems des Fahrzeugs zur Ausführung des Betriebs durchgeführt würden, repräsentiert; und ein Entscheidungsmodul, das zum Auswerten des Einflusswerts konfiguriert wird, um festzustellen, ob die Programmcodes Schadcodes sind; und beim Feststellen, dass die Programmcodes Schadcodes sind, eine Durchführung der Programmcodes in der ursprünglichen Ausführungsumgebung zu verbieten.The application presents an apparatus, a system and a method for preventing malicious attacks by program codes on a vehicle, the program codes being set up in such a way that they are carried out in an isolated execution environment of an electronic system of the vehicle. The apparatus includes: a determination module configured to determine an operation mode and a range of an operation object for operation of the program codes; a calculation module which, depending on the operating mode and the area of the operating object, calculates an influence value which represents a degree of influence on the safety of the vehicle if the program codes were carried out in an original execution environment of the electronic system of the vehicle for executing the operation; and a decision module that is configured to evaluate the influence value in order to determine whether the program codes are malicious codes; and upon determining that the program codes are malicious codes, to prohibit execution of the program codes in the original execution environment.
Description
Technisches GebietTechnical area
Die Anmeldung betrifft eine Vorrichtung, ein System und ein Verfahren zur Verhinderung böswilliger Angriffe durch Programmcodes auf ein Fahrzeug.The application relates to a device, a system and a method for preventing malicious attacks by program code on a vehicle.
Stand der TechnikState of the art
Da das Internet der Fahrzeuge eine Interaktion zwischen einem Fahrzeug und anderen Fahrzeugen sowie Kommunikationsnetzen ermöglichen kann, weist es viele Vorteile auf, die beispielsweise die Fähigkeit, die Wahrscheinlichkeit einer Fahrzeugkollision zu verringern, die Unterstützung eines Fahrzeugbesitzers durch Navigieren in Echtzeit, und die Verbesserung der Verkehrseffizienz umfassen.Since the Internet of Vehicles can enable interaction between a vehicle and other vehicles and communication networks, it has many advantages, including the ability to reduce the likelihood of a vehicle collision, assisting a vehicle owner with real-time navigation, and improving traffic efficiency include.
Mit zunehmender Interaktion zwischen dem Fahrzeug und der Außenwelt sind jedoch fahrzeuginterne Softwares und fahrzeuginterne elektronische Systeme komplexer geworden, was potenzielle Probleme der Fahrzeugsicherheit mit sich bringt. Aufgrund der zunehmenden Lücken im Fahrzeugsystem ist es beispielsweise für Hacker einfacher, böswillige Angriffe auf Fahrzeuge über das Netzwerk erfolgreich vorzunehmen. Selbst in einem fahrzeuginternen Netzwerk besteht auch das Risiko, dass Schadprogramme über verschiedene Schnittstellen in das fahrzeuginterne System gelangen und die böswillige Kontrolle lokal im fahrzeuginternen Netzwerk initiieren. Ferner sind einige Schadprogramme unter statischer Beobachtung schwer zu erkennen. Sobald diese Schadprogramme in einer bestimmten Umgebung durchgeführt werden, wird ihre Aggressivität ausgelöst, wodurch die Schlüsselkomponenten des fahrzeuginternen elektronischen Systems modifiziert werden, so dass das fahrzeuginterne System beschädigt wird und schreckliche Sicherheitsrisiken im fahrzeuginternen System verursacht werden.However, as the interaction between the vehicle and the outside world has increased, in-vehicle software and in-vehicle electronic systems have become more complex, creating potential vehicle safety issues. Due to the increasing number of gaps in the vehicle system, it is easier for hackers, for example, to successfully carry out malicious attacks on vehicles over the network. Even in an in-vehicle network, there is also the risk that malicious programs will get into the vehicle-internal system via various interfaces and initiate malicious control locally in the vehicle-internal network. Furthermore, some malicious programs are difficult to detect under static observation. As soon as these malicious programs are executed in a certain environment, their aggressiveness is triggered, thereby modifying the key components of the in-vehicle electronic system, thus damaging the in-vehicle system and creating terrible security risks in the in-vehicle system.
Daher ist eine technische Ausgestaltung dringend erforderlich, um die oben genannten Probleme im Stand der Technik zu lösen.Therefore, a technical design is urgently required in order to solve the above-mentioned problems in the prior art.
Offenbarung der ErfindungDisclosure of the invention
Angesichts der oben genannten Probleme im Stand der Technik stellt die Anmeldung eine technische Ausgestaltung zur Verhinderung böswilliger Angriffe durch Programmcodes auf ein Fahrzeug bereit, mit der effektiv sichergestellt werden kann, dass ein böswilliger Betrieb der Programmcodes keine schädlichen Auswirkungen auf das fahrzeuginterne System erzeugt.In view of the above-mentioned problems in the prior art, the application provides a technical embodiment for preventing malicious attacks by program codes on a vehicle, with which it can be effectively ensured that malicious operation of the program codes does not produce any harmful effects on the vehicle-internal system.
Gemäß einem Aspekt der Anmeldung wird eine Vorrichtung zur Verhinderung böswilliger Angriffe durch Programmcodes auf ein Fahrzeug bereitgestellt, wobei die Programmcodes so eingerichtet sind, dass sie in einer isolierten Ausführungsumgebung eines elektronischen Systems des Fahrzeugs durchgeführt werden, die Vorrichtung umfassend: ein Bestimmungsmodul, das zum Bestimmen einer Betriebsart und eines Bereich eines Betriebsobjekts für einen Betrieb der Programmcodes konfiguriert ist; ein Berechnungsmodul, das abhängig von der Betriebsart und dem Bereich des Betriebsobjekts einen Einflusswert berechnet, der einen Grad eines Einflusses auf die Sicherheit des Fahrzeugs, falls die Programmcodes in einer ursprünglichen Ausführungsumgebung des elektronischen Systems des Fahrzeugs zur Ausführung des Betriebs durchgeführt würden, repräsentiert; und ein Entscheidungsmodul, das zum Auswerten des Einflusswerts konfiguriert wird, um festzustellen, ob die Programmcodes Schadcodes sind; und beim Feststellen, dass die Programmcodes Schadcodes sind, eine Durchführung der Programmcodes in der ursprünglichen Ausführungsumgebung zu verbieten.According to one aspect of the application, a device for preventing malicious attacks by program codes on a vehicle is provided, the program codes being set up such that they are carried out in an isolated execution environment of an electronic system of the vehicle, the device comprising: a determination module that is used to determine an operating mode and a range of an operating object are configured to operate the program codes; a calculation module which, depending on the operating mode and the area of the operating object, calculates an influence value which represents a degree of influence on the safety of the vehicle if the program codes were carried out in an original execution environment of the electronic system of the vehicle for executing the operation; and a decision module that is configured to evaluate the influence value in order to determine whether the program codes are malicious codes; and upon determining that the program codes are malicious codes, to prohibit execution of the program codes in the original execution environment.
Gemäß einer möglichen Ausführungsform ist das Entscheidungsmodul ferner so konfiguriert, dass beim Feststellen, dass die Programmcodes Schadcodes sind, die Programmcodes von der isolierten Ausführungsumgebung abgeführt werden und diese Situation als ein abnormales Ereignis einem Speicher des elektronischen Systems des Fahrzeugs zur Speicherung bereitgestellt wird; und dass beim Feststellen, dass die Programmcodes keine Schadcodes sind, die Programmcodes in die ursprüngliche Ausführungsumgebung zur Durchführung der Programmcodes in der ursprünglichen Ausführungsumgebung ausgegeben werden.According to one possible embodiment, the decision module is further configured such that when it is determined that the program codes are malicious codes, the program codes are removed from the isolated execution environment and this situation is made available as an abnormal event to a memory of the electronic system of the vehicle for storage; and that when it is established that the program codes are not malicious codes, the program codes are output into the original execution environment for executing the program codes in the original execution environment.
Gemäß einer möglichen Ausführungsform wertet das Entscheidungsmodul den Einflusswert aus, indem ein vorgegebener Schwellenwert für den Bereich des Betriebsobjekts aus mehreren in dem Speicher des elektronischen Systems des Fahrzeugs gespeicherten vorgegebenen Schwellenwerten ausgewählt wird, der berechnete Einflusswert mit dem ausgewählten vorgegebenen Schwellenwert zum Erhalten eines Vergleichsergebnisses verglichen wird, die Programmcodes als Schadcodes festgestellt werden, wenn das Vergleichsergebnis zeigt, dass der Einflusswert größer als oder gleich dem vorgegebenen Schwellenwert ist, und die Programmcodes nicht als Schadcodes festgestellt werden, wenn das Vergleichsergebnis zeigt, dass der Einflusswert kleiner als der vorgegebene Schwellenwert ist.According to one possible embodiment, the decision module evaluates the influencing value by selecting a predetermined threshold value for the area of the operating object from a plurality of predetermined threshold values stored in the memory of the electronic system of the vehicle, and comparing the calculated influencing value with the selected predetermined threshold value to obtain a comparison result , the program codes are determined to be malicious codes if the comparison result shows that the influencing value is greater than or equal to the specified threshold value, and the program codes are not determined to be malicious codes if the comparison result shows that the influencing value is smaller than the specified threshold value.
Gemäß einer möglichen Ausführungsform umfasst die Vorrichtung ferner ein Verifizierungsmodul, das konfiguriert ist, die Programmcodes mittels im Speicher des elektronischen Systems des Fahrzeugs gespeicherter Verifizierungsdaten zu verifizieren, wobei die Verifizierungsdaten optional eine digitalisierte Whitelist darstellen; wobei das Verifizierungsmodul so konfiguriert ist, dass es im Fall, dass Etikettendaten der Programmcodes mit den Verifizierungsdaten übereinstimmen, das Einfließen der Programmcodes durch das Verifizierungsmodul in das Bestimmungsmodul zulässt; und dass es im Fall, dass Etikettendaten der Programmcodes mit den Verifizierungsdaten nicht übereinstimmen, die Programmcodes von der isolierten Ausführungsumgebung abführt, die Durchführung der Programmcodes in der ursprünglichen Ausführungsumgebung verbietet, und diese Situation als ein abnormales Ereignis dem Speicher zur Speicherung bereitstellt.According to one possible embodiment, the device further comprises a verification module which is configured to verify the program codes by means of verification data stored in the memory of the electronic system of the vehicle, the verification data optionally representing a digitized whitelist; where the The verification module is configured such that, in the event that label data of the program codes match the verification data, it allows the program codes to flow through the verification module into the determination module; and that in the event that the label data of the program codes do not match the verification data, it removes the program codes from the isolated execution environment, prohibits the execution of the program codes in the original execution environment, and provides this situation as an abnormal event to the memory for storage.
Gemäß einer möglichen Ausführungsform sind die Programmcodes verschlüsselte Programmcodes, wobei die Vorrichtung ferner ein Entschlüsselungsmodul umfasst, das zwischen dem Verifizierungsmodul und dem Bestimmungsmodul verbunden ist und dazu konfiguriert ist, die durch das Verifizierungsmodul durchlaufenden verschlüsselten Programmcodes zu entschlüsseln und die entschlüsselten Programmcodes an das Bestimmungsmodul zu übertragen.According to one possible embodiment, the program codes are encrypted program codes, the device further comprising a decryption module which is connected between the verification module and the determination module and is configured to decrypt the encrypted program codes passing through the verification module and to transmit the decrypted program codes to the determination module .
Gemäß einer möglichen Ausführungsform ist das Berechnungsmodul ferner zum Ermitteln eines aktuellen Zustands des Fahrzeugs konfiguriert, der zumindest einen aktuellen Zustand eines fahrenden Fahrzeugs oder eines stillstehenden Fahrzeugs enthält, wobei das Berechnungsmodul den Einflusswert berechnet, indem der Einflusswert mit einem vorerstellten Einflusswertmodell berechnet wird, wobei die Betriebsart, der Bereich des Betriebsobjekts sowie der aktuelle Zustand Modelleingaben sind und der Einflusswert eine Modellausgabe ist.According to one possible embodiment, the calculation module is further configured to determine a current state of the vehicle, which contains at least one current state of a moving vehicle or a stationary vehicle, the calculation module calculating the influence value by calculating the influence value with a pre-created influence value model, the Operating mode, the area of the operating object and the current state are model inputs and the influencing value is a model output.
Gemäß einer möglichen Ausführungsform ist das Einflusswertmodell ein maschinelles Lernmodell.According to one possible embodiment, the influencing value model is a machine learning model.
Gemäß einer möglichen Ausführungsform umfasst das maschinelle Lernmodell mindestens eines von einem zufälligen Waldmodell, einem Support-Vektor-Maschine-Modell und einem Modell eines faltenden neuronalen Netzwerks.According to one possible embodiment, the machine learning model comprises at least one of a random forest model, a support vector machine model and a model of a convolutional neural network.
Gemäß einer möglichen Ausführungsform umfasst die Vorrichtung ferner ein Handshake-Modul, das dazu konfiguriert ist, die Programmcodes über ein Handshake-Protokoll in das elektronische System des Fahrzeugs zu synchronisieren; und wobei das Handshake-Modul ferner dazu konfiguriert ist, das Handshake-Protokoll mittels im Speicher des elektronischen Systems des Fahrzeugs gespeicherter Identitätsauthentifizierungsdaten zu vervollständigen.According to one possible embodiment, the device further comprises a handshake module which is configured to synchronize the program codes into the electronic system of the vehicle via a handshake protocol; and wherein the handshake module is further configured to complete the handshake protocol using identity authentication data stored in the memory of the electronic system of the vehicle.
Gemäß einer möglichen Ausführungsform sind die isolierte Ausführungsumgebung und die ursprüngliche Ausführungsumgebung voneinander unabhängige Ausführungsumgebungen in dem elektronischen System des Fahrzeugs, wobei die Vorrichtung in der isolierten Ausführungsumgebung angeordnet ist, und wobei die isolierte Ausführungsumgebung eine virtuelle Ausführungsumgebung zum virtuellen Durchführen der Programmcodes umfasst, wobei die virtuelle Ausführungsumgebung optional eine virtuelle Maschine oder eine Sandbox ist.According to one possible embodiment, the isolated execution environment and the original execution environment are mutually independent execution environments in the electronic system of the vehicle, the device being arranged in the isolated execution environment, and wherein the isolated execution environment comprises a virtual execution environment for the virtual execution of the program codes, the virtual Execution environment is optionally a virtual machine or a sandbox.
Gemäß einer möglichen Ausführungsform umfasst die Betriebsart mindestens eine der folgenden Betriebe: Lesebetrieb, Schreibbetrieb und Löschbetrieb, wobei der Bereich des Betriebsobjekts mindestens einen der folgenden Bereiche umfasst: ein Basissystem, ein audiovisuelles Unterhaltungssystem, ein Fahrassistenzsystem, ein Antriebssystem und ein Bremssystem.According to one possible embodiment, the operating mode comprises at least one of the following operations: read operation, write operation and erase operation, the area of the operating object comprising at least one of the following areas: a basic system, an audiovisual entertainment system, a driver assistance system, a drive system and a braking system.
Gemäß einem weiteren Aspekt der Anmeldung wird ein System zur Verhinderung böswilliger Angriffe durch Programmcodes auf ein Fahrzeug bereitgestellt, wobei das System optional ein elektronisches System des Fahrzeugs oder ein mit dem elektronischen System des Fahrzeugs gekoppeltes System oder ein Steuergerät des elektronischen Systems des Fahrzeugs ist, das System umfassend: eine isolierte Ausführungsumgebung, die eine virtuelle Ausführungsumgebung zum virtuellen Durchführen der Programmcodes umfasst; eine oben beschriebene Vorrichtung, die in der isolierten Ausführungsumgebung angeordnet ist und die ein Bestimmungsmodul zum Bestimmen einer Betriebsart und eines Bereichs eines Betriebsobjekts der Programmcodes, ein Berechnungsmodul, das abhängig von der Betriebsart und dem Bereich des Betriebsobjekts einen Einflusswert berechnet, ein Entscheidungsmodul, das zum Auswerten des Einflusswerts konfiguriert ist, um zu feststellen, ob die Programmcodes Schadcodes sind; und einen Speicher, der zum Speichern von Referenzdaten zur Unterstützung der einzelnen Module der Vorrichtung und abnormalen Ereignissen konfiguriert ist; wobei beim Feststellen durch das Entscheidungsmodul, dass die Programmcodes Schadcodes sind, eine Durchführung der Programmcodes in der ursprünglichen Ausführungsumgebung verboten wird und diese Situation als ein abnormales Ereignis im Speicher gespeichert wird; und wobei beim Feststellen durch das Entscheidungsmodul, dass die Programmcodes keine Schadcodes sind, die Programmcodes in die ursprüngliche Ausführungsumgebung zur Durchführung der Programmcodes in der ursprünglichen Ausführungsumgebung ausgegeben werden.According to a further aspect of the application, a system for preventing malicious attacks by program codes on a vehicle is provided, the system optionally being an electronic system of the vehicle or a system coupled to the electronic system of the vehicle or a control unit of the electronic system of the vehicle which A system comprising: an isolated execution environment comprising a virtual execution environment for virtually executing the program codes; a device described above, which is arranged in the isolated execution environment and which has a determination module for determining an operating mode and a range of an operating object of the program codes, a calculation module that calculates an influence value depending on the operating mode and the range of the operating object, a decision module that is used for Evaluating the influencing value is configured to determine whether the program codes are malicious codes; and a memory configured to store reference data in support of the individual modules of the device and abnormal events; when it is determined by the decision module that the program codes are malicious codes, execution of the program codes in the original execution environment is prohibited and this situation is stored as an abnormal event in the memory; and when it is determined by the decision module that the program codes are not malicious codes, the program codes are output into the original execution environment for executing the program codes in the original execution environment.
Gemäß einer möglichen Ausführungsform umfasst das System ferner eine Kommunikationsschnittstelle für eine drahtlose Kommunikation mit einem Cloud-Speicher, wobei der Speicher über die Kommunikationsschnittstelle das abnormale Ereignis in den Cloud-Speicher hochlädt und über die Kommunikationsschnittstelle aktualisierte Referenzdaten aus dem Cloud-Speicher erhält.According to one possible embodiment, the system further comprises a communication interface for wireless communication with a cloud storage, the storage uploading the abnormal event to the cloud storage via the communication interface and via the Communication interface receives updated reference data from the cloud storage.
Gemäß einem anderen Aspekt der Anmeldung wird ein Verfahren zur Verhinderung böswilliger Angriffe durch Programmcodes auf ein Fahrzeug bereitgestellt, wobei das Verfahren optional durch die oben beschriebene Vorrichtung und/oder das oben beschriebene System ausgeführt wird, das Verfahren umfassend: Synchronisieren der Programmcodes in eine isolierte Ausführungsumgebung eines elektronischen Systems des Fahrzeugs; Bestimmen einer Betriebsart und eines Bereichs eines Betriebsobjekts für einen Betrieb der Programmcodes; Berechnen eines Einflusswerts abhängig von der Betriebsart und dem Bereich des Betriebsobjekts, wobei der Einflusswert einen Grad eines Einflusses auf die Sicherheit des Fahrzeugs, falls ein Programm in einer ursprünglichen Ausführungsumgebung des elektronischen Systems des Fahrzeugs zur Ausführung des Betriebs durchgeführt würde, repräsentiert; Auswerten des Einflusswerts, um festzustellen, ob die Programmcodes Schadcodes sind; und Verbieten einer Durchführung der Programmcodes in der ursprünglichen Ausführungsumgebung, falls festgestellt wird, dass die Programmcodes Schadcodes sind.According to another aspect of the application, a method for preventing malicious attacks by program codes on a vehicle is provided, the method optionally being carried out by the device described above and / or the system described above, the method comprising: synchronizing the program codes in an isolated execution environment an electronic system of the vehicle; Determining an operating mode and a range of an operating object for an operation of the program codes; Calculating an influence value depending on the operating mode and the area of the operating object, the influence value representing a degree of influence on the safety of the vehicle if a program were carried out in an original execution environment of the electronic system of the vehicle for executing the operation; Evaluating the influencing value in order to determine whether the program codes are malicious codes; and prohibiting execution of the program codes in the original execution environment if it is determined that the program codes are malicious codes.
Gemäß der technischen Ausgestaltung der Anmeldung wird durch eine virtuelle Durchführung der in die Fahrzeugseite hineingehenden Programmcodes ein Einflusswert des Betriebs dieser Programmcodes ermittelt, wobei mit dem Einflusswert bestimmt wird, ob die Programmcodes einen böswilligen Betrieb enthalten, wobei beim Feststellen des Vorhandenseins eines böswilligen Betriebs verboten wird, die Schadcodes in der ursprünglichen Ausführungsumgebung des elektronischen Systems des Fahrzeugs durchzuführen. Dadurch können die in die Fahrzeugseite hineingehenden Programmcodes effektiv erkannt werden und es kann sichergestellt werden, dass die Schadcodes keine schädlichen Angriffe auf das fahrzeuginterne System erzeugen.According to the technical embodiment of the application, a virtual execution of the program codes going into the vehicle side determines an influencing value for the operation of these program codes, the influencing value being used to determine whether the program codes contain a malicious operation, and if the existence of a malicious operation is detected, it is prohibited to execute the malicious code in the original execution environment of the vehicle's electronic system. As a result, the program codes entering the vehicle side can be effectively recognized and it can be ensured that the malicious codes do not generate any harmful attacks on the vehicle-internal system.
FigurenlisteFigure list
-
1 zeigt ein schematisches Blockdiagramm einer Vorrichtung zur Verhinderung böswilliger Angriffe durch Programmcodes auf ein Fahrzeug gemäß einer ausführbaren Ausführungsform der Anmeldung.1 shows a schematic block diagram of a device for preventing malicious attacks by program code on a vehicle according to an executable embodiment of the application. -
2 zeigt ein System zur Verhinderung böswilliger Angriffe durch Programmcodes auf ein Fahrzeug gemäß einer ausführbaren Ausführungsform der Anmeldung, umfassend die Vorrichtung und Ausführungsumgebung in1 .2 FIG. 13 shows a system for preventing malicious attacks by program code on a vehicle according to an executable embodiment of the application, comprising the device and execution environment in FIG1 . -
3 zeigt ein Flussdiagramm eines Verfahrens zur Verhinderung böswilliger Angriffe durch Programmcodes auf ein Fahrzeug gemäß einer ausführbaren Ausführungsform der Anmeldung.3 FIG. 3 shows a flow diagram of a method for preventing malicious attacks by program code on a vehicle according to an executable embodiment of the application. -
4 zeigt ein Flussdiagramm von Teilschritten der Hauptschritte in3 .4th FIG. 13 shows a flow chart of sub-steps of the main steps in FIG3 .
Ausführliche AusführungsformenDetailed embodiments
Die Erfindung betrifft hauptsächlich eine technische Ausgestaltung zur Verhinderung böswilliger Angriffe durch Programmcodes auf ein Fahrzeug. Gemäß der technischen Ausgestaltung der Anmeldung werden die Programmcodes nach dem Hineingehen in die Fahrzeugseite zunächst virtuell in einer isolierten Ausführungsumgebung durchgeführt. Falls während der virtuellen Durchführung der Programmcodes erkannt wird, dass die Programmcodes einen böswilligen Betrieb enthalten, wird die Durchführung der Programmcodes in der ursprünglichen Ausführungsumgebung verboten, wodurch verhindert wird, dass die Schadcodes das elektronische System des Fahrzeugs beeinträchtigt. Auf diese Weise kann durch die virtuelle Durchführung der Programmcodes vollkommen festgestellt werden, ob die Programmcodes einen böswilligen Betrieb enthalten; und selbst wenn die Programmcodes einen böswilligen Betrieb enthalten, wird keine schädliche Auswirkung auf das elektronische System des Fahrzeugs ausgeübt, wodurch die Schadcodes effektiv erkannt werden und verhindert wird, dass die in die Fahrzeugseite hineingehenden Schadcodes das Fahrzeug angreifen.The invention mainly relates to a technical embodiment for preventing malicious attacks by program codes on a vehicle. According to the technical configuration of the application, after entering the vehicle side, the program codes are initially carried out virtually in an isolated execution environment. If it is detected during the virtual execution of the program codes that the program codes contain a malicious operation, the execution of the program codes in the original execution environment is prohibited, which prevents the malicious code from affecting the electronic system of the vehicle. In this way, through the virtual execution of the program codes, it can be completely determined whether the program codes contain malicious operation; and even if the program codes contain malicious operation, no harmful effect is exerted on the vehicle's electronic system, thereby effectively detecting the malicious codes and preventing the malicious codes entering the vehicle side from attacking the vehicle.
Vor der Beschreibung von spezifischen Ausführungsbeispielen der Anmeldung werden die Begriffe der Anmeldung zunächst definiert.Before describing specific exemplary embodiments of the application, the terms of the application are first defined.
In der Anmeldung sind die isolierte Ausführungsumgebung und die ursprüngliche Ausführungsumgebung voneinander unabhängige Ausführungsumgebungen im fahrzeuginternen elektronischen System. Die isolierte Ausführungsumgebung kann weiterhin eine virtuelle Ausführungsumgebung umfassen. Mit anderen Worten ist die virtuelle Ausführungsumgebung ein Teil der isolierten Ausführungsumgebung. Bezüglich der Vorrichtung zur Verhinderung böswilliger Angriffe durch Programmcodes auf ein Fahrzeug gemäß der Anmeldung werden beispielsweise die Programmcodes in der virtuellen Ausführungsumgebung durchgeführt, und die Vorrichtung wird in einem Bereich der isolierten Ausführungsumgebung durchgeführt, der anders als die virtuelle Ausführungsumgebung ist.In the application, the isolated execution environment and the original execution environment are mutually independent execution environments in the in-vehicle electronic system. The isolated execution environment can further comprise a virtual execution environment. In other words, the virtual execution environment is part of the isolated execution environment. With regard to the device for preventing malicious attacks by program codes on a vehicle according to the application, for example, the program codes are executed in the virtual execution environment, and the device is executed in an area of the isolated execution environment that is different from the virtual execution environment.
In der Anmeldung bezieht sich „die virtuelle Ausführungsumgebung“ auf einen Codesicherheitsmechanismus, dient zum virtuellen Durchführen von Programmcodes, und ist insbesondere dazu geeignet, Schadcodes (z.B. Programmcodes, die nicht vertrauenswürdig oder destruktiv sind oder deren Programmabsicht nicht bestimmbar ist) durchzuführen, die möglicherweise böswilliges Angriffsverhalten aufweisen. Alle Änderungen, die durch das Durchführen der Programmcodes in der virtuellen Ausführungsumgebung verursacht werden, haben keinen Einfluss auf das System. Die virtuelle Ausführungsumgebung kann als eine virtuelle Maschine oder eine Sandbox ausgeführt werden.In the application, "the virtual execution environment" refers to a code security mechanism, is used for the virtual execution of program codes, and is particularly suitable for executing malicious codes (e.g. program codes that are not trustworthy or destructive or whose program intent cannot be determined), that have potentially malicious attack behavior. Any changes caused by executing the program code in the virtual execution environment have no effect on the system. The virtual execution environment can run as a virtual machine or a sandbox.
In der Anmeldung bezieht sich die isolierte Ausführungsumgebung auch auf einen Codesicherheitsmechanismus, und dient zum virtuellen Durchführen von Softwares (Anwendungen), die mit Programmen interagieren müssen, bei denen es sich möglicherweise um Schadcodes handelt, wobei diese Softwares beispielsweise eine Vorrichtung zur Verhinderung böswilliger Angriffe durch Programmcodes auf ein Fahrzeug gemäß der Anmeldung umfasst. Dadurch kann verhindert werden, dass das System während der Interaktion zwischen der Vorrichtung und den Schadcodes unbeabsichtigt oder böswillig beeinflusst wird, wodurch die Sicherheitsstufe des Systems weiter verbessert wird.In the application, the isolated execution environment also refers to a code security mechanism, and is used for the virtual execution of software (applications) that have to interact with programs that may be malicious code, such software, for example, a device to prevent malicious attacks Includes program codes on a vehicle according to the application. This can prevent the system from being unintentionally or maliciously influenced during the interaction between the device and the malicious code, which further improves the security level of the system.
In der Anmeldung dient die ursprüngliche Ausführungsumgebung zum Durchführen der Programmcodes, die als sichere Programmcodes erkannt werden. Beispielsweise können die in das elektronische System des Fahrzeugs hineingehenden Programmcodes in der ursprünglichen Ausführungsumgebung durchgeführt werden, nur wenn sie als sichere Programmcodes erkannt werden (d.h. sie haben kein böswilliges Angriffsverhalten).In the application, the original execution environment is used to execute the program codes that are recognized as secure program codes. For example, the program codes going into the vehicle's electronic system can be executed in the original execution environment only if they are recognized as secure program codes (i.e. they have no malicious attack behavior).
Nachfolgend wird unter Bezugnahme auf die beiliegenden Zeichnungen auf einzelne Ausführungsbeispiele der vorliegenden Anmeldung näher eingegangen.In the following, individual exemplary embodiments of the present application will be discussed in greater detail with reference to the accompanying drawings.
Nachdem die Programmcodes
Die Vorrichtung
Wenn die Vorrichtung
Der Speicher
Ferner kann das System
Die Vorrichtung
Das Handshake-Modul
Das Verifizierungsmodul
In einem Ausführungsbeispiel sind die Programmcodes nicht als Klartext gebildet. Beispielsweise sind Programmcodes digital verschlüsselte Codes und weisen Etikettendaten auf. Das Verifizierungsmodul
Das Entschlüsselungsmodul
Das Bestimmungsmodul
Das Berechnungsmodul
In einem Ausführungsbeispiel verwendet das Berechnungsmodul ein vorerstelltes Einflusswertmodell, um den Einflusswert zu berechnen. Die Betriebsart, der Bereich des Betriebsobjekts sowie der aktuelle Zustand sind Modelleingaben, und der Einflusswert ist eine Modellausgabe. Das Einflusswertmodell kann als ein maschinelles Lernmodell ausgeführt werden, das beispielsweise ein zufälliges Waldmodell, ein Support-Vektor-Maschine-Modell oder ein faltendes neuronales Netzwerk oder ein Kombinationsmodell davon ist.In one embodiment, the calculation module uses a predefined influencing value model in order to calculate the influencing value. The operating mode, the area of the operating object and the current state are model inputs, and the influence value is a model output. The influencing value model can be implemented as a machine learning model, which is, for example, a random forest model, a support vector machine model or a folding neural network or a combination model thereof.
Daher hat das Berechnungsmodul die Vorteile, die durch die Verwendung des oben genannten maschinellen Lernmodells bereitgestellt werden. Beispielsweise können das zufällige Waldmodell und das Support-Vektor-Maschine-Modell eine Überanpassung mehrdimensionaler Parameter vermeiden. Das faltende neuronale Netzwerk ist ein starker Klassifikator, der Daten stark klassifizieren kann, um robustere Berechnungsergebnisse zu erhalten. Daher kann das Berechnungsmodul ein genaueres und robusteres Berechnungsergebnis, d.h. Einflusswert, berechnen.Therefore, the calculation module has the advantages provided by using the above machine learning model. For example, the random forest model and the support vector machine model can avoid over-fitting multidimensional parameters. The convolutional neural network is a powerful classifier that can strongly classify data to get more robust computation results. Therefore, the calculation module can calculate a more accurate and more robust calculation result, i.e. influence value.
Das Entscheidungsmodul
In einem Ausführungsbeispiel wählt das Entscheidungsmodul
Wenn das Entscheidungsmodul feststellt, dass die Programmcodes Schadcodes sind, werden die Programmcodes von der isolierten Ausführungsumgebung abgeführt und die Durchführung der Programmcodes ist in der ursprünglichen Ausführungsumgebung verboten. Ferner speichert das Entscheidungsmodul diese Situation als ein abnormales Ereignis in den Speicher. Ferner können im Falle eines abnormalen Ereignisses die Programmcodes permanent aus dem elektronischen System des Fahrzeugs gelöscht oder in dem elektronischen System des Fahrzeugs permanent isoliert werden. Beim Feststellen durch das Entscheidungsmodul, dass die Programmcodes keine Schadcodes sind, werden die Programmcodes in die ursprüngliche Ausführungsumgebung ausgegeben, um die Programmcodes in der ursprünglichen Ausführungsumgebung durchzuführen.If the decision module determines that the program codes are malicious codes, the program codes are removed from the isolated execution environment and the execution of the program codes is prohibited in the original execution environment. Furthermore, the decision module stores this situation as an abnormal event in the memory. Furthermore, in the event of an abnormal event, the program codes can be permanently deleted from the vehicle's electronic system or permanently isolated in the vehicle's electronic system. When the decision module determines that the program codes are not malicious codes, the program codes are output into the original execution environment in order to execute the program codes in the original execution environment.
Daraus ist ersichtlich, dass gemäß der technischen Ausgestaltung der Anmeldung durch gezieltes Auswählen eines vorgegebenen Schwellenwerts weiter effektiv sichergestellt werden kann, dass die Schadcodes erkannt werden und ihre Durchführung verboten ist. Die mehreren vorgegebenen Schwellenwerte, die in dem Speicher
Ferner wird gemäß der technischen Ausgestaltung der Anmeldung der Einflusswert ermittelt, indem der aktuelle Zustand des Fahrzeugs, die Betriebsart und der Bereich des Betriebsobjekts berücksichtigt werden, was die Fähigkeit zur Verhinderung von Angriffen durch Schadcodes weiter verbessern kann. Beispielsweise sollte das Durchführen eines Programmcodes in einem fahrenden Fahrzeug ein höheres Risiko als das Durchführen eines Programmcodes in einem stillstehenden Fahrzeug aufweisen, weswegen dem Ersteren ein größerer Einflusswert zugeordnet ist. Das Durchführen eines Löschbetriebs in einem Fahrzeug weist ein höheres Risiko als das Durchführen eines Lesebetriebs in einem Fahrzeug auf, weswegen dem Ersteren ein größerer Einflusswert zugeordnet ist.Furthermore, according to the technical configuration of the application, the influencing value is determined by taking into account the current state of the vehicle, the operating mode and the area of the operating object, which can further improve the ability to prevent attacks by malicious codes. For example, executing a program code in a moving vehicle should have a higher risk than executing a program code in a stationary vehicle, which is why the former is assigned a greater influencing value. Carrying out an extinguishing operation in a vehicle has a higher risk than carrying out a reading operation in a vehicle, which is why the former is assigned a greater influence value.
Ferner kann gemäß der technischen Ausgestaltung der Anmeldung eine Echtzeitüberwachung des in die Fahrzeugseite hineingehenden Programmcodes realisiert werden, ohne dass Referenzdaten von einem Backend-System (Cloud-Datenbank) in Echtzeit abgerufen werden müssen. Weiterhin können gemäß der technischen Ausgestaltung der Anmeldung beim Verbinden mit dem Backend-System (Cloud-Datenbank) aktualisierte Referenzdaten vom Backend-System (Cloud-Datenbank) abgerufen werden, was die Fähigkeit zum Erkennen von Schadcodes und zum Schutz vor den Schadcodes weiter verbessert.Furthermore, according to the technical configuration of the registration, real-time monitoring of the program code going into the vehicle side can be implemented without reference data having to be called up in real time from a back-end system (cloud database). Furthermore, according to the technical design of the registration when connecting to the backend system (cloud database), updated reference data can be retrieved from the backend system (cloud database), which further improves the ability to recognize malicious codes and to protect against malicious codes.
Die Anmeldung betrifft auch ein Verfahren
Das Verfahren
- In Schritt
S310 wird der Handshake durchgeführt, um die Programmcodes in eine isolierte Ausführungsumgebung eines elektronischen Systems des Fahrzeugs zu synchronisieren.
- In step
S310 the handshake is carried out in order to synchronize the program codes in an isolated execution environment of an electronic system of the vehicle.
In Schritt
Falls die Programmcodes nicht erfolgreich verifiziert werden, fährt das Verfahren
Falls die Programmcodes erfolgreich verifiziert werden, fährt das Verfahren
Anschließend fährt das Verfahren mit Schritt
In Schritt
In Schritt
Beim Feststellen, dass die Programmcodes Schadcodes sind, fährt das Verfahren mit Schritt
Beim Feststellen, dass die Programmcodes keine Schadcodes sind, fährt das Verfahren mit Schritt
In einem Ausführungsbeispiel kann der Schritt
- In Schritt
S371 ist ein vorgegebener Schwellenwert für den Bereich des Betriebsobjekts aus mehreren in dem Speicher gespeicherten vorgegebenen Schwellenwerten ausgewählt.
- In step
S371 a predetermined threshold value for the area of the operating object is selected from a plurality of predetermined threshold values stored in the memory.
In Schritt
Wenn das Vergleichsergebnis ist, dass der Einflusswert größer als oder gleich dem vorgegebenen Schwellenwert ist, fährt das Verfahren mit Schritt
Wenn das Vergleichsergebnis ist, dass der Einflusswert kleiner als der vorgegebene Schwellenwert ist, fährt das Verfahren mit Schritt
Obwohl oben einige Ausführungsformen beschrieben wurden, sind sie ausschließlich exemplarisch angegeben, ohne den Umfang der Anmeldung zu beschränken. Die beigefügten Ansprüche sowie die äquivalenten Substitutionen dazu sollen alle Modifikationen, Ersätze und Änderungen, die innerhalb des Umfangs und Hauptkonzepts der Anmeldung vorgenommen werden, enthalten.Although some embodiments have been described above, they are only given by way of example without restricting the scope of the application. The appended claims and their equivalent substitutions are intended to cover all modifications, substitutions, and changes that come within the scope and main concept of the application.
Claims (12)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910939331.4A CN112580031A (en) | 2019-09-30 | 2019-09-30 | Apparatus, system and method for preventing malicious attack of program code on vehicle |
CN201910939331.4 | 2019-09-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102020210874A1 true DE102020210874A1 (en) | 2021-04-01 |
Family
ID=74873117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102020210874.9A Pending DE102020210874A1 (en) | 2019-09-30 | 2020-08-28 | Apparatus, system and method for preventing malicious attacks by program code on a vehicle |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112580031A (en) |
DE (1) | DE102020210874A1 (en) |
-
2019
- 2019-09-30 CN CN201910939331.4A patent/CN112580031A/en active Pending
-
2020
- 2020-08-28 DE DE102020210874.9A patent/DE102020210874A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CN112580031A (en) | 2021-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69534757T2 (en) | System and method for secure storage and distribution of data using digital signatures | |
DE202014011086U1 (en) | System for determining a trustworthiness category of applications that perform an interface overlay | |
DE60130172T2 (en) | A secure and open computer platform | |
DE102020126182A1 (en) | PRIVACY AND DATA PROTECTION ON SMART EDGE DEVICES | |
DE202011111121U1 (en) | System for capturing complex malware | |
DE202013102179U1 (en) | System to detect malicious code executed by a virtual machine | |
EP3688928B1 (en) | Datacule structure and method for the manipulation-proof saving of data | |
DE112012000279T5 (en) | Determine the vulnerability of computer software applications to rights extension attacks | |
DE102015209108A1 (en) | Method and decision gateway for authorizing a function of an embedded controller | |
DE102013108022A1 (en) | Method for activating the development mode of a secure electronic control unit | |
DE102014208855A1 (en) | Method for carrying out communication between control units | |
DE102007030622A1 (en) | Method and application for linking between systems based on hardware security units | |
EP2913772A1 (en) | Method and computer system for protecting a computer program against influence | |
WO2011107319A2 (en) | Method for verifying a memory block of a nonvolatile memory | |
DE112010004580T5 (en) | Secure pin management of a user-trusted unit | |
EP2442251B9 (en) | Individual updating of computer programs | |
DE112021000689T5 (en) | ATTESTATION OF NEURAL PROCESSES | |
DE102010008538A1 (en) | Method and system for detecting malicious software | |
DE102018217431A1 (en) | Secure key exchange on one device, especially an embedded device | |
DE112014004611T5 (en) | Control system and authentication device | |
DE102020210874A1 (en) | Apparatus, system and method for preventing malicious attacks by program code on a vehicle | |
DE102023110645A1 (en) | Safety procedures and safety device | |
DE102005046696A1 (en) | Secured program code producing method for license verification, involves storing modified program code including exchanged references, coded program blocks and program block with decoded function as protected computer program | |
DE102014208840A1 (en) | Method for handling software functions in a controller | |
DE102021110768B3 (en) | Forensics module and embedded system |