Optimierung einer Softwarebibliothek für sicherheitsrelevante
Optimierung einer Softwarebibliothek für sicherheitsrelevante
Optimierung einer Softwarebibliothek für sicherheitsrelevante
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
4 Konzept und Implementierung 39<br />
4 Konzept und Implementierung<br />
In diesem Kapitel werden die Tests konzipiert und anschließend implementiert. Konzipiert<br />
wird anhand der in dem Kapitel Grundlagen vorgestellten Verfahren. Implementiert<br />
wird in der IDE HiTOP52 in der Programmiersprache C sowie in der Assemblersprache.<br />
4.1 Software<br />
Die Bibliothek ist modular aufgebaut, dadurch lässt sich jedes einzelne Modul viel leichter<br />
und schneller testen. Die Änderungen eines einzelnen Moduls sind viel leichter nachvollziehbar.<br />
Die Bibliothek lässt sich somit gut erweitern. Es besteht außerdem die Möglichkeit<br />
neue Tests hinzuzufügen.<br />
4.1.1 Programmablauf<br />
Bevor ein System, das sicherheitsgerichtete Aufgaben erbringt, in Betrieb genommen<br />
wird, soll zuerst sichergestellt werden, dass das System hinreichend fehlerfrei ist. Aus<br />
dieser Tatsache wird zuerst ein Anlauftest durchgeführt. Bei diesem Test werden alle zu<br />
testende Einheiten auf ihre korrekte Funktionalität geprüft. Da es sehr wichtig ist, dass<br />
die Sicherheit – so zu sagen – „Stück <strong>für</strong> Stück“ erreicht wird, werden zuerst die Komponenten<br />
getestet, ohne die die Durchführung von Tests gefährdet würde. Der Ablauf des<br />
Anlauftests ist folgender:<br />
1. Es werden die Sprung-Befehle der CPU getestet.<br />
2. Es wird ein Watchdog-Test ausgeführt.<br />
3. Es werden die internen Register getestet.<br />
4. Es werden weitere CPU-Befehle überprüft.<br />
5. ROM-Test.<br />
6. Timer-Test.<br />
7. I/O-Test.<br />
8. RAM-Test.<br />
Der Hintergrund dieser Reihenfolge ist folgender:<br />
• Sprung-Befehle werden bei dem WD benutzt, deswegen sollen diese vor dem<br />
WD-Test auf ihre korrekte Funktionalität überprüft werden.<br />
• Watchdog überprüft ob die CPU ihre Arbeit in <strong>einer</strong> bestimmten Zeit ausführen<br />
kann. So kann z.B. der Watchdog ein Programm aus <strong>einer</strong> Endlosschleife, so zu<br />
sagen, „herausholen“, in dem er den µController „resetet“.