Bundesamt für Sicherheit in der Informationstechnik

G 2.206 Unzureichende Sicherheitsanforderungen bei der Entwicklung von eingebetteten Systemen

Aus Kostengründen wird der Informationssicherheit bei der Entwicklung von eingebetteten Systemen häufig eine geringere Wertigkeit zugeordnet als z. B. Performance- oder Zuverlässigkeitsanforderungen.

Falls Sicherheitsanforderungen in einem oder mehreren der Entwicklungsteilprozesse

  • Anforderungsmanagement
  • System- und Schnittstellenentwurf
  • Feinentwurf
  • Implementierung
  • Virtuelle und reale Teststufen
  • Integrationsstufen mit Gesamtintegration

nicht ausreichend berücksichtigt werden, können in dem eingebetteten System schwerwiegende Schwachstellen entstehen. Diese sind nachträglich oft nur mit großem Aufwand identifizierbar, da die einzelnen Spezifikationen und Dokumente aufeinander aufbauen und es somit keinen Ansatzpunkt gibt, um Abweichungen festzustellen. Konstruktive oder methodische Mängel der Sicherheitsfunktionalität von Software eingebetteter Systeme werden nicht erkannt, wenn sich der Verifikationsprozess auf die spezifizierten Funktionen beschränkt.

Eingebettete Systeme können verwundet werden, wenn Erkenntnisse aus Sicherheitsvorfällen nicht in den Entwicklungsprozess aufgenommen werden, die Sicherheitsfunktion nicht nachgewiesen werden kann und die verwendeten Entwicklungswerkzeuge es nicht erlauben, Sicherheitsmechanismen sinnvoll zu modellieren und zu implementieren.

Beispiele:

  • Der Speicherbelegungsplan eines eingebetteten Systems berücksichtigt nicht restliche unbelegte Speicherbereiche. In diese Bereiche eingebrachte Schadsoftware bleibt bis zu ihrer Aktivierung unerkannt. Ein eingebettetes System kann einen mehreren Megabyte großen Flash-ROM haben, von dem es seine Applikationssoftware nach dem Einschalten bootet. Diese Speicher werden nicht als Arbeitsspeicher genutzt, deshalb verändern sich die Software und die Speicherbelegung nicht. Die Speicher werden selten vollständig genutzt, so dass durchaus auch größere statische Speicherbereiche mit Schadsoftware belegt werden könnten. Da solche Bereiche als leer gekennzeichnet sind, sind Programme in diesen Bereichen durch die Software nicht sichtbar. Software in diesen Speicherbereichen ist immun gegen einen Systemneustart und oft auch gegen die Neuinstallation der Betriebssoftware, da nur die durch die Betriebssoftware belegten Bereiche überschrieben werden. Die "leeren" Speicherbereiche können nur mit speziellen Werkzeugen geprüft werden. Schäden können entstehen, wenn z. B. eine Schadsoftware mit Zugriff auf das Bussystem aktiviert wird und danach Daten verändert oder ein System dazu bringt, bestimmte Daten zu ignorieren. Erhebliche Schäden können entstehen, wenn das übergreifende System hochschutzbedürftig ist, wie etwa ein eingebettetes System zum Ver- und Entschlüsseln.
  • In einem eingebetteten System werden bei Spannungsschwankungen oder schweren Fehlermeldungen im Rahmen des Neustarts die Ressourcen reorganisiert oder rekonfiguriert. Während dieses kurzen Zeitraums kann es verwundbar sein, z. B. wenn auf die I/O -Ports zugegriffen oder Sicherheitsmechanismen zur Authentikation umgangen werden können. Im Normalbetrieb hätten die Sicherheitsfunktionen dies verhindert. Sofern sich die Tests des Herstellers nur auf die spezifizierte Funktionalität unter den normalen Betriebsbedingungen beschränken, würde die Schwachstelle unerkannt bleiben.

Stand: 15. EL Stand 2016