OWASP Top 10 Web-Skriptsprachen wie PHP als Fehlerquelle

Redakteur: Stephan Augsten

Die Programmierung mit PHP, Classic ASP und ColdFusion führt offenbar zu vielen Fehlern: Mindestens eine Web-Application-Schwachstelle aus der OWASP Top 10 findet sich in 80 Prozent solcher Skript-basierten Anwendungen. Dies wirkt sich unweigerlich auch auf die Sicherheit im Internet aus.

Anbieter zum Thema

Wer fürs Web programmiert, der sollte einige Grundsätze der sicheren Anwendungsentwicklung beachten.
Wer fürs Web programmiert, der sollte einige Grundsätze der sicheren Anwendungsentwicklung beachten.
(Bild gemeinfrei: Clker-Free-Vector-Images - Pixabay.com)

Bei den OWASP Top 10 handelt es sich um eine Rangliste der zehn schwerwiegendsten Schwachstellen von Web-Anwendungen. Und die dort gelisteten Sicherheitslücken betreffen vier von fünf Skript-basierten Applikationen, warnt Veracode in einer Ergänzung zum „State of Software Security 2015“-Reports (SoSS-Report).

Besonders problematisch wird die Zahl vor dem Hintergrund, dass PHP-Anwendungen besonders häufig mit den drei gängigsten Content-Management-Systemen (CMS) WordPress, Drupal und Joomla in Verbindung stehen. Die Analyse von Veracode zeigt, dass 86 Prozent der untersuchten PHP-basierten Anwendungen mindestens eine Cross-Site-Scripting-Schwachstelle und 56 Prozent mindestens eine SQL Injection beinhalteten.

Das gilt auch für Skript-Engines und Middleware wie Classic ASP und ColdFusion. Die Wahrscheinlichkeit, dass entsprechend codierte Anwendungen Schwachstellen enthalten, ist bei Skriptsprachen zweimal höher als bei moderneren Sprachen wie etwa .NET und Java.

Der SoSS-Report 2015 basiert auf Daten, die innerhalb der vergangenen 18 Monate im Rahmen von mehr als 200.000 automatisierten Assessments für Veracode-Kunden aus verschiedensten Branchen und Ländern untersucht wurden. Der Report beantwortet Fragen wie: Gibt es Programmiersprachen, die sicherer sind als andere? Was müssen Design-Teams beachten, bevor sie mit ihren Entwicklungsprojekten beginnen? Die Ergebnisse beinhalten:

  • Das Design der Programmiersprache ist wichtig für die Sicherheit: Manche Sprachen sind von Grund auf so gestaltet, dass sie bestimmte Arten von Schwachstellen verhindern. So müssen Entwickler bei Java und .NET beispielsweise keine Memory-Kapazitäten mehr direkt zuteilen, weshalb Schwachstellen, die genau darauf abzielen (zum Beispiel Buffer Overflows) gar nicht mehr zum Zuge kommen. Gleichermaßen verhindert das Default-Verhalten mancher ASP.NET-Kontrollen Schwachstellen, die mit Cross-Site-Scripting zusammenhängen.
  • Die Betriebsumgebung der Programmiersprache ist wichtig für die Sicherheit: Manche Schwachstellen sind nur in bestimmten Ausführungsumgebungen relevant. So sind Lücken, durch die Informationen gestohlen werden können, besonders in mobilen Umgebungen gefährlich, da diese große Mengen persönlicher Daten mit den Always-On-Möglichkeiten kombiniert.
  • Projektteams für die Entwicklung mobiler Anwendungen müssen sich auf Verschlüsselung konzentrieren: 87 Prozent der Android Apps und 80 Prozent der iOS Apps haben mit Verschlüsselungsproblemen zu kämpfen. Obwohl die Entwickler hier also zu wissen scheinen, dass sie Verschlüsselungsmechanismen integrieren müssen, um sensible Daten zu schützen, sind nur wenige von ihnen in der Lage, diese auch korrekt zu implementieren. Das ist besonders hinsichtlich der wachsenden Nutzung von mobilen Anwendungen im Gesundheitswesen bedenklich.

Der Report zeigt laut Veracode außerdem, dass die Fix-Rate für Schwachstellen durch den Einsatz von „White Box“ oder statischen Analysen (SAST) im Vergleich zum Einsatz von „Black Box“ oder dynamischen Analyseverfahren (DAST) um 28 Prozent höher liegt. Eine einmalige Beurteilung reiche zur Bewertung der Sicherheit von Anwendungen allerdings ohnehin nicht aus

Als Schulungsanbieter verweist Veracode auch auf das eigene eLearning-Angebot: durch sichere Anwendungsentwicklung ließen sich demnach viele Schwachstellen vermeiden. Der vollständige „State of Software Security Report: Focus on Application Development“ steht auf der Veracode-Webseite zur Verfügung.

(ID:44400283)