Erhöhung der Sicherheit für Single Page Applications

Websicherheit

Gary Archer, Product Marketing Engineer bei Curity, gibt uns Einblicke in User Experience (UX) und Sicherheit auf Webseiten.

Das Internetzeitalter hat dafür gesorgt, dass wir mit modernster Technologie, Webgeschwindigkeit und Zugänglichkeit die Qual der Wahl haben. Bei so vielen verfügbaren Optionen werden für die meisten Online-Benutzer schnelle und zuverlässige Webseiten erwartet. Und warum sollten sie es nicht sein? Wenn Wettbewerber eine schnelle und reaktionsschnelle Plattform für Benutzer bereitstellen können, über die sie auf ihre Produkte oder Dienstleistungen zugreifen können, dann können Sie das auch.

Verzögernde Webseiten können die Ursache für zunehmende Frustrationen, Kundenunzufriedenheit, ein schlechtes Markenimage und für manche sogar das Verlassen der Website sein. Die Aufmerksamkeitsökonomie hat ein reibungsloses Online-Erlebnis zu einer Anforderung an die moderne Internetnutzung gemacht. Sie können Ihr Unternehmen nicht an der ersten Hürde scheitern lassen, bevor sich die Kunden das Angebot angesehen haben.

Single Page Applications (SPAs) sind zur beliebtesten Methode geworden, um Websites zu erstellen, die sich für den Endbenutzer schneller anfühlen, ohne den Server jedes Mal zu treffen, wenn ein Benutzer mit einer Anwendung interagiert. Die Geschwindigkeit einer Website ist Teil der besten User Experience (UX). Entwickler haben die Kontrolle über das Browserverhalten und sind für die Verbesserung der UX verantwortlich. Der Einsatz moderner Technologien wie React hilft und führt zu einer guten Entwicklererfahrung.

In Abkehr vom traditionellen Cookie-basierten Ansatz haben SPAs kein dediziertes Backend und verwenden stattdessen Zugriffstoken, um APIs im Namen eines authentifizierten Benutzers aufzurufen und die relevanten Daten zurückzugeben. SPAs haben eine entscheidende Rolle bei der Verbesserung des Kundenerlebnisses gespielt, indem sie dafür gesorgt haben, dass Websites in hohem Maße auf Aktionen von Endbenutzern reagieren. Die Verlagerung von der Handhabung der Autorisierung mit Cookies hin zu Zugriffstoken hat jedoch schwerwiegende Auswirkungen auf die Sicherheit.

Zuallererst arbeitet der Frontend-Code in einer unsicheren Umgebung: dem Browser eines Benutzers. SPAs verfügen häufig über ein Aktualisierungstoken, das Offlinezugriff auf die Ressourcen eines Benutzers gewährt und neue Zugriffstoken ohne Interaktion des Benutzers abrufen kann. Da diese Zugangsdaten von der SPA gelesen werden können, sind sie anfällig für Cross-Site-Scripting (XSS)-Angriffe, die gefährliche Auswirkungen haben können – Angreifer erhalten Zugriff auf die persönlichen Daten und Funktionen der Benutzer, auf die normalerweise nicht über die Benutzeroberfläche zugegriffen werden kann. Da der Online-Datenpool wächst und Hacker immer raffinierter werden, muss die Sicherheit ernst genommen werden, um die Informationen der Kunden und den Ruf des Unternehmens zu schützen.

Das Entwerfen von Sicherheitslösungen für SPAs ist jedoch keine leichte Aufgabe. Neben der stärksten Browsersicherheit und einfachem und zuverlässigem Code müssen Softwareentwickler die Bereitstellung der besten Benutzererfahrung in Betracht ziehen – und all dies in eine Lösung packen, die überall bereitgestellt werden kann. Die Webinhalte der SPA können über ein Content Delivery Network (CDN) an vielen Standorten weltweit bereitgestellt werden. Webinhalte befinden sich dann geografisch in angemessener Nähe zu allen Benutzern, sodass Webdownloads schneller sind.

Die aktuelle Best Practice besteht darin, dass SPAs Token vor bösartigem Code schützen. Es gibt andere Möglichkeiten, dies zu tun, aber die Verwendung von Tokens im Browser wird als weniger sicher empfunden. Token können geschützt werden, indem eine Backend-Komponente hinzugefügt wird, um Token zu handhaben und sichere Cookies an das Frontend auszugeben – oft als Backend-for-Frontend-Ansatz (BFF) bezeichnet.

Viele Entwickler verwenden Website-Stacks mit einem „Web-Backend“, das sowohl statische Inhalte bereitstellt als auch sichere Cookies schreibt – was das Sicherheitsproblem im Prinzip löst. Website-Stacks sind jedoch einfach nicht für die Trennung von Web- und API-Belangen konzipiert, durch die SPAs gekennzeichnet sind.

Das Token Handler Pattern ist eine moderne Weiterentwicklung von BFF, bei der die OpenID Connect-Sicherheit API-gesteuert implementiert wird. Bei diesem Ansatz läuft die gesamte Kommunikation von der SPA zum Autorisierungsserver über den Token-Handler.

Dadurch entfällt die Notwendigkeit, dass Token die SPA erreichen, da der Token-Handler stattdessen Sitzungscookies an die SPA ausgibt. Die Cookies werden bei Anfragen an APIs verwendet und gegen ein Zugriffstoken ausgetauscht, vorzugsweise durch ein dediziertes Plugin im API-Gateway, damit der API-Code einfach gehalten wird. Da der Token-Handler-Code nicht im Browser verfügbar ist, kann er als vertraulicher Client für die SPA fungieren, wodurch die Sicherheit der Token-Ausgabe weiter erhöht wird.

Das Ergebnis? Das Token-Handler-Pattern bietet SPAs ein ähnliches Sicherheitsniveau wie normale Web-Apps, ohne dass ein umständliches Backend für die Verarbeitung erforderlich ist. Dies sorgt für Seelenfrieden und behält gleichzeitig die überaus wichtigen Vorteile des Kundenerlebnisses bei, für die SPAs geschätzt werden. Und der Token-Handler-Ansatz ist wirklich flexibel: Die Implementierung kann zustandsbehaftet oder zustandslos sein, mit der Option, Token-Handler-Komponenten auf unterschiedliche Weise bereitzustellen, um sie an einzelne Websites anzupassen.

Benutzer werden heutzutage keine trägen Webseiten akzeptieren. Wir haben festgestellt, dass Geschwindigkeit äußerst wichtig ist, um online wettbewerbsfähig zu bleiben. Sie sollte jedoch niemals vor der Sicherheit priorisiert werden. Wenn Nutzer Unternehmen geschützte personenbezogene Daten anvertrauen, erwarten sie, dass ihre Daten bestmöglich geschützt sind. Da es keine aktuelle Methode für Browser gibt, Token sicher zu speichern, ist es am besten, sie vorerst ganz aus den Browsern herauszulassen. Cookies und Sessions müssen zurückgebracht werden, aber wir müssen dies dynamischer tun – und genau das bringt das Token Handler Pattern auf den Tisch. Die Technologie entwickelt sich schnell, aber dies ist die beste Lösung, die uns zur Verfügung steht, bis unsere Browser sicherer werden können.

Klicken Sie hier, um mehr von unseren Podcasts zu entdecken

Vergessen Sie nicht, unser tägliches Bulletin zu abonnieren, um weitere Neuigkeiten von Top Business Tech zu erhalten!

Folge uns auf  LinkedIn und Twitter

WAICF – Tauchen Sie ein in die KI und besuchen Sie eines der ...

Delia Salinas • 10. März 2022

Cannes veranstaltet jedes Jahr eine internationale Technologieveranstaltung namens World Artificial Intelligence Cannes Festival, besser bekannt unter dem Akronym WAICF. Eine der luxuriösesten Städte der Welt, an der französischen Riviera gelegen und Gastgeber der jährlichen Filmfestspiele von Cannes, der Midem und des Cannes Lions International Festival of Creativity. 

Die Evolution von VR und AR

Amber Donovan-Stevens • 28. Oktober 2021

Wir sehen uns an, wie sich die Extended-Reality-Technologien VR und AR vom reinen Gaming zu einer langsamen Integration in andere Aspekte unseres Lebens entwickelt haben.