[{"@context":"http:\/\/schema.org\/","@type":"BlogPosting","@id":"https:\/\/wiki.edu.vn\/wiki25\/2021\/10\/07\/ausfuhrbarer-weltraumschutz-wikipedia\/#BlogPosting","mainEntityOfPage":"https:\/\/wiki.edu.vn\/wiki25\/2021\/10\/07\/ausfuhrbarer-weltraumschutz-wikipedia\/","headline":"Ausf\u00fchrbarer Weltraumschutz \u2013 Wikipedia","name":"Ausf\u00fchrbarer Weltraumschutz \u2013 Wikipedia","description":"In der Computersicherheit, Schutz des ausf\u00fchrbaren Speicherplatzes markiert Speicherbereiche als nicht ausf\u00fchrbar, sodass ein Versuch, Maschinencode in diesen Bereichen auszuf\u00fchren,","datePublished":"2021-10-07","dateModified":"2021-10-07","author":{"@type":"Person","@id":"https:\/\/wiki.edu.vn\/wiki25\/author\/lordneo\/#Person","name":"lordneo","url":"https:\/\/wiki.edu.vn\/wiki25\/author\/lordneo\/","image":{"@type":"ImageObject","@id":"https:\/\/secure.gravatar.com\/avatar\/44a4cee54c4c053e967fe3e7d054edd4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/44a4cee54c4c053e967fe3e7d054edd4?s=96&d=mm&r=g","height":96,"width":96}},"publisher":{"@type":"Organization","name":"Enzyklop\u00e4die","logo":{"@type":"ImageObject","@id":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","url":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","width":600,"height":60}},"image":{"@type":"ImageObject","@id":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","url":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","width":100,"height":100},"url":"https:\/\/wiki.edu.vn\/wiki25\/2021\/10\/07\/ausfuhrbarer-weltraumschutz-wikipedia\/","wordCount":4678,"articleBody":"In der Computersicherheit, Schutz des ausf\u00fchrbaren Speicherplatzes markiert Speicherbereiche als nicht ausf\u00fchrbar, sodass ein Versuch, Maschinencode in diesen Bereichen auszuf\u00fchren, eine Ausnahme verursacht. Es verwendet Hardwarefunktionen wie das NX-Bit (No-Execute-Bit) oder in einigen F\u00e4llen die Softwareemulation dieser Funktionen. Technologien, die irgendwie ein NX-Bit emulieren oder bereitstellen, verursachen jedoch normalerweise einen messbaren Overhead; w\u00e4hrend die Verwendung eines von der Hardware bereitgestellten NX-Bits keinen messbaren Overhead verursacht. Der Burroughs 5000 bot bei seiner Einf\u00fchrung im Jahr 1961 Hardwareunterst\u00fctzung f\u00fcr den Schutz des ausf\u00fchrbaren Speicherplatzes; diese F\u00e4higkeit blieb in seinen Nachfolgern bis mindestens 2006 erhalten. Bei seiner Implementierung der Tagged-Architektur hatte jedes Speicherwort ein zugeordnetes, verstecktes Tag-Bit, das seinen Code oder seine Daten bezeichnete. Somit k\u00f6nnen Anwenderprogramme kein Programmwort schreiben oder gar lesen und Datenworte k\u00f6nnen nicht ausgef\u00fchrt werden.Wenn ein Betriebssystem einige oder alle beschreibbaren Speicherbereiche als nicht ausf\u00fchrbar markieren kann, kann es m\u00f6glicherweise verhindern, dass die Stapel- und Heapspeicherbereiche ausf\u00fchrbar sind. Dies tr\u00e4gt dazu bei, den Erfolg bestimmter Buffer-Overflow-Exploits zu verhindern, insbesondere solche, die Code einschleusen und ausf\u00fchren, wie die W\u00fcrmer Sasser und Blaster. Diese Angriffe beruhen darauf, dass ein Teil des Speichers, normalerweise der Stack, sowohl beschreibbar als auch ausf\u00fchrbar ist. Ist dies nicht der Fall, schl\u00e4gt der Angriff fehl.Table of Contents Betriebssystemimplementierungen[edit]Android[edit]FreeBSD[edit]Linux[edit]Exec-Schild[edit]PaX[edit]Mac OS[edit]NetBSD[edit]OpenBSD[edit]Solaris[edit]Fenster[edit]Xbox[edit]Einschr\u00e4nkungen[edit]Siehe auch[edit]Verweise[edit]Betriebssystemimplementierungen[edit]Viele Betriebssysteme implementieren oder verf\u00fcgen \u00fcber eine verf\u00fcgbare Richtlinie zum Schutz des ausf\u00fchrbaren Speicherplatzes. Hier ist eine Liste solcher Systeme in alphabetischer Reihenfolge, jeweils mit Technologien, die von der neuesten zur \u00e4ltesten geordnet sind.F\u00fcr einige Technologien gibt es eine Zusammenfassung mit den wichtigsten Funktionen, die jede Technologie unterst\u00fctzt. Die Zusammenfassung ist wie folgt aufgebaut.Hardware-unterst\u00fctzte Prozessoren: (Kommagetrennte Liste der CPU-Architekturen)Emulation: (Nein) oder (Architekturunabh\u00e4ngig) oder (Kommagetrennte Liste der CPU-Architekturen)Andere unterst\u00fctzt: (Keine) oder (Kommagetrennte Liste der CPU-Architekturen)Standarddistribution: (Nein) oder (Ja) oder (Kommagetrennte Liste von Distributionen oder Versionen, die die Technologie unterst\u00fctzen)Ver\u00f6ffentlichungsdatum: (Datum der ersten Ver\u00f6ffentlichung)Eine Technologie, die eine architekturunabh\u00e4ngige Emulation bereitstellt, wird auf allen Prozessoren funktionieren, die nicht von der Hardware unterst\u00fctzt werden. Die Zeile “Other Supported” ist f\u00fcr Prozessoren gedacht, die eine Grauzonenmethode zulassen, bei der kein explizites NX-Bit vorhanden ist, die Hardware jedoch die Emulation eines solchen auf irgendeine Weise zul\u00e4sst.Android[edit]Ab Android 2.3 und h\u00f6her verf\u00fcgen Architekturen, die dies unterst\u00fctzen, standardm\u00e4\u00dfig \u00fcber nicht ausf\u00fchrbare Seiten, einschlie\u00dflich nicht ausf\u00fchrbarem Stack und Heap.[1][2][3] FreeBSD[edit]Erste Unterst\u00fctzung f\u00fcr das NX-Bit auf x86-64- und IA-32-Prozessoren, die es unterst\u00fctzen, erschien erstmals am 8. Juni 2004 in FreeBSD -CURRENT. Es ist seit der Ver\u00f6ffentlichung 5.3 in FreeBSD-Releases enthalten.Linux[edit]Der Linux-Kernel unterst\u00fctzt das NX-Bit auf x86-64- und IA-32-Prozessoren, die es unterst\u00fctzen, wie beispielsweise moderne 64-Bit-Prozessoren von AMD, Intel, Transmeta und VIA. Die Unterst\u00fctzung f\u00fcr diese Funktion im 64-Bit-Modus auf x86-64-CPUs wurde 2004 von Andi Kleen hinzugef\u00fcgt, und sp\u00e4ter im selben Jahr f\u00fcgte Ingo Molnar die Unterst\u00fctzung f\u00fcr sie im 32-Bit-Modus auf 64-Bit-CPUs hinzu. Diese Funktionen sind seit der Ver\u00f6ffentlichung der Kernel-Version 2.6.8 im August 2004 Teil der Linux-Kernel-Mainline.[4]Die Verf\u00fcgbarkeit des NX-Bits auf 32-Bit-x86-Kernels, die sowohl auf 32-Bit-x86-CPUs als auch auf 64-Bit-IA-32-kompatiblen CPUs laufen k\u00f6nnen, ist von Bedeutung, da ein 32-Bit-x86-Kernel normalerweise das NX-Bit nicht erwarten w\u00fcrde die ein AMD64 oder IA-64 liefert; Der NX-Enabler-Patch stellt sicher, dass diese Kernel versuchen, das NX-Bit zu verwenden, falls vorhanden.Einige Desktop-Linux-Distributionen wie Fedora, Ubuntu und openSUSE aktivieren die HIGHMEM64-Option standardm\u00e4\u00dfig nicht in ihren Standard-Kernels, die erforderlich ist, um Zugriff auf das NX-Bit im 32-Bit-Modus zu erhalten, da der PAE-Modus, der erforderlich ist, um Die Verwendung des NX-Bits f\u00fchrt zu Boot-Fehlern auf Prozessoren vor Pentium Pro (einschlie\u00dflich Pentium MMX) und Celeron M- und Pentium M-Prozessoren ohne NX-Unterst\u00fctzung. Andere Prozessoren, die PAE nicht unterst\u00fctzen, sind AMD K6 und fr\u00fcher, Transmeta Crusoe, VIA C3 und fr\u00fcher sowie Geode GX und LX. VMware Workstation-Versionen \u00e4lter als 4.0, Parallels Workstation-Versionen \u00e4lter als 4.0 und Microsoft Virtual PC und Virtual Server unterst\u00fctzen PAE auf dem Gast nicht. Fedora Core 6 und Ubuntu 9.10 und h\u00f6her stellen ein Kernel-PAE-Paket bereit, das PAE und NX unterst\u00fctzt.Der NX-Speicherschutz war in Ubuntu schon immer f\u00fcr alle Systeme verf\u00fcgbar, die \u00fcber die Hardware zur Unterst\u00fctzung verf\u00fcgten und den 64-Bit-Kernel oder den 32-Bit-Server-Kernel ausf\u00fchrten. Der 32-Bit-PAE-Desktop-Kernel (linux-image-generic-pae) in Ubuntu 9.10 und h\u00f6her bietet auch den f\u00fcr Hardware mit NX-CPU-Funktion erforderlichen PAE-Modus. F\u00fcr Systeme ohne NX-Hardware bieten die 32-Bit-Kernel jetzt eine Ann\u00e4herung an die NX-CPU-Funktion \u00fcber eine Softwareemulation, die dazu beitragen kann, viele Exploits zu blockieren, die ein Angreifer vom Stack- oder Heap-Speicher ausf\u00fchren k\u00f6nnte.Nicht-Ausf\u00fchrungsfunktionalit\u00e4t war auch f\u00fcr andere Nicht-x86-Prozessoren vorhanden, die diese Funktionalit\u00e4t f\u00fcr viele Versionen unterst\u00fctzen.Exec-Schild[edit]Der Red Hat-Kernel-Entwickler Ingo Molnar hat einen Linux-Kernel-Patch namens Exec Shield ver\u00f6ffentlicht, um die NX-Funktionalit\u00e4t auf 32-Bit-x86-CPUs anzun\u00e4hern und zu nutzen. Der Exec Shield-Patch wurde am 2. Mai 2003 in der Linux-Kernel-Mailingliste ver\u00f6ffentlicht, wurde jedoch f\u00fcr die Zusammenf\u00fchrung mit dem Basiskernel abgelehnt, da er einige aufdringliche \u00c4nderungen am Kerncode beinhaltete, um die komplexen Teile der Emulation zu handhaben. Die Legacy-CPU-Unterst\u00fctzung von Exec Shield n\u00e4hert sich der NX-Emulation an, indem die obere Codesegmentgrenze verfolgt wird. Dies erlegt nur wenige Zyklen Overhead w\u00e4hrend Kontextwechseln auf, was f\u00fcr alle Absichten und Zwecke unermesslich ist. Bei Legacy-CPUs ohne NX-Bit kann Exec Shield Seiten unterhalb der Codesegmentgrenze nicht sch\u00fctzen. ein mprotect()-Aufruf, um h\u00f6heren Speicher, wie den Stack, zu markieren, markiert auch den gesamten Speicher unterhalb dieser ausf\u00fchrbaren Grenze. Daher schlagen die Schemata von Exec Shield in diesen Situationen fehl. Dies sind die Kosten f\u00fcr den geringen Overhead von Exec Shield. Exec Shield pr\u00fcft auf zwei ELF-Header-Markierungen, die bestimmen, ob der Stack oder Heap ausf\u00fchrbar sein muss. Diese hei\u00dfen PT_GNU_STACK bzw. PT_GNU_HEAP. Mit Exec Shield k\u00f6nnen diese Steuerelemente sowohl f\u00fcr bin\u00e4re ausf\u00fchrbare Dateien als auch f\u00fcr Bibliotheken festgelegt werden. Wenn eine ausf\u00fchrbare Datei eine Bibliothek l\u00e4dt, die eine Lockerung einer gegebenen Einschr\u00e4nkung erfordert, wird die ausf\u00fchrbare Datei diese Markierung erben und diese Einschr\u00e4nkung gelockert haben.PaX[edit]Die PaX NX-Technologie kann die NX-Funktionalit\u00e4t emulieren oder ein Hardware-NX-Bit verwenden. PaX funktioniert auf x86-CPUs, die nicht \u00fcber das NX-Bit verf\u00fcgen, wie z. B. 32-Bit-x86. Der Linux-Kernel wird immer noch nicht mit PaX ausgeliefert (Stand Mai 2007); der Patch muss manuell zusammengef\u00fchrt werden.PaX bietet zwei Methoden der NX-Bit-Emulation, genannt SEGMEXEC und PAGEEXEC. Das SEGMEXEC-Verfahren erlegt einen messbaren, aber geringen Overhead auf, typischerweise weniger als 1%, was ein konstanter Skalar ist, der aufgrund der Spiegelung des virtuellen Speichers entsteht, die f\u00fcr die Trennung zwischen Ausf\u00fchrung und Datenzugriffen verwendet wird.[5] SEGMEXEC hat auch den Effekt, dass der virtuelle Adressraum des Tasks halbiert wird, sodass der Task auf weniger Speicher zugreifen kann, als er normalerweise k\u00f6nnte. Dies ist kein Problem, bis die Aufgabe Zugriff auf mehr als die H\u00e4lfte des normalen Adressraums erfordert, was selten vorkommt. SEGMEXEC bewirkt nicht, dass Programme mehr Systemspeicher (dh RAM) belegen, sondern schr\u00e4nkt nur den Zugriff ein. Auf 32-Bit-CPUs werden dies zu 1,5 GB statt 3 GB.Zur Beschleunigung liefert PaX eine Methode \u00e4hnlich der Approximation von Exec Shield in der PAGEEXEC; Wenn jedoch h\u00f6herer Speicher als ausf\u00fchrbar markiert wird, verliert diese Methode ihren Schutz. In diesen F\u00e4llen greift PaX auf die \u00e4ltere Methode mit variablem Overhead zur\u00fcck, die von PAGEEXEC verwendet wird, um Seiten unterhalb des CS-Limits zu sch\u00fctzen, was bei bestimmten Speicherzugriffsmustern zu einer ziemlich hohen Overhead-Operation werden kann. Wenn das PAGEEXEC-Verfahren auf einer CPU verwendet wird, die ein Hardware-NX-Bit liefert, wird das Hardware-NX-Bit verwendet, so dass kein signifikanter Overhead entsteht.PaX bietet mprotect()-Einschr\u00e4nkungen, um zu verhindern, dass Programme Speicher auf eine Weise markieren, die f\u00fcr einen m\u00f6glichen Exploit n\u00fctzlichen Speicher erzeugt. Diese Richtlinie f\u00fchrt dazu, dass bestimmte Anwendungen nicht mehr funktionieren, sie kann jedoch f\u00fcr betroffene Programme deaktiviert werden.PaX erm\u00f6glicht die individuelle Steuerung der folgenden Funktionen der Technologie f\u00fcr jede ausf\u00fchrbare Bin\u00e4rdatei:PAGEEXECSEGMEXECmprotect()-Einschr\u00e4nkungenTrampolin-EmulationRandomisierte ausf\u00fchrbare BasisRandomisierte mmap()-BasisPaX ignoriert sowohl PT_GNU_STACK als auch PT_GNU_HEAP. In der Vergangenheit hatte PaX eine Konfigurationsoption, um diese Einstellungen zu ber\u00fccksichtigen, aber diese Option wurde aus Sicherheitsgr\u00fcnden entfernt, da sie als nicht n\u00fctzlich erachtet wurde. Die gleichen Ergebnisse von PT_GNU_STACK k\u00f6nnen normalerweise durch Deaktivieren der Einschr\u00e4nkungen von mprotect() erreicht werden, da das Programm normalerweise den Stack beim Laden mprotect() wird. Dies mag nicht immer zutreffen; In Situationen, in denen dies fehlschl\u00e4gt, werden durch einfaches Deaktivieren von PAGEEXEC und SEGMEXEC alle Einschr\u00e4nkungen des ausf\u00fchrbaren Speicherplatzes effektiv aufgehoben, wodurch der Task denselben Schutz f\u00fcr seinen ausf\u00fchrbaren Speicherplatz wie ein Nicht-PaX-System erh\u00e4lt.Mac OS[edit]macOS f\u00fcr Intel unterst\u00fctzt das NX-Bit auf allen von Apple unterst\u00fctzten CPUs (ab Mac OS X 10.4.4 \u2013 der ersten Intel-Version \u2013 aufw\u00e4rts). Mac OS X 10.4 unterst\u00fctzte nur den NX-Stack-Schutz. In Mac OS X 10.5 haben alle ausf\u00fchrbaren 64-Bit-Dateien NX-Stack und -Heap; W^X-Schutz. Dazu geh\u00f6ren x86-64 (Core 2 oder h\u00f6her) und 64-Bit-PowerPC auf den G5-Macs.NetBSD[edit]Ab NetBSD 2.0 und h\u00f6her (9. Dezember 2004) verf\u00fcgen Architekturen, die dies unterst\u00fctzen, \u00fcber nicht ausf\u00fchrbaren Stack und Heap.[6]Architekturen mit Granularit\u00e4t pro Seite bestehen aus: alpha, amd64, hppa, i386 (mit PAE), powerpc (ibm4xx), sh5, sparc (sun4m, sun4d), sparc64.Architekturen, die diese nur mit Region-Granularit\u00e4t unterst\u00fctzen k\u00f6nnen, sind: i386 (ohne PAE), andere Powerpc (wie macppc).Andere Architekturen profitieren nicht von nicht ausf\u00fchrbaren Stack oder Heap; NetBSD verwendet standardm\u00e4\u00dfig keine Softwareemulation, um diese Funktionen auf diesen Architekturen anzubieten.OpenBSD[edit]Eine Technologie im OpenBSD-Betriebssystem, bekannt als W^X, markiert beschreibbare Seiten standardm\u00e4\u00dfig als nicht ausf\u00fchrbar auf Prozessoren, die dies unterst\u00fctzen. Auf 32-Bit-x86-Prozessoren ist das Codesegment so eingestellt, dass es nur einen Teil des Adressraums enth\u00e4lt, um ein gewisses Ma\u00df an Schutz f\u00fcr ausf\u00fchrbaren Speicherplatz zu bieten.OpenBSD 3.3 wurde am 1. Mai 2003 ausgeliefert und war das erste, das W^X einschloss.Hardware-unterst\u00fctzte Prozessoren: Alpha, AMD64, HPPA, SPARCEmulation: IA-32 (x86)Andere unterst\u00fctzt: KeineStandardverteilung: JaErscheinungsdatum: 1. Mai 2003Solaris[edit]Solaris unterst\u00fctzt seit Solaris 2.6 (1997) das globale Deaktivieren der Stack-Ausf\u00fchrung auf SPARC-Prozessoren; in Solaris 9 (2002) wurde die Unterst\u00fctzung f\u00fcr das Deaktivieren der Stack-Ausf\u00fchrung pro ausf\u00fchrbarer Basis hinzugef\u00fcgt.Fenster[edit]Beginnend mit Windows XP Service Pack 2 (2004) und Windows Server 2003 Service Pack 1 (2005) wurden die NX-Features erstmals auf der x86-Architektur implementiert. Der Schutz des ausf\u00fchrbaren Speicherplatzes unter Windows wird als “Data Execution Prevention” (DEP) bezeichnet.Unter Windows XP oder Server 2003 wurde der NX-Schutz standardm\u00e4\u00dfig ausschlie\u00dflich f\u00fcr kritische Windows-Dienste verwendet. Wenn der x86-Prozessor diese Funktion in der Hardware unterst\u00fctzte, wurden die NX-Funktionen in Windows XP\/Server 2003 standardm\u00e4\u00dfig automatisch aktiviert. Wenn die Funktion vom x86-Prozessor nicht unterst\u00fctzt wurde, wurde kein Schutz gew\u00e4hrt.Fr\u00fche DEP-Implementierungen boten keine Adre\u00dfraum-Layout-Randomisierung (ASLR), was potenzielle Return-to-libc-Angriffe erm\u00f6glichte, mit denen DEP w\u00e4hrend eines Angriffs h\u00e4tte deaktiviert werden k\u00f6nnen.[7] Die PaX-Dokumentation erl\u00e4utert, warum ASLR notwendig ist;[8] Es wurde ein Machbarkeitsnachweis erstellt, der eine Methode beschreibt, mit der DEP in Abwesenheit von ASLR umgangen werden k\u00f6nnte.[9] Ein erfolgreicher Angriff kann m\u00f6glich sein, wenn dem Angreifer die Adresse von aufbereiteten Daten wie besch\u00e4digten Bildern oder MP3-Dateien bekannt ist.Microsoft hat die ASLR-Funktionalit\u00e4t in Windows Vista und Windows Server 2008 hinzugef\u00fcgt. Auf dieser Plattform wird DEP durch die automatische Verwendung des PAE-Kernels in 32-Bit-Windows und die native Unterst\u00fctzung f\u00fcr 64-Bit-Kernel implementiert. Windows Vista DEP funktioniert, indem bestimmte Teile des Speichers so markiert werden, dass sie nur Daten enthalten sollen, die der NX- oder XD-Bit-f\u00e4hige Prozessor dann als nicht ausf\u00fchrbar versteht.[10] Unter Windows ab Version Vista kann auf der Seite angezeigt werden, ob DEP f\u00fcr einen bestimmten Prozess aktiviert oder deaktiviert ist Prozesse\/Details Registerkarte im Windows Task-Manager.Windows implementiert Software-DEP (ohne die Verwendung des NX-Bits) durch Microsofts “Safe Structured Exception Handling” (SafeSEH). Bei ordnungsgem\u00e4\u00df kompilierten Anwendungen \u00fcberpr\u00fcft SafeSEH, ob der Ausnahmehandler beim Ausl\u00f6sen einer Ausnahme w\u00e4hrend der Programmausf\u00fchrung von der Anwendung so definiert ist, wie sie urspr\u00fcnglich kompiliert wurde. Dieser Schutz bewirkt, dass ein Angreifer nicht in der Lage ist, seinen eigenen Ausnahmehandler, den er in einer Datenseite gespeichert hat, durch ungepr\u00fcfte Programmeingaben hinzuzuf\u00fcgen.[10][11]Wenn NX unterst\u00fctzt wird, ist es standardm\u00e4\u00dfig aktiviert. Windows erm\u00f6glicht es Programmen zu steuern, welche Seiten die Ausf\u00fchrung \u00fcber seine API sowie \u00fcber die Abschnitts\u00fcberschriften in einer PE-Datei nicht zulassen. In der API wird der Laufzeitzugriff auf das NX-Bit \u00fcber die Win32-API-Aufrufe bereitgestellt VirtualAlloc[Ex] und VirtualProtect[Ex]. Jede Seite kann einzeln als ausf\u00fchrbar oder nicht ausf\u00fchrbar gekennzeichnet werden. Trotz fehlender fr\u00fcherer x86-Hardwareunterst\u00fctzung wurden von Anfang an sowohl ausf\u00fchrbare als auch nicht ausf\u00fchrbare Seiteneinstellungen bereitgestellt. Auf CPUs vor NX hat das Vorhandensein des Attributs ‘executable’ keine Auswirkung. Es wurde dokumentiert, als ob es funktionierte, und daher verwendeten die meisten Programmierer es richtig. Im PE-Dateiformat kann jeder Abschnitt seine Ausf\u00fchrbarkeit angeben. Das Ausf\u00fchrungsflag existiert seit Beginn des Formats und Standard-Linker haben dieses Flag immer korrekt verwendet, sogar lange vor dem NX-Bit. Aus diesem Grund ist Windows in der Lage, das NX-Bit in alten Programmen zu erzwingen. Angenommen, der Programmierer hat sich an die “Best Practices” gehalten, sollten Anwendungen jetzt korrekt funktionieren, da NX tats\u00e4chlich erzwungen wird. Nur in wenigen F\u00e4llen gab es Probleme; Microsofts eigene .NET Runtime hatte Probleme mit dem NX-Bit und wurde aktualisiert.Xbox[edit]Obwohl die CPU in Microsofts Xbox nicht \u00fcber das NX-Bit verf\u00fcgt, setzen neuere Versionen des XDK das Codesegmentlimit auf den Anfang des Kernels .Daten (unter normalen Umst\u00e4nden sollte kein Code nach diesem Punkt stehen). Ab Version 51xx wurde diese \u00c4nderung auch in den Kernel neuer Xboxes implementiert. Dies brach die Techniken, die alte Exploits verwendeten, um ein TSR zu werden. Es wurden jedoch schnell neue Versionen ver\u00f6ffentlicht, die diese neue Version unterst\u00fctzen, da der grundlegende Exploit nicht betroffen war.Einschr\u00e4nkungen[edit]Wenn Code zur Laufzeit geschrieben und ausgef\u00fchrt wird \u2013 ein JIT-Compiler ist ein prominentes Beispiel \u2013, kann der Compiler potenziell verwendet werden, um Exploit-Code zu erzeugen (z. B. mit JIT Spray), der zur Ausf\u00fchrung markiert wurde und daher nicht gefangen w\u00fcrde.[12][13]Return-orientierte Programmierung kann es einem Angreifer erm\u00f6glichen, beliebigen Code auszuf\u00fchren, selbst wenn der Schutz des ausf\u00fchrbaren Speicherplatzes erzwungen wird.Siehe auch[edit]Verweise[edit]^ “Sicherheitsverbesserungen bei der Speicherverwaltung”, \u00dcbersicht \u00fcber die Android-Sicherheit, abgerufen am 29.07.2012.^ “Android-Code\u00e4nderung, die NX standardm\u00e4\u00dfig aktiviert”. \u00c4nderung des Android-Quell-Repositorys. Abgerufen 2019-08-27.^ “Android-Kompatibilit\u00e4tsanforderung f\u00fcr NX”. Android-Code-\u00dcberpr\u00fcfung. Abgerufen 2019-08-27.^ “Linux-Kernel 2.6.8”. Kernelnewbies.org. 2004-08-14. Abgerufen 2015-08-01.^ “PaX SEGMEXEC-Dokumentation” (TXT). pax.grsecurity.net. 10. September 2004. Abgerufen 25. Januar, 2015.^ NetBSD, Nicht ausf\u00fchrbarer Stack und Heap, abgerufen am 14.07.2011.^ “Blog \u00fcber Cyberterror”.^ http:\/\/pax.grsecurity.net\/docs\/aslr.txt^ “Uninformiert – Band 2 Artikel 4”. Archiviert von das Original am 2016-03-12. Abgerufen 2010-03-19.^ ein B “Eine detaillierte Beschreibung der Data Execution Prevention (DEP)-Funktion in Windows XP Service Pack 2, Windows XP Tablet PC Edition 2005 und Windows Server 2003”. Microsoft. 2006-09-26. Archiviert von das Original am 2014-09-11. Abgerufen 2008-07-11.^ Johnson, Peter. “Yasm Benutzerhandbuch, win32: Sichere strukturierte Ausnahmebehandlung”. Tortall Networks: Open Source und freie Software. Archiviert von das Original am 2. Januar 2015. Abgerufen 27. September 2015.^ Dion Blazakis. “Interpreter Exploitation: Pointer Inference and JIT Spraying” (PDF).^ Alexey Sintsov (5. M\u00e4rz 2010). “JIT-Spray Shellcode schreiben f\u00fcr Spa\u00df und Gewinn” (PDF). Archiviert von das Original (PDF) am 04.03.2016."},{"@context":"http:\/\/schema.org\/","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"https:\/\/wiki.edu.vn\/wiki25\/#breadcrumbitem","name":"Enzyklop\u00e4die"}},{"@type":"ListItem","position":2,"item":{"@id":"https:\/\/wiki.edu.vn\/wiki25\/2021\/10\/07\/ausfuhrbarer-weltraumschutz-wikipedia\/#breadcrumbitem","name":"Ausf\u00fchrbarer Weltraumschutz \u2013 Wikipedia"}}]}]