Sicher kennst du den uralten Sicherheitstipp „Software nur aus offiziellen Quellen herunterladen!“ Als „offiziell“ gelten normalerweise die wichtigsten App-Shops der jeweiligen Plattformen. Für Millionen nützlicher und kostenloser Open-Source-Apps ist die „offiziellste“ Quelle jedoch das Repository des Entwicklers auf speziellen Websites wie GitHub oder GitLab. Dort findest du den Quellcode des Projekts, Code-Korrekturen, Ergänzungen und oft auch eine gebrauchsfertige Version der App. Diese Websites kennen alle, die sich auch nur ein bisschen für Computer, Software und Programmierung interessieren. Nun hat sich herausgestellt, dass eine Datei, die unter einem Link wie github{.}com/{Benutzername}/{Repo-Name}/files/{Datei-ID}/{Dateiname} verfügbar ist, nicht nur vom Entwickler stammen kann, sondern auch von anderen Personen. Zudem kann darin alles Mögliche enthalten sein. Dies war nicht nur für Entwickler eine unangenehme Überraschung, sondern auch für viele IT-Sicherheitsspezialisten.
Und auch Cyberkriminelle machten sich diese Erkenntnis natürlich sofort zunutze.
Anatomie des Problems
GitHub und sein enger Verwandter GitLab dienen der Zusammenarbeit an Softwareentwicklungsprojekten. Ein Entwickler kann seinen Code hochladen, und andere Nutzer können Ergänzungen und Fixes anbieten oder sogar Forks erstellen – alternative Versionen der App oder einer Bibliothek. Wer in einer App einen Fehler findet, kann ihn über einen Problembericht an den Entwickler melden. Andere Nutzer können das Problem in Kommentaren bestätigen. Eine Kommentarfunktion gibt es auch für neue Versionen der App. Bei Bedarf können an Kommentare Dateien angehängt werden, z. B. Screenshots, die den Fehler illustrieren, oder Dokumente, die zum Absturz der App führen. Diese Dateien werden mithilfe der oben beschriebenen Links auf GitHub-Servern gespeichert.
GitHub hat jedoch eine Besonderheit: Wenn ein Nutzer einen Kommentar schreibt und begleitende Dateien hochlädt, aber nicht auf „Veröffentlichen“ klickt, bleiben die Informationen im Entwurf „hängen“ – und sie sind sowohl für den App-Besitzer als auch für andere GitHub-Nutzer unsichtbar. Trotzdem wird ein direkter Link zu der im Kommentar hochgeladenen Datei erstellt und ist vollständig verfügbar. Und über diesen Link kann die Datei von einer beliebigen Person aus dem GitHub-CDN heruntergeladen werden.
Dabei können die Eigentümer des Repositorys, in dessen Kommentaren sich die Datei befindet, diese weder löschen noch blockieren. Sie wissen überhaupt nichts davon! Zudem gibt es keine Einstellungen, um das Hochladen solcher Dateien für das Repository generell einzuschränken. Die einzige Lösung ist, Kommentare komplett zu deaktivieren (was auf GitHub für bis zu sechs Monate möglich ist). Damit wäre jedoch auch die für Entwickler wichtige Feedback-Option nicht mehr verfügbar.
Die Kommentarfunktion von GitLab ist ähnlich, auch dort können Dateien über Kommentarentwürfe veröffentlicht werden. Der Zugriff auf Dateien ist über einen Link wie gitlab.com/{Benutzername}/{Repo-Name}/uploads/{Datei-ID}/{Dateiname} möglich.
Hier ist das Problem nicht so akut, da nur registrierte, eingeloggte GitLab-Nutzer Dateien hochladen können.
Eine Goldgrube für Phishing-Kampagnen
Über Links, die mit GitHub/GitLab beginnen und die Namen bekannter Entwickler und beliebter Projekte enthalten, können also beliebige Dateien veröffentlicht werden (unveröffentlichte Kommentare zu einer Datei können in fast jedem Repository hinterlassen werden). Dies eröffnet Cyberkriminellen auch eine Möglichkeit für sehr überzeugende Phishing-Angriffe. Es wurden bereits bösartige Kampagnen entdeckt, bei denen in den „Kommentaren“ von Microsoft-Repositorys angebliche Cheating-Apps für Spiele gespeichert waren.
Ein wachsamer Nutzer fragt sich vielleicht, warum sich ein Gaming-Cheat in einem Microsoft-Repository wie https://github{.}com/microsoft/vcpkg/files/…../Cheat.Lab.zip befindet. Viel wahrscheinlicher ist jedoch, dass Stichwörter wie „GitHub“ und „Microsoft“ das Opfer beruhigen und der Link gar nicht genauer unter die Lupe genommen wird. Besonders clevere Bösewichte tarnen ihre Malware noch sorgfältiger, präsentieren sie beispielsweise als neue Version einer App, die über GitHub oder GitLab verteilt wird, und veröffentlichen passende Links über die „Kommentare“ zu dieser App.
So schützt du dich vor bösartigen Inhalten auf GitHub und GitLab
Da dieser Konstruktionsfehler weiterhin besteht und jede Person beliebige Dateien in das CDN von GitHub und GitLab hochladen kann, ist auf diesen Plattformen höchste Vorsicht geboten.
- Download, nein danke! Dieses Motto gilt für GitHub/GitLab-Direktlinks, die du in externen Quellen findest – also auf anderen Websites, in E-Mails oder Chats. Öffne stattdessen die Projektseite (github{.}com/{Benutzername}/{Repo-Name} oder gitlab{.}com/{Benutzername}/{Repo-Name}) und vergewissere dich, dass die Datei dort tatsächlich zum Download bereitsteht. Offizielle Dateien von Entwicklern müssen im Repository veröffentlicht und sichtbar sein.
- Vergewissere dich, dass du auf der richtigen Entwicklerseite bist – in GitHub, GitLab und anderen Open-Source-Repositorys sind absichtliche Tippfehler häufig: Es werden gefälschte Projekte mit Namen erstellt, die sich durch ein oder zwei Buchstaben vom Original unterscheiden (z. B. Chaddev statt Chatdev).
- Lade keine Apps herunter, die nur wenige Sterne (Likes) haben und die erst vor Kurzem erstellt wurden.
- Schütze alle deine Computer und Smartphones vor Malware und Phishing. Kaspersky Premium bietet umfassenden Schutz für Gamer und Computer-Freaks.