security-zone-News
 

Gestern und heute – Sicherheitslösungen im Wandel



Stephan Schweizer, AdNovum Informatik AG

Mit dem Siegeszug von JavaScript und HTML5 etabliert sich eine völlig neue Generation von Webapplikationen. Gleichzeitig steigen die Usability-Anforderungen an die Authentisierung. Was bedeutet das für bestehende Sicherheitskonzepte?

Im klassischen Internetzeitalter Ende der 90er- und Anfang der 00er- Jahre waren die Fronten klar: Im Internet tummelten sich die "Bösen", im Intranet gingen die "Guten" ihrer Arbeit nach. Um diese zwei Welten voneinander zu trennen, wurde und wird ein sogenannter Netzwerk-Perimeter aufgebaut. Dieser besteht in der Regel aus einer äusseren und einer inneren Firewall. In der Zone dazwischen, der "demilitarisierten Zone" (DMZ), befinden sich weitere Sicherheitskomponenten wie Secure Reverse Proxys und Web Application Firewalls. Sie sorgen dafür, dass nur stark authentisierte (sogenannte 2-Faktor-Authentisierung) Benutzer aus dem "Reich der Bösen" auf die angebotenen Webapplikationen zugreifen können

Mehr zum Thema HTTP 2.0 und Security? Stephan Schweizer und Lior Wehrli geben einen Einblick in das neue HTTP-2.0-Protokoll und die Chancen und Herausforderungen, die sich für IAM-Architekturen und Security-Verantwortliche ergeben. Donnerstag, 24.9, 13.00 - 14.00 Uhr anlässlich der 12. security-zone in der Börse Zürich. Alle Details & Anmeldung. Infos und Anmeldung hier >>

Die Applikationslogik verlagert sich auf den Client
In dieser Welt gab es keine Zweifel: Die applikatorische Logik befindet sich auf der Server-Seite. Die Aufgabe der Browser bestand primär darin, die Inhalte dem Benutzer visuell zugänglich zu machen. Nach den durchzogenen Erfahrungen aus der Client-Server-Ära in den 90er-Jahren herrschte ein breiter Konsens, dass dieser Ansatz richtig sei. Die Benutzer waren auch sehr genügsam und gaben sich mit spartanischen, aus heutiger Sicht archaisch anmutenden Oberflächen (GUI) zufrieden. Mit der Entwicklung anspruchsvoller Applikationen stiegen die Anforderungen an das GUI. Es folgten erste Gehversuche mit JavaScript mit dem Ziel, die GUIs benutzerfreundlicher zu gestalten. Niemand wäre aber zu jener Zeit auf die Idee gekommen, Business-Logik in JavaScript zu implementieren – die in JavaScript realisierten Teile einer Applikation beschränkten sich auf Logik im Zusammenhang mit der Visualisierung. Die Zurückhaltung der Entwickler, Funktionalität im Browser zu nutzen, hatte gute Gründe: In der früheren HTML4-Welt waren die Tags zwar standardisiert, deren Semantik und Darstellungsweise wurden aber von den verschiedenen Browser-Herstellern sehr unterschiedlich interpretiert. Dies führte dazu, dass Web-Inhalte je nach verwendetem Browser völlig anders aussahen. Das von den Browsern bereitgestellte JavaScript API (Application Programming Interface) war ausserdem sehr spartanisch. Wer anspruchsvollere Themen mit JavaScript in Angriff nahm und dabei gleichzeitig die Browser-Vielfalt in den Griff bekommen wollte, musste richtige Knochenarbeit leisten.

Die steigenden Usability-Ansprüche sorgen für neue Herausforderungen
Durch die Einführung von HTML5 hat sich dies grundlegend geändert. Das umfangreiche, standardisierte JavaScript API macht es sehr einfach, komplexe Client-seitige Logik zu implementieren. Bereits ein paar wenige Zeilen JavaScript reichen nun aus, um Videos vor- und rückwärtszuspulen, Daten mittels WebStorage im Browser lokal zu speichern oder auf die Kamera eines mobilen Geräts zuzugreifen. Der Browser mutiert dabei von einem reinen "Visualisierungsvehikel" zu einer umfassenden Laufzeitumgebung für JavaScript-basierte Applikationen. Zusätzlich befeuert hat den Siegeszug von HTML5 und JavaScript die Ausbreitung mobiler Geräte: Auf der Basis von HTML5 / JavaScript lassen sich sogenannte Hybrid-Applikationen realisieren, die für den Benutzer wie native Applikationen aussehen und damit auch höchste Usability-Ansprüche erfüllen.
Die vielseitigen Funktionen von HTML5 eröffnen den Applikationsentwicklern völlig neue Perspektiven – leider gilt dies auch für Angreifer. Auch wenn bei der Standardisierung von HTML5 Sicherheitsaspekte mit berücksichtigt wurden: Alleine der Umfang der Browser-Funktionalitäten führt dazu, dass durch fehlerhafte Implementierungen relativ leicht auszunutzende Sicherheitslücken entstehen. Gleichzeitig steigen die Bedürfnisse im Bereich Usability: Flächendeckende 2-Faktor-Authentisierung, die die Gefahr von Identitätsdiebstahl massiv reduzieren könnte, wird vom Business heutzutage vielfach abgelehnt – ausschlaggebend sind dabei oft nicht mal die Kosten, sondern die Usability für die Endbenutzer. Diese ist mittlerweile ein entscheidendes Erfolgskriterium für Online-Services.

Neue Sicherheitskonzepte sind gefragt
Anbieter kritischer Online-Services sollten sich auf jeden Fall auch für das Worst-Case-Szenario wappnen. Dieses besteht bei modernen JavaScript-basierten Applikationen darin, dass es einem Angreifer gelingt, eigenen JavaScript Code einzuschleusen. Ist dies einmal geschehen, so versagen die meisten der bisher verfügbaren Sicherheitsmechanismen. Neue Konzepte sind also gefragt! Es ist davon auszugehen, dass sich eine infizierte JavaScript-Applikation anders verhalten wird als das Original – ein vielversprechender Ansatz ist daher die Server-seitige Anomalieerkennung. Die grundlegende Idee besteht darin, dass es Server-seitige Intelligenz gibt, die in der Lage ist, das normale Verhalten einer Applikation zu lernen und zu modellieren. Ausgehend von dieser Annahme ist es möglich, abweichende Verhaltensweisen zu erkennen und darauf zu reagieren. Die Reaktionen auf eine solche Situation hängen vom jeweiligen Kontext ab. Denkbar sind eine Meldung an ein zentrales Monitoring-System, der Entzug von kritischen Rechten während der Session (z.B. Sperrung von kritischen Transaktionen), eine Neuauthentisierung des Benutzers oder gar eine sofortige Beendigung der Session.



Erfolgt die Authentisierung nicht flächendeckend über den 2-Faktor-Ansatz, ist der Kontext entscheidend. Es reicht nicht mehr, lediglich die Credentials zu verifizieren. Das System muss in der Lage sein, den Kontext der Authentisierung mit zu berücksichtigen und sich adäquat zu verhalten. Bei einem Identitätsdiebstahl ist ausserdem der Faktor Zeit entscheidend, um das Schadenpotenzial einzudämmen. Je schneller ein möglicher Missbrauch dem Benutzer signalisiert wird, desto geringer der Schaden.