RSS-Feeds als Angriffsvektor

RSS-Feeds als Angriffsvektor

Marc Ruef
von Marc Ruef
Lesezeit: 4 Minuten

Das Akronym RSS steht für Really Simple Syndication. Hierbei handelt es sich um eine Familie um Formaten, die zur strukturierten Veröffentlichung von Informationen entwickelt wurde. Vorzugsweise werden durch Webseiten RSS-Feeds angeboten, auf denen die jeweiligen Neuigkeiten verteilt werden.

RSS-Feeds sind XML-basiert. Sie bestehen aus einem Header, der allgemeine Informationen zum Feed bereitstellt. Zum Beispiel der Titel des Feeds, ein Link zur Webseite, eine Beschreibung und Copyright-Informationen. Im weiteren folgen einzelne Items, die die eigentlichen Informationsteile bereitstellen. Diese beinhalten ebenso verschiedene Felder, wie zum Beispiel Titel, Link, Veröffentlichungsdatum und Beschreibung. Beispiel:

<item>
   <title>Eine interessante Meldung für unsere Leser</title>
   <link>http://www.scip.ch/?news.20120125</link>
   <guid isPermaLink="true">http://www.scip.ch/?news.20120125</guid>
   <pubDate>Thu, 15 Mar 2012 07:15:00 +0100</pubDate>
   <dc:creator>scip AG</dc:creator>
   <description>
      <![CDATA[Hier stehen weitere Details drin.]]>
   </description>
</item>

In der Regel stellen also Webseiten (Server) diese Feeds bereit. (Auf unserer Webseite bieten wir ebenfalls verschiedene RSS-Feeds an.) Diese werden durch RSS-Clients bei Bedarf oder in regelmässigen Abständen (z.B. alle 60 Minuten) abgefragt. Entdeckt der Client, dass ein neues Item publiziert wurde, wird es entsprechend als ungelesen dargestellt. Ein Benutzer kann mit einer solchen Abonnierung komfortabel und unkompliziert die neuesten Informationen (z.B. News, Änderungen) zusammentragen. Es gibt sowohl dedizierte RSS-Clients, die als eigenständige Anwendungen fungieren. Ebenso bieten viele Mail-Clients und Browser-Implementierungen von Haus aus oder durch zusätzliche Addons eine entsprechende RSS-Funktionalität zur Verfügung. Zusätzlich gibt es webbasierte RSS-Clients, die zum Beispiel als Plugin in ein bestehendes CMS eingebunden werden können.

Viele Entwickler von RSS-Clients – egal ob nun als eigenständige Applikationen, Addons oder Web-Plugin – vernachlässigen die Risiken einer solchen Lösung. Dabei wird gerne übersehen, dass es sich bei diesem Modell im Grundprinzip um das Gleiche handelt, welches auch beim klassischen Web (Webserver/Webbrowser) zum Tragen kommt:

Der Server liefert die angeforderten Daten an den Client aus (1), der seinerseits für die Interpretation (2) und Darstellung (3) dieser zuständig ist.

Dies kann einerseits zu typischen Eingabeungültigkeiten kommen. Vor allem dann, wenn die Interpretation des XML-Gerüsts durch einen proprietären Parser durchgeführt wird. Durch fehlende, fehlerhafte, verschachtelte, korrupte oder doppelte Tags können sich anwendungsbasierte Angriffsvektoren erschliessen. Dazu gehören beispielsweise Denial of Service-, Pufferüberlauf- oder Format String-Schwachstellen. Der Einsatz eines verlässlichen XML-Parsers, der mittlerweile bei allen modernen Hochsprachen zur Verfügung gestellt wird, vermag diese Gefahr zu bannen.

Weiterführend wird aber auch gerne übersehen, dass RSS-Feeds als Träger für korrupte Inhalte eingesetzt werden können. Durch das Einbetten von bösartigen Elementen können Angriffe auf Clients angestrebt werden. Hierzu bieten sich in einem ersten Schritt Multimedia-Inhalte (Bilder/Videos) an. Aber auch ausführbare Elemente auf der Basis von Javascript, Java und ActiveX können missbraucht werden. Ein sicherer RSS-Client sollte deshalb darauf bedacht sein, lediglich unkritische Inhalte nachzuladen und auszuführen.

Einen Fehler dieser Art haben wir vor einigen Jahren im RSS-Widget von IBM Lotus Notes ausgemacht. Hier war es mitunter möglich, Javascript durch RSS-Feeds verteilen zu lassen. Zusätzlich spielte hier aber noch ein anderer Effekt mit, der die Tragweite der Angriffsmöglichkeit erweiterte. Und zwar wurden sämtliche RSS-Inhalte nach dem Download lokal gespeichert und im lokalen Kontext des Internet Explorer ausgeführt. Dies führte dazu, dass für die aktiven Inhalte verringerte Sicherheitseinstellungen gelten sollten, wodurch sich erweiterte Zugriffe durchführen liessen.

Über den Autor

Marc Ruef

Marc Ruef ist seit Ende der 1990er Jahre im Cybersecurity-Bereich aktiv. Er hat vor allem im deutschsprachigen Raum aufgrund der Vielzahl durch ihn veröffentlichten Fachpublikationen und Bücher – dazu gehört besonders Die Kunst des Penetration Testing – Bekanntheit erlangt. Er ist Dozent an verschiedenen Hochschulen, darunter ETH, HWZ, HSLU und IKF. (ORCID 0000-0002-1328-6357)

Links

Sie brauchen professionelles Vulnerability Management?

Unsere Spezialisten kontaktieren Sie gern!

×
Cyber Threat Intelligence

Cyber Threat Intelligence

Marc Ruef

3D Printing

3D Printing

Marc Ruef

Contact Tracing App DP3T

Contact Tracing App DP3T

Marc Ruef

Sie wollen mehr?

Weitere Artikel im Archiv

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

Sie wollen mehr?

Weitere Artikel im Archiv