
Die Analyse des Einbruchs und der Übernahme des GitHub-Repositories der Linux-Distribution Gentoo ist abgeschlossen. Aus dem jetzt vorliegenden schriftlichen Report lassen sich zwei Kernaussagen ableiten.
Vorbildliche Reaktion
Zum einen haben die Entwickler vorbildlich reagiert und sind sofort nach der Entdeckung an die Öffentlichkeit gegangen. Zweitens wurde der Einbruch durch ein kompromittiertes Passwort auf einer anderen Webseite erst ermöglicht. Wie die Entwickler feststellten, konnte das Passwort für den Hack von dem kompromittierten Passwort abgeleitet werden. Einer der Entwickler verwendete ähnliche Passwörter auf verschiedenen Webseiten und Diensten.
Drei Repositories betroffen
Der oder die Einbrecher hatten nach dem Eindringen zunächst alle legitimen Accounts entfernt und dann versucht, durch das Hinzufügen von rm -rf-Kommandos in verschiedenen Repositories Daten auf den Rechnern der Nutzer zu löschen, die per git pull diese Repositories auf ihre Rechner ziehen. An dieser Stelle waren allerdings Sicherheitsmaßnahmen eingebaut, die das Ausführen dieser Befehle verhinderten. Betroffen von den Änderungen der Einbrecher waren die Repositories gentoo/gentoo, gentoo/musl und gentoo/systemd. Kopien dieser Repositorien aus dem betroffenen Zeitraum sollten auf keinen Fall genutzt werden.
Schwachstellen identifiziert
Die Analyse hat einige Schwachstellen in der Handhabung der GitHub-Repositories seitens der Gentoo-Entwickler aufgezeigt. So sei unter anderem die Kommunikation mit Anwendern der betroffenen Repositories nicht ideal gewesen. Zudem war der Mechanismus zum Widerruf der Zugangsdaten schlecht implementiert. Es gab darüber hinaus kein Backup der Details der Gentoo-Organisation auf GitHub. Systemd, eines der drei betroffenen Repositories, war kein Spiegel eines Gentoo-Repository, sondern direkt auf Github gespeichert.
Auswirkungen
Die Gentoo-Organisation auf GitHub war als Folge des Einbruchs für fünf Tage gesperrt. Eine unangenehme Folge des Einbruchs war zudem, dass alle früheren Pull Requests von den zugehörigen Commits getrennt und geschlossen wurden. Das konnte von GitHub nicht rückgängig gemacht werden, sodass Anwender ihre Pull Requests erneut öffnen müssen.
Laute Einbrecher
Die Attacke verlief relativ laut, was zur schnellen Entdeckung beitrug. Einerseits wurden durch das Entfernen aller Konten die Entwickler per E-Mail informiert. Zum anderen erzwangen der oder die Täter ihre Änderungen mit dem Kommando git push –force. Damit hatten die Einbrecher selbst verhindert, dass ihre Änderungen lautlos von Anwendern mit einem git pull auf ihre Rechner gezogen werden konnten.
Lehren gezogen
Der Originalcode von Gentoo war zu keinem Zeitpunkt gefährdet, da er sich auf Servern der Organisation befindet, auf GitHub liegt lediglich eine Kopie. Die Entwickler selbst arbeiten fast ausschließlich mit dem Originalcode, während Beiträge aus der Community auch über die Gentoo-GitHub-Organisation vorgenommen werden. Als eine der Lehren aus dem Vorfall forciert Gentoo jetzt die Verwendung von Zwei-Faktor-Authentifizierung (2FA) für Konten auf GitHub. Viele Anwender nutzten diese doppelte Absicherung bereits vor dem Vorfall, aber nicht alle.