Genau 80 Prozent des Codes aktueller Anwendungen im Firmendienst stammt aus im Schnitt 30 frei erhältlichen Libraries und Frameworks. Das ist die Kernaussage des Reports "The Unfortunate Reality of Insecure Libraries", herausgegeben von Aspect Security.
Dennoch werde das Risiko von Schwachstellen in diesen weit verbreiteten Code-Schnipseln weitgehend ignoriert und unterschätzt, so der Report. Dabei sind gerade die Einzelteile eine Einladung an Hacker, weil sie - einmal geknackt - prinzipiell Zugang zu einer großen Zahl von Unternehmensanwendungen und damit zu Daten, Transaktionen und Kommunikationsschnittstellen bieten.
Open-Source-Libraries bei den Fortune 500
Dass das kein Exotenproblem ist, zeigt eine andere Statistik des Berichts. Demnach nutzen mindestens die Hälfte der Fortune-500-Unternehmen weltweit Open-Source-Libraries für ihre Enterprise-Software. Und zwar nicht zu knapp: Die Bibliothek Spring MVC etwa fand in den vergangenen zwölf Monaten über 100 Mal pro Stunde den Weg in die Firmen-Codes, die Sicherheitsbibliothek Log4j wurde im selben Zeitraum 152.000 Mal heruntergeladen - mindestens, denn die Autoren des Reports halten ihre eigenen Zahlen noch für maßlos untertrieben.
Für die Studie hat Aspect Security 113 Millionen Downloads aus den Central Repositories der 31 populärsten Java-Frameworks und Sicherheitsbibliotheken ausgewertet. In diesem Repositorium warten mehr als 300.000 Bibliotheken auf ihre Verwendung in größeren Code-Sammlungen.
* Eine der zentralen Erkenntnisse der Studie: Mehr als jede vierte Library (29,8 Millionen Stück, 26 Prozent) hat bekannte Schwachstellen.
* Die am häufigsten heruntergeladenen Libraries mit Schwachstellen sind GWT, Xerces, Spring MVC, and Struts 1.x.
* Sinnigerweise sind Sicherheitsbibliotheken etwas häufiger der Gefahr von Schwachstellen ausgesetzt als die Frameworks für Web Applications.
Die meisten infizierten Libraries sind bisher unentdeckt
* Extrapoliert man die Zahl unentdeckter Bibliotheken aus dem bekannten Anteil von Schadcode, ergibt sich die bittere Wahrheit, dass wohl der größte Teil infizierter Libraries bislang unentdeckt in den Repositories schlummert.
* Das führt dazu, dass eine typische Java-Applikation mindestens eine schadhafte Library enthält, so der Report.
Eine durchschnittliche Library besteht aus zwischen 10.000 und 200.000 Codezeilen. Pro 10.000 Zeilen sind durchschnittlich fünf bis zehn Schwachstellen zu erwarten, die das Eindringen von Schadsoftware ermöglichen. Legt man diese Rechnung zugrunde, ist schwer vorstellbar, dass es überhaupt Bibliotheken gibt, die ohne Schadenspotenzial daherkommen. Wahrscheinlicher dagegen ist, dass sie noch niemand auf solche Schwachstellen untersucht hat.
Die Untersuchung zeige, schreiben die Autoren, dass die meisten Unternehmen offenbar keine ausreichenden Qualitäts- und Sicherheitskontrollen durchführten, um schadhaften Code aus den Anwendungen herauszuhalten. Das mag auch damit zusammen hängen, dass es einen schnellen Weg hin zur Anwendungssicherheit nicht gibt; nur breite und konsequente Reviews der eigen erstellten Anwendungen könne zum Aufspüren auch kleiner Einheiten von Schadcode führen.
Kein Votum gegen Open Source
Die Autoren wollen ihre Untersuchung ausdrücklich nicht als Votum gegen Open-Source-Software, zu der die meisten Bibliotheken zählen, verstanden wissen. Im Gegenteil: Sie bezeichnen sich selbst als Protagonisten einer offenen Software-Szene. Das dürfe aber nicht dazu führen, etwaige Sicherheitsprobleme zu ignorieren oder gar außer Acht zu lassen. Im Gegenteil appelliert die Studie an die Unternehmen, Libraries als kritische Teile ihrer Anwendungen zu sehen und durch gewissenhafte Tests und nötige Aufmerksamkeit das Eindringen von Schadsoftware ins Unternehmen zu verhindern.
Gesagt werden muss allerdings, dass die Studienautoren darauf nicht ganz uneigennützig hinweisen: Aspect Security ist spezialisiert auf Anwendungssicherheit. Mitarbeiter des Unternehmens untersuchen Programm-Code auf Schwachstellen.
Eines der größten Missverständnisse beim Gebrauch von offenen Software-Bibliotheken ist laut dem Studienbericht die Annahme, dass sie aufgrund ihrer großen Verbreitung und ihrer Transparenz in der Open-Source-Community unangreifbar sauber sind. Im Gegenteil kann unsauberer und ungewollt fehlerhafter Code ein Einfallstor für gezielte Angriffe sein, heißt es in dem Report.
Die Datenbank "Common Weakness Enumeration" (CWE) listet allein über 1.000 unterschiedliche Klassen solcher Fehler auf - genug Stoff für reichlich Schadcode in den Bibliotheken, aber für Entwickler nur schwer zu erkennen und zu vermeiden. Das Beste sei es daher, keiner einzigen Bibliothek von vorneherein einen Schadensfreiheitsrabatt einzuräumen, so die Studie, sondern dezidierte Untersuchungen des Codes bei jeder Library durchzuführen.