Modulare Online Updates und Upgrades für sicherheitskritische Systeme

Sicherheitskritische Systeme sind mit einer Zunahme kritischer Softwarefunktionen konfrontiert, die leistungsstarke Hardwareplattformen erfordern. Aufgrund der zunehmenden Softwarekomplexität und Plattformkonnektivität werden Over-The-Air-Software-Updates (OTASU) für moderne eingebettete Systeme notwendig, da Aktualisierungen und Funktionserweiterungen, Sicherheitskorrekturen oder Anpassungen an andere Komponenten während der Lebensdauer unvermeidbar werden.

Die Anwendung von OTASU in einem sicherheitskritischen System ist nicht frei von Herausforderungen. Der von uns vorgeschlagene Ansatz befasst sich gleichzeitig mit den wichtigsten Zuverlässigkeitsherausforderungen, die OTASU für sicherheitskritsiche Systeme mit sich bringen, mit besonderem Augenmerk auf Betriebs- und Cybersicherheit, Verfügbarkeit und die zunehmende Komplexität der Plattform.

Lösungsangebot

Wir bieten ein neues, domänenunabhängiges Software-Paradigma für die Entwicklung, Integration und modulare Zertifizierung von Software-Anwendungen auf gemischt-kritischen cyber-physischen Systemen entlang des Produktlebenszyklus an, das sichere OTASU unterstützt. Dieses Paradigma wird durch eine neue Softwarearchitektur und einen Entwicklungsprozess implementiert und demonstriert, der während des laufenden Betriebs die Bereitstellung neuer Anwendungen aus der Ferne (Patches für bestehende Funktionen oder Erweiterung der Funktionalität) auf heterogenen Computerplattformen im Dev-Ops-Zyklus ermöglicht. Darüber hinaus bieten wir eine Strategie für die künftige Zertifizierung des Ansatzes in Bezug auf Safety (zum Beispiel IEC-61508, ISO 26262) und Security (IEC-62443, ISO 21434) durch spezielle Konzepte, die auf Kompositionsfähigkeit, Modularität und Beobachtbarkeit als Haupteigenschaften aufbauen, um eine dynamische Validierung der Sicherheits- und Sicherungseigenschaften (nach der Bereitstellung in der Einsatzumgebung) zu ermöglichen.

Update-Cockpit

Das Update-Cockpit ermöglicht die Definition der Anwendung als eine aktualisierbare Einheit sowie kontraktbasierte Metadaten für die Systemintegration. Diese enthalten Schnittstellendefinitionen, Zeit- und Ressourcenverträge. Darüber hinaus ermöglicht das Update-Cockpit die Darstellung und Änderung der gesamten Systemkonfiguration für eine bestimmte Fahrzeugplattform. Änderungen (zum Beispiel das Ändern von Softwarekomponenten) lösen zur Entwurfszeit virtuelle Integrations- und Kompatibilitätsprüfungen aus, um die Gültigkeit der neuen Konfiguration zu bestätigen.

Aktualisierungsserver

Der Aktualisierungsserver bietet simulationsbasierte und analytische Integrationstests für Zeitverträge und eine Kompatibilitätsprüfung für Ressourcenverträge. Wenn die Integrations- oder Kompatibilitätsprüfungen fehlschlagen, werden Diagnosedaten (Traces) als Feedback an Entwickler und Entwicklerinnen oder Systemintegratoren und Systemintegratorinnen übermittelt. Wenn die Integrations- und Kompatibilitätsprüfungen bestanden werden, wird ein Update vorbereitet und per Funk durch eine gesicherte Verbindung übertragen.

Update-Middleware

Die Update-Middleware unterstützt das sichere Herunterladen neuer Update-Pakete, die Datenintegration, die Validierung, die Kompatibilitäts- und Ressourcenprüfung vor Ort gegen die Feldkonfiguration und den Gesundheitszustand des Fahrzeugs, sowie die Bereitstellung von updatebaren Software-Container und den zugehörigen Monitor-Komponenten auf dem (Zentral-) Steuergerät. Die Update-Middleware verwendet libvirt als gemeinsame Abstraktionsschicht über verschiedenen modernen Hypervisoren (KVM, Xen) und Containerisierungssoftware (Docker) und HW-Plattformen.

Überblick über eine kontinuierliche Entwicklungs- und Integrationsschleife im Automobilbereich

① Der Konstrukteur verwendet Flottendaten, um ein Update für eine Automobilfunktion zu entwickeln und definiert Kontrakte, um die Zeit- und Ressourcenanforderungen des Systems zu beschreiben.

② Das Update wird auf Kompatibilität, Timing und Ressourcenbedarf getestet. Aus den Kontrakten werden Monitore generiert, die später die laufende Funktion ab­sichern sollen.

③ Das Update-Paket wird über eine drahtlose Verbindung in das Auto übertragen und dort erneut auf Kompatibilität und Ressourcenbedarf geprüft. Dann wird es ohne Beeinflussung anderer laufender Funktionen mittels Modularisierung installiert. Monitore überwachen ständig die Funktionen gemäß den vom Designer festgelegten Zeit- und Ressourcenkontrakten.

④ Seltene Ereignisse in Bezug auf Zeit- und Ressourcenbeschränkungen sowie in Bezug auf seltenes Funktionsverhalten werden an den Hersteller zurückgegeben und für die nächste Entwurfsiteration gesammelt.