Sonntag, 18. September 2011


Topthema

Donnerstag, 7. Februar 2008 | Topthema

About Security #142: Webwürmer (5): Der gemeine Wurm

(Link zum Artikel: http://www.entwickler.de/php/kolumnen/041202)
  • Teilen
  • kommentieren
  • empfehlen
  • Bookmark and Share

Wie in About Security #141 zu sehen ist, übertreffen die Webwürmer bei der Verbreitung ihre herkömmlichen Verwandten teilweise weit – und das, obwohl die bisher beschriebenen Exemplare auf eine einzige Webanwendung beschränkt sind und sich nicht wie die normalen Würmer im gesamten Internet ihre Opfer suchen können. Da stellen sich gleich einige Fragen: Was wäre, wenn sich ein Webwurm in mehr als einer Webanwendung oder auf mehr als einem Webserver ausbreiten würde? Wieso ist das bisher nicht passiert? Welche bisher nicht behandelten Möglichkeiten könnte ein Webwurm noch nutzen? Und am wichtigsten: Wie kann man so etwas verhindern?

Was wäre wenn...

... ist eine Frage, die sich nicht beantworten lässt. Was wäre, wenn sich ein Wurm z.B. in einem weit verbreiteten Content Management System ausbreiten würde? Wenn Samy MySpace in die Knie zwingen kann, würde dann ein ebenso fehlerhaft programmierter PHPNuke/Mambo/Joomla/...-Wurm das Internet ganz oder teilweise in die Knie zwingen? Oder könnte das ein absichtlich so programmierter Wurm schaffen? Auszuschließen ist das nicht, denn besonders bei Shared-Hosting-Servern würde ein Wurm, der eine Domain auf so einem Server befällt, auch alle anderen darauf in Mitleidenschaft ziehen.

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

Ein Wurm, der sich auf den Systemen eines Massenhosters ausbreitet, dürfte durch seinen Verbrauch an Rechenleistung und Übertragungskapazitäten den Betrieb des gesamten Rechenzentrums beeinträchtigen und nicht nur den der betroffenen Server. Das ist nichts, das man mal eben ausprobieren oder live erleben möchte, also ist man gut beraten, es erst gar nicht so weit kommen zu lassen. Wobei ein "Denial-of-Service-Wurm" ziemlich nutzlos wäre und auch seine eigene Verbreitung behindern würde. Wahrscheinlicher sind dann schon unauffällige Würmer, die z.B. nur Daten sammeln oder Schadsoftware einschleusen.

Wieso ist es bisher nicht passiert?

Die Antwort darauf lautet leider nicht "Weil es nicht möglich ist", sondern ganz einfach "Weil es noch niemand gemacht hat." Alles, was man braucht, um einen sich über eine Webanwendung auf mehreren Servern verbreitenden Wurm zu schreiben, ist auf die eine oder andere Weise schon vorhanden. Vereinfacht bräuchte man dafür nur wenige Voraussetzungen und Fähigkeiten:

  • Eine (idealerweise persistente) XSS-Schwachstelle in einer verbreiteten Webanwendung.
    Die gibt es reichlich, und es werden eher mehr als weniger.
  • Eine CSRF-Schwachstelle in der gleichen Webanwendung, über die der Wurm sich verbreiten kann.
    Auch die gibt es immer wieder, zwar seltener als XSS-Schwachstellen, aber dafür oft im Kombination mit diesen – ideal für einen Wurm.
  • Eine Möglichkeit, nach neuen Zielen zu suchen.
    Die gibt es bereits über die so genannten "(Google)-Dorks", Suchanfragen, die bei Google oder anderen Suchmaschinen zur Ausgabe verwundbarer Skripts führen (mehr darüber in einer zukünftigen Folge von About Security). Inzwischen enthalten viele Advisories und Beispiel-Exploits bereits die entsprechenden Informationen. Und der Ansatz, Google zur Suche nach neuen Zielen zu benutzen, ist ja bei herkömmlichen Würmern bereits öfter verfolgt worden. Allerdings hat Google in solchen Fällen bisher recht schnell mit einem Blockieren der vom Wurm genutzten Anfragen reagiert.
  • Eine Möglichkeit, die Same Origin Policy zu umgehen.
    Auch das ist bereits seit längerem möglich, indem die Seiten nicht direkt, sondern über einen Proxy aufgerufen werden. Dazu eignen sich zum einen die für Mashups verwendeten Proxies vieler Web-2.0-Anwendungen, zum anderen z.B. Google Translate, wie es von Jikto (siehe About Security #137) vorgeführt wurde.
Worm for fun – und wo bleibt der Profit?

Der Orkut-XSS-Wurm war ein Proof-of-Concept, und auch Samy kann man mit etwas gutem Willen in diese Kategorie einordnen. Bei Yamanner ging es schon um Geld: Das Sammeln von gültigen E-Mail-Adressen und das Erzeugen von Traffic hatten eindeutig finanzielle Hintergründe. Für Webwürmer gibt es mindestens drei finanziell attraktive Ziele: Das Sammeln persönlicher Daten, z.B. auf Social Networking Sites, das Erzeugen von Traffic oder fingierter Klicks zum Generieren von Werbeeinnahmen und die Verbreitung von Schadsoftware, um dann die infizierten Rechner z.B. im Rahmen eines Botnets zu vermarkten.

About Security: Die komplette Serie

In den 'Security Lab Research Highlights for Q3-Q4 2007' von Websense wird festgestellt, dass immer mehr eigentlich vertrauenswürdige Websites mit Schadsoftware verseucht werden. Diese wird z.B. über Schwachstellen in den Seiten oder über bösartige Werbebanner eingeschleust. Auch ein Wurm würde sich dazu gut eignen. Z.B. könnte der Wurm wie der Orkut-XSS-Wurm Schadcode nachladen, den der Angreifer dann je nach Bedarf ändern könnte: Heute Einsammeln von Mailadressen, morgen das Erzeugen von Traffic auf einer werbefinanzierten Seite, übermorgen das Verbreiten eines Exploits für eine Schwachstelle in Windows.

In der nächsten Folge geht es um die Beantwortung der wichtigsten der obigen Fragen: Wie kann man Webwürmer verhindern?

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 "Sichere Webanwendungen – Webwürmer"

Kommentare

Folgende Links könnten Sie auch interessieren