Studie zeigt: Updates werden nicht übernommen Veraltete Codeschnipsel von Stack Overflow gefährden Softwaresicherheit

Codeschnipsel sind nicht statisch, sondern werden immer weiterentwickelt. Bisher nicht untersucht wurde jedoch die Frage, ob Entwickler, die Codeschnipsel in ihre Software kopieren, diese auch updaten, wenn es Veränderungen an den Codeschnipseln auf Stack Overflow gibt.

Bild: iStock, die-phalanx
26.08.2024

Eine weit verbreitete Praxis bei der Software-Entwicklung ist es, sogenannte Codeschnipsel von der Plattform Stack Overflow zu verwenden. Eine Studie des CISPA-Forschers Alfusainey Jallow zeigt jetzt auf, dass damit langfristig Sicherheitsrisiken einhergehen können.

Im Programmier-Alltag stoßen Software-Entwickler immer wieder auf Probleme, für die sie eine schnelle Lösung suchen. „Frühere Studien haben gezeigt, dass die prominenteste Plattform, die Entwickler und Entwicklerinnen konsultieren, nicht Lehrbücher sind sondern Stack Overflow“, erklärt der CISPA-Forscher Alfusainey Jallow. Stack Overflow gehört zum Netzwerk Stack Exchange und ist eine populäre Onlineplattform, um Antworten auf verschiedene Programmierthemen und -probleme zu finden.

„Die Beliebtheit von Stack Overflow liegt daran, dass es funktionale Codeschnipsel anbietet. Ein Codeschnipsel ist eine Verbindung von Code in einer bestimmten Programmiersprache, die ein bestimmtes Problem löst. Man kann ihn meist mit wenigen oder gar keinen Änderungen direkt im eigenen Projekt verwenden“, so Jallow weiter.

Suche nach veralteten Codeschnipseln in Github-Projekten

Aus der Forschung ist bereits bekannt, dass es bei den Codeschnipseln auf Stack Overflow auch sicherheitskritische Varianten gibt. Ob der von Stack Overflow kopierte Code sicher ist, lässt sich etwa mit Hilfe von Browser-Plugins überprüfen. Darüber hinaus ist auch bekannt, dass die Codeschnipsel nicht statisch sind, sondern immer weiterentwickelt werden. „Bisher nicht untersucht wurde jedoch die Frage, ob Entwickler, die Codeschnipsel von Stack Overflow in ihre Software kopieren, diese auch updaten, wenn es Veränderungen an den Codeschnipseln auf Stack Overflow gibt“, so Jallow.

Um dies herauszufinden, haben sich Jallow und seine Kollegen Open-Software-Projekte auf der populären Plattform Github angeschaut. „Github wird verwendet, um Code zu hosten und mit anderen an einem bestimmten Softwareprojekt zusammenzuarbeiten“, erklärt der CISPA-Forscher. Zur Durchführung entwickelte er ein mehrstufiges Verfahren, um veraltete Codeschnipsel-Versionen in Github-Projekten zu entdecken und zu überprüfen, ob bei diesen Codeschnipseln sicherheitsrelevante Updates durchgeführt wurden oder nicht.

Fehlende Updates von Codeschnipseln führen zu Sicherheitslücken

In ihrer Untersuchung von knapp 11.500 Github-Projekten kamen Jallow und seine Kollegen zu dem Ergebnis, dass jeder zweite wiederverwendete Codeschnipsel veraltet ist, unabhängig von der verwendeten Programmiersprache. Sie fanden keine Hinweise darauf, dass Updates der Codeschnipsel auf Stack Overflow in Projekte übernommen wurden. Die mit den Ergebnissen einhergehenden Gefahren liegen laut Jallow in den fast unbegrenzten Verbreitungszirkeln von Software.

„Wenn man einen Codeschnipsel aus Stack Overflow kopiert, der die Privatsphäre des Nutzers verletzen kann, und jemand die App auf seinem Handy installiert hat das eine Menge gesellschaftlicher Auswirkungen. Wenn die Verletzung der Privatsphäre von einem Codeschnipsel von Stack Overflow ausgeht, ist das wirklich ein großes Problem“, ist er überzeugt. Jallow und seine Kollegen ziehen aus ihren Ergebnissen das Fazit, dass „die Entwickler die von Stack Overflow kopierten Snippets nicht auf Änderungen überprüfen, oder sich nicht bewusst sind, dass der von ihnen wiederverwendete Code auf Stack Overflow diskutiert und aktualisiert oder gefixt wird.“

Fehlendes Tool ist ein Auftrag für die Zukunft

Jallow hat im Moment vor allem eine Empfehlung: „Seid vorsichtig, wenn ihr einen Codeschnipsel von Stack Overflow verwendet. Und wenn ihr welche verwendet, findet einen Weg, um Euch diese zu merken.“ Da es bisher noch kein automatisiertes Tool gibt, bleibt nur, selbst immer wieder zu überprüfen, ob es zu den von ihnen verwendeten Codeschnipseln ein Update auf Stack Overflow gibt.

Genau das spornt Jallow an, wie er im Gespräch erzählt: „Um diese Lücke zu schließen, würde ich gerne ein Tool entwickeln. Wenn das nicht mehr während meiner Doktorarbeit klappt, dann in einer späteren Karrierephase. Das CISPA hat dieses wirklich tolle Ökosystem, in dem Forschungsergebnisse in die Industrie transportiert werden und Ausgründungen und Startups gefördert werden. Den großen Vorteil, dass es dieses Angebot am CISPA gibt, würde ich gerne nutzen.“

Firmen zu diesem Artikel
Verwandte Artikel