Zum Inhalt springen

System Management Mode

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 22. November 2025 um 17:56 Uhr durch imported>Hallilogod (Erläuterung Isoliert).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Der System Management Mode (SMM) ist ein Ausführungsmodus von Prozessoren der x86-Architektur. Der SMM entspricht im technischen Sinne zwar keiner Privilegienstufe, wird aber häufig als Ring –2 bezeichnet, da der SMM beispielsweise Kontrolle über den Hypervisor besitzt und in der Regel vom Code des Betriebssystems isoliert ist.<ref>OpenSecurityTraining2: Arch4001 Intel Firmware Attack & Defense: 00 Intro 01 Attacker Motivation. 15. März 2024, abgerufen am 22. November 2025.</ref> Er wurde mit dem Intel i386 SL eingeführt und entwickelte sich mit der Prozessorfamilie Intel Pentium zu einem Standardfeature von IA-32.<ref>Intel® 64 and IA-32 Architectures Software Developer's Manual Volume 1: Basic Architecture 3.1 MODES OF OPERATION. Abgerufen am 22. November 2025.</ref> Der SMM ist für die Hardware-Kontrolle, das Energiemanagement und herstellerspezifische Anwendungen gedacht. Die im SMM ausgeführte Firmware unterbricht das Betriebssystem und die laufenden Anwendungen auf transparente Art.

Charakteristika

Der Übergang aus dem Protected Mode, dem Virtual 8086 Mode oder dem Real Mode in den SMM erfolgt immer über einen externen, nicht-maskierbaren System Management Interrupt (SMI). Es ist allerdings möglich, diesen Interrupt indirekt per Software auszulösen, indem ein Programm bestimmte privilegierte Portzugriffe tätigt. Der Prozessorkontext wird dabei gespeichert und nach Beendigung des SMM mit der Instruktion RSM wiederhergestellt.

Innerhalb des SMM können, wie bei hoher Privilegierung, alle E/A- und Systembefehle verwendet werden. Es wird ein eigener Adressierungsmodus verwendet, der SMRAM genannt wird. Trotzdem kann auf den gesamten physischen Speicher zugegriffen werden.

Interrupts werden im SMM gesperrt, sodass erst nach dem Austritt eine Bearbeitung erfolgen kann. Insbesondere kann eine verschachtelte Ausführung des SMM nicht passieren, da das Auftreten eines SMI während der Ausführung im SMM nicht möglich ist.<ref>Intel® 64 and IA-32 Architectures Software Developer's Manual Volume 3B: System Programming Guide</ref>

Problematiken

Sicherheit

Da die Ausführung im SMM für das Betriebssystem und die laufenden Anwendungen (wie beispielsweise Virenscanner) nicht sichtbar ist, stellt der SMM einen erstrebenswerten Betriebsmodus für Schadsoftware dar.<ref>Using CPU System Management Mode to Circumvent Operating System Security Functions (PDF; 130 kB)</ref><ref>"System Management Mode Hack" in Phrack</ref>

Echtzeit

Durch die Ausführung im SMM können bei x86-Echtzeitsystemen Latenzen im Millisekundenbereich auftreten. Zweierlei Aspekte machen eine Verletzung der Echtzeitschranken möglich:

  1. Während der Ausführung im SMM kann nicht auf Interrupts reagiert werden.
  2. Die Ausführungszeit wird dem Echtzeitsystem entzogen.

Unter Linux existiert ein Kernelmodul, um die Ausführung im SMM aufgrund der vom Betriebssystem „gestohlenen“ Zeit zu detektieren.<ref>SMI Detector: a simple module for detecting System Management Interrupts, LKML</ref>

Siehe auch

  • {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)
  • {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)
  • {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)
  • {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) und {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value), siehe x64#Betriebsmodi

Einzelnachweise

<references />

<templatestyles src="Erweiterte Navigationsleiste/styles legacy.css" />Vorlage:Klappleiste/Anfang

Betriebsmodi

Real ModeProtected ModeVirtual 8086 ModeSystem Management ModeLong ModeCompatibility Mode

Befehlssatzerweiterungen

x87PAENXAMD64/Intel 64 (x64) ⬝ HTTVT-x/AMD-V/VIA VT3DNow!MMXSSESSE2PadLockSSE3SSSE3SSE4SSE4aSSE5F16CAVXCLMULAES-NIFMATSXBMIMPXSGXSMEFREDAPX

Vorlage:Klappleiste/Ende