Web/API-PentestJan Kahmen6 min Lesezeit

Sicherere Web-Anwendungen mit dem OWASP-Framework

Das OWASP (Open Web Application Security Project) ist eine NGO, die sich zum Ziel gesetzt hat, die Sicherheit von Web-Anwendungen zu verbessern.

Das OWASP (Open Web Application Security Project) ist eine gemeinnützige Organisation, die sich der Verbesserung der Sicherheit von Web-Anwendungen verschrieben hat. Sämtliche Ressourcen und Materialien stellt die Organisation kostenfrei auf ihrer Website bereit. Das OWASP-Framework bietet Unternehmen einen systematischen Leitfaden, um sichere Standards, Prozesse und Lösungen in die Entwicklung von Web-Anwendungen zu integrieren. Im Folgenden stellen wir das Framework vor und zeigen, wie Sie es nutzen, um sicherere Web-Anwendungen zu entwickeln.

In fünf Phasen systematisch mehr Sicherheit für Web-Anwendungen erzielen

Das OWASP-Framework unterteilt die Anwendungsentwicklung in mehrere Phasen. Der Fokus liegt dabei nicht auf der reinen Programmierung, sondern auf dem gesamten Entwicklungsprozess -- von der Definition von Standards und dem Systemdesign über die Implementierung und Auslieferung bis hin zur regelmäßigen Wartung der Anwendung.

Planung: Standards definieren und dokumentieren

Bereits vor der eigentlichen Entwicklung müssen die Grundlagen für eine sichere Web-Anwendung geschaffen werden. Im Software Development Lifecycle legen Sie fest, welche Sicherheitsmaßnahmen in welcher Phase auf welche Weise umgesetzt werden. Für jede Phase sollten geeignete Standards, Best Practices und die zugehörige Dokumentation vorliegen. Auf diese Weise schaffen Sie einen einheitlichen Bezugsrahmen für künftige Entwickler und gewährleisten Konsistenz und Nachvollziehbarkeit über das ursprüngliche Team hinaus.

Darüber hinaus sollten Sie in dieser Phase Messkriterien für die Sicherheit der Anwendung definieren. Nur mit klaren, einheitlichen Messkriterien lassen sich aussagekräftige Tests durchführen, die Sicherheitslücken sichtbar machen und deren Behebung ermöglichen.

Design: Spezifische Sicherheitsanforderungen definieren und testen

In der Designphase geht es darum, konkrete Sicherheitsanforderungen zu definieren, die in der späteren Anwendung umgesetzt werden sollen. Diese Anforderungen müssen getestet werden, da sie auf Annahmen beruhen, die sich in der Praxis nicht zwangsläufig bestätigen. Anschließend sollten Sie realistische Bedrohungsszenarien entwickeln und prüfen, ob die entworfene Architektur diese Szenarien wirksam verhindert.

Entwicklung: Vom Code-Walkthrough zum Code-Review

In der Entwicklungsphase werden die zuvor getroffenen Designentscheidungen in Code umgesetzt. In der Praxis fallen dabei jedoch immer wieder neue Detailentscheidungen an, weil das Designdokument bestimmte Aspekte nicht abdeckt oder keine Richtlinien dafür existieren. Deshalb muss auch während der Entwicklung der Code fortlaufend auf potenzielle Sicherheitsrisiken geprüft werden. Eine bewährte Plattform für automatisierte Sicherheitsscans ist beispielsweise OWASP ZAP.

Im ersten Schritt sollten die Entwickler einen Code-Walkthrough durchführen, bei dem sie dem Sicherheitsverantwortlichen die Gesamtlogik und Funktionsweise des Codes erläutern. Eine Checkliste hierzu stellt Microsoft bereit. Im zweiten Schritt folgt dann ein statisches Code-Review, bei dem der Code systematisch auf Sicherheitslücken untersucht wird. Grundlage hierfür ist ein Dokument, das typische Fehlerquellen definiert. Die OWASP Top 10 beschreiben beispielsweise die zehn häufigsten Sicherheitslücken in Web-Anwendungen. Diese Liste basiert auf Untersuchungen des OWASP und wird regelmäßig aktualisiert. Auch Programmiersprachen und Entwicklungsumgebungen stellen häufig eigene Dokumente für Code-Reviews bereit.

Auslieferung: Sicherheit in der Praxis mit Penetrationstests überprüfen

Statische Code-Reviews decken viele gängige Fehler bereits während der Entwicklung auf. Manche Schwachstellen werden von den Standarddokumenten jedoch nicht erfasst, weil sie anwendungsspezifisch oder einzigartig sind. Daher sind auch nach dem Go-live weitere Tests erforderlich. Beim Penetrationstest überprüft ein externer Sicherheitsberater die Anwendung gezielt auf Schwachstellen -- mit denselben Werkzeugen und Strategien, die auch ein realer Angreifer einsetzen würde.

Wartung: Regelmäßige Health-Checks für dauerhafte Sicherheit

Gerade Web-Anwendungen werden regelmäßig aktualisiert: Die Benutzeroberfläche verändert sich, neue Features kommen hinzu und bestehende Funktionen werden angepasst. All das kann die Sicherheit der Anwendung beeinträchtigen -- selbst bei scheinbar kleinen und harmlosen Änderungen. Regelmäßige Health-Checks stellen sicher, dass keine neuen Sicherheitsrisiken entstanden sind. Diese sollten mindestens vierteljährlich stattfinden; bei häufigen Updates empfiehlt das OWASP monatliche Überprüfungen. Grundsätzlich gilt: Jede Änderung muss getestet werden, um unerwartete Auswirkungen auf die Sicherheit auszuschließen.

Fazit: Sicherere Web-Anwendung mit dem OWASP-Framework

Das OWASP-Framework bietet Unternehmen einen strukturierten Leitfaden, um Sicherheitsaspekte von Anfang an in jeder Phase der Web-Entwicklung zu berücksichtigen. Die Stärke des Frameworks liegt darin, dass Sicherheit als Querschnittsanforderung verstanden wird, die in sämtlichen Phasen relevant ist. Unternehmen erhalten damit ein Werkzeug, um proaktiv auf potenzielle Sicherheitsbedrohungen zu reagieren. Das reduziert nicht nur die Wahrscheinlichkeit eines erfolgreichen Angriffs, sondern ist auch kosteneffizienter als ein reaktiver Ansatz. Da Sicherheitsaspekte bereits in der Designphase einfließen, lassen sich kostspielige nachträgliche Eingriffe in die Architektur vermeiden. Weitere Informationen finden Sie in dem Buch "Web Security Testing Approaches: Comparison Framework".

Unsere Services