Wie Entwickler auf Sicherheitslücken reagieren
Eine Analyse der Entwicklerreaktionen auf die Log4j-Sicherheitslücke und ihre Praktiken.
― 5 min Lesedauer
Inhaltsverzeichnis
In der heutigen Softwarewelt nutzen viele Entwickler Drittbibliotheken, um ihre Anwendungen zu erstellen. Aber wenn diese Bibliotheken Probleme oder Sicherheitslücken haben, kann es für Entwickler schwer sein, diese zu beheben. Manchmal dauert es zu lange, um Updates durchzuführen, weil sie andere Aufgaben zu managen haben. Die meisten Leute denken, wenn ein ernstes Problem gefunden wird, sollten Entwickler alles andere vergessen und sich sofort darum kümmern. Dieser Artikel untersucht, wie Entwickler reagieren, wenn sie mit einer ernsten Sicherheitslücke konfrontiert werden, speziell bei einem bekannten Problem in einer Java-Logging-Bibliothek namens Log4j.
Die Log4j-Sicherheitslücke
Im Dezember 2021 wurde eine ernsthafte Sicherheitslücke namens CVE-2021-44228 bekannt. Dieser Fehler betraf die Apache Log4j-Bibliothek, die in vielen Java-Anwendungen weit verbreitet ist. Das Problem erlaubt Angreifern, schädlichen Code auf Maschinen auszuführen, die die Bibliothek nutzen, ohne spezielle Zugriffsrechte zu benötigen. Das könnte zu schweren Problemen führen, z. B. könnten Hacker die Kontrolle über Server übernehmen.
Als die Nachrichten über diese Sicherheitslücke in den sozialen Medien und auf verschiedenen Plattformen verbreitet wurden, wurden viele Leute sich der Risiken bewusst. Die Art und Weise, wie dieses Problem publik gemacht wurde, liess Entwickler und ihre Teams wachsamer gegenüber der Bedrohung werden, die sie vielleicht vorher nicht so stark gespürt hatten.
Reaktion der Entwickler auf Sicherheitslücken
Unsere Studie hat untersucht, wie schnell Entwickler auf die Log4j-Sicherheitslücke reagiert haben. Wir haben Daten aus verschiedenen Quellen analysiert, 219 Updates, die auf GitHub eingereicht wurden, und 354 Probleme in 53 Projekten, die Log4j verwendeten, unter die Lupe genommen. Wir wollten herausfinden, wie lange es dauerte, bis Entwickler reagierten, als die Sicherheitslücke bekannt wurde, und ob sich ihr allgemeines Arbeitstempo änderte.
Überraschenderweise stellten wir fest, dass Entwickler oft noch härter an anderen Aufgaben arbeiteten, anstatt alles andere liegen zu lassen, um die Sicherheitslücke zu beheben. Sie konzentrierten sich nicht nur darauf, das Log4j-Problem zu lösen; ihre Aktivitäten nahmen insgesamt zu. Es fanden viele Diskussionen statt, in denen Entwickler Informationen über die Sicherheitslücke austauschten und Details von einander suchten.
Schnelle Reaktionen
Als die Offenlegung über Log4j am 10. Dezember 2021 bekannt wurde, dauerte es im Durchschnitt etwa fünf Tage, bis die Entwickler anfingen, das Problem anzugehen. Nachdem sie gestartet hatten, dauerte es in der Regel nur noch einen weiteren Tag, um die Lösung abzuschliessen. Insgesamt bedeutet das, dass Entwickler innerhalb von etwa fünf bis sechs Tagen auf die Sicherheitslücke reagieren konnten.
Interessanterweise zeigte unsere Forschung, dass die Entwickler nach der Offenlegung der Sicherheitslücke auch ihre anderen laufenden Aufgaben schneller abschlossen. Es schien, als hätten sie sich stärker darauf konzentriert, das, was sie bereits auf dem Tisch hatten, zu beenden, während sie gleichzeitig an dem neuen Problem arbeiteten.
Diskussionen der Entwickler
Um zu verstehen, worüber Entwickler sprachen, während sie an der Log4j-Sicherheitslücke arbeiteten, haben wir uns die Kommentare und Diskussionen rund um die Pull Requests zum Thema genauer angeschaut. Wir fanden heraus, dass viele Kommentare darauf abzielten, Informationen bereitzustellen oder um Hilfe zu bitten. Viele Entwickler wollten ihrem Team die Schwere des Problems mitteilen oder wandten sich an andere, um Unterstützung und Anleitung zu erhalten.
Wir stellten fest, dass Kommentare über das Entdecken von Bugs oder unerwarteten Problemen seltener vorkamen. Das deutet darauf hin, dass Entwickler hauptsächlich daran interessiert waren, Wissen zu teilen und Hilfe zu suchen, anstatt neue Probleme zu melden. Insgesamt waren etwa 61 % der Diskussionen darauf ausgerichtet, Informationen über die Sicherheitslücke zu teilen oder zu suchen.
Minderung
Strategien zurUm mit der Log4j-Sicherheitslücke umzugehen, wurden verschiedene Strategien vorgeschlagen. Der effektivste Ansatz war, die Log4j-Bibliothek auf die neueste Version, nämlich 2.17.0, zu aktualisieren. Zu den anderen Methoden gehörten das Deaktivieren bestimmter Funktionen, die ausgenutzt werden könnten, das vollständige Entfernen des problematischen Codes oder die Implementierung strenger Regeln für die Netzwerkkommunikation, um den Zugriff zu begrenzen.
Obwohl all diese Methoden nützlich waren, wurde das Upgrade der Bibliothek als der beste und unkomplizierteste Weg angesehen, um Sicherheit zu gewährleisten.
Bedeutung von Informationen
Eine wichtige Erkenntnis aus unserer Forschung ist, dass Entwickler einfachen Zugang zu Informationen über Sicherheitslücken benötigen. Obwohl es viele Online-Ressourcen gibt, wie z. B. Sicherheitsdatenbanken und Blogs, sind diese nicht immer ausreichend. Entwickler sollten Werkzeuge zur Verfügung haben, die ihnen helfen, vergangene Probleme zu verstehen und Erkenntnisse zu sammeln, die bei der Behebung neuer Sicherheitslücken effektiver helfen können.
Angesichts des wachsenden Bewusstseins für Sicherheitsfragen sollten Entwickler nicht nur auf individuelle Sicherheitslücken schauen, sondern auch in Betracht ziehen, wie ihre Reaktionen andere verwandte Aufgaben beeinflussen. Es ist wichtig, dass sie das grosse Ganze im Blick haben, wenn sie Projekte managen.
Fazit
Wenn Entwickler mit einer ernsthaften Sicherheitslücke konfrontiert werden, zeigen sie eine gemischte Reaktion. Statt alle Arbeiten zu stoppen, beschleunigen sie oft ihre Aktivitäten, um andere unerledigte Dinge zu klären. Das zeigt ein einzigartiges Verhaltensmuster, das die Bedeutung hervorhebt, nicht nur das unmittelbare Problem zu lösen, sondern auch laufende Aufgaben anzugehen.
Darüber hinaus kann eine bessere Kommunikation und der Zugang zu Informationen für Entwickler ihre Fähigkeit verbessern, Sicherheitslücken effektiv zu bewältigen. Entwickler sollten ermutigt werden, Erkenntnisse zu teilen und sich gegenseitig zu unterstützen, um eine sicherere Softwareumgebung zu schaffen.
Mit den richtigen Werkzeugen und einem unterstützenden Rahmen können Entwickler ihre Arbeitslast balancieren und gleichzeitig wachsam gegenüber Bedrohungen bleiben. Die Lektion hier ist klar: Das Verständnis der Bedürfnisse und Reaktionen von Entwicklern im Umgang mit Sicherheitslücken ist der Schlüssel zur Schaffung einer sichereren Softwarelandschaft.
Titel: Drop it All or Pick it Up? How Developers Responded to the Log4JShell Vulnerability
Zusammenfassung: Although using third-party libraries has become prevalent in contemporary software development, developers often struggle to update their dependencies. Prior works acknowledge that due to the migration effort, priority and other issues cause lags in the migration process. The common assumption is that developers should drop all other activities and prioritize fixing the vulnerability. Our objective is to understand developer behavior when facing high-risk vulnerabilities in their code. We explore the prolific, and possibly one of the cases of the Log4JShell, a vulnerability that has the highest severity rating ever, which received widespread media attention. Using a mixed-method approach, we analyze 219 GitHub Pull Requests (PR) and 354 issues belonging to 53 Maven projects affected by the Log4JShell vulnerability. Our study confirms that developers show a quick response taking from 5 to 6 days. However, instead of dropping everything, surprisingly developer activities tend to increase for all pending issues and PRs. Developer discussions involved either giving information (29.3\%) and seeking information (20.6\%), which is missing in existing support tools. Leveraging this possibly-one of a kind event, insights opens up a new line of research, causing us to rethink best practices and what developers need in order to efficiently fix vulnerabilities.
Autoren: Vittunyuta Maeprasart, Ali Ouni, Raula Gaikovina Kula
Letzte Aktualisierung: 2024-07-05 00:00:00
Sprache: English
Quell-URL: https://arxiv.org/abs/2407.04263
Quell-PDF: https://arxiv.org/pdf/2407.04263
Lizenz: https://creativecommons.org/licenses/by/4.0/
Änderungen: Diese Zusammenfassung wurde mit Unterstützung von AI erstellt und kann Ungenauigkeiten enthalten. Genaue Informationen entnehmen Sie bitte den hier verlinkten Originaldokumenten.
Vielen Dank an arxiv für die Nutzung seiner Open-Access-Interoperabilität.
Referenz Links
- https://github.com/dependabot
- https://greenkeeper.io/
- https://github.com/renovatebot/renovate
- https://logging.apache.org/log4j/2.x/
- https://www.oracle.com/java/technologies/naming-and-directory-interface.html
- https://libraries.io/
- https://docs.github.com/en/graphql
- https://doi.org/10.5281/zenodo.6030472
- https://github.com/neilernst/cliffsDelta