OWASP
Sicherheit, die beim Entwickeln mitgedacht werden muss
OWASP steht für Open Worldwide Application Security Project. Die gemeinnützige Organisation beschäftigt sich mit der Sicherheit von Software und stellt Entwicklern frei zugängliche Empfehlungen, Standards und Werkzeuge zur Verfügung.
Besonders bekannt ist die OWASP Top 10 – eine Zusammenstellung der wichtigsten und häufigsten Sicherheitsrisiken für Webanwendungen.
Die OWASP Top 10
Benutzer können auf Funktionen oder Daten zugreifen, für die sie keine Berechtigung haben.
Sensible Daten werden unzureichend geschützt, beispielsweise durch fehlende oder falsch eingesetzte Verschlüsselung.
Nicht vertrauenswürdige Eingaben werden als Bestandteil von Befehlen oder Abfragen verarbeitet. Beispiele sind SQL Injection oder Command Injection.
Sicherheitsprobleme entstehen bereits durch das Konzept oder die Architektur einer Anwendung und lassen sich später nur schwer beheben.
Unsichere Konfigurationen, unnötige Dienste, Standardpasswörter oder falsch konfigurierte Server können eine Anwendung angreifbar machen.
Veraltete oder bekannte verwundbare Bibliotheken, Frameworks und andere Abhängigkeiten können Sicherheitslücken in die eigene Anwendung bringen.
Fehler bei Anmeldung, Passwortverwaltung, Sessions oder anderen Authentifizierungsmechanismen können dazu führen, dass Benutzerkonten übernommen werden.
Manipulierte Abhängigkeiten, unsichere Updates oder nicht ausreichend abgesicherte Entwicklungs- und Deployment-Prozesse können die Integrität einer Anwendung gefährden.
Wenn sicherheitsrelevante Vorgänge nicht ausreichend protokolliert und überwacht werden, können Angriffe unbemerkt bleiben.
Eine Anwendung wird dazu gebracht, Anfragen an Ressourcen zu senden, die eigentlich nicht vom Benutzer erreichbar sein sollten.
Sicherheit ist mehr als eine Checkliste
Die OWASP Top 10 sind keine vollständige Sicherheitsprüfung. Sie helfen dabei, häufige Risiken zu erkennen und bereits bei der Entwicklung zu berücksichtigen.
Das gehört zu den Themen, mit denen sich ein guter Entwickler zusätzlich beschäftigen muss. Diese Aspekte werden beim Vibe Coding nicht automatisch berücksichtigt – auch dann nicht, wenn die KI den Code technisch korrekt erzeugt.
KI kann beim Entwickeln unterstützen. Verantwortung für Architektur, Berechtigungen, Datenverarbeitung und Sicherheit bleibt aber beim Entwickler.