© best_vector/Shutterstock.com
Windows Developer
Welche neuen Angriffe gibt es und wie kann man sie verhindern?

JavaScript und die Sicherheit

von Carsten EilersJavaScript lässt sich für viele schöne Zwecke einsetzen. Und für mindestens genau so viele unschöne. In diesem Artikel geht es um zwei Themen: Zum einen um einige neue bzw. verbesserte Angriffe, die auf den Sicherheitskonferenzen vorgestellt wurden. Zum anderen um zwei Möglichkeiten, solchen Angriffen zu begegnen.

Carsten Eilers


JavaScript lässt sich für viele schöne Zwecke einsetzen. Und für mindestens genau so viele unschöne. In diesem Artikel geht es um zwei Themen: Zum einen um einige neue bzw. verbesserte Angriffe, die auf den Sicherheitskonferenzen vorgestellt wurden. Zum anderen um zwei Möglichkeiten, solchen Angriffen zu begegnen.Fangen wir mit den Sicherheitskonferenzen an. Das Folgende ist eine willkürliche und keinesfalls repräsentative Auswahl von Vorträgen aus diesem und dem vergangenen Jahr. Für alle Vorträge war bei Weitem nicht genug Platz, also habe ich die ausgewählt, die mir hier am passendsten erschienen.SVG – Nicht unbedingt nur eine GrafikSVG steht zwar für „Scalable Vector Graphic“, ist aber weit mehr als nur ein weiteres Dateiformat für Bilder. SVG ist eine XML-basierte „Programmiersprache“ für Grafiken, und dass darüber auch XSS-Angriffe möglich sind, ist schon seit Langem bekannt [1]. Ein einfaches Beispiel dafür ist das folgende „Bild“: alert("Kein SVG-Bild, sondern ein XSS-Angriff!") Auf der Sicherheitskonferenz Black Hat USA 2014 Anfang August hat Rennie deGraaf eine Reihe weitergehender Angriffe vorgestellt. Der Titel seines Vortrags, „SVG: Exploiting Browsers without Image Parsing Bugs“, macht auch gleich das grundlegende Problem dieser Angriffe deutlich: Es werden keine Fehler oder Schwachstellen ausgenutzt, sondern beabsichtigte Features der SVG-Spezifikation. SVG-Dateien dürfen nämlich HTML-, JavaScript- und CSS-Code enthalten und, dieser Code soll auch ausgewertet werden.Es gilt also nicht die alte Atari-Ausrede „That’s not a bug, it’s a feature“, wenn mal wieder etwas nicht so funktioniert wie gedacht. Im Fall von SVG funktioniert alles genau so wie vorgesehen und trotzdem (oder besser: genau deshalb) sind die Angriffe möglich. Wenn Sie also den Benutzern Ihrer Webanwendung das Heraufladen von SVG-Dateien erlauben, müssen Sie diese sehr gründlich prüfen. Und zwar so, wie sie eine HTML-Datei prüfen würden, nicht nur wie eine Bilddatei. Theoretisch reicht es zwar, die SVG-Dateien als statische Bilder zu laden, da dann keine Skripte ausgeführt und keine externen Ressourcen geladen werden (siehe unten). In der Praxis funktioniert das aber nicht immer so wie vorgesehen.Aus den von Rennie deGraaf vorgestellten Angriffen will ich hier nur ein konkretes Beispiel aufgreifen.SVG-Datei mit XSS-SchwachstelleDass eine SVG-Date...

Windows Developer
Welche neuen Angriffe gibt es und wie kann man sie verhindern?

JavaScript und die Sicherheit

von Carsten EilersJavaScript lässt sich für viele schöne Zwecke einsetzen. Und für mindestens genau so viele unschöne. In diesem Artikel geht es um zwei Themen: Zum einen um einige neue bzw. verbesserte Angriffe, die auf den Sicherheitskonferenzen vorgestellt wurden. Zum anderen um zwei Möglichkeiten, solchen Angriffen zu begegnen.

Carsten Eilers


JavaScript lässt sich für viele schöne Zwecke einsetzen. Und für mindestens genau so viele unschöne. In diesem Artikel geht es um zwei Themen: Zum einen um einige neue bzw. verbesserte Angriffe, die auf den Sicherheitskonferenzen vorgestellt wurden. Zum anderen um zwei Möglichkeiten, solchen Angriffen zu begegnen.Fangen wir mit den Sicherheitskonferenzen an. Das Folgende ist eine willkürliche und keinesfalls repräsentative Auswahl von Vorträgen aus diesem und dem vergangenen Jahr. Für alle Vorträge war bei Weitem nicht genug Platz, also habe ich die ausgewählt, die mir hier am passendsten erschienen.SVG – Nicht unbedingt nur eine GrafikSVG steht zwar für „Scalable Vector Graphic“, ist aber weit mehr als nur ein weiteres Dateiformat für Bilder. SVG ist eine XML-basierte „Programmiersprache“ für Grafiken, und dass darüber auch XSS-Angriffe möglich sind, ist schon seit Langem bekannt [1]. Ein einfaches Beispiel dafür ist das folgende „Bild“: alert("Kein SVG-Bild, sondern ein XSS-Angriff!") Auf der Sicherheitskonferenz Black Hat USA 2014 Anfang August hat Rennie deGraaf eine Reihe weitergehender Angriffe vorgestellt. Der Titel seines Vortrags, „SVG: Exploiting Browsers without Image Parsing Bugs“, macht auch gleich das grundlegende Problem dieser Angriffe deutlich: Es werden keine Fehler oder Schwachstellen ausgenutzt, sondern beabsichtigte Features der SVG-Spezifikation. SVG-Dateien dürfen nämlich HTML-, JavaScript- und CSS-Code enthalten und, dieser Code soll auch ausgewertet werden.Es gilt also nicht die alte Atari-Ausrede „That’s not a bug, it’s a feature“, wenn mal wieder etwas nicht so funktioniert wie gedacht. Im Fall von SVG funktioniert alles genau so wie vorgesehen und trotzdem (oder besser: genau deshalb) sind die Angriffe möglich. Wenn Sie also den Benutzern Ihrer Webanwendung das Heraufladen von SVG-Dateien erlauben, müssen Sie diese sehr gründlich prüfen. Und zwar so, wie sie eine HTML-Datei prüfen würden, nicht nur wie eine Bilddatei. Theoretisch reicht es zwar, die SVG-Dateien als statische Bilder zu laden, da dann keine Skripte ausgeführt und keine externen Ressourcen geladen werden (siehe unten). In der Praxis funktioniert das aber nicht immer so wie vorgesehen.Aus den von Rennie deGraaf vorgestellten Angriffen will ich hier nur ein konkretes Beispiel aufgreifen.SVG-Datei mit XSS-SchwachstelleDass eine SVG-Date...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang