G 5.167 Fehler in der Logik von Webanwendungen und Web-Services

Damit Geschäftsprozesse von einer Webanwendung abgebildet werden können, werden in der Regel einzelne Funktionen zu einer komplexen Anwendungslogik zusammengefasst. Dabei ist es für einen Prozess entscheidend, in welcher Reihenfolge die einzelnen Funktionen oder Prozessschritte aufgerufen werden. In einer Service-orientierten Architektur beschreibt der Begriff "Orchestrierung" die Zusammenstellung einzelner Web-Services. In der Orchestrierung werden die logische Abfolge der Web-Services sowie die Bedingungen zum Aufruf und sämtliche Abhängigkeiten der einzelnen Services untereinander definiert.

Werden solche logischen Abläufe bei sicherheitsrelevanten Funktionen verwendet, wie zum Beispiel bei der Authentisierung von Benutzern, kann dieser Ablauf unvorhergesehen manipuliert (zum Beispiel durch Übergehen von Einzelschritten) und somit gesteuert werden. Einem Angreifer ist es so unter Umständen möglich, den Sicherheitsmechanismus zu umgehen.

Darüber hinaus können schadhafte Aktionen auch ausgelöst werden, wenn Funktionen der Webanwendung oder des Web-Service für nicht vorgesehene Zwecke verwendet werden können. Beispielsweise kann ein Kontaktformular einer Webanwendung zum Versand von SPAM missbraucht werden, wenn die vorgegebene Kontaktadresse des Formulars geändert werden kann.

Weitere Beispiele: