DE102014212018A1 - Method and circuit for preventing memory protection infringements - Google Patents

Method and circuit for preventing memory protection infringements Download PDF

Info

Publication number
DE102014212018A1
DE102014212018A1 DE102014212018.7A DE102014212018A DE102014212018A1 DE 102014212018 A1 DE102014212018 A1 DE 102014212018A1 DE 102014212018 A DE102014212018 A DE 102014212018A DE 102014212018 A1 DE102014212018 A1 DE 102014212018A1
Authority
DE
Germany
Prior art keywords
program
asil
memory
requirement level
security requirement
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.)
Withdrawn
Application number
DE102014212018.7A
Other languages
German (de)
Inventor
Markus Baumeister
Jürgen Groth
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Continental Teves AG and Co OHG
Original Assignee
Continental Teves AG and Co OHG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Continental Teves AG and Co OHG filed Critical Continental Teves AG and Co OHG
Priority to DE102014212018.7A priority Critical patent/DE102014212018A1/en
Priority to PCT/EP2015/063955 priority patent/WO2015197544A1/en
Publication of DE102014212018A1 publication Critical patent/DE102014212018A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

Die Erfindung beschreibt ein Verfahren zur Vermeidung von Speicherschutzverletzungen in einem integrierten Schaltkreises eines Kraftfahrzeugsystems, bei welchem eine Verwaltung von Zugriffen eines in einem Programmspeicher (1.1, 1.2, 1.3) vorliegenden Programms auf einen für die Zugriffe freigegebenen Datenspeicher (1-3, 2-4, 2-5, 2-6) in Abhängigkeit einer Sicherheitsanforderungsstufe (QM, ASIL B, ASIL D) des Datenspeichers (1-3, 2-4, 2-5, 2-6) und einer Sicherheitsanforderungsstufe (QM, ASIL B, ASIL D) des Programms und/oder des Programmspeichers (1.1, 1.2, 1.3) vorgenommen wird, wobei eine Verwaltung der Ausführbarkeit des Programms in Abhängigkeit von der Sicherheitsanforderungsstufe (QM, ASIL B, ASIL D) des Programms und/oder dessen Programmspeichers (1.1, 1.2, 1.3) und der Sicherheitsanforderungsstufe (QM, ASIL B, ASIL D) des Datenspeichers (1-3, 2-4, 2-5, 2-6) erfolgt. Weiterhin betrifft die Erfindung einen Schaltkreis zur Vermeidung von Speicherschutzverletzungen.The invention relates to a method for avoiding memory protection infringements in an integrated circuit of a motor vehicle system, in which an administration of accesses of a program present in a program memory (1.1, 1.2, 1.3) to a data memory (1-3, 2-4 , 2-5, 2-6) in response to a security requirement level (QM, ASIL B, ASIL D) of the data memory (1-3, 2-4, 2-5, 2-6) and a security requirement level (QM, ASIL B, ASIL D) of the program and / or the program memory (1.1, 1.2, 1.3), with management of the executability of the program depending on the security requirement level (QM, ASIL B, ASIL D) of the program and / or its program memory (1.1 , 1.2, 1.3) and the security requirement level (QM, ASIL B, ASIL D) of the data memory (1-3, 2-4, 2-5, 2-6). Furthermore, the invention relates to a circuit for preventing memory protection violations.

Description

Die vorliegende Erfindung betrifft ein Verfahren gemäß Oberbegriff von Anspruch 1 sowie einen Schaltkreis gemäß Oberbegriff von Anspruch 8.The present invention relates to a method according to the preamble of claim 1 and to a circuit according to the preamble of claim 8.

Die WO 2009/150475 beschreibt ein Verfahren zum Schutz vor fremdverursachten Änderungen einer Konfiguration einer Speicherverwaltungseinheit, wobei ein Programmcode zur Laufzeit in der Weise verändert wird, dass dieser lediglich dann korrekt ausgeführt wird, wenn die Softwarecode- und Datenspeicherzugriffe auf identische physikalischen Speicheradressen verweisen.The WO 2009/150475 describes a method for protection against alien changes to a configuration of a memory management unit, wherein a program code is changed at runtime in such a way that it is executed correctly only if the software code and data memory accesses refer to identical physical memory addresses.

In der WO 2011/016793 wird ein Verfahren zum Schutz vor fremdinitiiertem Austausch von authentisiertem, sicherem Softwarecode durch nicht-authentisierten, nicht sicheren Softwarecode beschrieben, mittels welchem eine schnellere Authentifizierung von Softwarecode durch bedarfsorientierte Authentifizierung von Speicherseiten, die als nächstes ausgeführt werden sollen, vorgenommen wird. In the WO 2011/016793 A method is described for protecting against foreign-initiated exchange of authenticated, secure software code by unauthenticated, non-secure software code, by means of which a faster authentication of software code is performed by on-demand authentication of memory pages to be executed next.

Um die gemäß ISO 26262 geforderte Rückwirkungsfreiheit eines Systems in einem Kraftfahrzeug sicherzustellen, wird in an sich bekannter Weise ein von mehreren Programmen mit unterschiedlichen Sicherheitsanforderungsstufen (z.B. SIL/ASIL) genutzter Datenspeicher (z.B. RAM) in verschiedene Speicherpartitionen mit jeweiliger Sicherheitsanforderungsstufe aufgeteilt. Die Kontrolle des Zugriffs eines Programmes einer bestimmten Sicherheitsanforderungsstufe auf einen jeweiligen Datenspeicher erfolgt mittels einer Speicherverwaltungs-(MMU) bzw. Speicherschutzeinheit (MPU), welche durch ein Betriebssystem (OS) eines zugrundeliegenden Schaltkreises kontrolliert wird. Ein Umschalten der MMU/MPU Konfiguration, in Übereinstimmung mit der Sicherheitsanforderungsstufe des jeweiligen Programms zu einem bestimmten Zeitpunkt, ist die Aufgabe einer Programmsteuerung („Scheduler“) des OS. Eine fehlerhafte Konfiguration der MMU bzw. MPU kann die Funktionsfähigkeit des Partitionierungsschemas jedoch beeinträchtigen, was ein Sicherheitsrisiko der Software darstellt, weshalb ein vertrauenswürdiges OS („Trusted-OS“) zur Anwendung mit der Speicherpartitionierung benötigt wird. Im Sinne der Betriebssicherheitsstandards ist ein Betriebssystem dann nicht vertrauenswürdig, wenn dieses die geforderte Sicherheitsanforderungsstufe nicht erfüllt, beispielsweise weil es entsprechend ASIL lediglich eine Einstufung in das Level QM (Qualitätsmanagement) aufweist. To the according to ISO 26262 To ensure the demanded freedom from feedback of a system in a motor vehicle, a data memory (eg RAM) used by several programs with different security requirement levels (eg SIL / ASIL) is divided into different memory partitions with respective security requirement level in a known manner. The control of the access of a program of a certain security requirement level to a respective data memory takes place by means of a memory management unit (MMU) or memory protection unit (MPU), which is controlled by an operating system (OS) of an underlying circuit. Switching the MMU / MPU configuration, in accordance with the security requirement level of the respective program at a particular time, is the task of a scheduler of the OS. However, improper configuration of the MMU or MPU can compromise the functionality of the partitioning scheme, which poses a security risk to the software and therefore requires a trusted OS ("Trusted-OS") for use with memory partitioning. For the purposes of the operational security standards, an operating system is not trustworthy if it does not meet the required security requirement level, for example because, according to ASIL, it only has a classification into the level QM (quality management).

Programme können entsprechend jeweils erforderlicher Sicherheitsstufen entwickelt werden, wobei Programme, insbesondere Softwaremodule Dritter, ausgeführt werden können, indem das OS zur Änderung der Konfiguration der MMU/MPU mittels dafür vorgesehener Funktionen bzw. Methoden, z.B. Einschubmethoden („Hooks“), zwischen diesen umschaltet. Weist das OS beispielsweise lediglich eine Einstufung gemäß QM auf, ist nicht sichergestellt, dass während einer Umschaltphase auch tatsächlich ein Aufruf einer solchen Methode erfolgt. Wird diese in fehlerhafter Weise nicht aufgerufen, kann ein sicherheitskritischer Fall insbesondere dann eintreten, wenn von einem Programm bzw. Programmspeicher höherer Sicherheitsstufe zu einem Programm bzw. Programmspeicher niedrigerer Sicherheitsstufe umgeschaltet wird, da das niedriger eingestufte Programm dann über die ursprünglichen Zugriffsrechte auf den höher eingestuften Datenspeicher verfügt. Programs may be developed according to respective required security levels, wherein programs, in particular software modules of third parties, can be executed by the OS changing the configuration of the MMU / MPU by means of dedicated functions or methods, e.g. Insertion methods ("hooks"), switching between them. If, for example, the OS only has a classification according to QM, it is not ensured that a call-up of such a method actually takes place during a switching phase. If this is not invoked in a faulty manner, a safety-critical case can occur, in particular, when switching from a program or program memory of higher security level to a program or program memory of lower security level, since the lower-ranking program is then classified above the original access rights to the higher Datastore has.

Durch ein OS mit niedriger Sicherheitseinstufung kann eine MPU/MMU somit fehlerhaft in der Weise konfiguriert werden, dass diese einem niedriger eingestuften Programm Zugriff zu einem höher eingestuften Datenspeicher gewährt. Ein ausschließlich mittels solcher Methoden realisierter Mechanismus zur Realisierung der Zugriffsrechte ist demnach nicht ausreichend, wodurch sicherheitsrelevante Systeme negativ beeinflusst und die Sicherheit von Verkehrsteilnehmern gefährdet werden kann.An OS with low security rating can thus misconfigure an MPU / MMU to grant access to a higher ranked data store for a lower ranked program. Therefore, a mechanism implemented solely by means of such methods for realizing the access rights is not sufficient, whereby safety-relevant systems can be adversely affected and the safety of road users can be endangered.

Daher ist es Aufgabe der vorliegenden Erfindung ein Verfahren und einen Schaltkreis zur Vermeidung von Speicherschutzverletzungen für Kraftfahrzeugsysteme bereitzustellen. It is therefore an object of the present invention to provide a method and a circuit for preventing memory protection injuries for motor vehicle systems.

Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1 sowie einen Schaltkreis gemäß Anspruch 8 gelöst.This object is achieved by a method according to claim 1 and a circuit according to claim 8.

Die Erfindung betrifft ein Verfahren zur Vermeidung von Speicherschutzverletzungen in einem integrierten Schaltkreises eines Kraftfahrzeugsystems, bei welchem eine Verwaltung von Zugriffen eines in einem Programmspeicher vorliegenden Programms auf einen für die Zugriffe freigegebenen Datenspeicher in Abhängigkeit einer Sicherheitsanforderungsstufe des Datenspeichers und einer Sicherheitsanforderungsstufe des Programms und/oder des Programmspeichers vorgenommen wird und das sich weiterhin dadurch auszeichnet, dass eine Verwaltung der Ausführbarkeit des Programms in Abhängigkeit von der Sicherheitsanforderungsstufe des Programms und/oder dessen Programmspeichers und der Sicherheitsanforderungsstufe des Datenspeichers erfolgt. The invention relates to a method for avoiding memory protection violations in an integrated circuit of a motor vehicle system, in which an administration of accesses of a present in a program memory program on a data released for the access memory in response to a security requirement level of the data memory and a security requirement level of the program and / or the Program memory is made and which is further characterized in that a management of the executability of the program depending on the security requirement level of the program and / or its program memory and the security requirement level of the data memory is carried out.

Mittels des erfindungsgemäßen Verfahrens werden in vorteilhafter Weise potentiell sicherheitskritische und sicherheitsstufenübergreifende Speicherschutzverletzungen vermieden. Dies ist insbesondere im Falle einer Umschaltung von einem Programm einer ersten Sicherheitsstufe auf ein zweites Programm einer zweiten Sicherheitsstufe von Bedeutung, wenn ein Datenspeicher der ersten Sicherheitsstufe nach der Programmumschaltung fehlerhaft weiterhin freigegeben ist und das zweite Programm im Ausführungsfall darauf zugreifen könnte. Die Umschaltung der Programme erfolgt dabei bevorzugt durch Aufruf einer entsprechenden Funktion bzw. Methode, z.B. einer entsprechenden Einschubmethode, beispielsweise durch ein Betriebssystem. By means of the method according to the invention, potentially safety-critical and safety-level-overlapping memory protection injuries are avoided in an advantageous manner. This is particularly important in the case of a switch from a program of a first security level to a second program of a second level of security, when a data store of the first Security level is incorrectly released after program switching and the second program could access it in the event of execution. The switching of the programs is preferably carried out by calling a corresponding function or method, such as a corresponding insertion method, for example by an operating system.

Gemäß einer Ausführungsform der Erfindung weist ein Betriebssystem des integrierten Schaltkreises eine niedrigere Sicherheitsanforderungsstufe als eine höchste vorgesehene Sicherheitsanforderungsstufe des Programms und/oder des Programmspeichers und/oder des Datenspeichers auf. Dadurch kann in vorteilhafter Weise auch bei der Verwendung eines nicht vertrauenswürdigen Betriebssystems eine sicherheitsstufenkonforme Speicherverwaltung erreicht werden. Beispielsweise wird eine ASIL D konforme Speicherpartitionierung erhalten, selbst wenn ein Betriebssystem des integrierten Schaltkreises bzw. dessen Programmsteuerung lediglich gemäß QM eingestuft sind. Dadurch kann zudem eine gemäß ISO 26262 definierte Rückwirkungsfreiheit mit einem Betriebssystem erzielt werden, welches nicht in Übereinstimmung mit der ISO 26262 entwickelt wurde, jedoch die Ausführung von entsprechenden Methoden zur Programmumschaltung unterstützt.According to one embodiment of the invention, an operating system of the integrated circuit has a lower security requirement level than a highest intended security requirement level of the program and / or the program memory and / or the data memory. As a result, a security-level-compliant memory management can advantageously be achieved even when using an untrusted operating system. For example, an ASIL D compliant memory partitioning is obtained, even if an integrated circuit operating system or its program control are classified only according to QM. This can also be a according ISO 26262 defined non-interference with an operating system that has not been developed in accordance with ISO 26262, but supports the execution of appropriate program switching methods.

Unter einem Programm wird im Rahmen der Erfindung beispielsweise auch eine Applikation, ein Prozess sowie ein Softwaremodul verstanden, welches auf zumindest einem Programmspeicher hinterlegt ist und auf wenigstens einen Datenspeicher zugreift. Speicher sind insbesondere permanente, flüchtige und/oder semi-permanente Informationsspeicher, welche des Weiteren als gemeinsame und/oder separate physikalische bzw. virtuelle Speicher(-bereiche) vorliegen können.In the context of the invention, a program is also understood to mean, for example, an application, a process and a software module which is stored on at least one program memory and accesses at least one data memory. Memory are, in particular, permanent, volatile and / or semi-permanent information memories, which furthermore may be present as common and / or separate physical or virtual memory (areas).

Gemäß einer bevorzugten Ausführungsform der Erfindung ist ein Vergleich der Sicherheitsanforderungsstufen des Datenspeichers und des Programms und/oder des Programmspeichers vorgesehen, wobei von dem Ergebnis des Vergleichs abhängig ist, ob das Programm ausgeführt wird. Das Programm wird besonders bevorzugt lediglich dann ausgeführt, wenn das Programm und/oder dessen Programmspeicher eine gleiche und/oder eine höhere Sicherheitsanforderungsstufe wie der Datenspeicher erfüllt. Vorteilhaft kann somit sichergestellt werden, dass ein Programm, welches eine niedrigere Sicherheitsstufe aufweist als ein zum jeweiligen Zeitpunkt freigegebener Datenspeicher nicht ausgeführt wird. Änderungen sicherheitsrelevanter Daten können damit vermieden werden. According to a preferred embodiment of the invention, a comparison of the security requirement levels of the data memory and of the program and / or the program memory is provided, it being dependent on the result of the comparison, whether the program is executed. The program is particularly preferably executed only if the program and / or its program memory fulfills the same and / or a higher security requirement level as the data memory. It can thus advantageously be ensured that a program which has a lower security level than a data memory which has been released at the respective time is not executed. Changes to safety-relevant data can thus be avoided.

Das Programm ist lediglich dann autorisiert auf den Datenspeicher zuzugreifen, wenn das Programm und/oder dessen Programmspeicher eine gleiche und/oder eine höhere Sicherheitsanforderungsstufe wie der Datenspeicher erfüllt. Ein Vorteil davon ist, dass somit ein weiteres Sicherheitskriterium vorgesehen ist und Speicherverletzungen vermieden werden können. The program is only authorized to access the data memory if the program and / or its program memory fulfills the same and / or a higher security requirement level as the data memory. An advantage of this is that thus another safety criterion is provided and memory violations can be avoided.

Bevorzugt wird das Programm nicht ausgeführt, wenn das Programm und/oder dessen Programmspeicher eine niedrigere Sicherheitsstufe als der Datenspeicher erfüllt. Der Zugriff eines Programms einer ersten Sicherheitsstufe auf ein zum jeweiligen Zeitpunkt freigegebenen Datenspeicher einer höheren Sicherheitsstufe als der ersten kann vorteilhafterweise somit nicht erfolgen, da das Programm nicht ausgeführt wird. Preferably, the program is not executed if the program and / or its program memory meets a lower security level than the data memory. The access of a program of a first security level to a currently released data storage of a higher security level than the first can thus advantageously not be done because the program is not executed.

Entsprechend einer vorteilhaften Weiterbildung der Erfindung wird der Programmspeicher als nicht-ausführbar und/oder nicht lesbar markiert, wenn das Programm nicht ausgeführt werden soll.According to an advantageous development of the invention, the program memory is marked as non-executable and / or unreadable if the program is not to be executed.

Die Verwaltung der Ausführbarkeit des Programms erfolgt bevorzugt mittels einer Speicherschutzeinheit und/oder mittels des Betriebssystems. Unter einer Speicherschutzeinheit ist im Sinne der Erfindung jegliche Einrichtung zur Realisierung einer solchen Funktionalität zu verstehen, z.B. auch eine Speicherverwaltungseinheit.The executability of the program is preferably carried out by means of a memory protection unit and / or by means of the operating system. For the purposes of the invention, a memory protection unit is to be understood as meaning any device for realizing such a functionality, e.g. also a memory management unit.

Eine Autorisierung zur Ausführung des Programms wird bevorzugt aktiv erteilt. Alternativ wird die Autorisierung zur Ausführung des Programms bevorzugt aktiv verboten. Durch diese erfindungsgemäßen Weiterbildungen kann eine vorteilhafte Anpassung an Sicherheitsrichtlinien erfolgen. An authorization to execute the program is preferably given active. Alternatively, the authorization to execute the program is preferably actively prohibited. By means of these refinements according to the invention, an advantageous adaptation to safety guidelines can take place.

Die Erfindung beschreibt weiterhin einen Schaltkreis zur Vermeidung von Speicherschutzverletzungen in einem Kraftfahrzeugsystem, umfassend zumindest einen Programmspeicher, in welchem wenigstens ein Programm hinterlegt ist, und zumindest einen Datenspeicher, wobei der Schaltkreis derart ausgestaltet ist, dass eine Verwaltung von Zugriffen des Programms auf den für die Zugriffe freigegebenen Datenspeicher in Abhängigkeit einer Sicherheitsanforderungsstufe des Datenspeichers und einer Sicherheitsanforderungsstufe des Programms und/oder des Programmspeichers vorgenommen wird und eine Verwaltung der Ausführbarkeit des Programms in Abhängigkeit von der Sicherheitsanforderungsstufe des Programms und/oder dessen Programmspeichers und der Sicherheitsanforderungsstufe des Datenspeichers erfolgt.The invention further relates to a circuit for preventing memory protection violations in a motor vehicle system, comprising at least one program memory in which at least one program is stored, and at least one data memory, wherein the circuit is configured such that an administration of accesses of the program to the for the Accesses to the data store in dependence on a security requirement level of the data store and a security requirement level of the program and / or the program memory is made and management of the executability of the program in dependence on the security requirement level of the program and / or its program memory and the security requirement level of the data memory is done.

Besonders bevorzugt führt der erfindungsgemäße Schaltkreis das erfindungsgemäße Verfahren aus.The circuit according to the invention particularly preferably carries out the method according to the invention.

Die Verwendung des erfindungsgemäßen Verfahrens und/oder des erfindungsgemäßen Schaltkreises erfolgt bevorzugt in einem Kraftfahrzeugbremssystem.The use of the method according to the invention and / or of the invention Circuit is preferably carried out in a motor vehicle brake system.

Weitere bevorzugte Ausführungsformen ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen an Hand von Figuren.Further preferred embodiments will become apparent from the following description of exemplary embodiments with reference to figures.

In schematischer Darstellung zeigen:In a schematic representation show:

1 eine Umschaltung von einem Programm höherer Sicherheitsanforderungsstufe zu einem Programm mit niedrigerer Sicherheitsanforderungsstufe und 1 a switch from a program of higher security requirement level to a program with lower security requirement level and

2 MPU Konfigurationen für Programme bzw. Programmspeicher und Datenspeicher unterschiedlicher Sicherheitsanforderungsstufen. 2 MPU configurations for programs or program memory and data storage of different security requirement levels.

Entsprechend der Ausführungsbeispiele sind die Programmspeicher, von denen aus ein Programm ausgeführt wird, als nichtflüchtiger Speicher (z.B. Flash oder ROM) ausgelegt, wobei die jeweiligen Programme während der Ausführung auf Direktzugriffsspeicher (RAM) als Datenspeicher, z.B. Arbeitsspeicher, zugreifen. Davon abweichende Konfigurationen sind im Rahmen der Erfindung ebenfalls möglich. In der oberen Zeile ist die dabei jeweils vorliegende Konfiguration einer Speicherschutzeinheit (MPU) abgebildet, wobei ein weißes Feld oberhalb eines der Programmspeicher anzeigt, dass das in diesem hinterlegte Programm ausgeführt und ein schraffiertes Feld, dass Programm nicht ausgeführt werden darf. Ein weißes Feld oberhalb eines Datenspeichers bedeutet, dass ein Zugriff auf den Datenspeicher zum jeweiligen Zeitpunkt gemäß MPU Konfiguration gestattet und ein schraffiertes Feld, dass der Zugriff auf diesen untersagt ist. Im Falle einer Sperrung des Zugriffs auf einen Datenspeicher kann auf diesen Datenspeicher weder geschrieben noch von diesem gelesen werden. Alternativ dazu kann mit einer Sperrung des Zugriffs lediglich auch das Untersagen des Schreibens auf den Speicher zu verstehen sein. Das Lesen von diesem Datenspeicher wäre entsprechend dieser alternativen Ausführungsform weiterhin möglich. Es werden erfindungsgemäß somit nicht nur die Datenspeicher bzw. Speicherpartitionen kontrolliert, auf welche ein Programm zugreifen darf, sondern auch die Programmspeicher, von denen aus das jeweilige Programm heraus ausgeführt wird, z.B. in welchen der Quellcode des Programmes hinterlegt ist. According to the embodiments, the program memories from which a program is executed are designed as non-volatile memory (e.g., flash or ROM), the respective programs being executed during execution on random access memory (RAM) as data storage, e.g. Memory, access. Deviating configurations are also possible within the scope of the invention. In the upper line, the respective present configuration of a memory protection unit (MPU) is shown, with a white field above one of the program memory indicates that the program stored in this program executed and a hatched box, that program may not be executed. A white box above a datastore means that access to the datastore at the time specified by the MPU configuration allows a hatched box to be denied access. In the event of blocking access to a data store, this data memory can neither be written to nor read from this data memory. Alternatively, blocking the access may only be understood as prohibiting the writing to the memory. Reading from this data store would still be possible according to this alternative embodiment. Thus, according to the invention, not only the data memories or memory partitions which are allowed to be accessed by a program are checked, but also the program memories from which the respective program is executed, e.g. in which the source code of the program is stored.

Mit anderen Worten werden somit nicht nur die Zugriffsrechte auf die jeweiligen Datenspeicher umgeschaltet sondern auch die Ausführbarkeit von Programmen und/oder Programmspeichern in Abhängigkeit ihrer Einstufung in eine jeweilige Sicherheitsanforderungsstufe vorgegeben. Dies erfolgt insbesondere in der Weise, dass lediglich Programme ausgeführt werden dürfen, welche einer gleichen oder höheren Sicherheitsstufe zugeordnet sind, wie die Sicherheitsstufe des Datenspeichers, auf den während des entsprechenden Zeitabschnitts zugegriffen werden darf. Das Kontrollieren der Ausführbarkeit eines Programms und/oder des zugrundeliegenden Programmspeichers erfolgt im Falle der Unterstützung durch die MPU beispielsgemäß durch Markieren des Programmspeichers als nicht ausführbar oder alternativ als nicht lesbar.In other words, not only the access rights are switched to the respective data storage but also the feasibility of programs and / or program memories depending on their classification in a respective security requirement level specified. This is done in particular in such a way that only programs may be executed which are assigned to a same or higher security level, such as the security level of the data memory, which may be accessed during the corresponding time period. Controlling the executability of a program and / or the underlying program memory takes place in the case of support by the MPU example by marking the program memory as not executable or alternatively as unreadable.

Die 1a) und b) zeigen in schematischer Darstellung einen beispielhaften Fall einer Umschaltung eines Betriebssystems (OS) von einem Programm bzw. Programmspeicher 1.2 höherer Sicherheitsanforderungsstufe zu einem Programm bzw. Programmspeicher 1.1 niedrigerer Sicherheitsanforderungsstufe. In Zeitabschnitten, in welchen der Zugriff auf den Datenspeicher 1-3 mit ASIL D Einstufung durch das OS freigegeben ist, wird die Ausführung des Programms mit QM Einstufung nicht gestattet, indem der Programmspeicher 1.1 als nicht-ausführbar und/oder nicht lesbar markiert wird. Wenn nun das OS von der Ausführung eines Programms des Programmspeichers 1.2, wie in der 1a) gezeigt, auf die Ausführung eines Programms des Programmspeichers 1.1, wie in der 1b) dargestellt, wechselt, erfolgt durch das OS zusätzlich zum Aufrufen der entsprechenden Methode zum Sperren des Zugriffs auf den Datenspeicher 1-3 das Verbieten der Ausführung des Programms des Programmspeichers 1.1. Sollte also das OS fälschlicherweise die Methode zum Umschalten der Programme nicht ausführen, würde das Programm des Programmspeichers 1.1 nicht ausgeführt werden können, da der Zugriff auf den Datenspeicher 1-3 entsprechend der MPU Konfiguration prinzipiell weiterhin erlaubt ist. Die Verwendung der ASIL Sicherheitsstufen ist dabei lediglich als beispielhaft anzusehen. Die Erfindung ist in ebensolcher Weise auf unterschiedliche Ausprägungen von Sicherheitsanforderungsstufen anwendbar.The 1a) and b) show a schematic representation of an exemplary case of switching an operating system (OS) from a program or program memory 1.2 higher security requirement level to a program or program memory 1.1 lower security requirement level. In periods where access to the data store 1-3 With ASIL D classification released by the OS, the execution of the program with QM classification is not allowed by the program memory 1.1 marked as non-executable and / or unreadable. If now the OS of the execution of a program of the program memory 1.2 , like in the 1a) shown on the execution of a program of the program memory 1.1 , like in the 1b) In addition to invoking the appropriate method for disabling access to the data store, the OS also performs changes 1-3 prohibition of execution of program of the program memory 1.1 , So, if the OS erroneously does not execute the method of switching programs, the Program Memory program would 1.1 can not run because of access to the data store 1-3 according to the MPU configuration is still allowed in principle. The use of ASIL security levels is to be regarded as exemplary only. The invention is equally applicable to different forms of safety requirement levels.

Die 2a) bis c) zeigen weitere Ausführungsbeispiele der Umschaltung zwischen Programmen, bei Vorliegen einer größeren Anzahl an Programm- und Datenspeichern und Sicherheitsanforderungsstufen derselben. Gemäß 2a) erfolgt die Ausführung eines Programms des Programmspeichers 2.3 mit ASIL D Einstufung, wobei der Zugriff auf die Datenspeicher 2-4, 2-5, 2-6 sämtlicher Sicherheitsstufen gestattet ist. Zugleich ist die Ausführbarkeit der Programme 2.1 und 2.2 mit geringerer Sicherheitsstufe unterbunden. Im Falle des aktiven ASIL B Programms 2.2, wie in der 2b) gezeigt, ist keine Ausführung des QM eingestuften Programms 2.1 erlaubt und der Zugriff auf den Datenspeicher 2-6 verboten. Eine Konstellation mit aktivem QM Programm 2.1 ist in der 2c) gezeigt. Die Zugriffsfreigabe besteht dabei ausschließlich für den Datenspeicher 2-4 gleicher Sicherheitsstufe, wobei auf die Datenspeicher 2-5 und 2-6 höherer Sicherheitsstufen durch das Programm 2.1 nicht zugegriffen werden darf. Die Programme 2.2 und 2.3 aller weiteren Sicherheitsstufen können ebenfalls ausgeführt werden.The 2a) to c) show further embodiments of switching between programs, in the presence of a larger number of program and data storage and security requirement levels of the same. According to 2a) the execution of a program of the program memory takes place 2.3 with ASIL D classification, with access to the data store 2-4 . 2-5 . 2-6 all security levels is allowed. At the same time, the feasibility of the programs 2.1 and 2.2 prevented with a lower security level. In the case of the active ASIL B program 2.2 , like in the 2 B) is not an execution of the QM classified program 2.1 allowed and access to the data store 2-6 forbidden. A constellation with active QM program 2.1 is in the 2c) shown. The access release consists exclusively of the data memory 2-4 same security level, taking on the data storage 2-5 and 2-6 higher security levels through the program 2.1 not accessible. The programs 2.2 and 2.3 all other security levels can also be executed.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • WO 2009/150475 [0002] WO 2009/150475 [0002]
  • WO 2011/016793 [0003] WO 2011/016793 [0003]

Zitierte Nicht-PatentliteraturCited non-patent literature

  • ISO 26262 [0004] ISO 26262 [0004]
  • ISO 26262 [0011] ISO 26262 [0011]

Claims (9)

Verfahren zur Vermeidung von Speicherschutzverletzungen in einem integrierten Schaltkreises eines Kraftfahrzeugsystems, bei welchem eine Verwaltung von Zugriffen eines in einem Programmspeicher (1.1, 1.2, 1.3) vorliegenden Programms auf einen für die Zugriffe freigegebenen Datenspeicher (1-3, 2-4, 2-5, 2-6) in Abhängigkeit einer Sicherheitsanforderungsstufe (QM, ASIL B, ASIL D) des Datenspeichers (1-3, 2-4, 2-5, 2-6) und einer Sicherheitsanforderungsstufe (QM, ASIL B, ASIL D) des Programms und/oder des Programmspeichers (1.1, 1.2, 1.3) vorgenommen wird, dadurch gekennzeichnet, dass eine Verwaltung der Ausführbarkeit des Programms in Abhängigkeit von der Sicherheitsanforderungsstufe (QM, ASIL B, ASIL D) des Programms und/oder dessen Programmspeichers (1.1, 1.2, 1.3) und der Sicherheitsanforderungsstufe (QM, ASIL B, ASIL D) des Datenspeichers (1-3, 2-4, 2-5, 2-6) erfolgt. Method for avoiding memory protection violations in an integrated circuit of a motor vehicle system, in which an administration of accesses to a program memory (in 1.1 . 1.2 . 1.3 ) present program on a data released for the access memory ( 1-3 . 2-4 . 2-5 . 2-6 ) as a function of a security requirement level (QM, ASIL B, ASIL D) of the data memory ( 1-3 . 2-4 . 2-5 . 2-6 ) and a security requirement level (QM, ASIL B, ASIL D) of the program and / or the program memory ( 1.1 . 1.2 . 1.3 ), characterized in that a management of the executability of the program in dependence on the security requirement level (QM, ASIL B, ASIL D) of the program and / or its program memory ( 1.1 . 1.2 . 1.3 ) and the security requirement level (QM, ASIL B, ASIL D) of the data memory ( 1-3 . 2-4 . 2-5 . 2-6 ) he follows. Verfahren gemäß Anspruch 1, dadurch gekennzeichnet, dass ein Vergleich der Sicherheitsanforderungsstufen (QM, ASIL B, ASIL D) des Datenspeichers (1-3, 2-4, 2-5, 2-6) und des Programms und/oder des Programmspeichers (1.1, 1.2, 1.3) vorgesehen ist, wobei von dem Ergebnis des Vergleichs abhängig ist, ob das Programm ausgeführt wird. Method according to claim 1, characterized in that a comparison of the safety requirement levels (QM, ASIL B, ASIL D) of the data memory ( 1-3 . 2-4 . 2-5 . 2-6 ) and the program and / or program memory ( 1.1 . 1.2 . 1.3 ), depending on the result of the comparison, whether the program is executed. Verfahren gemäß Anspruch 1 oder 2, dadurch gekennzeichnet, dass das Programm lediglich dann ausgeführt wird, wenn das Programm und/oder dessen Programmspeicher (1.1, 1.2, 1.3) eine gleiche und/oder eine höhere Sicherheitsanforderungsstufe (QM, ASIL B, ASIL D) wie der Datenspeicher (1-3, 2-4, 2-5, 2-6) erfüllt. Method according to claim 1 or 2, characterized in that the program is executed only when the program and / or its program memory ( 1.1 . 1.2 . 1.3 ) an identical and / or a higher security requirement level (QM, ASIL B, ASIL D) as the data memory ( 1-3 . 2-4 . 2-5 . 2-6 ) Fulfills. Verfahren gemäß Anspruch 1 bis 3, dadurch gekennzeichnet, dass das Programm lediglich dann autorisiert ist auf den Datenspeicher (1-3, 2-4, 2-5, 2-6) zuzugreifen, wenn das Programm und/oder dessen Programmspeicher (1.1, 1.2, 1.3) eine gleiche und/oder eine höhere Sicherheitsanforderungsstufe (QM, ASIL B, ASIL D) wie der Datenspeicher (1-3, 2-4, 2-5, 2-6) erfüllt.A method according to claim 1 to 3, characterized in that the program is only authorized to the data memory ( 1-3 . 2-4 . 2-5 . 2-6 ) when the program and / or its program memory ( 1.1 . 1.2 . 1.3 ) an identical and / or a higher security requirement level (QM, ASIL B, ASIL D) as the data memory ( 1-3 . 2-4 . 2-5 . 2-6 ) Fulfills. Verfahren gemäß einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass das Programm nicht ausgeführt wird, wenn das Programm und/oder dessen Programmspeicher (1.1, 1.2, 1.3) eine niedrigere Sicherheitsstufe als der Datenspeicher (1-3, 2-4, 2-5, 2-6) erfüllt. Method according to one of Claims 1 to 4, characterized in that the program is not executed when the program and / or its program memory ( 1.1 . 1.2 . 1.3 ) has a lower security level than the data store ( 1-3 . 2-4 . 2-5 . 2-6 ) Fulfills. Verfahren gemäß einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass ein Betriebssystem des integrierten Schaltkreises eine niedrigere Sicherheitsanforderungsstufe (QM, ASIL B, ASIL D) als eine höchste vorgesehene Sicherheitsanforderungsstufe (QM, ASIL B, ASIL D) des Programms und/oder des Programmspeichers (1.1, 1.2, 1.3) und/oder des Datenspeichers (1-3, 2-4, 2-5, 2-6) aufweist.Method according to one of Claims 1 to 5, characterized in that an operating system of the integrated circuit has a lower safety requirement level (QM, ASIL B, ASIL D) than a highest intended safety requirement level (QM, ASIL B, ASIL D) of the program and / or Program memory ( 1.1 . 1.2 . 1.3 ) and / or the data memory ( 1-3 . 2-4 . 2-5 . 2-6 ) having. Verfahren gemäß einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass der Programmspeicher (1-1, 1-2, 1-3) als nicht-ausführbar und/oder nicht lesbar markiert wird, wenn das Programm nicht ausgeführt werden soll.Method according to one of claims 1 to 6, characterized in that the program memory ( 1-1 . 1-2 . 1-3 ) is marked as non-executable and / or unreadable if the program is not to be executed. Schaltkreis zur Vermeidung von Speicherschutzverletzungen in einem Kraftfahrzeugsystem, umfassend zumindest einen Programmspeicher (1.1, 1.2, 1.3), in welchem wenigstens ein Programm hinterlegt ist, und zumindest einen Datenspeicher (1-3, 2-4, 2-5, 2-6), wobei der Schaltkreis derart ausgestaltet ist, dass eine Verwaltung von Zugriffen des Programms auf den für die Zugriffe freigegebenen Datenspeicher (1-3, 2-4, 2-5, 2-6) in Abhängigkeit einer Sicherheitsanforderungsstufe (QM, ASIL B, ASIL D) des Datenspeichers (1-3, 2-4, 2-5, 2-6) und einer Sicherheitsanforderungsstufe (QM, ASIL B, ASIL D) des Programms und/oder des Programmspeichers (1.1, 1.2, 1.3) erfolgt, dadurch gekennzeichnet, dass eine Verwaltung der Ausführbarkeit des Programms in Abhängigkeit von der Sicherheitsanforderungsstufe (QM, ASIL B, ASIL D) des Programms und/oder dessen Programmspeichers (1.1, 1.2, 1.3) und der Sicherheitsanforderungsstufe (QM, ASIL B, ASIL D) des Datenspeichers (1-3, 2-4, 2-5, 2-6) erfolgt.Circuit for preventing memory protection infringements in a motor vehicle system, comprising at least one program memory ( 1.1 . 1.2 . 1.3 ), in which at least one program is stored, and at least one data memory ( 1-3 . 2-4 . 2-5 . 2-6 ), wherein the circuit is configured such that an administration of accesses of the program to the data memory released for the accesses ( 1-3 . 2-4 . 2-5 . 2-6 ) as a function of a security requirement level (QM, ASIL B, ASIL D) of the data memory ( 1-3 . 2-4 . 2-5 . 2-6 ) and a security requirement level (QM, ASIL B, ASIL D) of the program and / or the program memory ( 1.1 . 1.2 . 1.3 ), characterized in that a management of the executability of the program in dependence on the security requirement level (QM, ASIL B, ASIL D) of the program and / or its program memory ( 1.1 . 1.2 . 1.3 ) and the security requirement level (QM, ASIL B, ASIL D) of the data memory ( 1-3 . 2-4 . 2-5 . 2-6 ) he follows. Schaltkreis gemäß Anspruch 8, dadurch gekennzeichnet, dass dieser ein Verfahren gemäß einem der Ansprüche 1 bis 7 ausführt.Circuit according to Claim 8, characterized in that it carries out a method according to one of Claims 1 to 7.
DE102014212018.7A 2014-06-23 2014-06-23 Method and circuit for preventing memory protection infringements Withdrawn DE102014212018A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102014212018.7A DE102014212018A1 (en) 2014-06-23 2014-06-23 Method and circuit for preventing memory protection infringements
PCT/EP2015/063955 WO2015197544A1 (en) 2014-06-23 2015-06-22 Method and circuit for preventing storage protection faults

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102014212018.7A DE102014212018A1 (en) 2014-06-23 2014-06-23 Method and circuit for preventing memory protection infringements

Publications (1)

Publication Number Publication Date
DE102014212018A1 true DE102014212018A1 (en) 2015-12-24

Family

ID=53496650

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014212018.7A Withdrawn DE102014212018A1 (en) 2014-06-23 2014-06-23 Method and circuit for preventing memory protection infringements

Country Status (2)

Country Link
DE (1) DE102014212018A1 (en)
WO (1) WO2015197544A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019202862A1 (en) * 2019-03-04 2020-09-10 Audi Ag Device for providing image data
DE102021208681A1 (en) 2021-08-10 2023-02-16 Volkswagen Aktiengesellschaft Control unit for a motor vehicle and method for updating a control unit

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116451235B (en) * 2023-03-27 2024-04-09 亿咖通(湖北)技术有限公司 Memory protection method, device, storage medium and program product

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009150475A1 (en) 2008-06-12 2009-12-17 Metaforic Limited A method of protecting computer program code
WO2011016793A2 (en) 2008-06-16 2011-02-10 Qualcomm Incorporated Methods and systems for checking run-time integrity of secure code

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5280614A (en) * 1990-08-21 1994-01-18 International Business Machines Corporation Apparatus and method for controlling access to data using domains
US5684948A (en) * 1995-09-01 1997-11-04 National Semiconductor Corporation Memory management circuit which provides simulated privilege levels
US20040064723A1 (en) * 2001-10-31 2004-04-01 Barnes Brian C. Method and apparatus for physical address-based security to determine target security
EP1912149A1 (en) * 2006-10-09 2008-04-16 Texas Instruments France Monitor mode integrity verification
US20110191562A1 (en) * 2010-02-02 2011-08-04 Broadcom Corporation Apparatus and method for partitioning, sandboxing and protecting external memories

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009150475A1 (en) 2008-06-12 2009-12-17 Metaforic Limited A method of protecting computer program code
WO2011016793A2 (en) 2008-06-16 2011-02-10 Qualcomm Incorporated Methods and systems for checking run-time integrity of secure code

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ISO 26262

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019202862A1 (en) * 2019-03-04 2020-09-10 Audi Ag Device for providing image data
DE102019202862B4 (en) 2019-03-04 2022-08-04 Audi Ag Device for providing image data
DE102021208681A1 (en) 2021-08-10 2023-02-16 Volkswagen Aktiengesellschaft Control unit for a motor vehicle and method for updating a control unit

Also Published As

Publication number Publication date
WO2015197544A1 (en) 2015-12-30

Similar Documents

Publication Publication Date Title
DE102012110499A1 (en) Safety access procedure for electronic automotive control units
DE112016002785T5 (en) Electronic control units for vehicles
DE102018214999A1 (en) Device for securing diagnostic commands to a control unit and corresponding motor vehicle
DE102005021064B4 (en) Method and apparatus for protection against buffer overrun attacks
EP1798653B1 (en) Method, computer program product and device for protecting a program comprising a function block
DE102013013179A1 (en) Method for operating a security element
DE102014212018A1 (en) Method and circuit for preventing memory protection infringements
EP3369027A1 (en) Method and security module for providing a security function for a device
EP3403214A1 (en) Method and apparatus for providing a cryptographic security function for the operation of a device
WO2004114131A1 (en) Method for booting up a software in the boot sector of a programmable read-only memory
DE102014222181A1 (en) Method for operating a control device
DE102013016114B3 (en) Bus system and method for protected memory accesses
DE102013209264A1 (en) Method for operating a communication module and communication module
EP2394232A2 (en) Device and method for preventing unauthorized use and/or manipulation of software
DE102010004446A1 (en) Method for providing a secure counter on a terminal
DE102015223757A1 (en) Method for operating a microcontroller
DE102018217969A1 (en) Computing device and operating method therefor
WO2017089101A1 (en) Method for operating a microcontroller
DE102021004427B4 (en) Method for implementing and using cryptographic material in at least one system component of an information technology system
DE102016222691A1 (en) Microcontroller system and method for controlling memory accesses in a microcontroller system
WO2012028391A1 (en) Method for providing information for a controller
EP3391279B1 (en) Microcontroller system and method for controlling memory access in a microcontroller system
WO2024046731A1 (en) Method for the computer-supported restricting of persistent memory for a container-based application
DE102017208199A1 (en) Arithmetic unit and operating method for a computing unit
DE102018217065A1 (en) Control device for activating at least one application software, motor vehicle and method for operating the control device

Legal Events

Date Code Title Description
R163 Identified publications notified
R005 Application deemed withdrawn due to failure to request examination