WO2015197544A1 - Verfahren und schaltkreis zur vermeidung von speicherschutzverletzungen - Google Patents
Verfahren und schaltkreis zur vermeidung von speicherschutzverletzungen Download PDFInfo
- Publication number
- WO2015197544A1 WO2015197544A1 PCT/EP2015/063955 EP2015063955W WO2015197544A1 WO 2015197544 A1 WO2015197544 A1 WO 2015197544A1 EP 2015063955 W EP2015063955 W EP 2015063955W WO 2015197544 A1 WO2015197544 A1 WO 2015197544A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- program
- asil
- memory
- security level
- data memory
- Prior art date
Links
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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection 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/1425—Protection 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/1441—Protection 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1491—Protection 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
Definitions
- the present invention relates to a method according to the generic ⁇ part of claim 1 and a circuit according to the preamble of claim 8.
- the WO 2009/150475 describes a method to protect against foreign caused changes in a configuration of a memory management unit, wherein a program code is changed at run time in a manner in that it is executed correctly only if the software code and data memory accesses refer to identical physical memory addresses.
- WO 2011/016793 describes a method for protecting against externally initiated exchange of authenticated, secure software code by unauthenticated, non-secure software code, by means of which a faster authentication of software code by demand-oriented authentication of memory pages to be executed next is carried out becomes.
- a data memory used by several programs with different security levels (eg SIL / ASIL) is divided into different memory partitions with respective security level in a known manner.
- the control of the access of a program of a certain security level to a respective data memory takes place by means of a memory memory management unit (MMU) or memory protection unit (MPU), which is controlled by an operating system (OS) of an embedded computing unit.
- MMU memory memory management unit
- MPU memory protection unit
- Switching the MMU / MPU configuration in accordance with the security level of the respective program at a certain time, is the task of a program control ("scheduler") of the OS
- a faulty configuration of the MMU or MPU can hamper the functioning of the partitioning scheme affect what a
- Trusted-OS a trustworthy OS
- Trusted-OS a trustworthy OS for use with memory partitioning
- Security level is not met, for example, because according to ISO 26262 it has only a classification in the level QM (quality management).
- Programs can secure ⁇ transconductance stages are designed according to each required, said programs, in particular software modules by third parties can be performed by the OS to change the configuration of the MMU / MPU by means provided for this purpose functions or methods, for example insertion methods ( "hooks"), between switches this.
- insertion methods "hooks"
- 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.
- existing OSs are currently often available only with QM classification.
- the invention relates to a method for avoiding
- Memory protection violations in an integrated circuit in which an administration of accesses of a program stored in a program memory to an access-enabled data memory in dependence on a security level of the data memory and a security level of the program and / or the program memory is made and which is characterized further characterized that the executability of the program is managed in dependence on the security level of the program and / or its program memory and the security level of the data memory.
- an operating system of the integrated circuit has a lower security level than a highest intended security level of the program and / or the program memory and / or the data memory.
- a security-level-compliant memory management can advantageously be achieved even when using an untrusted operating system.
- 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.
- an application a process ( "task") and / or a software module is in the context understood, which is deposited on at least a Pro ⁇ program memory and accessing a data ⁇ store at least.
- Memory in particular permanent, volatile and / or semi-permanent information storage, which may further be present as common and / or separate physical or virtual memory (areas).
- a comparison of the security 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.
- a comparison of the security levels of the data memory and the program memory is provided, depending on the result of the comparison, whether the program of the program memory is executed.
- the comparison of program and data memory is inventively preferably secured by the fact that there is an implicit Ver ⁇ equal program and program memory. The program thus only has access to the program memory with instructions of the corresponding security level.
- the program is particularly preferably executed only if the program and / or its program memory fulfills the same and / or a higher security level than 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.
- the program is only authorized to access the data store if the program and / or its program memory the same and / or higher security level as the data store.
- 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.
- the program memory is marked as non-executable and / or unreadable if the program is not to be executed. This is especially the case when the program or instructions in the program memory of a lower
- Security level as the data store. This marking preferably takes place in combination with the marking of data memories as accessible, so that only programs of sufficient security level can be executed.
- the executability of the program is preferably carried out by means of a memory protection unit and / or by means of the operating system.
- a memory protection unit for example, is understood to mean any means for realizing such functions in the context of the invention, a SpeI ⁇ cherndelsaku.
- An authorization to execute the program is preferably given active.
- the authorization to execute the program is preferably actively prohibited.
- 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 access shared data storage depending on a security level of the data memory and a security level of the program and / or the program memory is done and done management of the feasibility of the program from ⁇ dependence on the security level of the program and / or its program memory and the security level of the data ⁇ memory ,
- the circuit according to the invention expediently carries out the method according to the invention.
- Safety standards e.g. IEC 61508, Do-178, ASIL, possible.
- Fig. 1 shows a switch from a program higher
- Fig. 2 MPU configurations for programs or program memory and data storage different
- a white box 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.
- this data memory can neither be written to nor read from this data memory.
- blocking the access may also be understood to mean only prohibiting the writing to the data memory. Reading from this data store would still be possible according to this alternative embodiment.
- non-volatile memory eg Flash, or ROM
- RAM direct ⁇ access memory
- not only the data memories or memory partitions are controlled, to which a program but also the program memories from which the respective program is executed, eg in which the source code of the program is stored.
- 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 given security level. This is done in particular in such a way that only programs may be executed which are assigned to an identical or higher security level, such as the security level of the data memory, which may be accessed during the corresponding period of time.
- Controlling the executability of a program and / or the underlying program memory takes place in the case of Un ⁇ support by the MPU example according to by marking the program memory as not executable or alternatively as unreadable.
- FIGS 1 a) and b) show a schematic representation of an exemplary case of switching an operating system (OS) of a program or program memory 1.2 higher security level to a program or program memory 1.1 lower security level.
- OS operating system
- FIG. 1 a the OS of the execution of a program of the program memory 1.2, as shown in Fig. 1 a), on the execution of a program of the program memory 1.1, as shown in Fig.
- ASIL security levels is to be regarded as exemplary only. The invention applies equally to different forms of security levels.
- Figures 2 a) to c) show further embodiments of the switching between programs, in the presence of a larger number of program and data storage and security levels of the same.
- FIG. 2 a the execution of a program of the program memory 2.3 with ASIL D classification, wherein the access to the data memory 2-4, 2-5, 2-6 all
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 Sicherheitsstufe (QM, ASIL B, ASIL D)des Datenspeichers (1-3, 2-4, 2-5, 2-6) und einer Sicherheitsstufe (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 Sicherheitsstufe (QM, ASIL B, ASIL D) des Programms und/oder dessen Programmspeichers (1.1, 1.2, 1.3) und der Sicherheitsstufe (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.
Description
Beschreibung
Verfahren und Schaltkreis zur Vermeidung von Speicherschutzverletzungen
Die vorliegende Erfindung betrifft ein Verfahren gemäß Ober¬ begriff von Anspruch 1 sowie einen Schaltkreis gemäß Oberbegriff von Anspruch 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 Datenspeicherzu- griffe auf identische physikalischen Speicheradressen verweisen .
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.
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 Sicherheitsstufen (z.B. SIL/ASIL) genutzter Daten- Speicher (z.B. RAM) in verschiedene Speicherpartitionen mit jeweiliger Sicherheitsstufe aufgeteilt. Die Kontrolle des Zugriffs eines Programmes einer bestimmten Sicherheitsstufe auf einen jeweiligen Datenspeicher erfolgt mittels einer Spei-
cherverwaltungs- (MMU) bzw. Speicherschutzeinheit (MPU) , welche durch ein Betriebssystem (OS) einer eingebetteten Recheneinheit kontrolliert wird. Ein Umschalten der MMU/MPU Konfiguration, in Übereinstimmung mit der Sicherheitsstufe des jeweiligen Pro- gramms 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 in an sich bekannter Weise 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
Sicherheitsstufe nicht erfüllt, beispielsweise weil es ent- sprechend ISO 26262 lediglich eine Einstufung in das Level QM (Qualitätsmanagement) aufweist.
Programme können entsprechend jeweils erforderlicher Sicher¬ heitsstufen 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 aber beispielsweise lediglich eine Einstufung gemäß QM auf, ist nicht sichergestellt, dass während einer Umschaltphase auch tat¬ sä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 einge¬ stuften Datenspeicher verfügt.
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. Existierende OS sind allerdings derzeit häufig lediglich mit QM Einstufung verfügbar.
Daher ist es Aufgabe der vorliegenden Erfindung ein Verfahren und einen Schaltkreis zur Vermeidung von Speicherschutzverletzungen für Kraftfahrzeugsysteme bereitzustellen, der keine Sicher- heitsanforderungen an das OS stellt.
Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1 sowie einen Schaltkreis gemäß Anspruch 8 gelöst. Die Erfindung betrifft ein Verfahren zur Vermeidung von
Speicherschutzverletzungen in einem integrierten Schaltkreises, bei welchem eine Verwaltung von Zugriffen eines in einem Programmspeicher vorliegenden Programms auf einen für die Zugriffe freigegebenen Datenspeicher in Abhängigkeit einer Sicherheitsstufe des Datenspeichers und einer Sicherheitsstufe 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 Sicherheitsstufe des Programms und/oder dessen Programmspei- chers und der Sicherheitsstufe des Datenspeichers erfolgt.
Besonders bevorzugt erfolgt eine Verwaltung der Ausführbarkeit des Programms in Abhängigkeit von der Sicherheitsstufe des
Programmspeichers des Programms und der Sicherheitsstufe des Datenspeichers .
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 und ihn fehlerhaft ändern könnte. Die Umschaltung der Programme erfolgt dabei bevorzugt durch Aufruf einer entsprechenden Funktion bzw. Methode, z.B. einer ent- sprechenden Einschubmethode, beispielsweise durch ein Be¬ triebssystem.
Gemäß einer Ausführungsform der Erfindung weist ein Betriebssystem des integrierten Schaltkreises eine niedrigere Sicherheitsstufe als eine höchste vorgesehene Sicherheitsstufe 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 Speicher- partitionierung 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 Be- triebssystem erzielt werden, welches nicht in Übereinstimmung mit der ISO 26262 entwickelt wurde, jedoch die Ausführung von entsprechenden Methoden zur Programmumschaltung unterstützt.
Unter einem Programm wird im Rahmen der Erfindung beispielsweise auch eine Applikation, ein Prozess („Task") und/oder ein Softwaremodul verstanden, welches auf zumindest einem Pro¬ grammspeicher hinterlegt ist und auf wenigstens einen Daten¬ speicher 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.
Gemäß einer bevorzugten Ausführungsform der Erfindung ist ein Vergleich der Sicherheitsstufen 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. Besonders bevorzugt ist ein Vergleich der Sicherheitsstufen des Datenspeichers und des Programmspeichers vorgesehen, wobei von dem Ergebnis des Vergleichs abhängig ist, ob das Programm des Programmspeichers ausgeführt wird. Der Vergleich von Programm und Datenspeicher wird erfindungsgemäß bevorzugt dadurch abgesichert, dass es einen impliziten Ver¬ gleich von Programm und Programmspeicher gibt. Das Programm hat somit nur Zugriff auf den Programmspeicher mit Instruktionen des entsprechenden Sicherheitslevels .
Das Programm wird besonders bevorzugt lediglich dann ausgeführt, wenn das Programm und/oder dessen Programmspeicher eine gleiche und/oder eine höhere Sicherheitsstufe als 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.
Das Programm ist lediglich dann autorisiert auf den Datenspeicher zuzugreifen, wenn das Programm und/oder dessen Programmspeicher
eine gleiche und/oder eine höhere Sicherheitsstufe wie der Datenspeicher erfüllt. Ein Vorteil davon ist, dass somit ein weiteres Sicherheitskriterium vorgesehen ist und Speicherverletzungen vermieden werden können.
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.
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. Bevorzugt ist dies insbesondere der Fall, wenn das Programm oder Instruktionen in dem Programmspeicher einer niedrigeren
Sicherheitsstufe erfüllen als der Datenspeicher. Diese Mar- kierung erfolgt bevorzugt in Kombination mit der Markierung von Datenspeichern als zugreifbar, so dass nur Programme ausreichender Sicherheitsstufe ausgeführt werden können.
Die Verwaltung der Ausführbarkeit des Programms erfolgt be- vorzugt 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 Spei¬ cherverwaltungseinheit .
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 erfin-
dungsgemäßen Weiterbildungen kann eine vorteilhafte Anpassung an Sicherheitsrichtlinien erfolgen.
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 Sicherheitsstufe des Datenspeichers und einer Sicherheitsstufe des Programms und/oder des Programmspeichers vorgenommen wird und eine Verwaltung der Ausführbarkeit des Programms in Ab¬ hängigkeit von der Sicherheitsstufe des Programms und/oder dessen Programmspeichers und der Sicherheitsstufe des Daten¬ speichers erfolgt.
Zweckmäßigerweise führt der erfindungsgemäße Schaltkreis das erfindungsgemäße Verfahren aus .
Die Verwendung des erfindungsgemäßen Verfahrens und/oder des erfindungsgemäßen Schaltkreises erfolgt bevorzugt in einem Kraftfahrzeugsystem. Eine Anwendung ist dabei für alle
Safety-Normen, z.B. IEC 61508, Do-178, ASIL, möglich.
Weitere bevorzugte Ausführungsformen ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen an Hand von Figuren .
In schematischer Darstellung zeigen:
Fig. 1 eine Umschaltung von einem Programm höherer
Sicherheitsstufe zu einem Programm mit niedrigerer
Sicherheitsstufe und
Fig. 2 MPU Konfigurationen für Programme bzw. Programmspeicher und Datenspeicher unterschiedlicher
Sicherheitsstufen .
In den 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 Datenspeicher zu verstehen sein. Das Lesen von diesem Datenspeicher wäre entsprechend dieser alternativen Ausführungsform weiterhin möglich. Entsprechend der Ausführungsbeispiele sind die Pro- grammspeicher, 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 Direkt¬ zugriffsspeicher (RAM) als Datenspeicher, z.B. Arbeitsspeicher, zugreifen. Davon abweichende Konfigurationen sind im Rahmen der Erfindung ebenfalls 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. 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 Sicherheitsstufe vorgegeben. Dies erfolgt insbesondere in der Weise, dass le- diglich 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 Un¬ terstützung durch die MPU beispielsgemäß durch Markieren des Programmspeichers als nicht ausführbar oder alternativ als nicht lesbar . Die Figuren 1 a) und b) zeigen in schematischer Darstellung einen beispielhaften Fall einer Umschaltung eines Betriebssystems (OS) von einem Programm bzw. Programmspeicher 1.2 höherer Sicherheitsstufe zu einem Programm bzw. Programmspeicher 1.1 niedrigerer Sicherheitsstufe. 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 Fig. 1 a) gezeigt, auf die Ausführung eines Programms des Programmspeichers 1.1, wie in der Fig. 1 b) dargestellt, wechselt, erfolgt durch das OS zusätzlich zum Aufrufen der entsprechenden Methode zum Sperren des Zugriffs auf
den Datenspeicher 1-3 das Erlauben 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 Programmspeicher 1.1 entsprechend der vorherigen MPU Konfiguration weiterhin verboten ist. Die Verwendung der ASIL Sicherheitsstufen ist dabei lediglich als beispielhaft anzusehen. Die Erfindung ist in ebensolcher Weise auf unterschiedliche Ausprägungen von Sicherheitsstufen an- wendbar.
Die Figuren 2 a) bis c) zeigen weitere Ausführungsbeispiele der Umschaltung zwischen Programmen, bei Vorliegen einer größeren Anzahl an Programm- und Datenspeichern und Sicherheitsstufen derselben. Gemäß Fig. 2 a) 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 Fig. 2 b) 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 Fig. 2 c) 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 in dieser Konfiguration theoretisch ebenfalls ausgeführt werden, allerdings werden Programme höherer Sicherheitsstufen normalerweise Zugriff auf Datenspeicher höherer Sicherheitsstufen benötigen und darum in dieser Kon-
figuration meist eine Zugriffseinschränkungsverletzung hervorrufen .
Claims
Patentansprüche
1. Verfahren zur Vermeidung von Speicherschutzverletzungen in einem integrierten Schaltkreises, 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 Sicherheitsstufe (QM, ASIL B, ASIL D) des Datenspeichers (1-3, 2-4, 2-5, 2-6) und einer Sicher¬ heitsstufe (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 Sicherheitsstufe (QM, ASIL B, ASIL D) des Programms und/oder dessen Programmspeichers (1.1, 1.2, 1.3) und der Sicherheitsstufe (QM, ASIL B, ASIL D) des Datenspeichers (1-3, 2-4, 2-5, 2-6) erfolgt.
2. Verfahren gemäß Anspruch 1, dadurch gekennzeichnet, dass ein Vergleich der Sicherheitsstufen (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.
3. 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 Sicherheitsstufe (QM, ASIL B, ASIL D) wie der Datenspeicher (1-3, 2-4, 2-5, 2-6) erfüllt.
4. 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 Sicherheitsstufe (QM, ASIL B, ASIL D) wie der Datenspeicher (1-3, 2-4, 2-5, 2-6) erfüllt.
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.
Verfahren gemäß einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass ein Betriebssystem des integrierten Schaltkreises eine niedrigere Sicherheitsstufe (QM, ASIL B, ASIL D) als eine höchste vorgesehene Sicherheitsstufe (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.
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.
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 aus¬ gestaltet 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
Sicherheitsstufe (QM, ASIL B, ASIL D) des Datenspeichers
(1-3, 2-4, 2-5, 2-6) und einer Sicherheitsstufe (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 Sicherheitsstufe (QM, ASIL B, ASIL D) des Programms und/oder dessen Programmspeichers (1.1, 1.2, 1.3) und der
Sicherheitsstufe (QM, ASIL B, ASIL D) des Datenspeichers (1-3, 2-4, 2-5, 2-6) erfolgt.
9. Schaltkreis gemäß Anspruch 8, dadurch gekennzeichnet, dass dieser ein Verfahren gemäß einem der Ansprüche 1 bis 7 ausführt .
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102014212018.7 | 2014-06-23 | ||
DE102014212018.7A DE102014212018A1 (de) | 2014-06-23 | 2014-06-23 | Verfahren und Schaltkreis zur Vermeidung von Speicherschutzverletzungen |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015197544A1 true WO2015197544A1 (de) | 2015-12-30 |
Family
ID=53496650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2015/063955 WO2015197544A1 (de) | 2014-06-23 | 2015-06-22 | Verfahren und schaltkreis zur vermeidung von speicherschutzverletzungen |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE102014212018A1 (de) |
WO (1) | WO2015197544A1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116451235A (zh) * | 2023-03-27 | 2023-07-18 | 亿咖通(湖北)技术有限公司 | 内存保护方法、设备、存储介质及程序产品 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102019202862B4 (de) * | 2019-03-04 | 2022-08-04 | Audi Ag | Vorrichtung zur Bereitstellung von Bilddaten |
DE102021208681A1 (de) | 2021-08-10 | 2023-02-16 | Volkswagen Aktiengesellschaft | Steuergerät für ein Kraftfahrzeug und Verfahren zum Aktualisieren eines Steuergeräts |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0472487A2 (de) * | 1990-08-21 | 1992-02-26 | International Business Machines Corporation | Gerät und Verfahren zur Steuerung von Zugriff auf Daten mit Hilfe von Domänen |
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 (de) * | 2006-10-09 | 2008-04-16 | Texas Instruments France | Überprüfen der Integrität des Überwachungsmodus |
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 |
US20110191562A1 (en) * | 2010-02-02 | 2011-08-04 | Broadcom Corporation | Apparatus and method for partitioning, sandboxing and protecting external memories |
-
2014
- 2014-06-23 DE DE102014212018.7A patent/DE102014212018A1/de not_active Withdrawn
-
2015
- 2015-06-22 WO PCT/EP2015/063955 patent/WO2015197544A1/de active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0472487A2 (de) * | 1990-08-21 | 1992-02-26 | International Business Machines Corporation | Gerät und Verfahren zur Steuerung von Zugriff auf Daten mit Hilfe von Domänen |
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 (de) * | 2006-10-09 | 2008-04-16 | Texas Instruments France | Überprüfen der Integrität des Überwachungsmodus |
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 |
US20110191562A1 (en) * | 2010-02-02 | 2011-08-04 | Broadcom Corporation | Apparatus and method for partitioning, sandboxing and protecting external memories |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116451235A (zh) * | 2023-03-27 | 2023-07-18 | 亿咖通(湖北)技术有限公司 | 内存保护方法、设备、存储介质及程序产品 |
CN116451235B (zh) * | 2023-03-27 | 2024-04-09 | 亿咖通(湖北)技术有限公司 | 内存保护方法、设备、存储介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
DE102014212018A1 (de) | 2015-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69717063T2 (de) | Verfahren und System zur sicheren Datenverarbeitung | |
EP3437012B1 (de) | Verfahren, prozessor und gerät zur integritätsprüfung von nutzerdaten | |
EP3031227B1 (de) | Verfahren zum betreiben eines sicherheitselements | |
DE112016002785T5 (de) | Elektronische Steuereinheiten für Fahrzeuge | |
EP2235598B1 (de) | Feldgerät und verfahren zu dessen betrieb | |
DE102005021064B4 (de) | Verfahren und Vorrichtung zum Schutz gegen Buffer Overrun-Attacken | |
EP3864548A1 (de) | Verfahren und vorrichtung zur isolation von sensiblem nicht-vertrauenswürdigem programmcode auf mobilen endgeräten | |
WO2015197544A1 (de) | Verfahren und schaltkreis zur vermeidung von speicherschutzverletzungen | |
DE102020003072B3 (de) | Verfahren zur sicheren Nutzung von kryptografischem Material | |
EP2510475B1 (de) | Hardware-einrichtung | |
WO2004114131A1 (de) | Verfahren zum nachladen einer software in den bootsektor eines programmierbaren lesespeicher | |
EP2394232B1 (de) | Vorrichtung und verfahren zum verhindern von unautorisierter verwendung und/oder manipulation von software | |
DE102013016114B3 (de) | Bussystem und Verfahren für geschützte Speicherzugriffe | |
DE102013209264A1 (de) | Verfahren zum Betreiben eines Kommunikationsmoduls und Kommunikationsmodul | |
EP2524333B1 (de) | Verfahren zum bereitstellen eines sicheren zählers auf einem endgerät | |
DE102005046696A1 (de) | Verfahren zum Erzeugen von geschütztem Programmcode und Verfahren zum Ausführen von Programmcode eines geschützten Computerprogramms sowie Computerprogrammprodukt | |
DE102009058754B4 (de) | Verfahren zur Reprogrammierung eines oder mehrerer Steuergeräte eines Fahrzeugs und Steuergerät | |
DE102015223757A1 (de) | Verfahren zum Betreiben eines Mikrocontrollers | |
WO2017089101A1 (de) | Verfahren zum betreiben eines mikrocontrollers | |
DE102007018777A1 (de) | Steuervorrichtung für Fahrzeuge | |
DE19925195A1 (de) | Verfahren für die sichere Verwaltung eines Speichers | |
DE10357032A1 (de) | Verfahren zum Nachladen einer Software in den Bootsektor eines programmierbaren Lesespeicher | |
WO2017102655A1 (de) | Mikrocontrollersystem und verfahren zur kontrolle von speicherzugriffen in einem mikrocontrollersystem | |
EP3391279B1 (de) | Mikrocontrollersystem und verfahren zur kontrolle von speicherzugriffen in einem mikrocontrollersystem | |
DE102015015212B4 (de) | Verfahren zum Betreiben eines Sicherheitsmoduls und Sicherheitsmodul |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15732581 Country of ref document: EP Kind code of ref document: A1 |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15732581 Country of ref document: EP Kind code of ref document: A1 |