29.01.2013 Aufrufe

Optimierung einer Softwarebibliothek für sicherheitsrelevante

Optimierung einer Softwarebibliothek für sicherheitsrelevante

Optimierung einer Softwarebibliothek für sicherheitsrelevante

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

1 Einleitung 8<br />

Die Entscheidung eine Bibliothek <strong>für</strong> einen µController, der auf einem „ARM7TDMI“ 32-<br />

Bit Prozessor basiert zu entwickeln, wurde durch folgende Gründe beeinflusst. Als erster<br />

Grund hier<strong>für</strong> dient die Tatsache, dass ARM-Prozessoren in bestimmten Marktsegmenten<br />

sehr große Marktanteile besitzen. Deshalb entstand die Frage, ob es möglich wäre<br />

sicherheitskritische Anwendungen auf diesen µControllern auszuführen. Als zweiter<br />

Grund kann die Tatsache angesehen werden, dass während des Studiums nur mit<br />

µControllern, die 8-Bit bzw. mit 16-Bit Prozessoren besitzen, gearbeitet wurde. Deswegen<br />

dient diese Thesis auch als Einstieg in den 32-Bit µController-Welt. Zudem wurden<br />

die Selbsttests z.B. im BGIA (Berufgenossenschaftliches Institut <strong>für</strong> Arbeitschutz)-Report<br />

7/2006 <strong>für</strong> den 80C537 von Siemens, der eine 8-Bit CPU besitzt, entwickelt [BGIA706].<br />

Es bleibt noch hinzuzufügen, dass, obwohl eigentlich einzelne Testmethoden <strong>für</strong> Speicher<br />

oder CPU vorhanden sind und implementiert wurden, zu kompletten Testroutinen<br />

gibt. Ausnahmen bilden [BGIA706] und [TUR05].<br />

1.2 Aufbau der Thesis<br />

Für fast jedes Projekt sind festgelegte Anforderungen sehr wichtig. Deswegen werden in<br />

dieser Thesis im Kapitel 2 Grundlagen der Sicherheitstechnik, Besonderheiten der ARM-<br />

Architektur sowie Tests und Testverfahren vorgestellt. Basierend auf diesen Informationen,<br />

bilden im Kapitel 3 Anforderungen an eine Bibliothek festgelegt und anhand derer<br />

die Bibliothek im Kapitel 4 entworfen und im Kapitel 5 implementiert. Im Kapitel 6 werden<br />

die implementierten Methoden getestet, sowie deren Ausführungszeiten gemessen. Abschließend<br />

wird ein Fazit gezogen.<br />

1.3 Stand der Technik<br />

Als Ausgangsbasis <strong>für</strong> diese Thesis dient ein Prototyp <strong>einer</strong> <strong>Softwarebibliothek</strong>, der einige<br />

Selbsttest beinhaltet. Dieser Prototyp wurde im Fachbereich <strong>für</strong> interne Benutzung<br />

entworfen. Zu den Tests, die in der Bibliothek enthalten sind, zählen: Register-, Arbeitspeicher(RAM)-,<br />

Programmspeicher(ROM)-, Watchdog- und CPU-Test, wobei bei diesem<br />

Test nur einige Befehle getestet wurden. Diese Bibliothek wird überarbeitet und<br />

weiter entwickelt. Sehr viele Grundgedanken und Ideen sind in [BGIA706] und [TUR05]<br />

erläutert.<br />

Der in der Bibliothek vorhandene Register-Test basiert auf so genannten „Walking Bit<br />

Pattern“-Verfahren. Für den Arbeitsspeicher–Test wurden zwei verschiedene Methoden<br />

implementiert: Als erstes ein transparenter Speichertest und zweitens ein „March X“-<br />

Test. Dies hatte zum Ziel, Unterschiede in Ausführungsgeschwindigkeit und Fehleraufdeckungsgrad<br />

zu ermittelt. Beim Programmspeicher-Test wird beim Start eine 32-Bit<br />

lange Signatur(CRC 4 ) gebildet, dann im Betrieb in bestimmten Zeitintervallen eine neue<br />

berechnet und mit dem Anfangswert verglichen. Grundgedanke des implementierten<br />

4 CRC – Cyclic Redundancy Check

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!