Alltäglicher Programmierfehler als Bug entlarvt

Webserver durch ungültige Zeiger zum Absturz gebracht

25.07.2007 | Redakteur: Stephan Augsten

Security-Hersteller Watchfire behauptet eine verlässliche Methode gefunden zu haben, um einen gängigen Programmierfehler als Sicherheitslücke auszunutzen. Es handelt sich dabei um „hängende Zeiger“, die ungültige Werte enthalten und auf einen nicht vorhandenen oder unzugeordneten Speicherbereich verweisen.

In vielen Fällen vergessen Anwendungsentwickler, dem Zeiger auf ein gelöschtes Objekt (Dangling Pointer) einen neuen Wert zuzuweisen oder ihn ganz zu löschen. Bei Security-Spezialisten galten solche Programmierfehler jahrelang höchstens als Qualitäts-Problem, nicht aber als ausnutzbare Schwachstelle.

Über die extern angreifbare Sicherheitslücke stolperten Jonathan Afek und Adi Sharabani rein zufällig: Eigentlich wollten die beiden Security-Tester mit Watchfires AppScan Suite die Sicherheit eines Webservers überprüfen. Doch mitten im Scan stürzte der Server ab. Nach einigen Nachforschungen stellte sich heraus, dass ein „hängender Zeiger“ der Übeltäter war.

Im Grunde ist dies keine Überraschung, denn solche Programmierfehler sind bereits dafür bekannt, Abstürze zu verursachen. Nach einigen Tests fand das Duo allerdings heraus, dass es einen Crash auch bewusst provozieren konnte: Dazu sendeten Afek und Sharabani eine manipulierte URL an den Server und führten anschließend eigenen Shell Code auf dem Zielgerät aus.

Microsoft zunächst skeptisch, dann alarmiert

Laut Watchfire ist es den beiden Testern bereits gelungen, das Problem auch auf Microsofts ISS-Server 5.1 auszunutzen. Dem Unternehmen aus Redmond ist die entsprechende Sicherheitslücke bereits seit 2005 bekannt, es glaubte bislang aber an ein reines DoS-Problem und nicht an eine angreifbare Schwachstelle. Doch nun wird das Problem in einem aktuellen Security-Bulletin aufgegriffen.

Afek will seine Angriffs-Methode bei den Black Hat Briefings demonstrieren, die im August in Las Vegas stattfinden. Obwohl der Sicherheits-Experte Thomas Ptacek von Matasano Security die Ergebnisse von Watchfire noch nicht gesehen hat, hält er die Meldung für glaubwürdig und warnt: „Sollte dies ein neuer Weg sein, um Code von außen verlässlich einzuspielen, handelt es sich nicht nur um eine Schwachstelle sondern um eine ganz neue Art von Bugs“.

Vor allem für C++-Programmierer seien ausnutzbare Dangling Pointers ein erschreckendes Problem, sagt Ptacek: „Solche Programmierfehler passieren ständig, wenn auch nur unter bestimmten Umständen“. Hingegen sind Java-basierte Applikationen nicht anfällig, da unbenutzte Speicherbereiche und ihre Zeiger unter dieser Programmiersprache automatisch zurückgesetzt werden.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 2006344 / Security-Testing)