State of Software Security: JavaScript schlägt Java und .NET

Veracodes Bericht zur Softwaresicherheit listet Softwaremängel auf und zeigt zudem, dass Programme in JavaScript im Verhältnis die wenigsten Probleme aufweisen.

In Pocket speichern vorlesen Druckansicht 24 Kommentare lesen
Hackerangriff

(Bild: dpa, Oliver Berg)

Lesezeit: 3 Min.
Von
  • Frank-Michael Schlede

Das auf Anwendungssicherheit spezialisierte Unternehmen Veracode hat seinen jährlichen Bericht zur Softwaresicherheit veröffentlicht: Daraus geht hervor, dass 75 Prozent der untersuchten Anwendungen Sicherheitsmängel aufweisen und dass von den drei wichtigsten Programmiersprachen, die in Unternehmen verwendet werden, JavaScript-Anwendungen tendenziell mit den wenigsten Problemen glänzen können. Zudem können diese dort schneller behoben werden, als dies bei Programmen der Fall ist, die in Java oder .NET-Sprachen geschrieben wurden.

In Gegensatz zu den vielen Umfragen zur Verbreitung und Beliebtheit von Programmiersprachen, die gerade zum Jahresanfang zahlreich vertreten sind, haben die Experten bei Veracode bei ihrer Untersuchung JavaScript nicht als beliebteste und am häufigsten eingesetzte Sprache ausgemacht: So verwenden 44 Prozent der Anwendungen in der Umfrage Java, 26 Prozent .NET-Sprachen und 14 Prozent JavaScript, während andere Sprachen wie Python, C++ und PHP zusammen auf knapp 15 Prozent kommen. Die Macher hinter dem Report führen das vor allen Dingen darauf zurück, dass sie sich bei ihrer Umfrage auf Geschäftsanwendungen konzentrieren.

Trotzdem ist die Untersuchung ein Erfolg für JavaScript: So weisen 82 Prozent der .NET-Anwendungen Fehler auf, während es bei Java 77,7 Prozent und bei den in JavaScript geschriebenen Anwendungen nur 55,8 Prozent sind. Die Forscher haben zudem die Schwachstellen auf diejenigen eingegrenzt, die einen hohen Schweregrad aufweisen. Dabei kommen sie zu dem Ergebnis, dass nur 9,5 Prozent der JavaScript-Anwendungen dafür anfällig sind. Bei Java beträgt der Anteil fast 20 Prozent und knapp 22 Prozent bei .NET. Schließlich haben sie auch noch feststellen können, dass die JavaScript-Schwachstellen schneller behoben werden: Die Hälfte der Schwachstellen wird danach im Durchschnitt in 116 Tagen behoben, verglichen mit 158 Tagen bei .NET und 243 Tagen bei Java.

Die Kurven in dieser Darstellung zeigen die Wahrscheinlickeit auf, dass eine gefundene Schwachstelle nach einem gewissen Zeitraum noch vorhanden ist.

(Bild: Veracode)

Grundsätzlich beruht der jährliche Report von Veracode, der in diesem Jahr bereits zum dreizehnten Mal erschienen ist, laut Aussage des Unternehmens auf Analyse-Scans von Code, der zum Testen eingereicht wurde. Dabei kommen neben einer dynamische Analyse, die das Laufzeitverhalten untersucht, eine statische Analyse zur Inspektion des Codes und eine Kompositionsanalyse zum Einsatz, die Bibliotheken von Drittanbietern mit einer Datenbank bekannter Schwachstellen abgleicht.

Während die Macher des Reports im letzten Jahr die Fehlerbehebungsrate nach Scantyp untersucht haben, betonen sie nun, dass sie dieses Jahr die Unterschiede in Bezug auf die jeweiligen Programmiersprachen herausfinden wollten. Als Methode zur Untersuchung der Zeit bis zum Eintreten eines Ereignisses haben sie dabei eine Reihe von Techniken eingesetzt, die als "Überlebensanalyse" (Survival Analysis) bezeichnet werden. Diese Art der Analyse berücksichtigt sowohl die abgeschlossenen als auch die noch offenen (noch nicht geschlossenen) Probleme. Sie soll ein realistisches Bild des Zeitrahmens geben, der für die Behebung einer Schwachstelle notwendig ist.

Der vollständige Report steht nach einer Registrierung über die Webseite von Veracode zum Download bereit.

(fms)