Sicherheit von Embedded Systems
Embedded Systeme begegnen uns im Alltag oft unscheinbar: Sensoren in Thermostaten, Steuerungen in Waschmaschinen oder in Fahrzeugen. Sie arbeiten mit begrenzter Rechenleistung, kleinem Speicher und oft westernder Stromversorgung. Sicherheit darf nicht nachträglich hinzugefügt werden, denn ein erfolgreicher Angriff kann Funktionen stören, Daten auslesen oder Personen gefährden. Klarheit über Ziele, Schwachstellen und Gegenmaßnahmen hilft, Vertrauen in Produkte zu schaffen.
Typische Bedrohungen entstehen sowohl vor Ort als auch über das Netz. Angreifer können Firmware manipulieren, Kommunikationskanäle belauschen oder Funktionen durch Ausnutzen kleiner Schwachstellen außer Betrieb setzen. Häufige Angriffsvektoren sind unsichere Updates, ungeschützte Schlüssel oder fehlerhafte Speicherverwaltung. Die Folgen reichen von Privacy-Verletzungen bis hin zu Ausfällen kritischer Funktionen.
Sicherheitsprinzipien helfen, Risiken zu begrenzen. Wichtige Leitlinien sind: die Minimierung der Angriffsfläche, klare Trennung von Aufgaben, sicheres Speichern sensibler Daten sowie regelmäßige Aktualisierung. Eine gute Architektur schafft Layer, in denen ein Fehler in einer Komponente andere Teile nicht komplett kompromittiert.
In der Praxis setzen Teams heute auf mehrere Schichten:
- Secure Boot und Root of Trust: Der Bootprozess prüft alle Firmware-Komponenten kryptografisch, bevor sie gestartet werden.
- Sichere Firmware-Updates (Over-the-Air): Signaturen sichern Integrität; Replay-Schutz verhindert nachträgliche Veränderung von Updates.
- Verschlüsselte Kommunikation: TLS oder DTLS schützen Daten im Netzwerk; Schlüsselverwaltung erfolgt sicher getrennt vom Anwendungscode.
- Speicherschutz: MMU/MPU schützen Speicherbereiche, verhindern Pufferüberläufe und unbefugten Zugriff auf sensible Daten.
- Sichere Softwareentwicklung: Code-Reviews, statische Analysen, Threat-Modelling und regelmäßige Tests helfen, Schwachstellen früh zu erkennen.
- Lieferkette absichern: Unveränderliche Builds, Komponenten-IDs und robuste Integritätsprüfungen reduzieren Risiken durch Drittanbieter-Komponenten.
Ein praktisches Beispiel ist ein vernetzter Thermostat. Er erhält Updates aus dem Internet, führt sie aber nur nach Signaturprüfung aus und besitzt minimal notwendige Berechtigungen. So bleiben Funktionen stabil, Privatsphäre geschützt und Angriffe weniger wirkungsvoll.
Zudem lohnt sich die Planung eines sicheren Entwicklungsprozesses: Bedrohungsmodell erstellen (Assets, Angriffsziele, Angriffsvektoren), Anforderungen ableiten, Sicherheitsüberprüfungen in Sprints verankern und Incident-Response-Konzepte bereithalten. Sicherheit ist kein einmaliges Projekt, sondern eine laufende Praxis.
Key Takeaways
- Sicherheit muss von Anfang an in die Architektur eingebaut werden.
- Mehrschichtige Abwehr (Secure Boot, OTA, Verschlüsselung, Speicherschutz) erhöht die Resilienz.
- Kontinuierliche Überprüfung, Testing und Lieferketten-Management sind unverzichtbar.