[go: up one dir, main page]

DE10110050A1 - Verfahren zur Absicherung sicherheitskritischer Programmteile vor versehentlicher Ausführung und eine Speichereinrichtung zur Durchführung dieses Verfahrens - Google Patents

Verfahren zur Absicherung sicherheitskritischer Programmteile vor versehentlicher Ausführung und eine Speichereinrichtung zur Durchführung dieses Verfahrens

Info

Publication number
DE10110050A1
DE10110050A1 DE10110050A DE10110050A DE10110050A1 DE 10110050 A1 DE10110050 A1 DE 10110050A1 DE 10110050 A DE10110050 A DE 10110050A DE 10110050 A DE10110050 A DE 10110050A DE 10110050 A1 DE10110050 A1 DE 10110050A1
Authority
DE
Germany
Prior art keywords
program
pattern
critical
execution
safety
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
DE10110050A
Other languages
English (en)
Inventor
Martin Hurich
Wolfgang Grimm
Harry Friedmann
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE10110050A priority Critical patent/DE10110050A1/de
Priority to US10/091,057 priority patent/US7096394B2/en
Publication of DE10110050A1 publication Critical patent/DE10110050A1/de
Priority to US11/478,396 priority patent/US7725644B2/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

Es wird ein Verfahren zur Absicherung sicherheitskritischer Programmteile vor versehentlicher Ausführung beschrieben. DOLLAR A Bei diesem wird mindestens ein Programmteil mit vorgegebenem zeitlichen Ablauf ausgeführt. Zu einem bestimmten Zeitpunkt der Ausführung wird ein Muster erzeugt und zu mindestens einem späteren Zeitpunkt geprüft, ob das Muster vorhanden ist, und bei Fehlen des Musters die Ausführung des betreffenden Programmteils abgebrochen. DOLLAR A Weiterhin wird eine Speichereinrichtung (20) zur Ausführung eines solchen Verfahrens beschrieben.

Description

Die vorliegende Erfindung betrifft ein Verfahren zur Absicherung sicherheitskritischer Programmteile und eine Speichereinrichtung zur Durchführung dieses Verfahrens.
Stand der Technik
Die beispielsweise in Steuergeräten von Kraftfahrzeugen eingesetzte Software wird aufgrund der ständig anwachsenden Anforderungen immer komplexer. Dies und die zunehmend differenzierteren Randbedingungen führen zu einer Ausprägung verschiedenster Betriebszustände des Softwaresystems.
Problematisch dabei ist, dass diese Betriebszustände teilweise in höchstem Maße inkompatibel zueinander sind. Sind in ein und demselben Speicher Programmteile abgelegt, welche verschiedenen Betriebszuständen zugeordnet sind, kann ein versehentliches Ausführen eines Programmteils im falschen Betriebszustand zu einem sicherheitskritischen Verhalten führen.
Ein Beispiel hierfür ist die Existenz einer Endlosschleife, welche in Erwartung eines Abschaltens von Außen Sinn machen kann, während des normalen Programmablaufs jedoch niemals zur Ausführung kommen darf. Während der Ausführung solcher Programmteile sind grundsätzliche Überwachungsmechanismen, wie beispielsweise ein Hardware oder ein Software-Watchdog, abgeschaltet oder zumindest unwirksam gemacht.
Eine vollständige Vermeidung der Existenz solcher Programmstrukturen kann heute nicht mehr garantiert werden. Daher müssen diese Programmteile praktisch zu 100% gegen eine versehentliche Ausführung abgesichert werden.
Verfahren zum Verhindern der versehentlichen Veränderung von Speicherinhalten, insbesondere von Flash EEPROM- Speichern, sind verbreitet.
Aus der DE 196 16 053 A1 ist ein Verfahren zum Betreiben eines Steuergeräts mit einer programmierbaren Speichereinrichtung bekannt. Die Programmierung der Speichereinrichtung erfolgt dabei unter aufeinanderfolgender Ausführung einer Vielzahl von Speicherprogrammierungs-Steuervorgängen.
Dabei soll erreicht werden, dass ein durch Störungen ausgelöstes und/oder beeinflusstes Löschen und/oder Überschreiben von in der programmierbaren Speichereinrichtung gespeicherten Daten auf einfache Weise weitestgehend auszuschließen ist.
Dies wird dadurch erreicht, dass ein Überprüfungsschritt, durch welchen feststellbar ist, ob alle ausgewählten einzelnen oder mehreren der bis dahin auszuführenden Speicherprogrammierungs-Steuervorgänge ausgeführt wurden, und ein Entscheidungsschritt, in welchem unter Berücksichtigung des Überprüfungsergebnisses entschieden wird, ob der Programmiervorgang unter Ausführung weiterer Speicherprogrammier-Steuervorgänge bestimmungsgemäß fortzusetzen ist, vorgesehen sind.
So ist es möglich, zu jedem beliebigen Zeitpunkt festzustellen, ob die bis dahin auszuführenden Steuervorgänge auch tatsächlich ausgeführt wurden.
Die EP 0 923 081 A2 beschreibt ein Verfahren zum Beschreiben und/oder Löschen eines Flash EEPROMs.
Bei diesem entspricht eine Programmier- bzw. Löschspannung einer Lesespannung. Zum Unterscheiden der Programmier- bzw. Löschspannung von der Lesespannung sind die Programmier- bzw. Löschalgorithmen mit definierten Adressen und definierten Daten in einer definierten Reihenfolge abzuarbeiten. Die Programmier- bzw. Löschalgorithmen sind in einem dem Flash EEPROM logisch zugeordneten flüchtigen Speicher verlagert.
Dadurch wird eine erhöhte Sicherheit der in dem Flash EEPROM abgelegten Speicherinformationen gegenüber zufälligem Überschreiben bzw. Löschen erreicht.
Eine durch zufälliges Beaufschlagen des Flash EEPROMs mit einer elektromagnetischen Entladung, durch Programmierfehler, Hardwarefehler und/oder Spannungspulse verursachte versehentliche Überschreibung oder Löschung gespeicherten Inhalts wird vermieden.
Weiterhin ist eine Ausführungsform beschrieben, bei der die für die Abarbeitung der Programmier- bzw. Löschalgorithmen notwendigen Adressinformationen und Dateninformationen erst durch ein externes Programmiergerät bereitgestellt werden.
Vergleichbare Verfahren zur Absicherung beliebiger sicherheitskritischer Programmteile sind hingegen noch nicht bekannt. Hier setzt die Erfindung an.
Vorteile der Erfindung
Das erfindungsgemäße Verfahren dient zur Absicherung sicherheitskritischer Programmteile vor versehentlicher Ausführung. Bei diesem wird ein Programm mit mindestens einem Programmteil mit vorgegebener zeitlicher Abfolge ausgeführt. Zu einem bestimmten Zeitpunkt der Ausführung wird ein Muster erzeugt und zu mindestens einem späteren Zeitpunkt wird geprüft, ob das Muster vorhanden ist. Bei Fehlen des Musters wird die Ausführung des betreffenden Programmteils abgebrochen.
Als Muster kann ein einzelnes Bit, welches gesetzt wird, oder auch ein Bitmuster verwendet werden.
Bevorzugt wird das Muster in einem flüchtigen Speicher, z. B. einem RAM-Baustein, erzeugt. So ist sichergestellt, dass nach einem Programmstart ein bei einem früheren Programmdurchlauf erzeugtes Muster wieder gelöscht ist.
Wichtig beim erfindungsgemäßen Verfahren ist, dass bei der Ausführung sicherheitskritischer Programmteile zumindest zu einem Zeitpunkt überprüft wird, ob ein Muster vorhanden ist. Bei dessen Fehlen, weil beispielsweise aufgrund eines Fehlers der Programmzeiger in den sicherheitskritischen Bereich gesprungen ist, wird die Ausführung des Programmteils abgebrochen.
Die erfindungsgemäße Speichereinrichtung zur Ausführung des erfindungsgemäßen Verfahrens ist in ein oder mehrere Bereiche aufgeteilt. Dabei ist in jedem Bereich ein Programmteil abgelegt. Der bzw. die Programmteile sind mit einem vorgegebenen zeitlichen Ablauf ausführbar. Die erfindungsgemäße Speichereinrichtung zeichnet sich dadurch aus, dass ein Mittel vorgesehen ist, welches bewirkt, dass bei der Ausführung der Programmteile zu einem bestimmten Zeitpunkt ein Muster erzeugt wird, und wenigstens ein weiteres Mittel vorgesehen ist, welches bewirkt, dass zu einem späteren Zeitpunkt überprüft wird, ob das Muster vorhanden ist.
Das in der Speichereinrichtung abgelegte Programm wird dabei mittels eines Mikroprozessors abgearbeitet.
Es ist von Vorteil, die Mustererzeugung zu einem möglichst frühen Zeitpunkt durchzuführen.
Außerdem kann in der Speichereinrichtung eine Programmroutine vorgesehen sein, die ein Zurücksetzen des Prozessors (Reset) bewirkt. Bei einem fehlerfreien Durchlauf des Programms überspringt der Programmzeiger diese Programmroutine. Springt der Programmzeiger aber aufgrund eines Fehlers in die Programmroutine, wird der Prozessor zurückgesetzt.
Als Speichereinrichtung zur Ausführung des erfindungsgemäßen Verfahrens werden zweckmäßigerweise geeignete Datenträger, wie EEPROMs, Flash Memories, aber auch CD-ROMs, Disketten oder Festplattenlaufwerke verwendet.
Zeichnungen
Die Erfindung wird nachfolgend anhand der beigefügten Zeichnung und unter Bezugnahme auf ein Ausführungsbeispiel näher erläutert. In der Zeichnung zeigt:
Fig. 1 eine herkömmliche Speichereinrichtung in schematischer Darstellung,
Fig. 2 eine bevorzugte Ausführungsform der erfindungsgemäßen Speichereinrichtung in schematischer Darstellung, und
Fig. 3 den Ablauf einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens im Flussdiagramm.
In Fig. 1 ist in schematischer Darstellung eine herkömmliche Speichereinrichtung 10 dargestellt. Die Speichereinrichtung 10 weist einen ersten Bereich 11 und einen zweiten Bereich 12 auf. Ein Pfeil 13 zeigt die Ausführungsrichtung an. Im ersten Bereich 11 ist ein erster Programmteil 14 und im zweiten Bereich 12 ein zweiter Programmteil 15 enthalten. Außerdem sind im zweiten Bereich 12 Daten in einem Datenfeld 16 abgelegt.
Der in der dargestellten Speichereinrichtung 10 vorgesehene zweite Programmteil 15 darf zu einem bestimmten Zeitpunkt (d. h. in einem bestimmten Betriebszustand) keinesfalls ausgeführt werden, da in diesem sicherheitskritische Routinen enthalten sind.
Der erste Programmteil 14 und der zweite Programmteil 15 sind so ausgelegt, daß der zweite Programmteil 15 direkt vom ersten Programmteil 14 aufgerufen wird oder zumindest eine feste kausale Verknüpfung zwischen den beiden besteht.
In Fig. 1 sind ein erster kritischer Bereich 17 und ein zweiter kritischer Bereich 18 kenntlich gemacht. Die kritischen Bereiche 17, 18 umfassen die Teile des Speichers, in welchen ein versehentliches Einspringen des Programmzeigers zu einer vollständigen Ausführung des sicherheitskritischen zweiten Programmteils 15 führen kann. Gründe für den Umfang des kritischen Bereichs sind:
  • 1. Ein Einsprung des Programmzeigers in den ersten Programmteil 14 führt direkt oder indirekt zu einer weiteren Ausführung des zweiten Programmteils 15 und damit der sicherheitskritischen Routinen.
  • 2. Ein Einsprung des Programmzeigers in das Datenfeld 16 führt zunächst zu einer Ausführung unsinniger Befehle (Daten als Opcode),welche aber nicht notwendigerweise zu einem Rücksetzen des Prozessors (Reset) führen müssen. Es besteht daher die Möglichkeit, dass der Programmzeiger bis in den Bereich des ausführbaren zweiten Programmteils 15 weiterläuft und damit die sicherheitskritischen Routinen zur Ausführung kommen.
  • 3. Der direkte Einsprung des Programmzeigers in den zweiten Programmteil 15 führt zwangsläufig zu einer kompletten Ausführung der sicherheitskritischen Routinen. Dies kann hier beispielsweise zu einer Ausführung einer Endlosschleife führen. Um dies zu verhindern, wird erfindungsgemäß folgendermaßen vorgegangen.
Ausführungsbeispiel
In Fig. 2 ist eine erfindungsgemäße Speichereinrichtung mit der Bezugsziffer 20 schematisch dargestellt.
Die erfindungsgemäße Speichereinrichtung 20 weist einen ersten Bereich 21 und einen zweiten Bereich 22 auf. Ein Pfeil 23 verdeutlicht die Ausführungsrichtung. Im ersten Bereich 21 ist ein erster Programmteil 24 und im zweiten Bereich 22 ein zweiter Programmteil 25 vorgesehen. Der zweite Programmteil enthält wiederum sicherheitskritische Routinen.
Weiterhin umfaßt der zweite Bereich 22 ein Datenfeld 26.
Im ersten Bereich 21 ist ein erstes Mittel 27 vorgesehen, welches bewirkt, dass ein Muster erzeugt wird. Das erste Mittel 27 ist beispielsweise eine Programmroutine, welche ein Bit oder ein Bitmuster setzt.
Entsprechend ist im zweiten Bereich 22 ein Mittel 28 vorgesehen, welches eine Musterprüfung durchführt. Das zweite Mittel 28 ist z. B. eine Programmroutine, die überprüft, ob das entsprechende Bit bzw. das Bitmuster gesetzt ist.
Zusätzlich ist im zweiten Bereich 22 eine Programmroutine 29 dargestellt, welche ein Zurücksetzen des Prozessors (Reset) bewirkt.
Bei der erfindungsgemäßen Speichereinrichtung 20 sind somit, wie nachfolgend erläutert wird, Maßnahmen getroffen, um die versehentliche Ausführung des sicherheitskritischen zweiten Programmteils 25 zu vermeiden.
Zunächst wird zu Beginn des ersten Programmteils 24 durch das erste Mittel 27 ein Muster im flüchtigen RAM erzeugt, welches für die Ausführung des zweiten Programmteils 25 zwingend erforderlich ist. Ein Einsprung des Programmzeigers in den ersten Bereich 21 hinter dem ersten Mittel 27 führt zunächst direkt oder indirekt zu einer weiteren Ausführung des zweiten Programmteils 25. Die Ausführung des zweiten Programmteils 25 wird jedoch aufgrund des fehlenden Musters, was durch die Überprüfung mit dem Mittel 28 festgestellt wird, abgebrochen. Eine versehentliche Erzeugung des Musters ist nur möglich, wenn der Programmzeiger vor die Ausführung der Erzeugung des Musters durch das erste Mittel 27 in den Programmablauf einspringt.
Hieraus wird deutlich, dass das erste Mittel 27 das Muster bevorzugt zu einem möglichst frühen Zeitpunkt in der Programmausführung erzeugt.
Ferner wird am physikalischen Beginn des zweiten Bereiches 22, in welchem sich der sicherheitskritische zweite Programmteil 25 befindet, der Befehl zum Zurücksetzen des Prozessors (Reset) hinterlegt. Ein Einsprung des Programmzeigers in das Datenfeld 26 führt zunächst wie im ungeschützten Fall zu einer Ausführung unsinniger Befehle (Daten als Opcode), welche aber nicht notwendigerweise zu einem Zurücksetzen des Prozessors (Reset) führen müssen. Es besteht daher ebenfalls die Möglichkeit, dass der Programmzeiger weiterläuft. Bei Erreichen der Programmroutine 29 wird dann zwangsläufig der Prozessor zurückgesetzt und eine weitere Ausführung des sicherheitskritschen zweiten Programmteils 25 vermieden.
Bei einem fehlerfreien Ablauf des Programms springt der Programmzeiger aus dem ersten Bereich 21 in den zweiten Bereich 22 hinter die Programmroutine 29.
Weiterhin führt der direkte Einsprung des Programmzeigers in den zweiten Bereich 22 zwangsläufig zu einer Ausführung des nachfolgenden, sicherheitskritischen zweiten Programmteils 25 bis zur nächsten hinterlegten Prüfung des erforderlichen Musters. Da kein Muster an der Stelle 27 im Bereich 21 erzeugt wurde, wird die Ausführung des sicherheitskritischen zweiten Programmteils 25 an dieser Stelle abgebrochen.
Die Felder 30 und 31 verdeutlichen den kritischen Bereich, der sich im Vergleich zu den kritischen Feldern 17 und 18 aus Fig. 1 erheblich verringert hat. Die Felder 32 und 33 zeigen den geschützten Bereich, das Feld 34 den gegen wiederholte Ausführung geschützten Bereich.
Werden bei der Musterprüfung und der Mustererzeugung jeweils externe Randbedingungen (z. B. Zustände von Hardwarekomponenten) geprüft, so kann die versehentliche Ausführung des zweiten Programmteils 25 über einen Einsprung in den ersten Bereich 21 sogar zu 100% verhindert werden.
Soll beispielsweise die Ausführung des ersten Programmteils 24 und des zweiten Programmteils 25 von einer äußeren Bedingung abhängen, so wird zusätzlich diese Bedingung, beispielsweise ein Spannungswert, zusätzlich noch einmal überprüft.
Fig. 3 verdeutlicht den Ablauf des erfindungsgemäßen Verfahrens im Flussdiagramm.
Mit einem Schritt 40 beginnt die Ausführung des Programms. Der Programmzeiger springt in den ersten Bereich 27.
In einem Schritt 41 wird ein Muster erzeugt. Der im ersten Bereich 21 abgelegte erste Programmteil 24 kommt zur Ausführung. Nach Beendigung dieses Programmteils springt der Programmzeiger mit einem Schritt 42 in den zweiten Bereich 22.
Im zweiten Bereich 22 wird in einem Schritt 43 der zweite Programmteil 25 ausgeführt und zusätzlich zu unterschiedlichen Zeitpunkten überprüft, ob das im ersten Bereich 21 erzeugte Muster im RAM abgelegt ist. Ist dies nicht der Fall, erfolgt der Abbruch des Programms 44. Liegt ein Muster vor, wie dies bei einem fehlerfreien Ablauf des Programms der Fall ist, wird das Programm in einem Schritt 45 weiter ausgeführt.
Mit Hilfe des erfindungsgemäßen Verfahrens kann die Wahrscheinlichkeit der versehentlichen Ausführung der sicherheitskritischen Programmteile und das daraus resultierende Fehlverhalten des Steuergeräts in erheblichem Maße, d. h. um Größenordnungen, reduziert werden.
Das beschriebene Verfahren eignet sich vor allem zur Vermeidung der Ausführung von sicherheitskritischen, zyklisch ausgeführten Programmteilen. Eine zyklische Ausführung kann durch die Hinterlegung einer einzigen Prüfung des relevanten Musters verhindert werden.
Programmteile, welche auch bei einmaliger Ausführung sicherheitskritisch sind, können durch mehrfache Prüfung in möglichst kleine Teile zerlegt werden.

Claims (8)

1. Verfahren zur Absicherung sicherheitskritischer Programmteile vor versehentlicher Ausführung, bei dem mindestens ein Programmteil mit vorgegebenem zeitlichen Ablauf ausgeführt wird, dadurch gekennzeichnet, dass zu einem bestimmten Zeitpunkt der Ausführung ein Muster erzeugt wird und anschließend zumindest zu einem Zeitpunkt geprüft wird, ob das Muster vorhanden ist.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Muster zu Beginn der Programmausführung erzeugt wird.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass das Muster in einem flüchtigen Speicherelement erzeugt wird.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass bei der Mustererzeugung und bei der Musterprüfung jeweils externe Randbedingungen geprüft werden.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass als externe Randbedingungen Zustände von Hardwarekomponenten dienen.
6. Verfahren zur Absicherung von sicherheitskritischen Programmteilen, bei dem bei der Ausführung eines sicherheitskritischen Programmteils zumindest zu einem Zeitpunkt überprüft wird, ob ein den ordnungsgemäßen Ablauf des Programms repräsentierendes Muster vorhanden ist, und bei dessen Fehlen die Ausführung des Programmteils abgebrochen wird.
7. Speichereinrichtung zur Ausführung eines Verfahrens nach einem der Ansprüche 1 bis 6 mittels eines Mikroprozessors, welche in einen oder mehrere Bereiche (21, 22) aufgeteilt ist, wobei in jedem Bereich ein Programmteil angelegt ist, und der mindestens eine Programmteil mit vorgegebenem zeitlichen Ablauf ausführbar ist, dadurch gekennzeichnet, daß ein erstes Mittel (27) vorgesehen ist, welches bewirkt, dass bei der Ausführung der Programmteile zu einem bestimmten Zeitpunkt ein Muster erzeugt wird und wenigstens ein weiteres zweites Mittel (28) vorgesehen ist, welches bewirkt, dass zu einem späteren Zeitpunkt überprüft wird, ob das Muster vorhanden ist.
8. Speichereinrichtung nach Anspruch 7, gekennzeichnet durch ein Mittel, das ein Zurücksetzen des Prozessors bewirkt.
DE10110050A 2001-03-02 2001-03-02 Verfahren zur Absicherung sicherheitskritischer Programmteile vor versehentlicher Ausführung und eine Speichereinrichtung zur Durchführung dieses Verfahrens Withdrawn DE10110050A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE10110050A DE10110050A1 (de) 2001-03-02 2001-03-02 Verfahren zur Absicherung sicherheitskritischer Programmteile vor versehentlicher Ausführung und eine Speichereinrichtung zur Durchführung dieses Verfahrens
US10/091,057 US7096394B2 (en) 2001-03-02 2002-03-04 Method for protecting software programs from inadvertent execution
US11/478,396 US7725644B2 (en) 2001-03-02 2006-06-28 Memory device and an arrangement for protecting software programs against inadvertent execution

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10110050A DE10110050A1 (de) 2001-03-02 2001-03-02 Verfahren zur Absicherung sicherheitskritischer Programmteile vor versehentlicher Ausführung und eine Speichereinrichtung zur Durchführung dieses Verfahrens

Publications (1)

Publication Number Publication Date
DE10110050A1 true DE10110050A1 (de) 2002-09-05

Family

ID=7676056

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10110050A Withdrawn DE10110050A1 (de) 2001-03-02 2001-03-02 Verfahren zur Absicherung sicherheitskritischer Programmteile vor versehentlicher Ausführung und eine Speichereinrichtung zur Durchführung dieses Verfahrens

Country Status (2)

Country Link
US (2) US7096394B2 (de)
DE (1) DE10110050A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1894101A1 (de) * 2005-06-23 2008-03-05 Bayerische Motorenwerke Aktiengesellschaft Verfahren und vorrichtung zum überwachen eines unerlaubten speicherzugriffs einer rechenvorrichtung, insbesondere in einem kraftfahrzeug
US20100125830A1 (en) * 2008-11-20 2010-05-20 Lockheed Martin Corporation Method of Assuring Execution for Safety Computer Code
US10522229B2 (en) 2017-08-30 2019-12-31 Micron Technology, Inc. Secure erase for data corruption

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4000460A (en) * 1974-07-01 1976-12-28 Xerox Corporation Digital circuit module test system
US4221176A (en) * 1978-07-14 1980-09-09 Quality Mills, Inc. Profile stitching apparatus and method
US4819237A (en) * 1987-08-05 1989-04-04 Digital Appliance Controls, Inc. Method and apparatus for monitoring the validity of microprocess or volatile memory
GB9202714D0 (en) * 1992-02-10 1992-11-18 Byrne Frederick N Detector
GB9217728D0 (en) * 1992-08-20 1992-09-30 Texas Instruments Ltd Method of testing interconnections between integrated circuits in a circuit
US5913022A (en) * 1995-08-31 1999-06-15 Schlumberger Technologies, Inc. Loading hardware pattern memory in automatic test equipment for testing circuits
DE19616053A1 (de) 1996-04-23 1997-10-30 Bosch Gmbh Robert Verfahren zum Betreiben eines Steuergerätes mit einer programmierbaren Speichereinrichtung
JPH10161899A (ja) * 1996-11-27 1998-06-19 Advantest Corp シーケンス制御回路
DE19754704A1 (de) 1997-12-10 1999-06-24 Bosch Gmbh Robert Verfahren zum Beschreiben und/oder Löschen eines flash-EPROMs
US6205407B1 (en) * 1998-02-26 2001-03-20 Integrated Measurement Systems, Inc. System and method for generating test program code simultaneously with data produced by ATPG or simulation pattern capture program
US6195776B1 (en) * 1998-11-02 2001-02-27 Synopsys, Inc. Method and system for transforming scan-based sequential circuits with multiple skewed capture events into combinational circuits for more efficient automatic test pattern generation
US6769083B1 (en) * 1998-11-10 2004-07-27 Advantest Corporation Test pattern generator, a testing device, and a method of generating a plurality of test patterns
JP4334066B2 (ja) * 1999-06-29 2009-09-16 株式会社アドバンテスト パターン発生器及び電気部品試験装置

Also Published As

Publication number Publication date
US20020174361A1 (en) 2002-11-21
US20060248589A1 (en) 2006-11-02
US7096394B2 (en) 2006-08-22
US7725644B2 (en) 2010-05-25

Similar Documents

Publication Publication Date Title
EP0011685B1 (de) Programmierbare Speicherschutzeinrichtung für Mikroprozessorsysteme und Schaltungsanordnung mit einer derartigen Einrichtung
EP2318920B1 (de) Steuergerät für ein fahrzeug und verfahren für eine datenaktualisierung für ein steuergerät für ein fahrzeug
EP0951673B1 (de) Verfahren zur überwachung der vorgeschriebenen ausführung von softwareprogrammen
DE4331703C2 (de) Elektronische Einrichtung
DE19839680B4 (de) Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten
DE19944991A1 (de) Verfahren zur Sicherung eines Programmablaufs
EP1262856B1 (de) Programmgesteuerte Einheit
EP1190319B1 (de) Sicherung eines rechnerkerns gegen äussere manipulationen
EP0657820B1 (de) Verfahren zum Verhindern einer unberechtigten Datenänderung bei einer Vorrichtung mit einem nichtflüchtigen Speicher
DE102004046611A1 (de) Verfahren zur Abarbeitung eines Computerprogramms auf einem Computersystem
EP1854007A2 (de) Verfahren, betriebssysem und rechengerät zum abarbeiten eines computerprogramms
DE3210616A1 (de) Rechner
DE10110050A1 (de) Verfahren zur Absicherung sicherheitskritischer Programmteile vor versehentlicher Ausführung und eine Speichereinrichtung zur Durchführung dieses Verfahrens
DE102004046288A1 (de) Verfahren zur Abarbeitung eines Computerprogramms auf einem Computersystem
WO2006045754A1 (de) Verfahren, betriebssystem und rechengerät zum abarbeiten eines computerprogramms
DE102010042574A1 (de) Verfahren zum Betreiben eines Mikrocontrollers für ein Automobil und Mikrocontroller
DE102005040916A1 (de) Speicheranordnung und Betriebsverfahren dafür
DE102013202961A1 (de) Verfahren zum Überwachen eines Stackspeichers in einem Betriebssystem eines Steuergeräts eines Kraftfahrzeuges
EP1563358A2 (de) Verfahren zur sicheren überprüfung eines speicherbereiches eines mikrocontrollers in einem steuergerät und steuergerät mit einem geschützten mikrocontroller
DE10252347A1 (de) Überwachte Unterprogrammausführung
DE10229817B4 (de) Verfahren und Vorrichtung zum Ablegen eines Computerprogramms in einen Programmspeicher eines Steuergeräts
DE102016116221A1 (de) Verfahren und Einrichtung zur Überwachung der Ausführung eines Programmcodes
WO2016206847A1 (de) Verfahren und vorrichtung zum absichern einer programmzählerstruktur eines prozessorsystems und zum überwachen der behandlung einer unterbrechungsanfrage
EP0977160B1 (de) Verfahren und Datenverarbeitungsanordnung zum gesicherten Ausführen von Befehlen
DE10148157B4 (de) Programmgesteuerte Einheit

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee