NX-Speicherschutz

NX-Speicherschutz

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 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, etwa beim PowerPC von IBM, beim Sun SPARC und bei den Alpha-Prozessoren.

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 selbstständigen Weiterverbreitung und in der Regel auch Schadensfunktionen, die Daten zerstören können. Das 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 allerdings 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 in eine Codepage 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.

CPUs mit NX-Bit:

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем написать курсовую

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Speicherschutz — ist die Eigenschaft von Betriebssystemen, den verfügbaren Arbeitsspeicher so aufzuteilen und laufende Programme so voneinander zu trennen, dass ein Programmierfehler/Absturz eines einzelnen Programms nicht die Stabilität anderer Programme oder… …   Deutsch Wikipedia

  • Betriebsprogramm — Ein Betriebssystem ist die Software, die die Verwendung (den Betrieb) eines Computers ermöglicht. Es verwaltet Betriebsmittel wie Speicher, Ein und Ausgabegeräte und steuert die Ausführung von Programmen. Betriebssystem heißt auf Englisch… …   Deutsch Wikipedia

  • Betriebssysteme — Ein Betriebssystem ist die Software, die die Verwendung (den Betrieb) eines Computers ermöglicht. Es verwaltet Betriebsmittel wie Speicher, Ein und Ausgabegeräte und steuert die Ausführung von Programmen. Betriebssystem heißt auf Englisch… …   Deutsch Wikipedia

  • Computer-Betriebssystem — Ein Betriebssystem ist die Software, die die Verwendung (den Betrieb) eines Computers ermöglicht. Es verwaltet Betriebsmittel wie Speicher, Ein und Ausgabegeräte und steuert die Ausführung von Programmen. Betriebssystem heißt auf Englisch… …   Deutsch Wikipedia

  • Computerbetriebssystem — Ein Betriebssystem ist die Software, die die Verwendung (den Betrieb) eines Computers ermöglicht. Es verwaltet Betriebsmittel wie Speicher, Ein und Ausgabegeräte und steuert die Ausführung von Programmen. Betriebssystem heißt auf Englisch… …   Deutsch Wikipedia

  • Hardware Compatibility List — Ein Betriebssystem ist die Software, die die Verwendung (den Betrieb) eines Computers ermöglicht. Es verwaltet Betriebsmittel wie Speicher, Ein und Ausgabegeräte und steuert die Ausführung von Programmen. Betriebssystem heißt auf Englisch… …   Deutsch Wikipedia

  • Operating System — Ein Betriebssystem ist die Software, die die Verwendung (den Betrieb) eines Computers ermöglicht. Es verwaltet Betriebsmittel wie Speicher, Ein und Ausgabegeräte und steuert die Ausführung von Programmen. Betriebssystem heißt auf Englisch… …   Deutsch Wikipedia

  • Systemkomponente — Ein Betriebssystem ist die Software, die die Verwendung (den Betrieb) eines Computers ermöglicht. Es verwaltet Betriebsmittel wie Speicher, Ein und Ausgabegeräte und steuert die Ausführung von Programmen. Betriebssystem heißt auf Englisch… …   Deutsch Wikipedia

  • IA-32 — Als IA 32 (“Intel Architecture 32 Bit”) bezeichnet Intel die 32 Bit x86 Architektur. x86 ist die Bezeichnung für die Architektur und den Befehlssatz der Intel 80386 kompatiblen Mikroprozessoren. Oft wird auch die Bezeichnung i386 verwendet. Der… …   Deutsch Wikipedia

  • OpenBSD Sicherheitsmerkmale — Das Betriebssystem OpenBSD ist für seinen Fokus auf Computersicherheit und die Entwicklung einer Vielzahl von Sicherheitsfunktionen bekannt. Inhaltsverzeichnis 1 Programmierschnittstellen und API Änderungen 2 Speicherschutz 3 Kryptografie und… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”