Bundesamt für Sicherheit in der Informationstechnik

G 2.157 Mangelhafte Auswahl oder Konzeption von Webanwendungen

Eine Webanwendung nutzt in der Regel ein verteiltes, komplexes System bestehend aus unterschiedlichen Komponenten ( z. B. Webserver, Applikationsserver, Hintergrundsysteme) und zugehörigen Schnittstellen. Oft sind diese in einer bestehenden Infrastruktur integriert, wobei der Schutz der Daten über alle Komponenten und Schnittstellen hinweg zu gewährleisten ist.

Individuell entwickelte Webanwendungen werden üblicherweise auf der Grundlage von Frameworks entworfen, die Basis-Funktionen zur Verfügung stellen und einsatzspezifisch konfiguriert bzw. abgesichert werden müssen. Im Rahmen der Konzeption sind Frameworks, Komponenten und Schnittstellen auszuwählen und deren Einbindung und Absicherung zu betrachten.

Im Gegensatz dazu ist bei der Konzeption von Webanwendungen auf Basis von Standardsoftware (z. B. Content Management Systeme) insbesondere auf die Auswahl der Software und die Konfiguration der Teilkomponenten zu achten. Dabei ist in diesem Zusammenhang unter Standardsoftware sowohl Free/Libre Open Source Software (FOSS/FLOSS) als auch kommerzielle Software zu verstehen.

Unabhängig davon, ob die Webanwendung als Individualentwicklung oder Standardsoftware umgesetzt wird, kann eine unzureichende Berücksichtigung deren Komplexität (z. B. von Frameworks, Komponenten und Schnittstellen) bei der Auswahl und Konzeption von Webanwendungen den Schutz der Daten gefährden.

Durch grundlegende Fehlentscheidungen in der Planungsphase können Schwachstellen entstehen, die möglicherweise nicht oder nur durch kostenintensive Nachbesserungen behoben werden können.

Beispiele:

Auswahl von Webanwendungen auf Basis von Standardsoftware

  • Die Einsatzumgebung erfüllt nicht die Mindestanforderungen der Webanwendungen an die Hard- und Software. Somit ist die Integration in die bestehende Infrastruktur (z. B. Anbindung an eine Datenbank oder einen Identitätsspeicher) nicht möglich.
  • Das ausgewählte Produkt verfügt nicht über eine ausreichende Sicherheitsfunktionalität, um schützenswerte Daten vor unbefugten Zugriffen zu schützen. Daher müssen die notwendigen Schutzmechanismen nachträglich hinzugefügt werden. Sollte das Produkt nicht um Schutzmechanismen erweiterbar sein, muss der Schutz perimetrisch (z. B. Web Application Firewall) realisiert werden. Hierdurch entstehen zusätzliche Aufwände.

Entwurf der Software-Architektur der Webanwendung

  • Eine Sicherheitsfunktion (z. B. Authentisierung, Autorisierung) wird nicht nur an einer Stelle umgesetzt und verwendet, sondern ist mehrfach in der Webanwendung realisiert. Wird diese Sicherheitsfunktion an den verschiedenen Stellen unterschiedlich umgesetzt, führt dies zu einem uneinheitlichen Sicherheitsniveau. Darüber hinaus erhöht sich der Entwicklungs- und Wartungsaufwand bei redundant umgesetzten Funktionen.
  • Die Sicherheitsfunktion wird ausschließlich clientseitig (z. B. im Web-Browser) umgesetzt. Wird die Konfiguration des Web-Browsers durch einen Angreifer manipuliert, können die clientseitig umgesetzten Sicherheitsfunktionen umgangen werden. Somit kann der Angreifer unbefugt auf schützenswerte Daten und Funktionen zugreifen.

Integration und Betrieb der Webanwendung

  • Die Hintergrundsysteme werden unzureichend abgesichert und dadurch ist die Datenbank der Webanwendung aus dem Internet erreichbar. Somit kann ein Angreifer direkt auf die Datenbank und die dort hinterlegten Daten zugreifen, ohne die Funktionen der Webanwendung zu nutzen. Die Sicherheitsmechanismen der Webanwendung werden demnach umgangen und können den unbefugten Zugriff auf die gespeicherten Daten in Hintergrundsystemen nicht verhindern.
  • Es werden Anwendungskomponenten oder Frameworks zum Session-Management in einer unsicheren Konfiguration eingesetzt. Infolgedessen werden kurze SessionIDs mit einer langen Laufzeit verwendet. Somit kann ein Angreifer die SessionID eines authentisierten Benutzers erraten und die zugeordnete Sitzung übernehmen (siehe G 5.169 Unzureichendes Session-Management von Webanwendungen und Web-Services ).

Erweiterung der Webanwendung

  • Bestehende Sicherheitsfunktionen der Webanwendung werden durch falsch umgesetzte Funktionserweiterungen außer Kraft gesetzt. Wird die Webanwendung um ein Formular ergänzt, bei dem die Eingabedaten nicht validiert werden, kann dies von einem Angreifer für den unbefugten Zugriff auf schützenswerte Daten genutzt werden (z. B. bei einem SQL -Injection-Angriff; siehe G 5.131 SQL-Injection ).

Stand: 13. EL Stand 2013