Bundesamt für Sicherheit in der Informationstechnik

G 4.85 Fehlende oder mangelhafte Fehlerbehandlung durch Webanwendungen und Web-Services

Treten Fehler während des Betriebs einer Webanwendung oder eines Web-Service auf, kann dies unvorhersehbare Auswirkungen haben und die Verfügbarkeit der Webanwendung oder des Web-Service bis zur Unerreichbarkeit einschränken. So werden gegebenenfalls Aktionen unvollständig durchgeführt, zwischengespeicherte Zustände und Daten gehen verloren oder Sicherheitsmechanismen fallen aus. Werden Fehler nicht korrekt behandelt, kann sowohl der Betrieb als auch der Schutz der Funktionen und Daten einer Webanwendung oder eines Web-Service nicht mehr gewährleistet werden.

Beispiele:

  • Im laufenden Betrieb belegen Webanwendungen und Web-Services üblicherweise Ressourcen, wie offene Netz- oder Datei-Streams, um auf Hintergrundsysteme, zwischengespeicherte Zustände oder sonstige Daten zugreifen zu können. Solange die Webanwendung/der Web-Service auf diese Ressourcen zugreift, sind diese häufig für den exklusiven Zugriff reserviert und können nicht durch andere Prozesse verwendet werden. Werden im Fehlerfall die belegten Ressourcen nicht ordnungsgemäß freigegeben, so bleiben diese gegebenenfalls in einem blockierten Zustand. Dadurch können Daten verloren gehen, da beispielsweise zwischengespeicherte Änderungen nicht ordnungsgemäß geschrieben werden können.
  • Treten während der Ausführung der Sicherheitskomponenten (zum Beispiel Authentisierung, Autorisierung) Fehler auf und werden diese unzureichend behandelt, so werden angeforderte Aktionen möglicherweise unkontrolliert ausgeführt. Aktionen, die im normalen Zustand abgelehnt werden, könnten im Fehlerfall zugelassen werden.
  • Fehlermeldungen können detaillierte Hinweise zur Fehlerursache beinhalten, die für den Benutzer nicht notwendig sind jedoch gezielte Angriffe ermöglichen. Zu diesen detaillierten Informationen gehören Stacktraces, Debugging-Ausgaben, Fehlermeldungen bei ungültigen SQL -Abfragen, Angaben zu verwendeten Webservern und anderen Anwendungskomponenten. Auch scheinbar unkritische Informationen, wie die Meldung bei einer fehlgeschlagenen Anmeldung mit Benutzernamen und Passwort, dass der Benutzernamen bekannt ist, aber ein ungültiges Passwort eingegeben wurde, können zum Beispiel im Rahmen von Brute-Force-Angriffen ausgenutzt werden. In diesem Fall weiß der Angreifer, dass der Benutzername existiert.
  • Wird die Fehlerbehandlung ausschließlich auf dem Client (zum Beispiel Webbrowser oder Anwendung, welche einen Web-Service nutzt) durchgeführt, kann sie manipuliert oder außer Kraft gesetzt werden. Ein Angreifer kann somit die Behandlung der Fehler beeinflussen und steuern.

Stand: 14. EL Stand 2014