Versteckte Fehler im Open-Source-Code können zu einem neuen Heartbleed führen

Versteckte Fehler im Open-Source-Code können zu einem neuen Heartbleed führen

Veracode, Anbieter von Anwendungssicherheitstests, stellte fest, dass nach einem ersten Scan sieben von zehn Anwendungen eine Sicherheitslücke in einer Open-Source-Bibliothek enthielten. Die neue Studie des Unternehmens zeigt, wie der Einsatz von Open Source Schlupflöcher schaffen, das Risiko erhöhen und die Sicherheitsschulden erhöhen kann. Um seinen neuen State of Software Security (SOSS)-Bericht: Open Source Edition zu erstellen, analysierte Veracode Open-Source-Komponentenbibliotheken in seiner Datenbank mit 85,000 Anwendungen, die 351,000 einzigartige externe Bibliotheken repräsentieren. Fast alle modernen Anwendungen und sogar diejenigen, die kommerziell verkauft werden, basieren auf bestimmten Open-Source-Komponenten. Ein einzelner Fehler in einer Bibliothek wirkt sich jedoch auf alle Anwendungen aus, die diesen Code verwenden. In einer Pressemitteilung erklärte Chris Eng, Forschungsdirektor von Veracode, wie die Verwendung von Open-Source-Bibliotheken die Angriffsfläche einer Anwendung erweitern kann, und sagte: „Open-Source-Software weist überraschend viele Mängel auf. Die Angriffsfläche einer Anwendung ist nicht auf ihren eigenen Code und Code aus explizit enthaltenen Bibliotheken beschränkt, da diese Bibliotheken ihre eigenen Abhängigkeiten haben. In Wirklichkeit führen Entwickler viel mehr Code ein, aber wenn sie die Korrekturen richtig kennen und anwenden, können sie das Risiko verringern. "

Open Source Bibliotheken

Laut Veracode sind in mehr als 75 % der Anwendungen für jede Programmiersprache häufig enthaltene Bibliotheken vorhanden. Die Untersuchung des Unternehmens ergab außerdem, dass fehlerhafte Bibliotheken indirekt im Code gefunden werden, da 47 % der in Apps gefundenen Bibliotheken vorübergehender Natur sind und nicht direkt auf Entwickler, sondern auf Upstream-Bibliotheken abzielen. Glücklicherweise können die von der Bibliothek in den meisten Anwendungen verursachten Mängel jedoch bereits mit einem kleinen Versionsupdate behoben werden, da größere Bibliotheksaktualisierungen im Allgemeinen nicht erforderlich sind. Allerdings können sich Entwickler nicht auf Common Vulnerabilities and Exposures (CVEs) verlassen, um Bibliotheksfehler zu verstehen, da diese nicht in allen Bibliotheken vorhanden sind. Beispielsweise verfügen mehr als 61 % der fehlerhaften JavaScript-Bibliotheken nicht über entsprechende CVEs. Der Bericht stellte außerdem fest, dass einige Programmiersprachen-Ökosysteme tendenziell viel mehr transitive Abhängigkeiten anziehen als andere. In mehr als 80 % der JavaScript-, Ruby- und PHP-Anwendungen sind die meisten Bibliotheken transitive Abhängigkeiten. Auch die Auswahl der Programmiersprache spielt sowohl im Hinblick auf die Größe des Ökosystems als auch auf die Häufigkeit von Fehlern in diesen Ökosystemen eine Rolle. Beispielsweise besteht bei der Einbeziehung einer bestimmten PHP-Bibliothek eine Wahrscheinlichkeit von mehr als 50 %, dass eine Sicherheitslücke entsteht. Unter den zehn häufigsten Ausfällen von OWASP sind Schwachstellen bei der Zugangskontrolle am häufigsten und machen mehr als 25 % aller Ausfälle aus. Cross-Site Scripting (XSS) ist die häufigste Schwachstellenkategorie in Open-Source-Bibliotheken (30 %), gefolgt von unsicherer Deserialisierung (23.5 %) und fehlerhafter Zugriffskontrolle (20), 3 %.