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 VerfahrensInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/004—Error avoidance
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error 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.
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.
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.
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.
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.
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)
| 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)
| 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 | 株式会社アドバンテスト | パターン発生器及び電気部品試験装置 |
-
2001
- 2001-03-02 DE DE10110050A patent/DE10110050A1/de not_active Withdrawn
-
2002
- 2002-03-04 US US10/091,057 patent/US7096394B2/en not_active Expired - Fee Related
-
2006
- 2006-06-28 US US11/478,396 patent/US7725644B2/en not_active Expired - Fee Related
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 |