G 2.158 Mängel bei der Entwicklung und der Erweiterung von Webanwendungen
Wird eine Webanwendung mit fehlenden oder unzureichenden Vorgaben und Standards entwickelt bzw. erweitert, so kann dies zu Fehlern, Qualitätseinbußen oder unvollständig umgesetzten Funktionalitäten führen. Fehler, die in frühen Entwicklungsphasen der Anwendung gemacht werden, werden häufig erst in einem fortgeschrittenen Entwicklungsstadium entdeckt. Um diese Fehler nachträglich zu beheben, müssen oft aufwendige Änderungen vorgenommen werden. Dadurch können die Entwicklungskosten deutlich zunehmen. Im Fall von grundlegenden, architektonischen Fehlern ist die Webanwendung gegebenenfalls sogar komplett neu zu entwickeln.
Gibt es darüber hinaus keine Vorgaben für die Umsetzung von Sicherheitsmechanismen, wird der erforderliche Schutzbedarf ( z. B. hoher Schutzbedarf bezüglich Verfügbarkeit) der zu verarbeitenden Daten möglicherweise nicht erfüllt.
Nachfolgend werden Auswirkungen von fehlenden Vorgaben bei der Entwicklung und Erweiterung von Webanwendungen beispielhaft aufgeführt.
- Aufgrund eines fehlenden Vorgehensmodells bei der Softwareentwicklung (Software Development Lifecycle) werden nicht alle Entwicklungsphasen strukturiert durchlaufen, sodass Sicherheitsaspekte gar nicht oder erst in einer späten Entwicklungsphase berücksichtigt werden. In der Folge sinkt die Qualität der Sicherheitsfunktionen, wodurch das angestrebte Sicherheitsniveau nicht erreicht wird oder die Entwicklungskosten aufgrund notwendiger Nachbesserungen steigen.
- Fehlende Programmierrichtlinien (Coding Guidelines) führen zu einer uneinheitlichen Struktur und unterschiedlichen Ausprägungen von Programmierstilen und Sicherheitsmechanismen. Die Einarbeitung in den Programmcode bei der Erweiterung oder Wartung der Webanwendung wird dadurch erschwert. Demzufolge sind nachträgliche Änderungen und Erweiterungen nur mit hohem Aufwand umzusetzen und mit steigender Komplexität auch fehleranfälliger.
- Durch die falsche Spezifikation von (sicherheitsrelevanten) Testfällen und die unvollständige Auswahl von Testdaten werden nicht alle denkbaren Anwendungsfälle abgedeckt, sodass Fehler unerkannt bleiben. Wird z. B. die Komponente einer Webanwendung zur Filterung von Eingabedaten auf Basis unzureichender Testfälle und Testdaten geprüft, so werden unvollständig umgesetzte Filtermechanismen nicht erkannt.
- Falls funktionale und rechtliche Anforderungen an die Barrierefreiheit nicht erfüllt werden, ist die Webanwendung nur eingeschränkt von Menschen mit Behinderung nutzbar.