Sichere Software für Embedded-Systeme

High Assurance Security Engineering

8. November 2024, 8:37 Uhr | Autor: Andre Schmitz / Redaktion: Lukas Steiglechner
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Sicherheitsrisiko Supply-Chain

Lieferketten werden oft unterschätzt, wenn es um Sicherheitstechnik geht. Hier geht es darum, die gesamte Produktionskette – vom Lieferanten bis zur Herstellung des Endprodukts – absolut sicher zu gestalten, insbesondere hinsichtlich eines Angriffs durch einen Insider. Am Ende der Kette steht die Fabrik, in der die Geräte hergestellt werden. Dort wird die Hardware zusammengebaut, getestet und die Software des Endprodukts installiert. Die Kryptoschlüssel oder Zertifikate werden in der Regel an diesem Punkt hochgeladen. Die Schlüssel und Zertifikate befinden sich meist auf Servern im Werk und werden am Ende der Produktionslinie an einen sicheren Ort auf dem Gerät übertragen. Die Schlüssel sind die Elemente der Sicherheitsarchitektur, die am meisten geschützt werden müssen. Wer also Zugang zu den Schlüsselservern hat und einen Weg findet, die Schlüssel auszulesen, kann im Prinzip das gesamte Sicherheitskonzept aushebeln. Da die Computer in einer Fabrik zumindest aus Wartungsgründen in der Regel an ein Firmennetzwerk angeschlossen sind und dieses Firmennetzwerk wiederum über Gateways Zugang zum Internet hat, hängt die Sicherheit des Embedded-Systems plötzlich von der Sicherheit des gesamten Firmennetzwerks ab.

Wenn sich die Fabrik in eigenen Gebäuden, am eigenen Standort und im eigenen Netzwerk befindet, dann besteht eine direkte Kontrolle über diese Infrastruktur. Befindet sich die Fabrik jedoch im Besitz eines Subunternehmens in einem anderen Land, der aus Kostengründen mit der Herstellung der Geräte betraut ist, und dort keine direkte Netzwerkverbindung vorhanden ist oder nur über das Internet eine Verbindung hergestellt werden kann, muss der Schutz der Schlüssel dennoch sichergestellt werden können. Zudem müssen auch die darunterliegenden Zulieferer, die Teile der Hardware oder Software herstellen, in das Sicherheitskonzept einbezogen werden. Das übergreifende Sicherheitskonzept, um dieses komplexe Problem zu adressieren, ist von elementarer Bedeutung.

passend zum Thema

Updates sind nicht gleich Sicherheit

Ein gleichfalls wichtiger Punkt ist das Thema Wartung und Aktualisierung. Hier geht es darum, wie sich die Software auf dem System überwachen lässt und wie bei Bedarf neue Software installiert werden kann. Leider suggeriert die gängige Praxis bei Computern Sicherheit durch Updates, das heißt, es existiert der Irrglaube, dass Computer sicher sind, solange Sie das neueste Update installiert haben. Dem ist leider nicht so: Im Prinzip ist der Computer nach dem Update fast genauso unsicher wie vor dem Update. Das Update schützt den Computer nur vor den zuletzt bekannten und bekannt gewordenen Sicherheitslücken, aber viele andere sind noch offen. Stattdessen können Updates dazu verwendet werden, neue Software zu installieren, die bekannte Fehler behebt oder die Funktionalität des Geräts ändert.

Werden Software-Updates zugelassen, wirkt sich das Update-Konzept auch auf den Boot-Prozess des Systems aus. Um sicherzustellen, dass die geladene Anwendungssoftware tatsächlich die richtige ist und nicht von einem Angreifer ersetzt oder verändert wurde, braucht es sichere Boot-Konzepte. Die geladene Anwendung muss digital signiert sein und die Gültigkeit der digitalen Signatur muss vom OS-Loader mit kryptographischen Methoden überprüft werden. Ebenso müssen das Betriebssystem und der Loader digital signiert sein, was vom Bootloader überprüft wird, und so weiter – so entsteht eine Vertrauenskette. Die Vertrauenswürdigkeit einer Schicht basiert auf der Vertrauenswürdigkeit der darunter liegenden Schicht und beginnt mit einer Vertrauensbasis. Die Vertrauenswürdigkeit wird oft über Zertifikate und Schlüssel abgeleitet, die sicher in einem HSM (Hardware Security Module) oder TPM (Trusted Platform Module) gespeichert sind.

Das Prinzip des schwächsten Glieds

Eine Kette ist nur so sicher wie ihr schwächstes Glied. Genauso sind ein eingebettetes System und die dazugehörige Netzwerkinfrastruktur nur so sicher wie das schwächste Element im gesamten Produkt beziehungsweise Produktlebenszyklus. Ganzheitliche Sicherheitsansätze müssen daher ein breites Spektrum von Themen abdecken, damit alle Elemente der Produktentwicklung und -produktion das gleiche hohe Sicherheitsniveau aufweisen. Zu verwenden ist ein Entwicklungsprozess, der für die Sicherheitstechnik ausgelegt ist. Es sollte eine geeignete Hardwarearchitektur ausgewählt werden, möglicherweise einschließlich eines HSM zur Beschleunigung von Krypto-Operationen sowie eines Schlüssel- und Zertifikatspeichers. Bei der Planung der Softwarearchitektur sollte auf Modularisierung und Isolierung der sicherheitskritischen Software, bezogen auf nicht vertrauenswürdige Software, geachtet werden. Nicht nur an die kryptographischen Verfahren muss gedacht werden, sondern auch und vor allem daran, wie die kryptographischen Schlüssel gehandhabt und gesichert werden. Zudem muss ein sauberer Boot-Prozess mit einer sauberen Vertrauenskette verwendet werden.

Die Prinzipien von High Assurance Software Engineering sind grundlegende Methoden für die zuverlässige und sicherheitsrelevante Softwareentwicklung. Sie basieren auf den fünf Regeln Minimierung der Komplexität, geringstes Privileg, Komponentisierung, sicherer Entwicklungsprozess und unabhängige Expertenvalidierung. Sie helfen dabei, Software robust und sicher zu machen, um sie zuverlässig vor Cyberangriffen zu schützen.

 

Literatur

[1] Andre Schmitz, »Engineering Principles for High Assurance Software«, Proceeding der Embedded World Conference 2013

[2]  http://www.dwheeler.com/sloc/redhat62-v1/redhat62sloc.html

 

Der Autor

 

Andre Schmitz von Green Hills Software
Andre Schmitz von Green Hills Software.
© Green Hills Software

Andre Schmitz

begann seine berufliche Laufbahn bei der FhG im Bereich Steuerungs- und Simulations-software für autonome Roboter. Danach entwickelte der Diplom-Physiker bei Infineon Embedded-Software für UMTS-Kommuni-kationssysteme. Seit 2005 ist Schmitz bei Green Hills Software verantwortlich für die technische Unterstützung von Kunden und die Durchführung von Schulungen.


  1. High Assurance Security Engineering
  2. Sicherheitsrisiko Supply-Chain

Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Green Hills Software GmbH

Weitere Artikel zu Elektronikentwicklung

Weitere Artikel zu Embedded-Systeme

Weitere Artikel zu Kommunikation

Weitere Artikel zu Wireless