Bundesamt für Sicherheit in der Informationstechnik

M 4.484 Speicherschutz bei eingebetteten Systemen

Verantwortlich für Initiierung: Behörden-/Unternehmensleitung, IT-Sicherheitsbeauftragter, Leiter IT

Verantwortlich für Umsetzung: Entwickler, Beschaffer, Planer

Wenn in einem eingebetteten System mehrere Softwarekomponenten ablaufen, kann es sinnvoll sein, diese zu separieren. Soll nicht für jede Komponente ein eigener Mikrocontroller verwendet werden, kann dies auch durch Speicherschutztechnologien erreicht werden. Ziel des Speicherschutzes ist es, Arbeitsspeicher so zu strukturieren und Bereiche so zu separieren, dass ein Programmierfehler oder Absturz eines einzelnen Programms nicht die Stabilität anderer Programme oder des Gesamtsystems beeinträchtigt. Programme sollen daran gehindert werden, auf den Speicherbereich anderer Programme zuzugreifen.

Um Daten auf dem eingebetteten System mit erhöhten Anforderungen an die Integrität und Verfügbarkeit besser abzusichern, sollen Speicherschutzmechanismen bereits im Entwurf des Systems berücksichtigt werden. Es ist eine Realisierungsform zu wählen, die das benötigte Sicherheitsniveau gewährleistet und den Einsatzerfordernissen des eingebetteten Systems nicht entgegensteht. Die beiden grundsätzlichen Realisierungen sind Hardware-Speicherschutz und Software-Speicherschutz.

Hardwareseitig kann eine Speicherverwaltungseinheit ("Memory Management Unit", MMU) oder eine einfachere Speicherschutzeinheit ("Memory Protection Unit", MPU) den Speicherschutz unterstützen. Mit einer MMU ist es möglich, mehrere virtuelle Prozessoren auf einem physikalischen Prozessor zu vereinen, der durch das Betriebssystem verwaltet wird. Jedes Programm kann seinen eigenen virtuellen Mikrocontroller erhalten, und die Ressourcen des physikalischen Mikrocontrollers lassen sich flexibel zuordnen. MMU sind standardmäßig Bestandteil von Servern, PC s und modernen Smartphones, in kleinen eingebetteten Systemen sind sie normalerweise nicht vorhanden.

Bei einer MPU nutzen alle Programme den gemeinsamen Adressraum des physikalischen Speichers. Die MPU überwacht, auf welchen Speicherbereich ein Programm zugreift. Ist ein Zugriff nicht erlaubt, so kann das Betriebssystem den Speicherzugriff abfangen, bevor die Daten im Speicher verändert werden. Theoretisch könnte jedes Programm einen separaten, sogenannten Schutzraum bekommen. Aufgrund der meist knappen Ressourcen bei eingebetteten Systemen sollten aber nur so viele Schutzräume etabliert werden wie nötig, z. B. zwei, um die Ausführung von vertrauenswürdigen Programmen gegenüber der von nicht-vertrauenswürdigen zu trennen.

Bei hardwarebasiertem Speicherschutz werden die Speicherzugriffe durch die Hardware überwacht. Dieser Ansatz funktioniert auch, wenn die nicht vertrauenswürdige Softwarekomponente direkt in einer Maschinensprache programmiert wurde. Die überwachten Speicherzugriffe umfassen nicht nur die Lade- und Speicherbefehle sondern auch Maschinenbefehle, die vor ihrer Ausführung geladen werden. Schlägt die Überprüfung beim Speicherzugriff fehl, so unterbricht die Hardware den Ablauf des aktuellen Maschinenprogramms und wechselt zu einer Unterbrechungsbehandlung in die Systemsoftware. Welche Rechte für welchen Speicherbereich gelten, wird durch spezielle, zugriffsgeschützte Register beschrieben. Eine für hardwarebasierten Speicherschutz geeignete CPU benötigt eine Hardware, die einen privilegierten und einen unprivilegierten Betriebsmodus unterstützt.

Beim softwarebasierten Speicherschutz werden die Speicherzugriffe nicht implizit durch die Hardware überprüft, sondern vorab explizit durch die Software. Die Überprüfung kann dabei zum Teil zum Übersetzungszeitpunkt stattfinden oder auch zur Laufzeit, zum Beispiel durch automatisch generierte Überprüfungen.

Prüffragen:

  • Verfügt das eingebettete System über Vorkehrungen zum Speicherschutz?

  • Sind die Art des Speicherschutzes und Anzahl und Größe der Schutzräume für das System und den Einsatzzweck angemessen und ausreichend?

Stand: 15. EL Stand 2016

Hinweis zur Verwendung von Cookies

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen hierzu erhalten Sie in unserer Datenschutzerklärung.

OK