Sonstige Maßnahmen

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]

/etc/system
set noexec_user_stack=1
set noexec_user_stack_log=1

*Fast alle Buffer-Overruns legen den auszuführenden Code in den Buffer auf den Stack.
 
*Da normalerweise der Stack-Bereich keinen ausführbaren Code enthält, ist es sinnvoll, hier die Ausführungsrechte wegzunehmen. Dies ist bei allen modernen Prozessoren möglich.
 
*Unter Solaris läßt sich das mit Kernel-Parametern einrichten, die leider so nicht voreingestellt sind.
 
*Wenn es dann trotzdem probiert wird, gibt es einen schönen Eintrag im Log:
 
/var/adm/messages
Jun 26 03:31:40 turing genunix: [ID 533030 kern.notice]
NOTICE: buggyd[8971] attempt to execute code on stack
by uid 120

*Man hüte sich jedoch davor anzunehmen, dies reiche aus. Für Solaris 7 und 8 gibt es einen Remote-Root-Exploit für snmpxdmid, dem es gelingt, den auszuführenden Code im Heap unterzubringen, wo diese Restriktion nicht greift.
 

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]
Copyright © 2002,2003 Andreas F. Borchert, in HTML konvertiert am 11.02.2003