Klassifizierungsmodell – Sicherheit von Webanwendungen Teil2

1. EbenenmodellModell

Webanwendungen stellen ganz spezielle Anforderungen an die Sicherheit. Durch ihre Offenheit im Web sind sie nicht nur für legitime Benutzer zugänglich, sondern ziehen auch dubiose Gestalten magisch an. Im Schatten der Anonymität verschaffen sie sich Zugang zu sensiblen Daten. Herkömmliche Firewalls bieten dagegen keinen Schutz.

Im ersten Teil wurde bereits auf die Frage eingegangen aus welchem Grund Webanwendungen ein Risiko darstellen. Weiterhin wurden mit der OWASP eine offene Community vorgestellt, die sich die sich zum Ziel gesetzt hat die Sicherheit von Anwendungen und Diensten im Internet zu verbessern.

In diesem Beitrag wird die Sicherheit von Webanwendungen in einem 6 Ebenen-Modell charakterisiert. Es ist angelehnt an das Modell vom Bundesamt für Sicherheit in der Informationstechnik (BSI), das in einem Maßnahmenkatalog die Schutzmaßnahmen zur Vorbeugung gegen typische Schwachstellen in Webanwendungen zusammenfasst.

Dieser Beitrag ist Teil einer Artikelserie:

2. Typischer Anwendungsfall

Ein Kunde hat in einem Webshop das Objekt seiner Begierde entdeckt. Mittels Mausklick wird es in den Warenkorb gelegt, der Bestellvorgang wird mit der Bezahlung und einer Bestellbestätigung abgeschlossen. Über das webbasierte Bestellsystem hat der Anwender im Anschluss Zugriff auf die Datenbank mit allen Bestelldaten – ein Kanal über den Daten nach außen abfließen können. Hat die Webanwendung eine entsprechende Sicherheitslücke sind diese Daten ungeschützt und können durch unbefugte Dritte abgefragt werden. Weder Firewall noch eine SSL-Verschlüsselung kann dies verhindern.

Das unbemerkte Abfließen der Daten muss an dieser Stelle die Webanwendung verhindern. Und genau das ist oftmals nicht möglich. Während der Entwicklungsphase haben sich etliche Programmierfehler eingeschlichen, die sich jetzt zum Nachteil ausnutzen lassen. Wie schon in ersten Beitrag formuliert, wird die Sicherheit von Webanwendungen hauptsächlich durch eine saubere Programmierung bestimmt. An dieser Aussage halte ich auch weiterhin fest muss sie allerdings etwas relativieren. Die Implementierungsebene ist zwar ein wichtiger Aspekt – allerdings nur einer von mehreren. In einem Modell wird versucht, diese unterschiedlichen Aspekte in Ebenen zu klassifizieren, auf denen Webanwendungen verwundbar sein können.

3. Das Ebenenmodell

Die Verwundbarkeit von Webanwendungen lässt sich in sechs Bereiche gliedern. Im Gegensatz zum OSI-Schichten-Modell baut das Ebenenmodell nicht unmittelbar aufeinander auf. Vielmehr lässt sich daran gut erkennen auf welchen Ebenen eine Webanwendung durch eine Schwachstelle, Bedrohung oder Angriffstechnik verwundbar sein kann.
6-Ebenen-Modell
Insgesamt dient das Modell in meinen Augen mehreren Anwendungszwecken:

  • Festlegung von Verantwortlichkeiten bei der Entwicklung von neuen Webanwendungen.
  • Einem ausführlichen Sicherheitscheck vor Inbetriebnahme, der alle Ebenen betrachtet.
  • Durchführung von Penetrationstest, die sich dadurch einer Ebene zuordnen lassen.
  • Erkennen / Definieren von Schwachstellen und Schutzmaßnahmen.

Erst wenn alle Ebenen und dessen Zusammenwirken untereinander untersucht wurden, kann eine Aussage über die Sicherheit einer Webanwendung getroffen werden.

Der Kuketz-Blog ist spendenfinanziert!

Unabhängig. Kritisch. Informativ. Praxisnah. Verständlich.

Die Arbeit von kuketz-blog.de wird vollständig durch Spenden unserer Leserschaft finanziert. Sei Teil unserer Community und unterstütze unsere Arbeit mit einer Spende.

Mitmachen ➡

3.1 Die Ebenen im Detail

  • Ebene 0 Netzwerk & Host: Eine Webanwendung steht in Abhängigkeit zur Sicherheit von Netzwerk, Server-Hardware und Hostsystemen. Die Ebene wird der Sicherheit einer Webanwendung nicht unmittelbar zugeordnet, wird allerdings als zwingende Voraussetzung betrachtet.
  • Ebene 1 System: Zu Ebene eins gehört all jene Software, die zum Funktionieren einer Webanwendung benötigt wird. Dazu zählen Webserver oder auch Datenbankserver und beteiligte Backend-Systeme.
  • Ebene 2 Technologie: Webanwendungen, die sensible Daten unverschlüsselt über das Internet transferieren oder bei der Passwortverwaltung unzureichend lange Schlüssel einsetzen, gelten als unsicher. Die Technologie wird falsch eingesetzt. Ebene zwei betrifft also die korrekte Verwendung einer Technologie, für den jeweiligen Einsatzzweck einer Webanwendung.
  • Ebene 3 Implementierung: Aktuell sind Webanwendungen aufgrund unbeabsichtigter Programmierfehler auf der Implementierungsebene am anfälligsten für Angriffe. Ebene drei ist daher die offensichtlichste Ebene im Bereich der Sicherheit – und gleichzeitig die unmittelbare Schnittstelle zum Anwender.
  • Ebene 4 Logik: Ebene vier umfasst die Abläufe innerhalb einer Anwendung und die Interaktion mit dem Benutzer. Anbieter von Webanwendungen tragen nicht nur für die Sicherheit der eigene Systeme eine Verantwortung, sondern auch für die beteiligten Nutzer. Dazu gehört zum Bespiel das Erzwingen von sicheren Passwörtern und Maßnahmen gegenüber Brute Force Attacken auf Benutzer-Accounts.
  • Ebene 5 Semantik: In dieser Ebene werden Missbrauchsmöglichkeiten wie Social Engineering, Phishing oder Identitätsdiebstahl betrachtet. Diese Ebene beschränkt sich nicht allein auf die Webanwendung sondern muss unternehmensübergreifend verstanden werden. Das Ziel ist einen Vertrauenskontext für die Interaktion mit dem Nutzer zu schaffen.

4. Problem: Bestehende Webanwendungen

Vor allem bei älteren Webanwendungen wurde weder das hier dargestellte 6-Phasen-Modell, noch ein vergleichbares Modell in der Entwicklungsphase berücksichtigt. Nachträglich Sicherheitsfunktionen zu integrieren erweist sich im Normalfall als schwierig und teuer. Was ist also zu tun, um bei bestehenden Webanwendungen ein definiertes Sicherheitsniveau zu etablieren? Dazu sind im Maßnahmenkatalog des BSI folgende Schritte empfohlen:

  • Absicherung der Web-Infrastruktur: Dazu zählt die Netzwerkabsicherung, Serverhärtung, Patchmanagement und aktuelle Security Bulletins im Auge zu behalten.
  • Bestandsaufnahme: Eine Sicherheitsanalyse der Webseite als Ganzes. Hier kann das 6-Ebenen-Modell als Ausgangspunkt dienen.
  • Penetrationstest / Sicherheitsanalyse: Gezielte Prüfung der Anwendung auf das Vorhandensein von Schwachstellen.
  • Risikoanalyse: Es stellt sich die Frage, ob sich es sich überhaupt lohnt eine entdeckte Sicherheitslücke zu schließen oder ob ein tragbares Risiko vorliegt. Allerdings darf hier nicht außer acht gelassen werden, dass eine unsichere Webanwendung unter Umständen indirekt die Sicherheit weiterer Systeme kompromittieren kann.
  • Web Application Firewalls: Zusätzliche Sicherheitsmaßnahmen in Form von WAFs können die Sicherheit erhöhen.

All diese Schritte werden nicht Teil der Artikelserie sein – das habe ich bereits im vorangegangen Beitrag durchblicken lassen. Einige davon möchte ich allerdings näher vorstellen und dann wieder den Praxisbezug herstellen. Dazu zählen:

  • Web Application Firewalls
  • Penetrationstests
  • Absicherung der Web-Infrastruktur

5. Fazit

Das 6-Ebenen-Modell untergliedert die Sicherheit von Webanwendungen in sechs Rubriken. Erst durch die Untersuchung aller Ebenen und dessen Zusammenwirken lässt sich eine Aussage über die Sicherheit treffen. Das Modell dient damit als Leitfaden für zukünftige Entwicklungen, Durchführung von Penetrationstest bei bestehenden Anwendungen und der Etablierung von Sicherheitsprozessen bzw. der Definition von Schutzmaßnahmen.

Im folgenden dritten Teil wird die Praxis wieder mehr in den Vordergrund gestellt. Es werden typische Angriffsszenarien auf Webanwendungen anhand von Beispielen vorgestellt – nach der Theorie eine willkommene Abwechslung.

Bildquellen:

Follow Pixabay: „Shopping“, https://pixabay.com/en/shopping-cart-wicker-easter-basket-94547/
PublicDomainPictures: „Arrow“, https://pixabay.com/en/arrow-board-destination-information-2564/

Über den Autor | Kuketz

Mike Kuketz

In meiner freiberuflichen Tätigkeit als Pentester / Sicherheitsforscher (Kuketz IT-Security) schlüpfe ich in die Rolle eines »Hackers« und suche nach Schwachstellen in IT-Systemen, Webanwendungen und Apps (Android, iOS). Des Weiteren bin ich Lehrbeauftragter für IT-Sicherheit an der Dualen Hochschule Karlsruhe, sensibilisiere Menschen in Workshops und Schulungen für Sicherheit und Datenschutz und bin unter anderem auch als Autor für die Computerzeitschrift c’t tätig.

Der Kuketz-Blog bzw. meine Person ist regelmäßig in den Medien (heise online, Spiegel Online, Süddeutsche Zeitung etc.) präsent.

Mehr Erfahren ➡

SpendeUnterstützen

Die Arbeit von kuketz-blog.de wird zu 100% durch Spenden unserer Leserinnen und Leser finanziert. Werde Teil dieser Community und unterstütze auch du unsere Arbeit mit deiner Spende.

Folge dem Blog

Wenn du über aktuelle Beiträge informiert werden möchtest, hast du verschiedene Möglichkeiten, dem Blog zu folgen:

Bleib aktuell ➡


Diskussion
HilfeWenn du konkrete Fragen hast oder Hilfe benötigst, sind das offizielle Forum oder der Chat geeignete Anlaufstellen, um dein Anliegen zu diskutieren. Per E-Mail beantworte ich grundsätzlich keine (Support-)Anfragen – dazu fehlt mir einfach die Zeit. Kuketz-Forum

Abschließender Hinweis

Blog-Beiträge erheben nicht den Anspruch auf ständige Aktualität und Richtigkeit wie Lexikoneinträge (z.B. Wikipedia), sondern beziehen sich wie Zeitungsartikel auf den Informationsstand zum Zeitpunkt des Redaktionsschlusses.

Kritik, Anregungen oder Korrekturvorschläge zu den Beiträgen nehme ich gerne per E-Mail entgegen.