Schäden vermeiden

Web-Anwendungen sicher entwickeln

13.07.2009
Von Wolfgang Aigner

Implementierung

Das eigentliche Coding der Anwendung erfolgt in der Implementierungsphase, in der die Vorgaben aus den vorangegangenen Phasen zu realisieren sind. Unterstützt wird die Implementierung durch Frameworks und Programmierumgebungen, die mit bereits definierten Sicherheits-Features konfiguriert sind oder die Programmierung bestimmter Sicherheitsfunktionen erleichtern. Zudem sollten Programmierrichtlinien den Entwicklern klare Vorgaben für die verwendeten Frameworks, Programmierumgebungen und -sprachen an die Hand geben. Die bereits definierten Sicherheitstests sind weiter zu verfeinern oder zu ergänzen. In dieser Phase werden auch Installations- und Betriebshandbücher unter Berücksichtigung von Sicherheitsanforderungen für die Betriebsumgebung (etwa Härtungsvorgaben für Server) erstellt.

Sichere Anwendungen müssen ganzheitlich geschaffen werden. (Quelle: Secaron)
Sichere Anwendungen müssen ganzheitlich geschaffen werden. (Quelle: Secaron)

Für unseren Webshop werden Muster für die Einbindung von Interpretern erarbeitet. Beispiele hierfür sind die Ausgabe von HTML beziehungsweise Javascript, die Anbindung einer Datenbank mittels JPA (Java Persistence API) und die Anbindung an einen LDAP-Service.

Sicherheitskritische Funktionen wie die Nutzung von Security Design Patterns und das Aufrufen von Interpretern werden mittels Sourcecode-Reviews geprüft und gegebenenfalls korrigiert. Ferner sollen in den Build-Prozess integrierte Tools wie "Findbugs" und "Checkstyle" die Codequalität verbessern und Programmierfehler (auch sicherheitsrelevante) reduzieren.