Heim > Artikel > Web-Frontend > Sicherheitsprobleme bei HTML5 Was Entwickler beachten müssen_HTML5-Tutorial-Tipps
Experten für Anwendungssicherheit sagen, dass HTML5 Entwickler vor neue Sicherheitsherausforderungen stellt.
Der Wortgefecht zwischen Apple und Adobe hat zu vielen Spekulationen über das Schicksal von HTML 5 geführt. Obwohl die Implementierung von HTML 5 noch einen langen Weg vor sich hat, ist eines sicher: Entwickler, die HTML verwenden 5 Neue Sicherheitsfunktionen müssen für den Entwicklungslebenszyklus der Anwendungssicherheit bereitgestellt werden, um die Sicherheitsherausforderungen von HTML5 zu bewältigen.
Welche Auswirkungen wird HTML5 also auf die Angriffsfläche haben, die wir abdecken müssen? In diesem Artikel werden mehrere wichtige Sicherheitsprobleme in Bezug auf HTML 5 untersucht.
Clientseitige Speicherung
Frühe Versionen von HTML erlaubten Websites nur das Speichern von Cookies als lokale Informationen, und diese Räume waren relativ klein und nur zum Speichern einfacher Archivinformationen oder als Speicher an anderen Orten geeignet . Eine Kennung für die Daten, beispielsweise eine Sitzungs-ID, sagte Dan Cornell, Direktor für Anwendungssicherheitsforschung bei Denim Group. HTML5 LocalStorage ermöglicht es dem Browser jedoch, große Datenbanken lokal zu speichern, wodurch neue Arten von Anwendungen verwendet werden können.
„Das damit verbundene Risiko besteht darin, dass sensible Daten auf der Workstation des lokalen Benutzers gespeichert werden und ein Angreifer, der physisch auf die Workstation zugreift oder diese zerstört, leicht an die sensiblen Daten gelangen kann“, sagte Cornell. „Dies ist besonders wichtig, wenn gemeinsam genutzte Computer verwendet werden.“ „Per Definition ist es eigentlich nur die Möglichkeit, Informationen auf dem Client-System zu speichern“, sagte Josh Abraham, ein Sicherheitsforscher bei Rapid7. „Dann besteht die Möglichkeit eines clientseitigen SQL-Injection-Angriffs.“ Die Datenbanken Ihres Kunden sind bösartig, und bei der Synchronisierung mit dem Produktionssystem kann es zu Synchronisierungsproblemen kommen, oder die potenziell schädlichen Daten des Kunden werden in das Produktionssystem eingefügt. „
Um dieses Problem zu lösen um zu überprüfen, ob die Daten schädlich sind, was eigentlich ein sehr komplexes Problem ist.
Nicht alle sind sich über die Bedeutung dieses Themas einig. Chris Wysopal, Chief Technology Officer bei Veracode, sagte, dass es für Webanwendungen viele Möglichkeiten gebe, Daten clientseitig zu speichern, beispielsweise durch die Verwendung von Plug-ins oder Browsererweiterungen.
„Es gibt viele bekannte Möglichkeiten, die derzeit bereitgestellten HTML5-SessionStorage-Eigenschaften zu manipulieren, aber dieses Problem wird erst gelöst, wenn der Standard finalisiert ist“, sagte Wysopal.
Domänenübergreifende Kommunikation Während andere HTML-Versionen es JavaScript möglicherweise ermöglichen, XML-HTTP-Anfragen zurück an den ursprünglichen Server zu senden, lockert HTML5 diese Einschränkung und XML-HTTP-Anfragen können an jeden Server gesendet werden, der dies tut ermöglicht dies. Dies kann natürlich auch zu schwerwiegenden Sicherheitsproblemen führen, wenn dem Server nicht vertraut werden kann.
„Zum Beispiel kann ich ein Mashup erstellen (ein Mashup, das zwei oder mehr Webanwendungen kombiniert, die öffentliche oder private Datenbanken verwenden, um eine integrierte Anwendung zu bilden), um Spielstände über JSON (Javascript Object Notation) von Websites Dritter abzurufen. „Diese Website könnte schädliche Daten an eine Anwendung senden, die im Browser meines Benutzers ausgeführt wird“, sagte Cornell. Obwohl HTML5 die Erstellung neuer Arten von Anwendungen ermöglicht, ist die Sicherheit beeinträchtigt, wenn Entwickler diese Funktionen nicht verstehen, wenn sie mit ihrer Verwendung beginnen Die Auswirkungen der erstellten Anwendung bringen große Sicherheitsrisiken für Benutzer mit sich.“
Entwickler, die Anwendungen schreiben, die auf PostMessage() basieren, müssen sorgfältig prüfen, ob die Informationen von ihrer eigenen Website stammen, andernfalls schädlicher Code von anderen Websites könnten schädliche Nachrichten erstellen, fügte Wysopal hinzu. Diese Funktion ist nicht grundsätzlich sicher und Entwickler haben damit begonnen, verschiedene DOM- (Document Object Model)/Browser-Funktionen zu verwenden, um die domänenübergreifende Kommunikation zu emulieren.
Ein weiteres damit zusammenhängendes Problem besteht darin, dass das World Wide Web Consortium derzeit eine Möglichkeit bietet, die Same-Origin-Richtlinie mithilfe eines ähnlichen domänenübergreifenden Mechanismus für Cross-Origin-Designs zur gemeinsamen Nutzung von Ressourcen zu umgehen.
„IE stellt andere Sicherheitsfunktionen bereit als Firefox, Chrome und Safari“, bemerkte er. „Entwickler müssen sicherstellen, dass ihnen durch die Erstellung von Zugriffskontrolllisten zu wenig Sicherheit geboten wird, insbesondere da einige Referenzcodes derzeit sehr unsicher sind.“ >
Iframe-Sicherheit
Aus Sicherheitsgründen bietet HTML5 auch gute Funktionen, wie z. B. Pläne zur Unterstützung des Sandbox-Attributs von Iframes. „Mit diesem Attribut können Entwickler auswählen, wie die Daten interpretiert werden.“ „Leider wird dieses Design, wie das meiste HTML, wahrscheinlich von Entwicklern missverstanden und von Entwicklern wahrscheinlich deaktiviert, weil es unbequem zu verwenden ist.“ Bei richtiger Anwendung kann diese Funktion zum Schutz vor böswilliger Werbung Dritter beitragen oder die Wiedergabe nicht vertrauenswürdiger Inhalte verhindern. ”