Studie: Gewählte Web-Programmiersprache sagt nicht viel über Sicherheit aus

Das Unternehmen WhiteHat Security hat Sprachen wie .NET, Java und PHP in puncto Sicherheit untersucht. Die Ergebnisse sind nun in einer Studie verfügbar.

In Pocket speichern vorlesen Druckansicht 121 Kommentare lesen
Lesezeit: 3 Min.
Von
  • Julia Schmidt

Das Unternehmen WhiteHat Security ist mit einer Studie der Frage nachgegangen, ob die landläufige Meinung, dass sich jede Sprache – Fachwissen des Entwicklers vorausgesetzt – sicher einsetzen lässt, der Wahrheit entspricht oder ob es doch die eine oder andere gibt, die schon aus sich heraus die Wahrscheinlichkeit auf Sicherheitslücken vergrößert. Die Analyse beschränkte sich auf serverseitig eingesetzte Web-Programmiersprachen und betrachtete vor allem Anfälligkeit für unterschiedliche Schwachstellen sowie Faktoren wie die Dauer vom Erkennen einer solchen bis zu ihrer Behebung.

Als Datenbasis für die Untersuchung des Unternehmens dienten Untersuchungen zu Schwachstellen von über 30.000 Webseiten, die eines der hauseigenen Sicherheitsprodukte nutzten. Anhand von Dateiendung und Informationen im HTTP-Header ließen sich die genutzten Sprachen bestimmen. Nach Auswertung der Daten konnten die WhiteHat-Mitarbeiter feststellen, dass .NET mit rund 28 Prozent für die meisten der geprüften Webangebote zum Einsatz kommt, gefolgt von Java mit rund 25 und ASP mit knapp 16 Prozent. Weniger Verwendung fanden PHP (11 Prozent), ColdFusion (6 Prozent) und Perl (3 Prozent) bei den Unternehmenskunden. Die restlichen Prozent verteilten sich auf Sprachen wie Ruby und Go, wobei man die Probengröße in diesen Fällen als zu gering einstufte, um sie genauer berücksichtigen zu können.

Die meisten Schwachstellen stellt die Studie in .NET-Anwendungen (31 Prozent) fest, gefolgt von Java (28 Prozent) und ASP (15 Prozent). Perl schnitt hier mit nur 2 Prozent am besten ab, allerdings ist zu beachten, dass die in .NET und Java programmierten Anwendungen eine deutlich größere Komplexität und einen entsprechenden Umfang besitzen, sodass sie mehr Angriffspunkte bieten. Ein signifikanter Unterschied lässt sich den Untersuchungen zufolge deshalb also – trotz der prozentualen Differenzen – nicht ausmachen.

Insgesamt treten am häufigsten Sicherheitslücken auf, die Cross-Site-Scripting (XSS) ermöglichen – einzige Ausnahme stellt .NET dar, hier kommt es häufiger zu Informationslecks. Am Anfälligsten für SQL Injection zeigt sich ColdFusion (11 Prozent), bei vielen der untersuchten Angriffsarten gibt es allerdings keinen Zusammenhang zur verwendeten Sprache. Die Unterschiede in den Zahlen bei XSS lassen WhiteHat darauf schließen, dass es hier Verbindungen zur Sprache gibt. Allerdings ist man der Meinung, dass regelmäßige Prüfungen und auf diese Probleme konzentrierte Korrekturgänge als Gegenmaßnahme genügen.

Eine Betrachtung der Geschwindigkeit, in der Schwachstellen beseitigt wurden, legte keinen Zusammenhang zur verwendeten Sprache nahe, wobei allerdings auffiel, dass ASP-Anwendungen nach dem Auftauchen von Schwachstellen deutlich länger unbehandelt blieben. Das Unternehmen schließt darauf, dass es sich bei diesen Seiten eher um Legacy Code handelt und strategische Entscheidungen zu fällen sind, bevor man Ressourcen investiert.

Insgesamt kommt die Studie zu dem Schluss, dass sich die Wahl der Programmiersprache nach den umzusetzenden Anforderungen und den benötigten Funktionen richten soll. Auf den übermäßigen Gebrauch von Frameworks ist hingegen zu verzichten, da sie Entwicklern beim Beheben von Fehlern eventuell im Weg stehen könnten, wenn sie nicht genügend mit ihnen vertraut sind. Statt dessen sollen Programmierer häufig Codereview betreiben und allgemeine Regeln zur Verbesserung der Softwarequalität befolgen. (jul)