Seite 2 von 2
Re: Wie nutzt man DEP und ASLR?
Verfasst: 03.07.2010 10:49
von DarkDragon
Thorium hat geschrieben:DarkDragon hat geschrieben:
Ich mein den ersten, den muss man manuell aufrufen, der kommt nicht einfach so.

Achso. ^^
Na den Weg dahin hab ich ja einen Post über deinem geschrieben. ^^
Ja, du hast deinen Beitrag abgeschickt als ich noch am Tippen war.
Egal, bei dir war ich mir eh ziemlich sicher, dass du das bereits kanntest - Bist ja auch aktiv in dem injection Thread im englischen Forum. Also sieh es auf die anderen bezogen, nicht auf dich.
Re: Wie nutzt man DEP und ASLR?
Verfasst: 05.07.2010 09:35
von Kukulkan
Hallo,
danke für die Info's. War dann wohl eine Falschmeldung...
Grüße,
Volker
Re: Wie nutzt man DEP und ASLR?
Verfasst: 04.09.2010 01:12
von hardfalcon
DEP und ASLR können sehr wohl für ein einzelnes Executable (und auch für DLLs) aktiviert oder deaktiviert werden, dazu müssen spezielle Flags im PE-Header gesetzt werden. Wenn der Compiler die Flags nicht von Haus aus setzen kann, kann man das immer noch mit diversen Tools am bereits kompilierten Binary nachholen (eine Neukompilierung ist nicht erforderlich, man kann also auch bei Executables von "fremden" Herstellern ASLR/DEP nachträglich aktivieren.
Microsoft hat dazu mittlerweile ein Tool veröffentlicht:
http://www.heise.de/security/meldung/Mi ... 72007.html
N.B. Ich hab nur den Artikel und diverse andere Beschreibungen im Netz dazu gelesen, ich hab das ganze noch nicht selber ausprobiert, da ich Windows nur noch in ner VM installiert hab, und ich die nur seeehr selten boote/benutze/brauche.
Grüße
Pascal
Re: Wie nutzt man DEP und ASLR?
Verfasst: 04.09.2010 01:23
von Thorium
hardfalcon hat geschrieben:DEP und ASLR können sehr wohl für ein einzelnes Executable (und auch für DLLs) aktiviert oder deaktiviert werden, dazu müssen spezielle Flags im PE-Header gesetzt werden. Wenn der Compiler die Flags nicht von Haus aus setzen kann, kann man das immer noch mit diversen Tools am bereits kompilierten Binary nachholen (eine Neukompilierung ist nicht erforderlich, man kann also auch bei Executables von "fremden" Herstellern ASLR/DEP nachträglich aktivieren.
Microsoft hat dazu mittlerweile ein Tool veröffentlicht:
http://www.heise.de/security/meldung/Mi ... 72007.html
N.B. Ich hab nur den Artikel und diverse andere Beschreibungen im Netz dazu gelesen, ich hab das ganze noch nicht selber ausprobiert, da ich Windows nur noch in ner VM installiert hab, und ich die nur seeehr selten boote/benutze/brauche.
Grüße
Pascal
ASLR ist immer aktiv und kann und muss per API deaktiviert werden, möchte man das. DEP kann per API deaktiviert und aktiviert werden unabhängig davon ob es im System eingeschaltet ist oder nicht. Es muss aber mit nichten extra aktiviert werden, wenn es im System eingeschaltet ist.
Re: Wie nutzt man DEP und ASLR?
Verfasst: 04.09.2010 01:43
von hardfalcon
Laut Wikipedia und MSDN ist ASLR erst ab Vista standardmäßig aktiviert, und selbst da wohl nur für Programme, bei denen das entsprechende Flag gesetzt ist (das flag signalisiert halt explizit, dass das Executable ASLR-kompatibel ist):
http://en.wikipedia.org/wiki/Address_sp ... ft_Windows
http://msdn.microsoft.com/en-us/library ... ainerCode3 (runterscrollen bis zum Abschnitt "Address Space Layout Randomization (ASLR)")
By default, Windows Vista and later will randomize system DLLs and EXEs, but DLLs and EXEs created by ISVs must opt in to support ASLR using the /DYNAMICBASE linker option.
Übrigens funktioniert ASLR laut MSDN nur, wenn auch für sämtliche geladenen DLLs ASLR aktiviert wurde (wohl ebenfalls über die besagten Flags im PE-Header):
ASLR moves executable images into random locations when a system boots, making it harder for exploit code to operate predictably. For a component to support ASLR, all components that it loads must also support ASLR. For example, if A.exe consumes B.dll and C.dll, all three must support ASLR.
Außerdem sollte man ASLR und DEP zusammen benutzen, damit das Ganze auch wirksam ist:
Important Note ASLR and DEP are only effective when used together; therefore ISVs should opt-in for both defenses (/DYNAMICBASE and /NXCOMPAT) for all binaries.
Grüße
Pascal
Re: Wie nutzt man DEP und ASLR?
Verfasst: 04.09.2010 02:14
von Thorium
Auf Seite 1 habe ich Code gepostet der demonstriert das DEP aktiviert ist, egal ob da ein Flag im Executable gesetzt ist. Einfach ausprobieren, sollte unter ner VM genauso funktionieren.