Suchen

Alltäglicher Programmierfehler als Bug entlarvt Webserver durch ungültige Zeiger zum Absturz gebracht

| 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.

Firma zum Thema

( Archiv: Vogel Business Media )

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.

Artikelfiles und Artikellinks

(ID:2006344)