Basiswissen Buffer Overflow

14.05.2004
Von Thomas Wölfer

Man muss man sich einfach vergegenwärtigen, wie der Angreifer den Buffer-Overflow-Fehler im Browser ausgenutzt hat: Er hat einen ganz normalen Mechanismus zum Bestücken des Browsers mit Daten verwendet - und diese Daten nach seinem Wunsch zusammengestellt. Davon ausgehend hält niemand den Angreifer davon ab, noch mehr Daten auf dem gleichen Weg an den Browser zu senden. Ein Teil davon ist für das Auslösen des Buffer Overflows zuständig, ein kleiner weitere Teil ist dafür zuständig, die Rücksprungadresse so zu manipulieren, wie es der Angreifer wünscht - und der letzte Teil enthält den auszuführenden Code, der nach dem erfolgreichen Eindringen in das angegriffene System ausgeführt werden soll.

Fazit

Gegen Buffer Overflows kann man als Anwender oder Administrator von Fremd-Software nur wenig machen, außer ständiger Vorsicht. Also nur vertrauenswürdige Web-Seiten aufsuchen, alle nicht zwingend benötigten Ports schließen und nur Dokumente aus vertrauenswürdigen Quellen öffnen.

Angriffe auf Server kann man teilweise verhindern, indem man Proxies einsetzt, die potenziell gefährliche Abfragen abfangen und gar nicht erst zum eigentlichen Server gelangen lassen. Darüber hinaus können Sie deb CW-Security-Newsletter bestellen, der Sie über neu entdeckte Sicherheitslücken und mögliche Gegenmaßnahmen auf dem Laufenden hält.

Programmierer sollten ein genaues Auge darauf haben, dass in einen Puffer nur so viele Bytes kopiert werden, wie auch tatsächlich hineinpassen. Sich also nicht darauf verlassen, dass beispielsweise ein eingehender String tatsächlich nur so lang ist, wie irgendwelche Spezifikationen es vorsehen. Stattdessen sollte man die paar Taktzyklen investieren, die eine Überprüfung braucht. Das gilt ganz besonders für Applikationen, die Daten von außen entgegennehmen - sei es durch Dokumente oder als Request über das Netzwerk. (lex)

Kostenloser Security-Newsletter