Open-Redirect-URLs: Wird eure Website von Spammern ausgenutzt?

Donnerstag, 5. Februar 2009

Niemand will, dass sich Malware oder Spam-URLs auf der eigenen Domain einnisten. Darum ist man in der Regel bemüht, Ratschläge zur Sicherheit zu beachten. Aber was, wenn die Spammer dennoch einen Weg finden, eure Site zu manipulieren - ohne jemals einen virtuellen Fuß auf euren Server zu setzen?

Es gibt dazu eine Möglichkeit, und zwar durch den Missbrauch von Open-Redirect-URLs .

Webmaster sehen sich mit einer Reihe von Situationen konfrontiert, in denen es sinnvoll ist, Benutzer zu einer anderen Seite weiterzuleiten. Unglücklicherweise können Links, die an einen beliebigen Zielort weiterleiten, missbraucht werden. Dies ist eine besonders lästige Form von Missbrauch, weil hier die Funktionalität der Website ausgenutzt wird und nicht bloß ein Bug oder eine Sicherheitslücke. Spammer hoffen, eure Domain als zeitweilige "Landing-Page" zu verwenden, um E-Mail- und Websuche-Benutzer sowie Suchmaschinen auszutricksen und sie dazu zu bringen, Links zu folgen, die zwar scheinbar auf eure Website führen, tatsächlich aber zu Spam-Websites weiterleiten.

Wir bei Google arbeiten hart daran, missbrauchte URLs nicht in den Index aufzunehmen. Es ist auch wichtig für euch, dass eure Website nicht derart zweckentfremdet wird. Es ist ziemlich wahrscheinlich, dass ihr kein Interesse daran habt, Benutzern eurer Domain URLs zu bieten, die sie zu unerwünschten Sexseiten, hinterhältigen Viren, Malware oder Phishing-Versuchen führen. Spammer werden versuchen, Links zu eurer Website zu erstellen, damit die Redirects in den Suchresultaten erscheinen. Diese Links kommen häufig aus einer schlechten Nachbarschaft, mit der ihr höchstwahrscheinlich nicht in Zusammenhang gebracht werden wollt.

Diese Form von Missbrauch hat sich in letzter Zeit ziemlich ausgebreitet und deshalb wollen wir euch darüber informieren. Nachfolgend findet ihr hier zuerst einige Beispiele für Redirects, die aktiv missbraucht werden, dann geht es darum, wie ihr rausfinden könnt, ob eure Website ausgenutzt wird und was ihr dagegen tun könnt.

Redirects, die von Spammern missbraucht werden

Wir haben festgestellt, dass Spammer auf eine große Bandbreite von Websites abzielen - egal ob sie großen, weltbekannten Unternehmen oder kleinen, lokalen Institutionen gehören. Die folgende Liste führt Beispiele von Redirects an, die uns bereits begegnet sind. Sie alle haben gemeinsam, dass es sich um vollkommen legitime Techniken handelt, aber falls sie auf eurer Website eingesetzt werden, solltet ihr überprüfen, ob sie missbraucht werden.
  • Scripts, die User zu einer Datei auf dem Server weiterleiten - etwa zu einer pdf-Datei -, können mitunter angreifbar sein. Falls ihr ein Content-Management-System (CMS) einsetzt, das Datei-Uploads erlaubt, solltet ihr sicherstellen, dass der Link direkt zur Datei führt und nicht den Umweg über einen Redirect nimmt. Das beinhaltet auch alle Redirects, die ihr im Download-Bereich eurer Website setzt. Überprüft Links wie die folgenden:
example.com/go.php?url=
example.com/ie/ie40/download/?


  • Seiten mit internen Suchergebnissen enthalten manchmal automatische Redirect-Optionen, die angreifbar sein könnten. Achtet auf Patterns wie dieses, wo User automatisch zu jeder beliebigen Seite weitergeleitet werden, die hinter dem "url="-Parameter angeführt wird.
example.com/search?q=user+search+keywords&url=

  • Systeme, die Klicks für Affiliate- oder Werbeprogramme sowie für Websitestatistiken tracken , können ebenfalls offen sein. Einige Beispiel-URLs findet ihr hier:
example.com/coupon.jsp?code=ABCDEF&url=
example.com/cs.html?url=

  • Proxy-Websites - obwohl nicht immer Redirects im technischen Sinn - zielen darauf ab, Benutzer durch andere Websites zu schicken und sind folglich empfindlich für diese Form von Missbrauch. Dabei sind auch jene, die von Schulen und Bibliotheken verwendet werden, betroffen. Beispielsweise:
proxy.example.com/?url=

  • In machen Fällen leiten Login-Pages Benutzer zurück zu der Seite, die sie ursprünglich erreichen wollten. Achtet auf URL-Parameter wie den folgenden:
example.com/login?url=

  • Scripts, die eine Übergangsseite anzeigen, wenn Benutzer die Website verlassen , können ebenfalls missbraucht werden. Viele Websites aus dem Bereich Bildung, Verwaltung oder Websites von großen Unternehmen tun dies, um den Benutzer darauf hinzuweisen, dass die Informationen auf den nachfolgenden Seiten nicht von ihnen stammen. Achtet auf URLs mit Patterns wie diesen:
example.com/redirect/
example.com/out?
example.com/cgi-bin/redirect.cgi?



Wird meine Website missbraucht?

Selbst wenn euch keines der aufgezählten Patterns bekannt ist, könnte eure Website Open Redirects enthalten, auf die ihr achten solltet. Es gibt eine ganze Reihe von Möglichkeiten festzustellen, ob ihr angreifbar seid, auch wenn ihr nicht selbst die Website entwickelt.
  • Schaut euch an, ob missbrauchte URLs bei Google angezeigt werden. Versucht eine site: search für eure Website, um festzustellen, ob unbekannte Ergebnisse in den Google-Resultaten auftauchen. Ihr könnt Worte, die kaum dem Content eurer Website entsprechen, der Suche hinzufügen. Falls die Suchanfrage [site:example.com viagra] keine Ergebnisse für eure Website liefern dürfte, dies aber dennoch tut, könnte das auf ein Problem hinweisen. Ihr könnt solche Anfragen sogar mit Google Alerts automatisieren.
  • Ihr könnt außerdem nach seltsamen Ergebnissen im Bereich Die häufigsten Suchanfragen in den Webmaster-Tools Ausschau halten. Falls eure Website sich mit Ahnenforschung beschäftigt und ein großer Anteil der Suchanfragen von Pornos, Pillen oder Casinos handelt, ist das ein guter Warnhinweis. Andererseits wird eine Website mit Informationen über Medikamente eher selten Promi-Namen in den häufigsten Suchanfragen enthalten. Behaltet das Nachrichten-Center in den Webmaster-Tools im Auge, um Benachrichtigungen von Google nicht zu übersehen.
  • Überprüft eure Server-Logs oder Web-Analyse-Tools auf ungewöhnliche URL-Parameter (wie "=http:" oder "=//") oder Spikes im Traffic in Bezug auf weiterleitende URLs auf eurer Website. Ihr könnt Seiten mit externen Links auch in den Webmaster-Tools überprüfen.
  • Achtet auf Benutzerbeschwerden über Inhalte oder Malware, von denen ihr sicher seid, dass sie nicht auf eurer Website vorhanden sind. Eure Benutzer könnten eure Domain in der URL erkannt haben, bevor sie weitergeleitet wurden, und danach annehmen, dass sie noch immer auf eurer Website sind.

Was ihr unternehmen könnt

Unglücklicherweise gibt es keinen simplen Trick, um zu garantieren, dass eure Redirects nicht missbraucht werden. Ein offener Redirect ist an und für sich kein Bug und keine Sicherheitslücke. Für manche Verwendungszwecke müssen sie eben ziemlich offen bleiben. Aber es gibt doch einige Dinge, die ihr tun könnt, um zu verhindern, dass eure Redirects missbraucht werden, und um sicherzustellen, dass sie zumindest kein attraktives Ziel abgeben. Einige dieser Maßnahmen sind recht aufwendig: es könnte notwendig werden, maßgeschneiderten Code zu schreiben oder den Hersteller um einen Patch zu bitten.
  • Ändert den Redirection-Code, um den Referer zu überprüfen , da in den meisten Fällen jeder, der euer Redirection-Script rechtmäßig verwendet, von eurer Site und nicht von einer Suchmaschine oder von woanders kommt. Wahrscheinlich solltet ihr eine gewisse Toleranz beibehalten, da der Browser mancher Benutzer einen Referer eventuell nicht meldet. Falls ihr aber wisst, dass Benutzer von einer externen Website kommt, könnt ihr sie stoppen oder warnen.
  • Falls euer Script die Benutzer ohnehin nur zu internen Seiten oder Dateien (beispielsweise zu einer Seite für Downloads) führt, solltet ihr Redirects zu externen Websiten explizit ausschließen .
  • Erwägt den Einsatz einer Whitelist von sicheren Zielen. In diesem Falll würdet ihr alle externen Links auflisten und die Zielwebsite vor der Weiterleitung abgleichen, um sicherzustellen, dass es sich um ein legitimes Ziel handelt.
  • Erwägt das Verschlüsseln eures Redirects mit einer Signatur . Falls eure Website tatsächlich URL-Redirects benötigt, könnt ihr die Ziel-URL mit einem Hash-Code versehen und dann die kryptographische Signatur dem Redirect als einen weiteren Parameter hinzufügen. Auf diese Weise könnt ihr URL-Redirects auf eurer Site verwenden, ohne diese Möglichkeit für die Allgemeinheit zu öffnen.
  • Falls Weiterleitungen auf eurer Website ohnehin nicht verwendet werden, schaltet die Redirects ab oder entfernt sie . Wir konnten feststellen, dass eine große Anzahl von Websites existiert, bei denen nur die Spammer die Redirects benutzen - wahrscheinlich ist diese Funktion einfach standardmäßig eingeschaltet.
  • Verwendet robots.txt , um Suchmaschinen davon abzuhalten , die Redirect-Scripts eurer Website zu lesen. Das schafft zwar das Problem nicht vollständig aus der Welt, weil Spammer immer noch eure Domain für E-Mail-Spam missbrauchen könnten, doch eure Website wird weniger attraktiv für Angreifer, und Benutzer werden nicht durch Suchergebnisse reingelegt. Falls eure Redirection-Scripts in einem Unterverzeichnis untergebracht sind - gemeinsam mit anderen Scripts, die nicht in den Suchresultaten erscheinen müssen - könnte es das Ausklammern des ganzen Unterverzeichnisses für Spammer noch schwerer machen, das Redirection-Script überhaupt erst zu finden.

Der Missbrauch von Open Redirects ist im Moment ein großes Problem, aber je mehr Webmaster davon wissen, umso schwieriger wird es für dubiose Gestalten, ungeschützte Websites auszunutzen. Falls ihr Tipps habt, postet doch einen Kommentar oder beteiligt euch an der Diskussion in unserem Forum für Webmaster !

Open redirect URLs: Is your site being abused? (English version)

Post von Jason Morrison, Search Quality Team (Übersetzung von Jörg, Search Quality)