Montag, 14. Juni 2010


Topthema

Donnerstag, 19. Mai 2005 | Topthema

About Security #6: Ausnutzung von Pufferüberlauf- Schwachstellen

(Link zum Artikel: http://www.entwickler.de/entwicklerde/kolumnen/021754)

Wo die in About Security #5 vorgestellten Pufferüberlauf-Schwachstellen auftreten und wie sie von einem Angreifer ausgenutzt werden können, erfahren Sie in dieser Folge.

Es gibt kaum eine Software, in der nicht früher oder später eine Pufferüberlauf-Schwachstelle gefunden wird. Dies liegt daran, dass eine der Ursachen für Pufferüberläufe eine der Haupttätigkeiten jeder Software ist: Das Kopieren von vom Benutzer gelieferten Daten von einem Ort an einen anderen. Und auch wenn die Entwickler eines Programms alle Daten vor dem Kopieren prüfen, kann es noch zu Pufferüberläufen in vom Programm verwendeten Bibliotheken kommen.

N E U ! Security aktuell
Täglich aktuelle Security-Infos!

Pufferüberläufe lassen sich zu zwei Zwecken ausnutzen: Entweder das betroffene Programm oder das gesamte System wird zum Absturz gebracht, d.h. es wird ein Denial of Service ausgelöst, oder eingeschleuster Code wird ausgeführt. Für einen Angreifer ist das Ausführen von Code reizvoller, einen Denial of Service kann er danach jederzeit auslösen. Besonders interessant sind Pufferüberläufe in Programmen, die mit höheren Privilegien laufen, d.h. Root bei Unix-/Linux-Systemen und Administrator bei Windows-Systemen. Aber auch die Rechte eines normalen Benutzers sind nützlich, da davon ausgehend dann weitere Schwachstellen zum Erlangen der höheren Privilegien leichter ausnutzbar sind.

Beispiele

Sehr gefährlich sind Pufferüberläufe in über das Netzwerk erreichbaren Programmen, z.B. Servern oder dem TCP/IP-Stack. Ein Beispiel hierfür ist eine im April 2005 gefundene Schwachstelle im Mailserver MailEnable. Durch einen entsprechend präparierten Header kann ein Pufferüberlauf ausgelöst und danach Code ausgeführt werden. Ein Programm, das diese Schwachstelle ausnutzt (ein so genannter Exploit), wurde bereits kurz nach Bekanntwerden der Schwachstelle im Internet veröffentlicht. Damit wird eine Hintertür geöffnet, durch die der Angreifer die Kontrolle über den betroffenen Rechner übernehmen kann.

About Security: Die komplette Serie

Für Angreifer haben solche Schwachstellen zwei Vorteile: Sie können sie direkt ausnutzen, ohne auf eine Aktion eines Benutzers angewiesen zu sein. Und sie können bestimmen, welchen Rechner sie angreifen. Bei den im Folgenden beschriebenen Schwachstellen kann ein Angreifer höchstens den Benutzer wählen, dem er eine zur Ausnutzung einer Schwachstelle präparierte E-Mail schickt. Er weiß nicht, auf welchem Rechner diese E-Mail gelesen wird. Dabei kann es sich um einen Rechner handeln, der die Schwachstelle nicht enthält, oder der für die weiteren Zwecke des Angreifers ungeeignet ist.

Eine weitere Kategorie sind Pufferüberläufe in Bibliotheken. Diese werden ausgenutzt, indem entsprechend präparierte Daten einem Programm übergeben werden, das dann damit die betroffene Funktion der Bibliothek aufruft. Ein besonders bekanntes Beispiel aus dieser Kategorie ist eine Schwachstelle in Microsofts JPEG-Verarbeitung in GDI+. Diese im September 2004 behobene Schwachstelle kann durch ein entsprechend präpariertes JPEG-Bild ausgenutzt werden, um beliebigen Code auszuführen. Dazu muss ein derartiges Bild nur in einer Anwendung geöffnet werden, die die betroffene Bibliothek verwendet. Schon das Lesen einer E-Mail oder Webseite, die ein entsprechendes Bild enthalten, reicht aus. Kurz nach Veröffentlichung der Schwachstelle durch Microsoft erschienen erste Bilder im Internet, die die Schwachstelle ausnutzten, um z.B. eine Hintertür zu öffnen.

Eine besondere Gefahr bei Schwachstellen in Bibliotheken besteht darin, dass ein bereits gepatchtes System erneut verwundbar wird, wenn ein Programm bei seiner Installation die korrigierte Bibliothek durch eine veraltete, verwundbare Version ersetzt bzw. diese zusätzlich installiert. Auch weiß der Benutzer meist nicht, ob ein bestimmtes Programm eine verwundbare Bibliothek bzw. die betroffenen Funktionen daraus verwendet. Daher ist die Gefährdung durch diese Schwachstellen für den Anwender schwer einzuschätzen.

Pufferüberläufe in Anwendungsprogrammen werden meist über entsprechend präparierte Dateien ausgenutzt. Vertreter dieser Kategorie sind z.B. Schwachstellen in Word. Ein entsprechend präpariertes Dokument führt beim Öffnen zu einem Pufferüberlauf, durch den eingeschleuster Code ausgeführt wird. Eine derartige Datei kann z.B. per E-Mail zugeschickt oder auf einer Webseite zum Download angeboten werden. Der eingeschleuste Code wird mit den Rechten des Benutzers ausgeführt. Arbeitet dieser mit Administrator-Rechten, erhält der Angreifer die vollständige Kontrolle über den betroffenen Rechner.

In dieser Folge lernten Sie erste Möglichkeiten für das Auftreten und die Ausnutzung von Pufferüberlauf-Schwachstellen kennen. In der nächsten Folge erfahren Sie, wo weitere Pufferüberläufe auftreten und wie sie ausgenutzt werden können. Außerdem erfahren Sie, wie sich Anwender vor solchen Angriffen schützen können.

Wenn Sie Fragen oder Themenvorschläge haben, können Sie diese gerne an die angegebene E-Mail-Adresse senden oder im Security-Forum einbringen!

Carsten Eilers

About Security – Übersicht zum aktuellen Thema "Eine typische Schwachstelle: Der Pufferüberlauf"

Kommentare

Folgende Links könnten Sie auch interessieren