Vor ein paar Tagen ein ungewöhnlicher Vorfall ereignete sich, was die Linux-Kernel-Community erschütterte, und das ist Linus Torvalds ordnete die sofortige Sperrung des Kontos von Kees Cook auf kernel.org an., nachdem die Existenz manipulierter Commits im Git-Repository dieses Entwicklers festgestellt wurde.
Kees Cook, für seine Führung anerkannt im Ubuntu-Sicherheitsteam und für die Wartung von mehr als einem Dutzend sicherheitsrelevanter Subsysteme des Kernels, wurde vorübergehend von der Einreichung von Änderungen ausgeschlossen, während der Sachverhalt geklärt wurde.
Änderung der Urheberschaft und Signaturen im Kees Cook-Repository
Das Problem entstand durch eine Änderungsanforderung zur Eingliederung.s zum 6.16-Kernelzweig, in dem Linus Verweise auf ein Repository identifizierte das enthielt Commits manipuliert mit seinen Namen als Autor und Bestätiger, obwohl er sie nicht selbst durchgeführt hat. Eines der schwerwiegendsten Beispiele war die Existenz eines doppelten Commits, dessen Inhalt mit dem Original identisch war, der jedoch einen anderen SHA1-Hash aufwies und fälschlicherweise die Signatur von Linus Torvalds enthielt.
Diese Änderungen nicht einfach auf einen zufälligen Fehler zurückzuführen istl während einer Git-Rebase-Operation, da sie mit massiven Veränderungen verbunden waren sensibler Informationen, darunter über 6.000 neu geschriebene Commits, von denen 330 Linus‘ Namen als Autor trugen.
Torvalds' Reaktion: Verdacht auf gezielte Manipulation
Linus Torvalds machte aus seiner Besorgnis keinen Hehl und beschrieb die Ereignisse als potenziell böswillig:
„Ein oder zwei Umschreibungen könnten ein Fehler sein. Aber Tausende davon, viele mit meiner gefälschten Unterschrift, sind es nicht“, erklärte er.
Angesichts des Ausmaßes der Änderungen und des Risikos für die Integrität des offiziellen Kernel-Baums, Torvalds fragte Konstantin Rjabitsev, kernel.org Infrastrukturadministrator, qden Zugang von Kees Cook zu sperren, bis die Situation geklärt ist.
Als Antwort Kees Cook erklärte, er habe in letzter Zeit technische Probleme gehabt das könnte den Vorfall ausgelöst haben. Er sagte: Auf Ihrem SSD-Laufwerk traten während der Kopiervorgänge Fehler auf, die zu einer Beschädigung führten in mehreren Repositories. Nach diesen Fehlern versuchte er, den Zustand seines Repositorys mithilfe von Git Rebase und verschiedenen Automatisierungstools wiederherzustellen.
Diese Operationen wurden jedoch an kritischen Zweigen durchgeführt, wie etwa for-next/hardening und for-linus/hardening, was zu einer versehentlichen Änderung des Repository-Verlaufs führte, einschließlich der Änderung der Urheberschaft von Commits. Trotz seiner Erklärung war Linus skeptisch.:
„Ich verstehe nicht, wie es zu einem versehentlichen Überholen kommen kann, geschweige denn bei diesem Ausmaß an Änderungen.“
Der wahre Übeltäter: Git-Filter-Repo und B4-Trailer
In einer späteren Nachricht Kees Cook identifizierte die wahrscheinliche Fehlerquelle: die kombinierte Verwendung zweier Werkzeuge, git-filter-repo und b4-Trailer, die den Commit-Verlauf manipulieren und Trailer (Tags wie „Signed-off-by:“) in Commits.
Diese falsche Verwendung der Gewinne hätte das automatische Umschreiben von Tausenden von Commits verursacht, einschließlich des Ersetzens des Autors durch den Standardwert (in diesem Fall Linus Torvalds), ohne dass Kees den Fehler damals bemerkteKonstantin Ryabitsev, Autor des b4-Tools, bestätigte diese Theorie und behauptete, dass Cook keine böse Absicht gehabt habe. Vielmehr habe das System bereits Warnungen generiert, die ignoriert wurden.
Nachdem die Situation geklärt war, wurde Kees Cooks Zugriff auf kernel.org wiederhergestellt. Als vorbeugende Maßnahme wurde angekündigt, dass das Werkzeug b4 wird eine neue Sicherheitsüberprüfung beinhalten, Dadurch wird die Änderung von Commits, deren Autorschaft nicht mit der Identität des aktuellen Benutzers übereinstimmt, künftig verhindert. Dies soll ähnliche Fehler verhindern und die Integrität des Kernel-Quellcodes schützen.
Kees seinerseits versprach, die betroffenen Zweige wiederherzustellen. aus einzelnen Patches und analysieren Sie detailliert die Schritte, die zum Fehler geführt haben. Obwohl Der Vorfall belastete die Beziehungen innerhalb des Teams Die Kernel-Entwicklung hat auch hervorgehoben, wie wichtig es ist, Tools zum Umschreiben des Verlaufs mit Vorsicht zu verwenden, insbesondere bei so kritischen Projekten wie dem Linux-Kernel.
Abschließend sei erwähnt, dass dieser Vorfall zwischen Linus Torvalds und Kees Cook als Warnung vor den Gefahren der Manipulation der Commit-Historie dient und dass dank des schnellen Eingreifens von den Verantwortlichen von kernel.org und der Transparenz des Prozesses, die Situation wurde unter Kontrolle gebracht.
Wenn Sie mehr darüber erfahren möchten, können Sie die Details im Folgenden nachlesen. Link.