www.wikidata.de-de.nina.az
Das NX Bit No eXecute AMD bzw XD Bit Execute Disable Intel ist eine Technik von Prozessoren der x86 Familie zur Verbesserung der Sicherheit eines Computers Sie soll verhindern dass beliebige Daten als Programmcode ausgefuhrt werden und auf diese Weise Schadcode starten wie z B Viren Backdoors u a Das NX Bit wurde von AMD 2004 bei der x86 Architektur eingefuhrt und auch von Intel und anderen Herstellern von x86 Prozessoren ubernommen Bei Windows Betriebssystemen ab Windows XP SP2 wird die Technik auch als Data Execution Prevention 1 kurz DEP deutsch Datenausfuhrungsverhinderung bezeichnet Ahnliche Techniken gibt es auf anderen Prozessorarchitekturen schon langer etwa beim PowerPC von IBM und Motorola der SPARC Architektur von Sun und den Alpha Prozessoren von DEC Inhaltsverzeichnis 1 Geschichte 2 Funktionsweise 3 Betriebssysteme 3 1 Windows 3 2 Linux 3 3 macOS 4 CPUs mit NX Bit 4 1 AMD 4 2 Intel 4 3 Ubrige 5 Weblinks 6 EinzelnachweiseGeschichte BearbeitenSeit dem 80286 Prozessor von Intel besteht im sogenannten Protected Mode die Moglichkeit einzelne Speichersegmente als ausfuhrbar Code Segmente oder nicht ausfuhrbar Daten Segmente zu kennzeichnen Wird versucht Code an einer Adresse in einem als nicht ausfuhrbar markierten Speichersegment auszufuhren lost die CPU einen Hardware Interrupt aus welcher vom Betriebssystem abgefangen wird Das betreffende Programm wird daraufhin abgebrochen Heutige Betriebssysteme nutzen zwar ebenfalls den Protected Mode jedoch verwenden sie ein sogenanntes flaches Speichermodell in dem samtliche Segmente den gleichen linearen Speicherbereich uberdecken Der segmentbasierte Speicherschutz ist damit ausgehebelt eine Trennung zwischen Code und Datenbereichen ist nicht mehr vorhanden Die Technik wurde daher vom Chiphersteller AMD 2004 mit dem Prozessor Athlon 64 unter dem Namen NX Bit fur den x86 Markt eingefuhrt 2 Die Technik wurde von AMD als Enhanced Virus Protection EVP vermarktet Intel setzte eine vergleichbare Technik bereits bei der gemeinsam mit Hewlett Packard entwickelten Itanium Architektur ein und zog 2005 mit den Pentium 4 3 und Pentium M Modellen sowie bei der 2006 eingefuhrten Core Mikroarchitektur auch auf der x86 Architektur nach allerdings unter dem Namen XD Bit Execute Disable Auch Transmeta und VIA Centaur ubernahmen die Technik in deren x86 Prozessoren 2 4 5 6 Funktionsweise Bearbeiten64 Bit Eintrag im Seitenverzeichnis Page directory entry Bits 63 62 52 51 32Inhalt NX reserved Bit 51 32 der BasisadresseBits 31 12 11 9 8 7 6 5 4 3 2 1 0Inhalt Bit 31 12 der Basisadresse AVL ig 0 ig A PCD PWT U S R W PHeutige Betriebssysteme verlassen sich beim Speicherschutz ausschliesslich auf seitenbasiertes Speichermanagement Dieses gestattet bei der 32 Bit x86 Architektur IA 32 zwar die Unterscheidung zwischen Seiten die nur lesbar und welchen die les und schreibbar sind siehe Bit 1 R W im Seitentabelleneintrag jedoch ist dort keine Unterscheidung zwischen Daten Lesen und Code Ausfuhren vorgesehen AMD hat fur das NX Bit das Bit 63 in den 64 Bit Seitentabellen und verzeichnissen verwendet 64 Bit Seitentabellen und verzeichnisse werden nur im 64 Bit Modus und im 32 Bit Modus mit aktivierter Physical Address Extension verwendet Das NX Bit wird vom Betriebssystem sofern es dieses unterstutzt fur den Stack und andere Datenbereiche im Arbeitsspeicher gesetzt so dass diese nicht mehr ausfuhrbar sind Versucht ein Programm nun aufgrund eines Bugs oder einer Infektion mit Schadcode diese so markierten Speicherseiten auszufuhren fangt die CPU dies ab und meldet dies uber einen Hardware Interrupt an das Betriebssystem welches daraufhin das betroffene Programm beendet Durch dieses Vorgehen wird das Von Neumann Prinzip Daten und Programm in einem gemeinsamen Speicher abzulegen teilweise verletzt Allerdings wird nur der Ausfuhrung von Code in Datensegmenten z B in einem Stack oder Heap vorgebeugt Der Pufferuberlauf an sich wird nicht unterbunden Wenn dabei ein Sprung in eine Codepage ausgelost wird ist die No Execute Technik wirkungslos Des Weiteren lasst sich trotz dieser Technik beliebiger Code beispielsweise durch ein return into libc ausfuhren Betriebssysteme BearbeitenWindows Bearbeiten Das Betriebssystem Windows von Microsoft unterstutzt DEP ab Windows XP SP 2 sofern der jeweilige Prozessor die Moglichkeit bietet Ab Windows Vista sind die Einstellungen dem Benutzer sichtbar Systemeigenschaften Erweitert Leistung Einstellungen Datenausfuhrungsverhinderung Windows 8 und neuere Windows Versionen konnen auf Prozessoren ohne NX Bit nicht gestartet werden 7 Linux Bearbeiten Fur Linux wurde vom bei Red Hat angestellten Entwickler Ingo Molnar ein Patch zur Unterstutzung des NX Bit fur den Linux Kernel der 2 6er Reihe entwickelt der fur Kernel 2 6 6 in Red Hat Linux zur Verfugung gestellt wurde 8 Im offiziellen Linux Kernel ist der Patch ab Version 2 6 8 enthalten Voraussetzung ist entweder ein 64 Bit Kernel x64 auch oft x86 64 oder amd64 bezeichnet oder ein 32 Bit Kernel IA 32 meist x86 oder i386 mit eingeschalteten PAE Wahrend auf 64 Bit x86 Systemen das NX Bit in jedem Fall nutzbar ist muss auf 32 Bit x86 Systemen die PAE Befehlssatzerweiterung im x86 Prozessor vorhanden sein macOS Bearbeiten Das Betriebssystem fur Computer von Apple macOS fruher Mac OS X und OS X unterstutzt das NX Bit ab Version 10 6 Snow Leopard CPUs mit NX Bit BearbeitenProzessoren mit dem NX Bit Feature lassen sich per Software an einem gesetzten 11 Bit im Extended Feature Enable Register erkennen Dieses model specific register lasst sich nur von privilegierter Software Systemsoftware also beispielsweise vom Betriebssystemkern auslesen AMD Bearbeiten AMD Athlon 64 und Nachfolger AMD Opteron AMD Phenom und Nachfolger AMD Sempron ab Paris AMD Turion 64 und Nachfolger AMD Ryzen und NachfolgerIntel Bearbeiten Intel Atom Intel Celeron ab Conroe L Kern Intel Celeron D Intel Celeron M ab Dothan Kern Intel Core Solo Duo und Nachfolger Intel Pentium 4 ab Prescott F J Typ Intel Pentium D Intel Pentium Dual Core Intel Pentium Extreme Edition Intel Pentium M ab Dothan FSB533 alle Modelle FSB400 nur Modelle mit CPU ID 06D8h Intel Xeon ab Pentium D Kern Ubrige Bearbeiten Transmeta Efficeon VIA C7 VIA NanoWeblinks BearbeitenImplementation von ASLR und NX XD Bit im Linux 2 6 Kernel Linux Magazin Verwundbar trotz No Execute Heise onlineEinzelnachweise Bearbeiten msdn microsoft com a b Tom Krazit Transmeta targets Pentium M users with NX security bit No Execute feature for security gets backing In InfoWorld 17 Mai 2004 abgerufen am 18 September 2022 englisch Earlier this month AMD released two Mobile Athlon 64 processors for thin and light notebooks that support NX or what AMD calls Enhanced Virus Protection Christof Windeck Intel lasst Details zu kommenden Pentium 4 Versionen entschlupfen In Heise online 4 Juni 2004 Abgerufen am 18 September 2022 Christof Windeck Transmetas Efficeon Prozessoren bald mit NX Speicherschutz In Heise online 18 Mai 2004 Abgerufen am 18 September 2022 Christof Windeck VIA will auch bald C3 Prozessoren mit NX Speicherschutz liefern In Heise online 19 Mai 2004 Abgerufen am 18 September 2022 Andreas Stiller Fall Processor Forum 64 Bit Prozessor von VIA In Heise online 6 Oktober 2004 Abgerufen am 18 September 2022 https support microsoft com de de help 12660 windows 8 system requirements Jurgen Schmidt No eXecution fur Linux In Heise online 4 Juni 2004 Abgerufen am 18 September 2022 VBefehlssatzerweiterungen der x86 Architektur 16 Bit 32 Bit IA 32 64 Bit x64 Betriebsmodi Real Mode Protected Mode Virtual 8086 Mode System Management Mode Long Mode Compatibibility ModeBefehlssatzerweiterungen x87 PAE NX AMD64 Intel 64 x64 HTT VT x AMD V VIA VT 3DNow MMX SSE SSE2 SSE3 SSSE3 SSE4 SSE4a SSE5 F16C AVX CLMUL AES FMA TSX BMI MPX SGX Abgerufen von https de wikipedia org w index php title NX Bit amp oldid 230498678