Ausgangspunkt und Motivation

Aufgrund der niedrigen – und weiter sinkenden – Strukturgrößen moderner Mikroprozessoren steigt die Häufigkeit von sogenannten Soft-Errors, insbesondere von Single-Event-Upsets. Dadurch wird es immer schwieriger, die bisher von Sicherheits­normen vorgegebenen statistischen Ausfallraten einzuhalten.

Zugleich kann ein spezifischer Single-Event-Upset oft keinerlei Auswirkungen auf die Sicherheit des Systems haben.

Weist man formal nach, daß sich bestimmte Fehler nicht auf die Sicherheit des Systems auswirken können, so vermeidet man, daß sichere Komponenten als nicht zulassungsfähig eingestuft werden nach Kriterien, die bei heutigen Strukturdichten nicht mehr realistisch sind.

Dies ermöglicht letztlich eine Senkung der Hardwarekosten und eine kostengünstigere Entwicklung sicherheits­kritischer Systeme.

Beispiel: Direktbezug zu ISO 26262

Im Folgenden sind alle originalen Begriffe der ISO 26262 kursiv gesetzt.

Gemäß ISO 26262 besteht das Ziel der Safety-Analyse darin, Hardwarefehler in die Kategorien safe faults, single-point faults or residual faults und multiple-point faults zu unterteilen.

PROFORMA beschäftigt sich mit Failure-Modes, die durch Single-Event-Upsets (SEUs) verursacht werden. Diese sind die Hauptursache für die in ISO 26262 so bezeichneten transient faults oder soft errors. Aufgrund der immer kleineren Strukturgrößen in Systems-on-Chip und ständig wachsenden Taktfrequenzen genügen immer kleinere Energien, etwa aus natürlich vorhandener Strahlung, um ein SEU zu provozieren.

Es ist bekannt, daß SEUs in vergleichsweise großen Zeitabständen auftreten – etwa 10 Teilchen pro cm² und Stunde auf Meeresniveau. Daher ist hier eine Einzelfehlerbetrachtung ausreichend und in der Industrie gängige Praxis, sodaß multiple-point faults nicht betrachtet werden müssen, obgleich die PROFORMA-Technik sich auch darauf erweitern ließe.

Es genügt also eine Beschränkung auf safe faults, single-point faults or residual faults.

Die in PROFORMA vorgeschlagene Technik steuert ein induktives Verfahren für die Safety-Analyse bei, das eine formale Bestimmung von safe faults erlaubt. Gegenüber bisherigen manuellen oder simulativen Techniken bietet das PROFORMA-Verfahren entscheidende Vorteile:

  • es vermeidet die übermäßig pessimistischen Abschätzungen bisheriger Techniken und
  • es erlaubt eine genauere Klassifikation der Fehler

Der Nachteil bisheriger Techniken wird beispielsweise in den Artikeln „Getting ISO 26262 Faults Straight“ und „ISO 26262 Fault Analysis – Worst Case is Really the Worst“ von Mentor Graphics erläutert:

What happens if your hardware doesn’t score well enough for your ASIL? Well, there are two options you can take. The obvious one is to try to modify your hardware so that more faults fall into the good “safe” or “detected” bins. This could be done either by better decoupling non-safety-critical logic from safety-critical one, or by improving/adding safety mechanisms. We can call this option the “expensive” one, as it will have a significant cost not only in re-design, re-verification and time but also in gate count — as a rule of thumb, the stronger the safety mechanism, the more gates it will take. The less obvious alternative is to improve the fault analysis and classification flow, so that more and more “worst case” assumptions which increase the “single”, “residual” or “latent” fault count are replaced by realistic assumptions which increase the “safe” and “detected” bin count. This can boost your ISO 26262 metrics without modifying a single gate, and prevent overdesign and schedule delays. We shall go into great detail about this option, which we prefer to refer to as “smart” rather than “cheap”[.]

PROFORMA entwickelt eine im Sinne dieses Artikels smarte Technik zur Identifikation von safe faults. Durch die Ausdehnung der Analyse von der Hardware auf die Software können Fehler, die bisher bei lokaler Betrachtung pessimistisch als single oder residual eingestuft worden wären, mit formaler Genauigkeit als safe klassifiziert werden.

Dies führt, wie in den Artikeln beschrieben, zu genauer quantifizierten ISO-26262-Metriken. Das vermeidet unnötige Hardwareaufwände und die damit verbundenen Kosten. Im Sinne der Erfüllung von safety requirements gemäß Part 5-8.4.4 wird nämlich der Anteil der safe faults zugrunde gelegt, um die coverage von Safety-Mechanismen zu quantifizieren.

Darüberhinaus kann die PROFORMA-Technik in einer weitergehenden Zielsetzung auch dazu verwendet werden, für die verbleibenden single-point faults und residual faults die zusätzlich benötigten Safety-Mechanismen hinsichtlich ihrer funktionalen Korrektheit zu verifizieren.

Die Rückverfolgung der Effekte von Hardwarefehlern in die Software wird im PROFORMA-Ansatz durch eine Taint-Analyse realisiert. Diese wird in Astrée integriert und erfüllt somit die Soundness-Eigenschaft: die Methodik garantiert, daß keine Fehler der betrachteten Fehlerklassen übersehen werden, darunter insbesondere Speicher­korruptions­fehler der Software.

Erfolgsaussichten und Marktpotential

Nach unserem Kenntnisstand ist derzeit kein formales Verfahren auf dem Markt, das die Sicherheitsanalyse in der beschriebenen Weise unterstützen kann. Insbesondere existiert bislang auch kein auf abstrakter Interpretation beruhendes Werkzeug, das eine sichere Taint-Analyse beinhaltet. Existierende Taint-Analysen wurden als Module in unsicheren Bug-Findern mit Fokus auf Cyber-Security entwickelt.

Die Untersuchung der Fehlerpropagation aus Hardwareschichten durch Taint-Analysen ist neuartig. Aus der Entwicklung von Taint-Analysen zur Untersuchung von Hardwarefehlern ergeben sich zudem mögliche Synergien zu security-orientierten Analysen und somit Verbesserungen für Kunden im Security-Umfeld.

Eine Hürde beim Einsatz von statischen Analysewerkzeugen ist der zur Untersuchung der gemeldeten Alarme erforderliche Expertenaufwand. Die Kopplung von Astrée mit RTT-MBT kann eine deutliche Automatisierung der Alarmanalyse erzielen und somit die Attraktivität und Akzeptanz statischer Analysemethoden deutlich erhöhen.