Sonntag, 12. Februar 2012 |
Die wichtigste Frage zum Thema Webwürmer lautet schlicht und einfach: Wie man man sie verhindern? Oder genauer: Wie verhindert man, dass Webwürmer eine Webanwendung angreifen können, und wie verhindert man ihre Ausbreitung, sollte es doch einmal zu einem Angriff kommen?
Am 4. Januar 2008 wurde von RSnake der 'Diminutive XSS Worm Replication Contest' ausgerufen. Das Ziel: Den kürzest möglichen, sich selbst verbreitenden XSS-Wurm zu finden. Die Ergebnisse wurde in diesem Forum-Thread auf sla.ckers.org gesammelt. Einen Zwischenbericht gibt es hier und das Ergebnis hier. Der kürzeste (für den Wettbewerb eingereichte) Wurm ist nur 161 Byte lang.
N E U ! Security
aktuell
Täglich aktuelle Security-Infos!
Während der Wettbewerb lief, gab es einige Diskussionen darüber, ob damit nicht den Angreifern in die Hände gespielt wird, siehe z.B hier und hier. Würde man dieser Argumentation folgen, dürfte man gar nichts mehr über Schwachstellen und mögliche Angriffe schreiben, schließlich könnten auch diese Informationen von Angreifern ausgenutzt werden. Und das ist eindeutig Unsinn. Ganz im Gegenteil: Natürlich müssen mögliche Angriffe diskutiert werden, wie sollte man sich sonst dagegen schützen? Um einen Angriff abzuwehren, muss man ihn erst einmal erkennen. Die im Rahmen des Wettbewerbs gesammelten Wurmbeispiele können natürlich mit einer schädlichen Payload versehen werden. Aber da diese Muster jetzt bekannt sind, kann man entsprechende Gegenmaßnahmen ergreifen. Das ist genau wie beim XSS-Cheatset: Gegen die darin gesammelten Möglichkeiten, XSS-Code zu tarnen und damit Filter zu unterlaufen, kann man sich schützen.
RSnake hat die Schlussfolgerungen aus den Ergebnissen des Wettbewerbs in einem sehr interessanten Artikel zusammengefasst: 'XSS Worm Analysis And Defense'.
Die Benutzer können wenig tun. Die üblichen Ratschläge wie "Aufpassen, auf was man klickt" und "Keine verdächtigen Seiten besuchen" helfen gegen die vorgestellten und auch die zu erwartenden zukünftigen Würmer nichts. Die verbreiten sich ohne Interaktion des Benutzers bei dessen Besuch auf einer befallenen, vertrauenswürdigen Seite. Einzig der alte Rat, JavaScript und allgemein aktive Inhalte zu deaktivieren, würde helfen – aber der führt im Web 2.0 nicht mehr weiter, da das auf aktive Inhalte angewiesen ist. Der Benutzer kann nur auf die Schutzfunktionen der Browser (und ggf. Erweiterungen wie Firefoxs NoScript) und Webanwendungen vertrauen.
Bei den Anbietern sieht es ähnlich aus: Die können nur darauf vertrauen, dass die Entwickler der von ihnen eingesetzten Anwendungen keine Schwachstellen übersehen haben (oder das prüfen). Sofern noch nicht berücksichtigt, kann eine Web Application Firewall als zusätzliche Schutzmaßnahme dienen, ansonsten ist es Aufgabe der Webanwendung bzw. deren Entwickler, für die eigene Sicherheit zu sorgen.
Damit bleibt die meiste Arbeit bei den Entwicklern der Webanwendungen. Gegen Webwürmer helfen erst mal die gleichen Maßnahmen wie gegen XSS und CSRF:
RSnake hat aus dem Wettbewerb weitere Maßnahmen ermittelt:
Sollte sich doch einmal ein Wurm auf dem eigenen Server ausbreiten, ist eine schnelle Reaktion das Wichtigste. Die betroffenen Funktionen müssen vorübergehend stillgelegt, die verwendeten Schwachstellen geschlossen und die gespeicherten Daten vom Wurmcode bereinigt werden.
Beim Beheben von Schwachstellen haben Webanwendungen einen Vorteil gegenüber herkömmlichen Programmen: In dem Moment, in dem eine Schwachstelle in der Webanwendung geschlossen wurde, sind alle Benutzer vor weiteren Angriffen geschützt, und der Wurm ist ausgerottet.
Ab der nächsten Folge geht es um die Suche nach Schwachstellen in Webanwendungen.
Wenn Sie Fragen oder Themenvorschläge haben, können Sie diese gerne an die angegebene E-Mail-Adresse senden oder im Security-Forum einbringen!
About Security – Übersicht zum aktuellen Thema "Sichere Webanwendungen – Webwürmer"