Skip to main content

Auch Nicht-Entwickler können Sicherheitslücken im Code beim The Big Fix beheben

Artikel von
Headshot of Gerald Crescione

Gerald Crescione

blog hero the big fix

23. Februar 2022

0 Min. Lesezeit

Hier erfahren Sie, wie eine ganz normale Projektmanagement-Aufgabe dazu führte, dass ich einen Pull Request für ein Open-Source-Repository auf GitHub erstellt habe.

Als neues Mitglied des Marketing-Teams von Snyk war ich kürzlich an den Vorbereitungen für The Big Fix beteiligt. Bei diesem Event kommen Entwickler, DevOps-Fachleute und Sicherheitsexperten aller Erfahrungsstufen zusammen, um das Internet sicherer zu machen. Dafür beheben sie Sicherheitslücken, haben dabei Spaß und können sich mit Merchandise belohnen.

Alle können mitmachen. Warum sollte ich nicht selbst eine Sicherheitslücke beheben?

Im Gespräch mit dem Team wurde mir klar: Der ganze Ablauf ist so einfach, dass auch jemand ohne technischen Hintergrund wie ich bei der Initiative mitmachen und aktiv zu dieser weltweiten Anstrengung beitragen kann, das Internet sicherer zu machen. Also beschloss ich, es auszuprobieren.

Schritt 1: Einstieg bei Snyk

Die Anmeldung für The Big Fix war ganz einfach. Ich musste lediglich mein Snyk-Konto verwenden. Es ist völlig kostenlos und lässt sich in wenigen Minuten einrichten. Als Marketing-Mitarbeiter kann ich nicht behaupten, die Plattform intensiv genutzt zu haben. Ich hatte lediglich ein Konto erstellt, um mir das Produkt anzusehen und einen guten Eindruck davon zu bekommen, wie es funktioniert.

Als Nächstes musste ich Snyk mit meinem GitHub-Konto verbinden und der Plattform die standardmäßigen Berechtigungen erteilen, meine Projekte zu scannen und wenn möglich Lösungen für Sicherheitslücken vorzuschlagen.

Snyk-GitHub-Integrationseinstellungen mit der Kontokonfiguration zum Öffnen von Snyk-Pull-Requests mithilfe eines persönlichen Zugriffstokens

Schritt 2: Das passende Projekt auswählen

Nachdem ich mein Konto eingerichtet und mit GitHub verbunden hatte, konnte ich ein Projekt importieren und auf Sicherheitslücken untersuchen. Jetzt musste ich das passende Projekt für meinen Beitrag auswählen. Eigene Projekte habe ich keine – nur ein paar völlig unbedeutende Code-Fragmente. Also musste ich zu einem anderen Projekt beitragen. Idealerweise sollte es Open Source sein und zum Cloud-Native-Ökosystem gehören, aus dem ich komme.

Tatsächlich war ich in früheren Positionen an Start-ups und Projekten beteiligt, die sich stark auf Infrastructure as Code (IaC) konzentrierten. Ich hatte die Gelegenheit, an einigen Blogbeiträgen mitzuarbeiten, in denen wir all die coolen Open-Source-Tools rund um Hashicorp Terraform vorstellten, die das Management Ihrer Cloud-Ressourcen noch besser machen. Diese Tools hatte ich im Sinn:

  • Terraformer (auch „Reverse Terraform“ genannt): Ein besonders cooles Open-Source-Tool, das vom SRE-Team bei Waze entwickelt wurde. Es scannt vorhandene, manuell erstellte Cloud-Infrastrukturen und wandelt sie in Terraform-Code um, sodass Sie sie wieder in Ihre IaC-Codebasis importieren können.

  • TFlint: Ein Linter, der Ihren Terraform-Code statisch analysiert, ungültige Instanztypen erkennt und Tippfehler sowie Inkonsistenzen sofort aufspürt.

  • Terratest: Eine Go-Bibliothek, mit der Integrationstests für Ihre Terraform-Dateien ausgeführt werden.

Ich entschied mich für Terratest, weil mir besonders gefällt, dass dem Team hinter diesem Tool das Testen unserer Infrastrukturen am Herzen liegt – und seien wir ehrlich: Das ist wahrscheinlich noch keine allzu verbreitete Best Practice.

Falls Sie Terratest noch nicht kennen, hier eine kurze Einführung: Terratest wurde von unseren Freunden bei Gruntwork entwickelt. Es ist eine leistungsstarke Go-Bibliothek, in die Sie Ihren Terraform-Code einbinden und programmatisch bearbeiten können, um damit praktisch alles zu tun und alle benötigten Integrationstests auszuführen.

Schritt 3: Die passende Lösung auswählen

Zunächst musste ich Terratest scannen, um herauszufinden, ob ich Sicherheitslücken im Repository finden konnte. Dazu erstellte ich einfach einen Fork des öffentlichen Repositorys und importierte diesen Fork anschließend zum Scannen in Snyk.

Snyk Projects-Dashboard mit importierten GitHub-Repositories, der Anzahl von Problemen nach Schweregrad sowie Filtern für Projektstatus und Integrationen.

Seien wir ehrlich: Ich bin kein Entwickler. Meine Kenntnisse sind äußerst grundlegend, und wenn ich mit Code zu tun habe, kann ich meist nicht viel beitragen. Trotzdem wollte ich unbedingt bei The Big Fix mitmachen und irgendwie einen kleinen Beitrag zu diesem großartigen Terratest-Projekt leisten.

Beim Scannen des Projekts hatte ich das Glück, eine ganz einfache Lösung zu finden: ein Docker-Image zu aktualisieren. Das traute ich mir zu.

Snyk-Projektdashboard mit einer durchsuchbaren Projektliste, Anzahl der Probleme nach Schweregrad, Filtern und Integrationskategorien.

Mit Snyk kann jeder ganz einfach Sicherheitsprobleme erkennen und beheben – unabhängig von den eigenen Kenntnissen. Ein Klick auf die Schaltfläche Fix-PR öffnen führt Sie zu Ihrem Repository und schlägt die am besten geeignete Lösung für Ihre Sicherheitslücke vor.

Snyk-Dockerfile-Übersicht mit Empfehlungen für ein Upgrade des Basis-Images, Schwachstellenzahlen, Schweregraden und einer Schaltfläche „Fix-PR öffnen“.

Mir gefiel besonders, dass ich die Plattform genauer erkunden und auf die Dokumentation zugreifen konnte, um besser zu verstehen, worum es bei dieser Sicherheitslücke ging und weshalb sie gefährlich sein konnte. Im Grunde bestand die Lösung darin, eine alte Image-Version zu aktualisieren.

Snyk User Docs-Seite mit Erläuterungen zu Methoden zur Erkennung von Basis-Images und zur Identifizierung anfälliger Container-Images.

Auf die Plätze, fertig, beheben!

Ich war also startklar: Die Sicherheitslücke war gefunden, die Lösung stand bereit, und ich musste nur noch auf die Schaltfläche Fix-PR öffnen klicken, um zu GitHub zu gelangen.

Seite „Open a Fix PR“ zum Aktualisieren eines Dockerfile-Basis-Images von ruby:2.6.2-stretch auf ruby:2.6.8-stretch

In meinem Repository konnte ich mir die Lösung ganz einfach ansehen und entscheiden, ob ich sie übernehmen wollte. Natürlich wollte ich das. (Schließlich gibt es Merchandise zu gewinnen.)

GitHub-Pull-Request von Snyk mit dem Vorschlag, ein Ruby-Docker-Basisimage sicherheitstechnisch zu aktualisieren, sowie einer Tabelle mit aufgeführten Schwachstellen.

Den PR zu mergen war ein Kinderspiel und erfüllte mich mit einem beglückenden Gefühl von Sinn und Erfolg.

GitHub-Pull-Request-Oberfläche: Alle Prüfungen bestanden, keine Merge-Konflikte und die grüne Schaltfläche „Pull Request zusammenführen“.

Moment! Ich habe gerade eine Sicherheitslücke in einem privaten Repository behoben, das ich gar nicht wirklich nutze.

Ein öffentliches Repository nur zu forken, um es zu scannen und darin eine Sicherheitslücke zu beheben, bringt nichts. Und auch wenn die Aussicht, ein T-Shirt in limitierter Auflage zu gewinnen, verlockend ist, wollte ich wirklich etwas beitragen – auch wenn es nur ein kleiner Beitrag wäre.

Kein Problem! Ich musste die Lösung nur kopieren und als PR in das ursprüngliche Terratest-Repository auf GitHub einbringen.

GitHub-Seite „Änderungen vergleichen“ mit einer Dockerfile-Aktualisierung von ruby:2.6.2-stretch auf ruby:2.6.8-stretch und der Option, einen Pull Request zu erstellen

Und … voilà. Sicherheitslücken zu beheben macht Spaß. Zu Open Source beizutragen ist noch besser.

Eine behobene Sicherheitslücke sollte immer Anlass sein, stolz darauf zu sein und zu feiern.

Habe ich schon die Community rund um The Big Fix erwähnt?

Das Coole an diesem Projekt ist, dass es Teil einer Community ist. Im Discord-Server der DevSecCon-Community passiert die Magie. Nach dem Beitritt können Sie zum Kanal the-big-fix wechseln, sich mit anderen Entwicklern über Ihre behobenen Sicherheitslücken austauschen und über alles rund um InfoSec und DevSecOps sprechen.

Community-Nachricht, in der Hacker Kyle für seine Anleitung gedankt wird, mit einem Screenshot eines GitHub-Pull-Requests zur Aktualisierung des Docker-Images von Terratest.

Sicherheitslücken in Anwendungen beheben und dabei Spaß haben – wie soll das funktionieren?

Bei The Big Fix geht es darum, Sicherheitslücken auf unterhaltsame Weise zu finden und zu beheben. Als Belohnung gibt es Merchandise. Die Teilnahme ist ganz einfach. Sie müssen lediglich:

  1. Sich für The Big Fix anmelden.

  2. Sich bei Ihrem Snyk-Konto anmelden (oder kostenlos ein Konto erstellen, falls Sie noch keines haben).

  3. Ein Projekt importieren und scannen.

  4. Eine Sicherheitslücke finden (ja, wahrscheinlich gibt es Sicherheitslücken in Ihren Projekten – ganz gleich, wie sehr Sie sich bemühen).

  5. Sie mit einem PR über die Snyk-Plattform beheben.

  6. (Optional) Sich zurücklehnen und überlegen, wie cool Sie in Ihrem Big Fix-T-Shirt in limitierter Auflage aussehen werden.

  7. Weitere Projekte importieren und scannen und noch mehr Sicherheitslücken beheben.

Wenn Sie bei dieser Initiative mitmachen möchten, stehen Ihnen bei Bedarf verschiedene Ressourcen für den Einstieg zur Verfügung. Am besten beginnen Sie wahrscheinlich mit einer einfachen Twitter-Suche nach #TheBigFix. Ein weiterer guter Einstieg ist das Video unten, in dem gezeigt wird, wie Sie mit den Fixes in der VS Code-IDE loslegen.

The Big Fix 2022 - Getting started with VS Code IDE security fixes

Wie geht es weiter?

Beachten Sie, dass The Big Fix eine einmonatige Veranstaltung ist. Sie begann am 18. Januar und endet am 25. Februar mit einem „Big Fix-a-Thon“ – einem 24-stündigen Livestream-Event zu DevSecOps und Entwicklersicherheit. Die gute Nachricht: Sie müssen nicht bis zum 25. Februar warten, um eine Sicherheitslücke zu finden und zu beheben. Während ich diesen Blogbeitrag schreibe, wurden bereits 35.302 Projekte gescannt, 454.116 Sicherheitslücken gefunden und 82.109 behoben – unglaublich spannend!

Machen Sie am 25. Februar beim interaktiven Big Fix-a-Thon mit: ein 24-stündiges Livestream-Event zu DevSecOps und Entwicklersicherheit, mit unterhaltsamen Programmpunkten und großartigen Speakern, die Sie bei Ihren Fixes unterstützen.

Seien Sie bei The Big Fix dabei

Schließen Sie sich den Tausenden Entwicklerinnen und Entwicklern an, die ihre Anwendungen bereits mit Snyk absichern.