© saicle/Shutterstock.com
HTML5-Angriffe verhindern: Den neuen Webstandard sicher einsetzen

HTML5, aber sicher!


HTML5 birgt neben schönen neuen Möglichkeiten auch viele Sicherheitslücken, die Hacker für sich ausnutzen können. In diesem Artikel erfahren Sie, wie Sie solche Angriffe verhindern oder zumindest erschweren können, und wie Sie HTML5 allgemein sicher einsetzen.

Wie Cyberkriminelle HTML5 missbrauchen können, haben Sie im PHP Magazin 3.2012 gelesen. Dieser Artikel orientiert sich am Aufbau des ersten Teils, sodass Sie ggf. leicht nachschlagen können, welche Angriffe im Zusammenhang mit den jeweils beschriebenen Funktionen etc. drohen. Los geht es daher auch wieder mit Cross-­site Scripting (XSS), diesmal aber aus „Verteidigersicht“.

Artikelserie

Teil 1: Die dunkle Seite des neuen Webstandards

Teil 2: HTML5-Angriffe verhindern

XSS-Angriffe abwehren

Wie Sie XSS-Angriffe abwehren, wissen Sie ja sicher schon. Mit HTML5 kommen nur weitere mögliche Angriffe hinzu, sodass Sie ggf. ihre White- oder Blacklist des Öfteren überprüfen und an die neuen Gegebenheiten anpassen müssen. Eine Liste bekannter Angriffe stellt das HTML5 Security Cheatsheet [1] bereit. Aber HTML5 bringt nicht nur neue Angriffe, sondern auch eine neue Schutzmaßnahme: iframes im Sandkasten.

iframes im Sandkasten

Das sandbox-Attribut von HTML5 ermöglicht es, per iframe eingebundene Inhalte in ihren Möglichkeiten zu beschränken [2], [3]. Per Default wird der Inhalt des ­iframes bei gesetztem sandbox-Attribut so behandelt, als käme er von einem fremden Origin. Es ist kein Zugriff auf das DOM der einbettenden Seite, die Cookies oder den Local Storage möglich, und das Ausführen von JavaScript-Code und Plug-ins sowie das Verwenden von Formularen wird verhindert. Einige Einschränkungen können bei Bedarf einzeln aufgehoben werden. Das Attribut kann vier Werte annehmen:

  • allow-same-origin: Der Inhalt des iframes wird so behandelt, als stamme er aus dem Origin der einbettenden Seite und nicht aus einer anderen.

  • allow-top-navigation: Der Inhalt des iframes darf den Top-Level-Kontext ändern.

  • allow-forms: Der Inhalt des iframes darf Formulare verwenden.

  • allow-skripts: Skripte im iframe werden ausgeführt, es dürfen aber keine Pop-ups geöffnet werden.

Wenn Sie allow-scripts und allow-same-origin gleichzeitig verwenden, gibt es u. U. eine unerwünschte Nebenwirkung, wenn eingebundene und einbindende Seite den gleichen Origin haben: Die eingebundene Seite kann das sandbox-Attribut entfernen.

Browser mit und ohne iframe-Sandbox

Das sandbox-Attribut wird natürlich nur von Browsern berücksichtigt, die es kennen. Z...

Neugierig geworden?

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