05.11.2013 Aufrufe

Zahn - Unix-Netzwerkprogramminerung mit Threads, Sockets und SSL

Zahn - Unix-Netzwerkprogramminerung mit Threads, Sockets und SSL

Zahn - Unix-Netzwerkprogramminerung mit Threads, Sockets und SSL

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

1 #include <br />

2 #include <br />

3 #include <br />

2.3 Buffer-Overflows <strong>und</strong> Format-String-Schwachstellen 45<br />

Beispiel 2.9. syslog.c<br />

4<br />

5 int main( int argc, char *argv[] )<br />

6 {<br />

7 FILE *passwd;<br />

8<br />

9 openlog( "syslogtest", LOG_PID , LOG_LOCAL0 );<br />

10<br />

11 syslog( LOG_DEBUG , "Start von %s <strong>mit</strong> %d Argument(en).",<br />

12 argv[0], argc );<br />

13<br />

14 if( ( passwd = fopen( "/etc/shadow", "r" ) ) == NULL )<br />

15 {<br />

16 syslog( LOG_ERR , "Öffnen der Datei /etc/shadow: %m" );<br />

17 return( EXIT_FAILURE );<br />

18 }<br />

19<br />

20 /* wichtige Arbeiten */<br />

21<br />

22 closelog();<br />

23 return( EXIT_SUCCESS );<br />

24 }<br />

In Beispiel 2.9 haben wir im Vergleich zu Beispiel 2.8 lediglich die Ausgabe<br />

der Debug- <strong>und</strong> Fehlermeldungen durch Aufrufe der Syslog-Funktionen<br />

ausgetauscht. Es fällt auf, daß bereits bei diesem kurzen Programm eine verbesserte<br />

Struktur der Fehlerbehandlung zu erkennen ist. Ob, <strong>und</strong> wenn ja,<br />

welche Nachrichten letztendlich in den Log-Dateien des Systems auftauchen,<br />

legt der Administrator in der Datei /etc/syslog.conf fest.<br />

2.3 Buffer-Overflows <strong>und</strong> Format-String-Schwachstellen<br />

Buffer-Overflows <strong>und</strong> Format-String-Schwachstellen zählen seit Jahren zu den<br />

bekanntesten sicherheitskritischen Schwachstellen in Anwendungs- <strong>und</strong> Serverprogrammen.<br />

Im harmlosesten Fall führen diese Programmierfehler einfach<br />

zu einem sporadischen, meist schwer zu findenden oder nur mühevoll reproduzierbaren<br />

Fehlverhalten oder Absturz des Programms. Im schlimmsten Fall<br />

kann ein Buffer-Overflow oder eine Format-String-Schwachstelle den Zugriff<br />

auf sensitive Informationen freigeben oder gar den vollen administrativen Zugriff<br />

auf das betroffene Rechnersystem ermöglichen.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!