Windows: Was ist der Unterschied zwischen DEP immer aktiviert und DEP-Deaktivierung ohne Ausnahmen?

7
  1. Was ist der Unterschied zwischen DEP immer aktiv ("/ NoExecute = AlwaysOn" in boot.ini) und DEP-Deaktivierung ("/ NoExecute = OptOut" in boot.ini) ohne Ausnahmen ?

    "keine Ausnahmen" = leere Liste von Programmen, für die DEP nicht gilt. DEP = Data Execution Prevention (Hardware).

    Man würde erwarten, dass es genauso funktioniert, aber es macht für einige Anwendungen einen Unterschied:

    ZB für alle Versionen von UltraEdit 14 (14.2). Es stürzt beim Start für DEP immer ab, zumindest unter Microsoft Windows XP Professional Edition x64 Edition. ( Update 11.03.2010 : Dieses Problem wurde mit UltraEdit 15.2 und höher behoben.)

    Update 2010-07-12 : Mozilla Thunderbird 2.0.0.19 stürzt auch beim Start ab, wenn DEP auf die höchste Stufe eingestellt ist (wie es UltraEdit früher getan hat).

  2. Gibt es einen Unterschied zwischen Windows XP, Windows Vista und Windows 7?

  3. Gibt es einen Unterschied zwischen 32-Bit- und 64-Bit-Versionen von Windows?

Peter Mortensen
quelle

Antworten:

5

Konfigurationsbeschreibung

OptIn Diese Einstellung ist die Standardkonfiguration. Auf Systemen mit Prozessoren, die Hardware-erzwungenes DEP implementieren können, ist DEP standardmäßig für begrenzte System-Binärdateien und Programme aktiviert, die sich "anmelden". Mit dieser Option werden standardmäßig nur Windows-Systembinärdateien von DEP abgedeckt.

OptOut DEP ist standardmäßig für alle Prozesse aktiviert. Über das Dialogfeld System in der Systemsteuerung können Sie manuell eine Liste bestimmter Programme erstellen, auf die DEP nicht angewendet wurde. IT-Experten können das Application Compatibility Toolkit verwenden, um ein oder mehrere Programme vom DEP-Schutz abzumelden. Systemkompatibilitätskorrekturen oder Shims für DEP werden wirksam.

AlwaysOn Diese Einstellung bietet vollständige DEP-Abdeckung für das gesamte System. Alle Prozesse werden immer mit angewendetem DEP ausgeführt. Die Ausnahmeliste zum Ausnehmen bestimmter Programme vom DEP-Schutz ist nicht verfügbar. Systemkompatibilitätskorrekturen für DEP werden nicht wirksam. Programme, die mithilfe des Application Compatibility Toolkit deaktiviert wurden, werden mit angewendetem DEP ausgeführt.

AlwaysOff Diese Einstellung bietet keine DEP-Abdeckung für einen Teil des Systems, unabhängig von der Hardware-DEP-Unterstützung. Der Prozessor wird nur im PAE-Modus ausgeführt, wenn die Option / PAE in der Datei Boot.ini vorhanden ist.

Ian Boyd
quelle
2

Zu Frage 1: Ich denke, dieser Unterschied wird durch die Hintertüren verursacht, die Microsoft laut Fabrice Roux in Hardware DEP für OptOut integriert hat (siehe unten). Im Fall von IrfanView, für das Steve Gibson den gleichen Unterschied wie für UltraEdit festgestellt hat (siehe Frage), wird der Unterschied durch einen nicht DEP-fähigen EXE-Packer (ASPack) verursacht, für den Microsoft eine Hintertür codiert hat.

Quellen:

Von http://blog.fabriceroux.com/index.php/2007/02/26/hardware_dep_has_a_backdoor?blog=1 wird "Hardware DEP hat eine Hintertür" von Fabrice Roux. 2007-02-26. "IrfanView hat keinen Trick verwendet, um DEP zu umgehen ... Microsoft hat nur eine Backdoor codiert, die nur in OPTOUT verwendet wird. Grundsätzlich überprüft Microsoft den ausführbaren Header auf einen Abschnitt, der mit einer der drei Zeichenfolgen übereinstimmt. Wenn eine dieser Zeichenfolgen gefunden wird, wird DEP aktiviert AUS für diese Anwendung von Windows. ... 'aspack', 'pcle', 'sforce' "

Von http://www.grc.com/sn/sn-078.htm , von Steve Gibson. "Ich kann nirgendwo auf der Microsoft-Website eine Dokumentation finden, da wir einen Unterschied zwischen" Immer ein "und" Deaktivieren "feststellen. Das heißt, Sie können sich vorstellen, dass der Modus" Immer aktiv "mit dem Deaktivieren identisch ist, wenn Sie es nicht wären Es stellt sich heraus, dass dies nicht der Fall ist. Zum Beispiel ... der IrfanView-Datei-Viewer ... läuft im Opt-Out-Modus einwandfrei, auch wenn er nicht deaktiviert wurde. Aber er hat gewonnen. ' Beim Starten blockiert Windows den Start ... im Always-On-Modus. "

Von http://www.grc.com/sn/sn-083.htm , von Steve Gibson. "... IrfanView ... wird nicht ausgeführt, wenn DEP aktiviert ist. Dies liegt daran, dass ein EXE-Packer verwendet wird, ein ausführbares Komprimierungsprogramm namens ASPack. Und es ist sinnvoll, dies nicht zu tun, da natürlich ein ausführbarer Komprimierer dekomprimieren muss die ausführbare Datei, also ordnet sie eine Menge Datenspeicher zu, in den sie die komprimierte ausführbare Datei dekomprimiert, und führt sie dann aus. Nun, es wird eine Datenzuweisung ausgeführt, die genau das ist, was DEP stoppen soll. Dies ist der führende und beliebteste EXE-Kompressor. Er ist DEP-kompatibel, da diese Leute erkannt haben, dass wir die Seiten als ausführbar markieren sollten, wenn wir diesen Speicher zuweisen. "

Peter Mortensen
quelle
2

Wenn Sie die System-DEP-Richtlinienebene auf OptOut setzen, kann jeder 32-Bit-Thread SetSystemDEPPolicy (0) aufrufen, wodurch der DEP-Schutz für den diesem Prozess zugewiesenen Speicherplatz deaktiviert wird. Wenn die DEP-Richtlinie des Systems auf AlwaysOn festgelegt ist, wird beim Aufruf von SetSystemDEPPolicy ein Fehler ausgegeben.

Kevin McLarnon
quelle
0

Eine detaillierte Beschreibung der DEP-Funktion (Data Execution Prevention) in Windows XP Service Pack 2, Windows XP Tablet PC Edition 2005 und Windows Server 2003

Der kürzere, schnellere Titel ist MS KB 875352 ;-)

Mehr als Sie jemals wissen mussten ...

gbn
quelle
Ich wusste von diesem Dokument. Frage 1 wird nicht beantwortet (außer vielleicht "AlwaysOn ... Systemkompatibilitätskorrekturen für DEP werden nicht wirksam" - ich bin mir nicht sicher, wie ich das interpretieren soll). Grüße, Peter.
Peter Mortensen
0

Es gibt eine ziemlich große Diskussion darüber auf Steve Gibsons sicherungsfähiger Homepage. Außerdem haben sie es im Security Now Podcast ziemlich oft besprochen . Sie finden die Transkripte auch auf grc.com

Olaf
quelle
Ich habe alle "Security Now!" Podcasts zu DEP. Soweit ich weiß, beantwortet es Frage 1 nicht: Warum gibt es ausnahmslos einen Unterschied zwischen AlwaysOn und OptOut?
Peter Mortensen
Das ist bedauerlich ... ich habe mich nicht so genau daran erinnert. Nur noch eine Chance: Du meinst auch, dass es in den Fragen und Antworten der Hörer, die nach den "offiziellen" DEP-Episoden kommen, nicht besprochen wurde, oder? (Die Transkripte helfen, sie schnell zu durchsuchen)
Olaf
OK, Steve Gibson hat tatsächlich den gleichen Unterschied beobachtet wie ich (Episode 78 und Episode 83). Ich bin mir nicht sicher, ob er den Grund gefunden hat oder nicht. Aber ich denke, Fabrice Roux hat es getan! - siehe Anfang dieser Seite. Grüße, Peter.
Peter Mortensen
0

KB 875352 ist eigentlich das Richtige: Mit OptOut können Sie eine Liste von Programmen angeben, für die DEP nicht gilt. AlwaysOn wendet DEP immer auf alles an.

Maximus Minimus
quelle
1
Aber dann sollte OptOut ohne * Ausnahmen (leere Liste von Programmen, für die DEP nicht gilt) AlwaysOn entsprechen. Es wurde beobachtet, dass dies unter Windows XP 64-Bit nicht der Fall ist. UltraEdit 14 stürzt beim Start für AlwaysOn ab, nicht jedoch für OptOut ohne Ausnahmen. Ich stimme zu: Die offiziellen Unterlagen legen nahe, dass die beiden Fälle gleichwertig sind. Aber das sind sie nicht. Die einzige Änderung betrifft die Zeile boot.ini und das Problem ist reproduzierbar. Ich würde gerne den Grund für dieses Verhalten wissen. Grüße, Peter.
Peter Mortensen
Das ist interessant ... Ich weiß, dass es in Visual Studio eine DEP-fähige Option gibt, aber was sie tut, scheint schlecht dokumentiert zu sein. Wenn die App mit dieser ein- oder ausgeschalteten Option kompiliert wurde, kann dies möglicherweise auch einen Beitrag dazu leisten (in diesem Fall können Sie nicht wirklich viel dagegen tun).
Maximus Minimus
Die DEP-fähige Option in Visual Studio zeigt lediglich, dass der Entwickler behauptet, dass sein Code mit aktiviertem DEP funktioniert. Es ist eine explizite Anmeldung für diese App.
Roger Lipscombe
0

Ich weiß, dass dies ein alter Thread ist, aber ich wurde heute erneut danach gefragt und möchte dies zur Ruhe bringen. AlwaysOn aktiviert DEP für alle Programme. OptOut bedeutet einfach, dass der Benutzer Anwendungen angeben kann, die OptOut von DEP wären. Wenn die Anwendung nicht unter Ausnahmen aufgeführt ist, ist DEP für diese Anwendung aktiviert.

Scott
quelle