NX-Bit
aus Wikipedia, der freien Enzyklopädie
Das NX-Bit (No EXecute) ist die Bezeichnung einer Technik zur „Verbesserung der Sicherheit eines Computers“, die der Chiphersteller AMD mit dem Prozessor Athlon 64 für den x86-Markt einführte. Die Technik wird von AMD als „Enhanced Virus Protection“ (EVP) vermarktet.
Auch Intel verwendet in den Itanium-Prozessoren und in den neuesten Pentium 4- und Pentium M sowie den Core-Modellen ebenfalls diese Technik, allerdings unter dem Namen XD-Bit (Execute Disable).
Auch Transmeta und VIA/Centaur bieten CPUs mit NX-Bit an.
Ähnliche Techniken gibt es schon länger, z. B. beim PowerPC von IBM, beim Sun SPARC und bei den Alpha-Prozessoren.
[Bearbeiten] Funktionsweise
Computerwürmer basieren oft auf einem Pufferüberlauf, der ihnen ermöglicht, ihren Programmcode auf dem Zielsystem auszuführen. Der Code besteht aus Routinen zur selbständigen Weiterverbreitung und eventuellen Schadensfunktionen, die Daten zerstören können. Das besagte NX-Bit wird nun vom Betriebssystem für den Stack im Arbeitsspeicher so gesetzt, dass zwischen Daten und Code unterschieden wird. Durch diese strikte Trennung kann nun in einem als Daten markiertem Speicherbereich, zum Beispiel einem Bild, kein Code mehr ausgeführt werden. Dieser Schutz funktioniert nur mit Betriebssystemen, die Unterstützung für das NX-Bit enthalten.
Durch dieses Vorgehen wird das Von-Neumann-Prinzip, Daten und Programm in einem gemeinsamen Speicher abzulegen, teilweise gebrochen. Allerdings wird nur der Ausführung von Code in Datensegmenten (z. B. in einem Stack oder Heap) vorgebeugt. Der Pufferüberlauf an sich wird nicht unterbunden. Wenn dabei ein Sprung innerhalb des Segmentes ausgelöst wird, ist die No-Execute-Technik wirkungslos. Allerdings lässt sich trotz dieser Technik beliebiger Code beispielsweise durch ein „return into libc“ ausführen.
Vor Ganzzahlüberläufen, Programmabstürzen und DoS-Attacken schützt das NX-Bit nicht.
[Bearbeiten] CPUs mit NX-Bit:
- AMD Athlon 64
- AMD Athlon 64 X2
- AMD Athlon 64 FX
- AMD Opteron
- AMD Sempron (ab Paris)
- AMD Turion 64
- AMD Turion 64 X2
- Intel Celeron D
- Intel Celeron M (ab Dothan-Kern)
- Intel Core Duo
- Intel Core Solo
- Intel Core 2 Duo
- Intel Core 2 Extreme
- Intel Pentium 4 (ab Prescott F/J-Typ)
- Intel Pentium D
- Intel Pentium Extreme Edition
- Intel Pentium M (ab Dothan, neuere Modelle)
- Transmeta Efficeon
- VIA C7