Besuchen Sie uns auf der Embedded World 2026 | 10–12.03, Nürnberg, Deutschland. Mehr erfahren .

Cybersecurity
2026-03-12
10 Minuten Lesezeit

Over-the-Air-(OTA)-Updates für Embedded-Geräte - Yocto-Fall

Adam Sowa
Adam Sowa Chief Technology Officer

Over-the-Air-(OTA)-Updates sind eine dieser Funktionen, die zunächst einfach klingen - „Software einfach remote aktualisieren“, bis man ein Produkt ausliefert und feststellt, was remote wirklich bedeutet: instabile Netzwerke, Stromausfälle im denkbar ungünstigsten Moment, begrenzter Speicher, strenge Sicherheitsanforderungen und Geräte, die man in den nächsten 10 Jahren möglicherweise kein einziges Mal mehr physisch berührt.

Wenn Sie ein Embedded-Produkt entwickeln und OTA von Anfang an richtig konzipieren möchten, bietet unser Team End-to-End-Entwicklung für Embedded-Systeme .

OTA-Updates: Das Wesentliche

  • Was ist OTA? Eine sichere Remote-Softwarebereitstellung, die sich sicher auf Geräten installieren lässt, die sich bereits im Feldeinsatz befinden.

  • Wie Embedded Linux üblicherweise aktualisiert wird : Die meisten Produkte wählen zwischen vollständigen OS-/Rootfs-Updates und Updates auf Anwendungsebene (Pakete oder Container).

  • Zuverlässigkeitsregel Nr. 1 : Für den Fehlerfall planen - mit A/B-Slots oder einem Recovery-System - und ein Update erst dann „committen“, wenn die Health-Checks erfolgreich waren.

  • Warum Yocto wichtig ist : Mit Yocto Linux können Sie OTA direkt in die Plattform integrieren - einschließlich Partitionierung, Boot-Ablauf, Artefaktformat und Signierung –, sodass Updates reproduzierbar und wartbar bleiben.

  • Sicherheitsregel Nr. 1 : Signierte Artefakte vor der Installation verifizieren und Update-Schlüssel sowie Richtlinien wie kritische Infrastruktur schützen.

Schauen wir uns an, was OTA in der realen Welt zuverlässig und sicher macht, insbesondere bei Yocto-basiertem Embedded Linux.

Was ist OTA wirklich?

Was ist OTA wirklich?

Die einfachste Definition lautet: OTA ist Remote-Softwarebereitstellung plus sichere Installation . „Sicher“ leistet hier eine Menge Arbeit. Embedded-Geräte können während eines Updates nicht von einer stabilen Stromversorgung ausgehen, und sie laufen oft unbeaufsichtigt im Feldeinsatz. Deshalb basieren ausgereifte OTA-Systeme auf drei Kernverhalten: Authentizität (es werden nur vertrauenswürdige Updates installiert), Atomarität (das Gerät endet nie in einem halb aktualisierten Zustand) und Wiederherstellbarkeit (wenn etwas schiefläuft, kehrt das Gerät in einen bekannten funktionsfähigen Zustand zurück).

Fehlt auch nur eines davon, wird OTA zu einem Risiko. Ein Remote-Update-Mechanismus, der kein Rollback durchführen kann, kann Geräte unbrauchbar machen. Ein Mechanismus, der ein Rollback durchführen kann, aber keine Signaturen validiert, kann kompromittiert werden. Und ein Mechanismus, der Signaturen validiert, aber nach einem Absturz das Betriebssystem in einem inkonsistenten Zustand zurücklassen kann, wird betrieblich fragil.

Was aktualisiert man auf Embedded Linux eigentlich?

Embedded Linux bietet mehrere Ebenen, die sich im Laufe der Zeit ändern können: Bootloader-Konfiguration, Kernel und Device Tree, Root-Dateisystem, Benutzeranwendungen sowie Konfiguration/Status. Da diese Ebenen unterschiedliche Risikoprofile haben, bewegt sich Linux-OTA typischerweise auf eine von einigen Update-„Formen“ zu, die manchmal auch in einem hybriden Design kombiniert werden.

Vollständige System-Updates (Rootfs-Updates) behandeln das Betriebssystem als ein einziges getestetes Artefakt: Man erstellt in der CI ein vollständiges Image, signiert es, liefert es aus, installiert es und startet neu. Das ist bei Embedded-Produkten weit verbreitet, weil es eine starke Systemkonsistenz bietet – Geräte konvergieren exakt zu dem Zustand, der gebaut und getestet wurde.

Paketbasierte Updates (das Aktualisieren einzelner Pakete) können die Download-Größe bei kleinen Änderungen reduzieren, machen Rollback und systemweite Konsistenz jedoch schwieriger, sofern nicht das gesamte System auf transaktionales Paketmanagement und strenge Versionskontrolle ausgelegt ist.

Transaktionale OS-Deployments (Dateisystembaum-Modelle) aktualisieren das Betriebssystem als versioniertes Deployment und ermöglichen einen atomaren Wechsel zwischen Versionen mit Rollback-Semantik. Das kann die Konsistenz von „OS als Artefakt“ mit effizienten Deltas verbinden, setzt jedoch einen spezifischen Ansatz für Dateisystem-Layout und State-Handling voraus.

Container-First-Ansätze halten das Basisbetriebssystem relativ stabil und aktualisieren Anwendungen als Container. Das kann die Iterationsgeschwindigkeit erheblich verbessern, erfordert aber weiterhin einen OS-Update-Pfad für Kernel- und grundlegende Sicherheits-Fixes sowie ein Betriebsmodell, um Container sicher zu verwalten.

Zu einer praktischen Schlussfolgerung gelangen die meisten Teams: Das Betriebssystem wird auf eine konservative, hochzuverlässige Weise aktualisiert, während Anwendungen auf eine schnellere, leichtgewichtigere Weise aktualisiert werden. Genau hier können Sie Yocto zu Ihrem Vorteil nutzen.

Warum Yocto OTA zu einer Designentscheidung macht und nicht zu einem Zusatz

Yocto ist keine Distribution, die man installiert; es ist ein Build-System, mit dem man eine Distribution erstellt, die zum eigenen Produkt passt. Das ist wichtig, weil die schwierigsten Teile von OTA - Partitionierung, Boot-Ablauf, Dateisystemstruktur und Artefakterzeugung - genau die Bereiche sind, die Yocto zur Build-Zeit außergewöhnlich gut kontrolliert.

Wenn OTA früh in einem Yocto-Projekt eingeplant wird, ist das Ergebnis sauber: Der Build erzeugt genau die Artefakte, die Ihr Updater erwartet, Ihr Speicherlayout spiegelt Ihre Rollback-Strategie wider, und Ihr Sicherheitsmodell (Signierung, Verifizierung, Schlüsselverwaltung) wird Teil der Pipeline. Wenn OTA erst spät nachgerüstet wird, stellen Teams oft fest, dass sie grundlegende Entscheidungen neu treffen müssen: die Partitionstabelle, Bootloader-Variablen, die Lese-/Schreibtrennung zwischen System und Daten, sogar die Art und Weise, wie Konfiguration verwaltet wird.

Yocto beeinflusst auch die Produktivität der Entwickler. Vollständige Images für jede kleine App-Änderung neu zu bauen, ist langsam, deshalb umfasst eine Yocto-orientierte OTA-Strategie oft auch eine Workflow-Entscheidung: das Basisbetriebssystem stabil und reproduzierbar halten, während sich Anwendungen weiterentwickeln können, ohne jedes Mal einen vollständigen Neuaufbau der Plattform zu erzwingen.

Das Rückgrat zuverlässiger OTA-Updates: Boot-Ablauf + Speicherlayout

Unabhängig davon, für welches Update-Framework Sie sich entscheiden, entsteht Zuverlässigkeit meist aus derselben Grundlage: Das Gerät muss immer über einen bootfähigen Fallback verfügen . Zwei Muster dominieren.

A/B Slots vs Recovery

Bei einem A/B-Design verfügt das Gerät über zwei System-Slots. Nur einer davon ist aktiv. Das Update wird auf den inaktiven Slot geschrieben, und anschließend wird dem Bootloader mitgeteilt, dass er diesen ausprobieren soll. Wenn der neue Slot startet und einen Health-Check besteht, wird er zum neuen aktiven System. Falls nicht, führt das Gerät automatisch ein Rollback durch.

Bei einem Recovery-Design gibt es eine kleine, unabhängige Recovery-Umgebung, die Reparaturen und Updates durchführen kann. Das Recovery-Image wird gestartet, wenn das Hauptsystem beschädigt ist oder ein Update fehlschlägt. Das kann im Vergleich zu A/B Speicherplatz sparen, erfordert jedoch zusätzliche technische Disziplin: Die Recovery-Umgebung muss robust sein und über die gesamte Produktlebensdauer hinweg mit den Update-Formaten kompatibel gehalten werden.

Hier ist ein kompakter Vergleich, der den realen Abwägungen in der Praxis meist gut entspricht:

Ansatz

Was Sie gewinnen

Was es kostet

Typische Eignung

A/B-System-Slots

Einfache Rollback-Logik, hohe Sicherheit

Mehr Flash-Speicher

Gateways, Industriegeräte, langlebige Geräteflotten

Recovery-Partition/initramfs

Geringerer Speicher-Overhead

Mehr Komplexität, die Recovery-Umgebung muss gepflegt werden

Produkte mit knappem Flash-Speicherbudget, Produkte mit hohen Anforderungen im Feldeinsatz

Beide Ansätze beruhen auf demselben fehlenden Baustein, den viele Teams unterschätzen: einer Definition dessen, was ein „gesunder Boot“ ist . Ein erfolgreicher Boot ist nicht einfach nur „der Kernel ist gestartet“. Bei Embedded-Produkten könnte die tatsächliche Erfolgsdefinition vielmehr lauten: „Kernservices wurden gestartet, Speicher wurde eingebunden, die Anwendung läuft, der Watchdog ist zufrieden, und das Gerät kann seine Primärfunktion ausführen.“

Sicherheit ist kein Kontrollkästchen: Sie ist eine Vertrauenskette

Eine ausgewogene Betrachtung der OTA-Sicherheit besteht darin, sie in Transportvertrauen und Artefaktvertrauen aufzuteilen.

Transportsicherheit (typischerweise TLS) stellt sicher, dass das Gerät nicht mit einem gefälschten Server kommuniziert und dass Downloads nicht ohne Weiteres abgefangen werden. Artefaktsicherheit stellt sicher, dass das Gerät nur das installiert, was Ihre Build-Pipeline erzeugt und signiert hat – unabhängig davon, was im Netzwerk passiert ist. Die Verifikation von Artefakten muss vor der Installation erfolgen, und idealerweise verifiziert auch die Boot-Kette, was sie bootet ( Secure Boot / Verified Boot, abhängig von den Fähigkeiten der Plattform).

Für Produkte mit einem höheren Bedrohungsmodell benötigen Sie außerdem eine Richtlinienentscheidung zum Rollback: Rollback ist hervorragend für die Zuverlässigkeit, aber Sie möchten möglicherweise Anti-Rollback-Regeln , damit Geräte nicht auf verwundbare Versionen zurückgestuft werden können. Diese Richtlinie lässt sich leichter umsetzen, wenn Versionen und Metadaten in dieselbe Pipeline integriert sind, die auch die Yocto-Images erzeugt.

Das Schlüsselmanagement verdient einen eigenen Satz: Signierschlüssel sollten in kontrollierten Systemen liegen, nicht auf Entwicklerrechnern, und Geräte sollten Vertrauensanker so speichern, dass dies zu ihren Hardware-Fähigkeiten passt. Falls während der Lebensdauer des Geräts eine Schlüsselrotation notwendig werden könnte, sollte man dies frühzeitig einplanen, andernfalls entdeckt man das „Last-Mile“-Problem erst dann, wenn bereits Tausende von Geräten ausgerollt sind.

Wo Yocto und OTA in der Praxis zusammenkommen

Ein Yocto-basiertes OTA-Design wird üblicherweise zu einer Pipeline mit drei klar getrennten Ausgaben:

  • Boot-Artefakte (Kernel, Device Tree, Boot-Skripte/-Konfiguration)

  • Systemartefakt (Root-Dateisystem-Image oder transaktionales Deployment)

  • Anwendungsartefakt(e) (Container, Bundles oder streng versionierte Pakete)

Die Integrationsfrage lautet: Aktualisieren Sie all dies in einem einzigen „monolithischen“ Vorgang, oder trennen Sie OS-Updates von App-Updates?

In vielen Geräteflotten besteht das robusteste Betriebsmodell darin, OS-Updates als sorgfältig gestaffeltes Ereignis zu behandeln und App-Updates häufiger durchzuführen. Yocto unterstützt dies auf natürliche Weise, weil Sie die Zusammensetzung des Basis-Images festschreiben und gleichzeitig darüber eine moderne Mechanik zur Bereitstellung von Anwendungen bereitstellen können. Das reduziert den Druck, für jede Funktionsänderung das gesamte OS neu zu bauen, und hält das OS zugleich konsistent und leicht auditierbar.

Gleichzeitig fördert Yocto Disziplin. Wenn das OS ein Artefakt ist, müssen Konfiguration und Gerätezustand sauber verwaltet werden. Der typische Ansatz besteht darin, Systempartitionen weitgehend unveränderlich zu halten und veränderlichen Zustand in einer dedizierten Datenpartition zu speichern (Logs, Datenbanken, Identität, Benutzerdaten). Dadurch wird verhindert, dass Updates versehentlich Zustände überschreiben, und Rollbacks werden vorhersehbar.

Cutera HMI & custom Yocto

Ein Beispiel für diese plattformorientierte Denkweise in der Praxis ist unsere Arbeit für Cutera. Wir haben ein modernes HMI für einen medizinischen Laser auf Basis eines kundenspezifischen, Yocto-basierten OS entwickelt, mit einem Schwerpunkt auf Wartbarkeit, Konsistenz und langfristiger Produktreife. Obwohl OTA nicht im Mittelpunkt dieses Projekts stand, galt dasselbe Prinzip: Die Plattform selbst musste von Anfang an bewusst konzipiert werden. Lesen Sie die Cutera-Fallstudie .

Die operative Realität: OTA ist ein Geräteflottenprozess

Selbst ein perfekt entwickelter Updater kann durch schlechte Rollout-Praxis scheitern. In der Produktion umfasst das OTA-„Produkt“ auch Zielgruppensteuerung, phasenweise Ausbringung und Observability.

Ein sinnvolles Rollout-Muster sieht so aus: zunächst Freigabe für eine kleine Canary-Gruppe, dann beobachten und anschließend in Wellen erweitern. Sie benötigen genügend Telemetrie, um folgende Fragen zu beantworten: Wie viele Geräte haben heruntergeladen? Installiert? Neu gestartet? Ein Rollback durchgeführt? Warum sind Fehler aufgetreten – Stromausfall, Speicherbeschränkungen, Probleme bei Health-Checks, Netzwerk-Timeouts? Und Sie brauchen eine Möglichkeit, einen Rollout schnell zu pausieren oder zu stoppen, wenn die Fehlerrate steigt.

Yocto hilft hier indirekt: Wenn System-Images reproduzierbar und versioniert sind, wird die Diagnose von Problemen in Geräteflotten zu deutlich weniger Rätselraten. Sie können einen Vorfall einem spezifischen Build-Artefakt und einem bestimmten Konfigurationssatz zuordnen, anstatt zu versuchen zu rekonstruieren, was ein Gerät „möglicherweise hat“, nachdem es über Monate hinweg inkrementelle Paketänderungen erhalten hat.

Eine praktische Empfehlung für die meisten Yocto-Produkte

Wenn Sie einen „Standardansatz“ möchten, der für eine große Zahl von Embedded-Geräten funktioniert, dann ist es dieser:

Verwenden Sie einen rollback-fähigen OS-Update-Mechanismus (A/B oder transaktionale Deployments) und entkoppeln Sie Anwendungs-Updates dort, wo es sinnvoll ist.

Diese Kombination gibt Ihnen Sicherheit (Sie können sich von fehlgeschlagenen OS-Updates erholen) und Geschwindigkeit (Sie können App-Änderungen häufiger ausliefern, ohne jedes Mal die gesamte Plattform neu zu bauen). Außerdem macht sie Sicherheit handhabbar, weil signierte Artefakte zum Zentrum des Systems werden und nicht zu einem nachträglichen Gedanken.

Die Ausnahmen sind wichtig: Extrem knappe Flash-Speicherbudgets können Sie in Richtung eines Recovery-basierten Designs drängen; extrem hohe Änderungsraten bei Anwendungen können Sie in Richtung eines Container-First-Modells drängen; und sicherheitskritische Produkte können strengere Richtlinien für Versionierung, Anti-Rollback und Freigabe-Workflows für Updates erfordern.

Fazit

OTA auf Embedded Linux ist eine Disziplin: Speicherlayout, Boot-Logik, Artefaktverifikation, Reproduzierbarkeit des Builds und Geräteflottenbetrieb müssen alle sauber aufeinander abgestimmt sein. Yocto macht OTA besser, wenn man es frühzeitig mitdenkt , weil es ermöglicht, diese Entscheidungen von Anfang an in die Plattform einzubauen: deterministische Images, kontrollierte Zusammensetzung und ein sauberer Integrationspunkt für jeden Update-Mechanismus, den Sie einsetzen.

Wenn es eine zentrale Erkenntnis gibt, dann diese: Behandeln Sie OTA als Teil der Gerätearchitektur und nicht als nachträglichen Feature-Wunsch. Dann liefern Sie nicht nur Updates aus, sondern ein System, das über seine gesamte Lebensdauer hinweg sicher, zuverlässig und wartbar bleiben kann.

Security by Design für Embedded-Systeme

Zuverlässiges OTA ist nur die halbe Geschichte . OTA ist eine leistungsstarke Fähigkeit, aber auch eine Angriffsfläche mit hohen Privilegien. Wenn Sie möchten, dass Ihre OTA-Pipeline von Anfang an sicher ist, können wir Sie dabei unterstützen.

Wir bieten:

  • Bedrohungsmodellierung für Embedded-Hardware/-Firmware/-Betriebssysteme und Schnittstellen

  • Abbildung von Sicherheitsanforderungen und Compliance-Vorgaben

  • Unterstützung bei der sicheren Implementierung

Entdecken Sie unser Angebot zu Security by Design für Embedded-Systeme .

Kontaktieren Sie uns

Wir beantworten jede Anfrage und finden die optimale Strategie für den Erfolg Ihres Projekts.

Füllen Sie das Formular aus, und wir melden uns in Kürze bei Ihnen.

Lukas Kosiński

Lukas Kosiński

Chief Executive Officer

Der Administrator der personenbezogenen Daten ist Somco Software sp. z o.o., ul. Gen. Ottokara Brzoza-Brzeziny 13, 05-220 Zielonka, KRS: 855688. Die personenbezogenen Daten werden verarbeitet, um die im Kontaktformular gestellte Anfrage zu beantworten. Weitere Informationen, einschließlich einer Beschreibung der Rechte der betroffenen Personen, finden Sie in der Datenschutzerklärung .