Bugs mit Vorsatz: University of Minnesota von Linux-Kernel-Mitarbeit ausgesperrt
Informatikstudenten der UMN reichten, offenbar bewusst "zu Forschungszwecken", fehlerhafte Patches ein. Kernel-Entwickler Kroah-Hartman reagierte konsequent.
Der Kernel-Entwicker Greg Kroah-Hartman hat die University of Minnesota (UMN) dauerhaft von der Mitarbeit am Linux-Kernel ausgeschlossen und überdies frühere Code-Beiträge der Universität ausnahmslos aus dem Kernel-Code entfernt. Diese früheren Beiträge seien "offensichtlich in böser Absicht" und "mit dem Vorsatz, Probleme zu verursachen" übermittelt worden, schreibt Kroah-Hartman in einer Diskussion auf der Kernel-Mailingliste.
Einer der beschuldigten Studenten bestritt die VorwĂĽrfe gegenĂĽber Kroah-Hartman. Die Leitung des Department of Computer Science & Engineering der UMN hat indes Konsequenzen gezogen und in einer Stellungnahme interne Untersuchungen in dem Fall angekĂĽndigt.
Bewusster Schwachstellen-Einbau
Offenbar hatte eine Gruppe von Studenten der UMN wiederholt fehlerhafte Patches eingesendet – mit voller Absicht, wie der Inhalt einer aktuellen Forschungsarbeit der UMN mit dem Titel "On the Feasibility of Stealthily Introducing Vulnerabilities in Open-Source Software via Hypocrite Commits" dokumentiert.
Die Arbeit untersuche "die Unsicherheit von OSS (Open Source Software) aus einer kritischen Perspektive", heißt es in der Einleitung. Und später: "Als Proof-of-Concept demonstrierten wir in sicherer Weise, dass das Einführen von UAF-Bugs in den Linux-Kernel durch die Übermittlung heuchlerischer Commits praktisch umsetzbar ist" ("hypocrite" im engl. Original). Darauf folgt der Hinweis, dass das Experiment "auf sichere Weise" durchgeführt worden sei – man habe sichergestellt, dass die Patches lediglich im E-Mail-Austausch aufgetaucht und nicht in den tatsächlichen Code eingeflossen seien, um "echten Nutzern" nicht zu schaden.
"UAF-Bugs" meint Use-after-free-Bugs – und damit potenzielle Schwachstellen, die Angreifern unberechtigte Speicherzugriffe ermöglichen könnten. UAF beruht darauf, dass ein Programm einen Zeiger nochmals benutzt, nachdem der zugehörige Speicherbereich bereits freigegeben wurde. Somit befindet sich der Zeiger in einem undefinierten Zustand ("dangling pointer"), was sich häufig ausnutzen lässt, um eigentlich verbotene Dinge zu tun – also etwa eigenen Code anzuspringen und auszuführen.
Dass der durch die Studenten übermittelte Code tatsächlich Angriffsmöglichkeiten hätte eröffnen können, bestätigte auch Kernel-Entwickler Leon Romanowsky in einer Mail: "Gestern habe ich mir vier akzeptierte Patches von Aditya [Pakki] angeschaut, und drei von ihnen fügten dem Code verschiedene Sicherheitslücken hinzu". Aditya Pakki ist einer der für die Commits verantwortlichen Studenten aus dem Studiengang Computer Science & Engineering der UMN.
VorwĂĽrfe "an der Grenze zur Verleumdung"
Obgleich sich die Ausführungen in der UMN-Veröffentlichung durchaus als Schuldeingeständnis – oder, je nach Interpretation: als Rechtfertigung des Vorgangs "im Dienste der Wissenschaft" – lesen lassen, wehrte sich Pakki in der Diskussion auf der Kernel-Malingliste vehement gegen Kroah-Hartmans "wilde Anschuldigungen", die, so Pakki, an Verleumdung grenzen würden.
Die fraglichen Patches seien als Teil eines neuen statischen Analysewerkzeugs mit der Hoffnung eingesandt worden, Feedback zu erhalten, schreibt er. Die verantwortlichen Studenten seien keine Linux-Kernel-Experten, und Kroah-Hartmans wiederholte Anschuldigungen seien widerlich ("disgusting").
Kroah-Hartman fragte Pakki im Gegenzug, was er denn dessen Meinung nach denken solle, nachdem das Team zunächst (in der Forschungsarbeit) öffentlich eingestanden habe, bekanntermaßen "verbuggte" Patches übermittelt zu haben – und dies nun nochmals getan habe. Die ("Nonsense"-) Patches seien ganz offensichtlich nicht durch ein noch unausgereiftes statisches Analysetool erstellt worden; zudem sei es Usus, durch ein Tool erzeugten Code mit einem entsprechenden Hinweis à la "found by tool XXX, we are not sure if this is correct or not, please advise", zu kennzeichnen. Dies sei im konkreten Fall nicht erfolgt.
Die Community schätze es nicht, wenn an ihr Experimente durchgeführt würden. Wenn die Studenten auf diese Weise arbeiten wollten, schlage er ihnen vor, es anderswo zu versuchen; in der Linux-Entwickler-Community seien sie jedenfalls nicht mehr willkommen, schließt Kroah-Hartman.
UMN macht kritisierter Forschungsarbeit den Garaus
Die Verantwortlichen des Informatik-Departments der UMN zeigten sich in einem via Twitter veröffentlichten Statement indes einsichtiger: Man nehme die Situation sehr ernst, teilen Department Head Mats Heimdahl und sein Stellvertreter Loren Terveen mit. Man habe die kritisierte Forschungslinie umgehend eingestellt und werde die Forschungsmethoden sowie den Zulassungsprozess der Forschungsarbeit nachträglich prüfen. Überdies wolle man sich Gedanken zu nachträglichen Abhilfemaßnahmen ("remedial actions") machen und vorbeugende Maßnahmen machen, um ähnliche künftige Vorgänge zu verhindern.
(ovw)