Formatstring-Angriff

Formatstring-Angriff

Der Begriff Formatstring-Angriff beschreibt das Ausnutzen einer Sicherheitslücke, welche im Jahr 1999 von Przemysław Frasunek und tf8 entdeckt wurde.

Der erste Exploit, der diese Technik ausnutzte, erlaubte es einem Angreifer, die Kontrolle über wu-ftpd 2.6.0 zu übernehmen. Formatstring-Attacken können genutzt werden, um ein Programm zum Absturz zu bringen oder fremden Code auszuführen.

Das Problem rührt von der Benutzung ungefilterter Benutzereingaben in bestimmten C-Funktionen her, wie printf(), welche für die Ausgabe formatierten Textes zuständig sind. Ein bösartiger Benutzer könnte zum Beispiel die Formatierungstoken %s und %x benutzen, um sich Daten vom Stack ausgeben zu lassen. Mit dem %n-Token lässt sich die Anzahl der ausgegebenen Zeichen (als Integer) an eine beliebige Stelle im Speicher schreiben.

Diese Schwachstelle ist weit verbreitet, da man Formatierungsfehler früher für harmlos gehalten hat. Am häufigsten tritt sie auf, wenn ein Programm Eingaben des Benutzers wieder ausgeben soll und der Programmierer printf(buffer) anstelle von printf("%s", buffer) schreibt. Bei der ersten Version wird buffer als ein String mit Formatierungstoken interpretiert. Bei der zweiten Version hingegen wird einfach der Eingabestring ausgegeben.

Diese Art von Fehlern kann nur auftreten, da Unterprogrammaufrufe in C nicht typsicher sind und eine variable Anzahl von Parametern zugelassen wird, ohne dass eine Überprüfung erfolgt, ob Anzahl und Typ der gelesenen Parameter denen der übergebenen Parameter entsprechen.


Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Netzsicherheit — Netzwerksicherheit (auch Netzsicherheit) ist kein einzelner feststehender Begriff, sondern umfasst alle Maßnahmen zur Planung, Ausführung und Überwachung der Sicherheit in Netzwerken. Diese Maßnahmen sind keinesfalls nur technischer Natur,… …   Deutsch Wikipedia

  • Exploits — Ein Exploit (englisch to exploit ausnutzen) ist eine Software oder eine Sequenz von Befehlen, die spezifische Schwächen beziehungsweise Fehlfunktionen eines anderen Computerprogramms zur Erlangung von Privilegien oder in Absicht einer DoS Attacke …   Deutsch Wikipedia

  • Zero-Day-Attacke — Ein Exploit (englisch to exploit ausnutzen) ist eine Software oder eine Sequenz von Befehlen, die spezifische Schwächen beziehungsweise Fehlfunktionen eines anderen Computerprogramms zur Erlangung von Privilegien oder in Absicht einer DoS Attacke …   Deutsch Wikipedia

  • Zero-Day-Exploit — Ein Exploit (englisch to exploit ausnutzen) ist eine Software oder eine Sequenz von Befehlen, die spezifische Schwächen beziehungsweise Fehlfunktionen eines anderen Computerprogramms zur Erlangung von Privilegien oder in Absicht einer DoS Attacke …   Deutsch Wikipedia

  • Zero-Day-Lücke — Ein Exploit (englisch to exploit ausnutzen) ist eine Software oder eine Sequenz von Befehlen, die spezifische Schwächen beziehungsweise Fehlfunktionen eines anderen Computerprogramms zur Erlangung von Privilegien oder in Absicht einer DoS Attacke …   Deutsch Wikipedia

  • Zero-Day Exploit — Ein Exploit (englisch to exploit ausnutzen) ist eine Software oder eine Sequenz von Befehlen, die spezifische Schwächen beziehungsweise Fehlfunktionen eines anderen Computerprogramms zur Erlangung von Privilegien oder in Absicht einer DoS Attacke …   Deutsch Wikipedia

  • Sicherheitstests — werden in der Softwareindustrie eingesetzt, um die Sicherheit eines Computerprogramms zu testen. Sie stellen eine der zahlreichen Möglichkeiten zur Erhöhung der Sicherheit einer Software dar. Sicherheitstests werden in der Entwicklungsphase… …   Deutsch Wikipedia

  • PaX — ist ein Sicherheitspatch für den Linux Betriebssystemkern, der einen „Geringste Rechte“ Schutz (engl. least privilege) für Speicherseiten implementiert. Der Ansatz der geringsten Rechte erlaubt Computerprogrammen nur diejenigen Aktionen… …   Deutsch Wikipedia

  • Netzwerksicherheit — (auch Netzsicherheit) ist kein einzelner feststehender Begriff, sondern umfasst alle Maßnahmen zur Planung, Ausführung und Überwachung der Sicherheit in Netzwerken. Diese Maßnahmen sind keinesfalls nur technischer Natur, sondern beziehen sich… …   Deutsch Wikipedia

  • Exploit — Ein Exploit (englisch to exploit ‚ausnutzen‘) ist im EDV Bereich eine systematische Möglichkeit die bei der Entwicklung eines Programms nicht berücksichtigt wurde und wobei mit Hilfe von Befehlsfolgen Sicherheitslücken und Fehlfunktionen von …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”