IT-Security

GitHub Security Lab möchte Code-Sicherheit verbessern

23. Februar 2021 von Bianca Wellbrock

github-security-lab
© REDPIXEL - stock.adobe.com

5
(4)

Das seit Ende 2018 zu Microsoft gehörende GitHub ist Software-Entwicklern ein Begriff: Der netzbasierte Dienst dient der Versionsverwaltung von Software-Entwicklungsprojekten. Mit der Initiative GitHub Security Lab, die 2019 startete, möchte GitHub Softwareentwickler, Sicherheitsforscher sowie Unternehmen zusammenbringen, um Code sicherer zu machen. Im heutigen Beitrag stellen wir Ihnen das GitHub Security Lab vor und erklären, wie das CodeQL-Feature zu sicherem Code beiträgt. Weiter zeigen wir Ihnen unter anderem die Ziele und Erfolge des GitHub Security Labs auf.

GitHub Security Lab

Im November 2019 stellte GitHub mit Security Lab eine Initiative vor, die die Code-Sicherheit im Open Source-Ökosystem optimieren soll. Mit der Initiative wird das Ziel verfolgt, das Kooperieren verschiedener und an sicherer Software interessierter Parteien zu fördern. Entwickler, Sicherheitsforscher, aber auch Unternehmen kommen dafür im GitHub Security Lab zusammen, mitunter sind Uber, Mozilla, Google sowie Oracle Partner.

Das GitHub Security Lab-Team möchte Sicherheitsforscher aus unterschiedlichen Firmen zusammenbringen, um deren Arbeit leichter koordinieren zu können. Eigene Veranstaltungen, die über Twitter angekündigt werden, sollen diesem Zusammenkommen dienen.

Security Advisorys und weitere Tools

Sicherheitsforscher sowie Entwickler bekommen die Möglichkeit, Patches in nicht öffentlichen Bereichen, den sogenannten „Security Advisorys“, zu besprechen. Entwickler können in diesen privaten Security Advisorys CVE-Nummern beantragen. Sämtliche Entwickler erhalten automatisiert Hinweise auf etwaige Sicherheitslücken, in deren Abhängigkeit ihre Projekte womöglich stehen.

Das Token Scanning ist ein weiteres Sicherheitsfeature der GitHub Security Lab: Zugriffsschlüssel lassen sich in öffentlichen Repositorys suchen. In diesem Fall werden Entwickler darauf hingewiesen, den eigentlich privaten Schlüssel veröffentlicht zu haben.

Das Tool CodeQL wird seither kostenfrei für Open Source-Projekte angeboten. Von Semmle ursprünglich entwickelt, dient es der semantischen Codeanalyse. Semmle war eines jener Unternehmen, die GitHub im Jahr 2019 übernommen hatte.

In der GitHub Advisory Database werden auf und von GitHub entdeckte Sicherheitslücken übersichtlich gelistet. Nutzer haben die Möglichkeit, hier nach CVEs zu suchen, in Kommentaren auf CVEs zu verlinken oder die Ergebnisse nach Ökosystem sowie Schweregrad zu filtern.

Code-Scanning mit CodeQL

Das Kern-Feature des GitHub Security Labs ist CodeQL: Mit dem Tool ist das Scannen des Codes möglich. Entwickler werden durch das Feature des GitHub Security Labs also dabei unterstützt, potenzielle Sicherheitslücken im Quellcode zu finden – und zwar möglichst, bevor das Software-Projekt die Veröffentlichung erreicht. Im Oktober 2020 verließ CodeQL die Beta-Phase, seither ist das Tool für alle verfügbar.

Die Code-Analyse-Engine für Open Source-Projekte kommt aus dem Hause Semmle. Seit der Übernahme durch GitHub arbeitete man daran, die Code-Analyse-Fähigkeiten weiter zu verbessern. Programme von Drittanbietern, die die Funktionalität durch Hinzufügen innerhalb der Konfiguration erweitern, werden auf GitHub als „Actions“ bezeichnet.

Wie arbeitet CodeQL?

Seit CodeQL vor etwas über einem Jahr aus der Betaphase entlassen wurde, stehen mehr als 2.000 vordefinierte CodeQL-Abfragen bereit, jedoch sind auch benutzerdefinierte Abfragen möglich. Bestehender oder neu geschriebener Quellcode lässt sich so auf Schwachstellen prüfen. Basierend auf dem offenen SARIF-Standard, wird der Code gescannt, während er erstellt wird. Sicherheitsüberprüfungen innerhalb von Pull-Anfragen werden unterstützt.

So gelingt es, die Code-Sicherheit zum automatisierten Bestandteil in Entwicklungs-Workflows werden zu lassen. Schwachstellen gelangen so nicht in die Produktion und es können sich keine Exploits, also von Cyberkriminellen ausgenutzte Schwachstellen, entwickeln. Entdeckt das Code-Scanning-Feature Schwachstellen, fordert es beteiligte Entwickler in den Security Reviews auf, den Code entsprechend anzupassen – und zwar so lange, bis das Tool auf keine Schwachstellen mehr stößt. Mit etwaigen Änderungsvorschlägen überwältigt das Tool des GitHub Security Labs seine Nutzenden nicht: Es zeigt lediglich mögliche Sicherheitsregeln an, die vom Entwickler umgesetzt werden können.

Ziele & Erfolge des GitHub Security Lab-Teams

Code soll sicherer werden – dies hat sich GitHub mit dem GitHub Security Lab auf die Fahnen geschrieben. Und dieses ambitionierte Projekt darf auch schon erste Meilensteine auf dem Weg dorthin feiern: Das GitHub Security Lab-Team fand bereits im ersten Jahr mehr als 400 Issues durch manuelle Code-Prüfungen, gezieltes Fuzzing sowie Variantenanalyse, die durch CodeQL gesteuert wurde. Betroffen gewesen seien auch Großprojekte wie Android, Google Chrome, Ubuntu sowie der Linux-Kernel oder Java-Enterprise-Anwendungen.

Wie das GitHub Security Lab-Team im hauseigenen Blog erklärt, habe man auch dabei geholfen, einen aktiven Angriff auf eine OSS-Lieferkette aufzuhalten. Weiter trug die Initiative von GitHub Security Lab dazu bei, eine als kritisch eingestufte Remote-Schwachstelle in der deutschen Corona-Warn-App zu identifizieren. Das GitHub Security Lab-Team ruht sich auf diesen Erfolgen jedoch nicht aus, sondern plant auch für 2021:

  • Workflow-Optimierung: Der Workflow zum Beheben von Schwachstellen in Open Source-Software soll weiter optimiert, die Community weiter eingebunden werden.
  • Erweitertes Spektrum: In diesem Jahr möchte man sich nicht ausschließlich auf Schwachstellen in Open Source-Code fokussieren, sondern beispielsweise auch über Paketmanager bereitgestellte OSS-Komponenten näher betrachten, die etwa durch Hijacking oder Mailware immer häufiger im Zentrum von Angriffen stehen.
  • Brückenbauer: Das Team des GitHub Security Lab hat sich zu guter Letzt vorgenommen, eine Brücke zwischen der Sicherheits- und der Entwickler-Community zu schlagen. Dafür sei das Erstellen der CodeQL-Abfragen nur ein erster Schritt gewesen. Das Forscherteam möchte seine Bemühungen verstärken und neue Bildungsinhalte präsentieren oder Beiträge aus der Community oder der Open Source Security Foundation (OpenSSF) unterstützen.

 

Gender-Disclaimer:
Zur besseren Lesbarkeit und zur Vermeidung von Gender-Sternchen verwenden wir das generische Maskulinum für Substantive und meinen damit alle natürlichen Personen unabhängig ihres Geschlechts.

Wie hat Ihnen dieser Artikel gefallen?

Average rating 5 / 5. Vote count: 4



0 Kommentar(e)

Schreibe einen Kommentar

* Die DSGVO-Checkbox ist ein Pflichtfeld

*

Ich stimme zu