Linux-Verbot der University of Minnesota wirft Fragen zu Open Source auf

Veröffentlicht: 2022-03-11

Es gibt im Allgemeinen zwei Arten von Hackern: diejenigen, die in Computersysteme einbrechen, um Schwachstellen zu finden, um sie zu beheben, und Kriminelle, die Schwachstellen ausnutzen, um Daten zu stehlen und Organisationen als Geiseln zu nehmen.

Dann ist da noch Kangjie Lu, ein Assistenzprofessor an der University of Minnesota, der sich auf Computersicherheit spezialisiert hat. Er erlangte kürzlich Berühmtheit, weil er absichtlich Schwachstellen im bekanntesten Open-Source-Softwaresystem der Welt, dem Linux-Kernel, geschaffen hat. Nachdem er eine wissenschaftliche Arbeit über seine Exploits veröffentlicht hatte, sperrte das Linux-Kernel-Team die Universität und machte ihre früheren Korrekturen rückgängig.

Vorsätzliche Sicherheitslücken im Linux-Kernel

Die Enthüllungen haben Fragen zur Open-Source-Sicherheit und zum Betriebssystemkern aufgeworfen, einer grundlegenden Komponente unzähliger Geräte und Server. Lu verbarg Schwachstellen in einigen kleineren Korrekturen, die er und ein Student im Aufbaustudium an Linuxs riesiges Repository von Softwarecode übermittelten, und unterwanderte eine kollaborative Methode, die für die Sicherheit des Programms unerlässlich ist.

„Sie waren erschreckend erfolgreich“, sagt Alexander Sereda, ein in Toronto ansässiger Projektmanager, der 2020 dem Toptal-Netzwerk beigetreten ist.

Während Windows und macOS die Desktops dominieren, sind Linux-basierte Betriebssysteme bei Servern und Supercomputern bei weitem am beliebtesten, und Google verwendet eine modifizierte Version des Kernels für Android. Tech-Giganten wie Red Hat haben ihre Enterprise-Software-Geschäfte rund um Open Source aufgebaut, und selbst Microsoft, das jahrelang als führender Gegner des Open-Source-Ökosystems galt, ist umgeschwenkt: 2018 kaufte es GitHub, den größten Host für Open-Source-Lösungen. Quellprojekte; heute sind Linux-Distributionen im Microsoft Store zu finden.

Es ist kaum zu überschätzen, wie weit verbreitet der Linux-Kernel und Open-Source-Software sind, die sich von Bastlern und Idealisten zu einem Eckpfeiler des heutigen Softwaremarktes entwickelt haben. Es gibt buchstäblich Millionen von Open-Source-Projekten, die Entwickler sichten müssen, und da sie kostenlos und größtenteils zuverlässig sind, enthalten mehr als 90 % der kommerziellen Anwendungen solche Komponenten. Diese Zahl wächst laut einer jährlichen Studie des Siliziumdesign- und Softwaresicherheitsunternehmens Synopsys weiter.

Zuverlässig zu sein ist genauso wichtig wie kostenlos zu sein, und die Open-Source-Community ist stolz darauf, Programme zu liefern, die proprietärer Software ebenbürtig, wenn nicht sogar besser sind. Die Bewegung entstand in den 1990er Jahren mit einem zentralen Grundsatz, der vom Entwickler und Autor Eric Raymond geprägt wurde, dass „mit genügend Augäpfeln alle Fehler oberflächlich sind“. Dass Open Source bisher relativ unbeschadet überlebt hat – auch wenn die Welt mit einer beispiellosen Epidemie von Hacking und Ransomware zu kämpfen hat – ist nur eine weitere Bestätigung dafür, dass eine solche offene Zusammenarbeit immer noch effektiv sein kann.

Aber wie Lu in seiner Forschung gezeigt hat, ist keine Sicherheit perfekt, nicht einmal in etwas so Kritischem und genau Beobachtetem wie dem Linux-Kernel. Während das Schreiben von sicherem Code einfach sein kann, kann es unglaublich schwierig sein, Schwachstellen im Code nachträglich zu finden – „wie das Entfernen der Milch aus Ihrem Tee, nachdem er eingerührt wurde“, sagt Sereda. Während sich Open Source im Allgemeinen bewundernswert entwickelt hat, abgesehen von ein paar signifikanten Schluckaufen wie dem Heartbleed-Bug, der 2014 auftauchte, gibt es immer mehr Beweise dafür, dass Entwickler ihrerseits zu viele Abkürzungen nehmen, wenn sie freie Software in ihre integrieren Produkte.

Open-Source-Sicherheitsrisiken

In seinem Jahresbericht 2021 enthüllt Synopsys, dass jedes von ihm geprüfte Unternehmen in der Marketing-Tech-Branche Open Source in seiner Codebasis hatte und 95 % dieser Codebasen Schwachstellen enthielten. Ähnliche Ergebnisse wurden bei der Betrachtung des Gesundheitssektors, des Finanzdienstleistungssektors sowie der Einzelhandels- und E-Commerce-Branche festgestellt. Es gibt eine Reihe von Gründen für die schlechten Ergebnisse, aber der wichtigste ist, dass die Software immer komplizierter wird und es damit immer schwieriger wird, Komponenten zu verfolgen und zu überwachen.

Open Source hat eine viel bessere Sicherheitsbilanz als proprietäre Produkte, aber das garantiert nicht, dass es immer die beste Qualität ist, sagt Sam Watkins, ein freiberuflicher Full-Stack-Entwickler, der 2021 dem Netzwerk von Toptal beigetreten ist. „Wir haben ein viel größeres Problem, das ist zu komplizierte Programme. Es ist unsicher, wenn auch nicht aus böswilliger Absicht.“

Das Problem ist dann nicht unbedingt, dass Open Source zu offen ist. Stattdessen ist es die Lücke, die bestehen bleibt, weil es keinen Anbieter gibt, der Patches für die Community veröffentlicht, selbst wenn die Softwarezyklen immer kürzer werden, sagt Timothy Mackey, leitender Sicherheitsstratege bei Synopsys. Knappe Budgets zwingen Programmierer dazu, unvollkommene Abkürzungen wie vereinfachende Bewertungssysteme zu verwenden, um ihre Komponenten nach Beliebtheit und nicht nach Qualität auszuwählen. Es gibt mehrere Dienste, die Programmierern solche Verknüpfungen anbieten, darunter Openbase, Stack Builder und der Open Source Index, der die beliebtesten Projekte auf GitHub hervorhebt.

Verwalten von Open-Source-Schwachstellen

Laut Programmierern und Akademikern müssen diese Open-Source-Bewertungssysteme zwar einen Wert haben, es muss jedoch mehr Validierung und Überlegung beim Abwägen von Optionen erfolgen, anstatt nur Komponenten zu ergreifen, die am besten zusammenpassen. Jede Organisation sollte eine Reihe von Best Practices festlegen, die Prinzipien für die sorgfältige Auswahl von Software enthalten, die den Umfang des erforderlichen Supports und die damit verbundenen Risiken berücksichtigen. Unternehmen sollten auch alle ihre Open-Source-Komponenten verfolgen und regelmäßig aktualisieren.

Einige andere Best Practices, die unsere Experten zur Berücksichtigung identifiziert haben, sind:

  • Automatisierung verwenden, Prozesse verifizieren, alles dokumentieren und Git verwenden, um Änderungen an der Codebasis zu verfolgen.
  • Aufbau einer positiven Community, einschließlich der Unterstützung von Open-Source-Neulingen, die wichtige Mitarbeiter werden könnten.
  • Alle Open-Source-Lieferketten überprüfbar halten.
  • Verwenden von Open-Source-Containern, die den Kernel des Host-Betriebssystems gemeinsam nutzen.
  • Identifizierung der kritischsten Open-Source-Komponenten, Verfolgung ihrer Sicherheitsprobleme, Zusammenarbeit mit ihren Entwicklern und Beitrag zu Upstream-Projekten mit Patches und Finanzierung.

Ann Barcomb, Assistenzprofessorin an der Schulich School of Engineering der University of Calgary, fügt hinzu, dass Organisationen im Idealfall eine Reihe von Best Practices verwenden sollten, um Bibliotheken mit vorab genehmigten Produkten aufzubauen, damit Software niemals willkürlich ausgewählt wird. Sie räumt jedoch ein, dass dieser Prozess zeitaufwändig, kostspielig und nicht weit verbreitet ist.

„Sie wollen mehr Sicherheit, aber diese Sicherheit hat einen enormen Preis“, sagt Ayush Poddar, ein freiberuflicher Back-End-Entwickler, der 2021 zu Toptal kam.

Plattformen wie Black Duck, Sonatype, Snyk und WhiteSource bieten Automatisierung, um Open-Source-Komponenten im Stack eines Computerprogramms zu finden und Schwachstellen zu identifizieren. Dennoch sind diese Tools begrenzt, und mit Code-Patches Schritt zu halten, ist ein weiteres Problem, das immer schlimmer wird – die US Cybersecurity & Infrastructure Security Agency meldet oft Hunderte neuer Software-Schwachstellen pro Woche.

„Man kann nicht jede Kombination testen, wie jedes Codebit ausgeführt werden kann“, sagt Aidan McManus, ein pensionierter technischer Leiter, der bei CA Technologies für IT-Architektur und Engineering zuständig war. „Das würde Jahre dauern.“

Mats Heimdahl, der Leiter des Department of Computer Science and Engineering der University of Minnesota, merkt an, dass Kangjie und seine Forscher auch zahlreiche fehlerhafte Patches im Kernel gefunden haben, die von den von ihnen eingereichten Fehlern getrennt waren. „Meiner Ansicht nach ist es ziemlich klar, dass ein manueller Überprüfungsprozess durch überarbeitete und unterschätzte Freiwillige (selbst durch äußerst erfahrene und engagierte Betreuer) unweigerlich unvollkommen sein wird“, schrieb Heimdahl in einer E-Mail.

Die Tatsache, dass Schwachstellen zunehmen, wirft grundlegende Fragen darüber auf, wie Open Source gehandhabt werden soll. Während es die Innovation beschleunigt, ist es im Wesentlichen eine gemeinsam genutzte Ressource, eine riesige Bibliothek kostenlos nutzbarer Software, die den Verbrauchern 60 Milliarden US-Dollar pro Jahr einspart und auch die Gewinne der Unternehmen steigert, indem sie ihre Entwicklungskosten senkt. Möglicherweise gibt es einfach zu viele Trittbrettfahrer, und es werden nicht genügend Ressourcen für Wartung und Sicherheit bereitgestellt.

Linux-Kernel-Verbot der Universität von Minnesota: Grenzen gelernt

Obwohl nichts darauf hindeutet, dass sich die Überprüfung von Fixes geändert hat, erstellt die Linux Foundation eine Reihe von Best Practices für Forscher, die mit dem Kernel arbeiten, und empfahl der University of Minnesota, einen Gutachter für ihre Einreichungen zu ernennen. Es gibt wirklich keine Alternative zur Codeüberprüfung, und die bestehende Community leistet gute Arbeit, um bösartigen Code fernzuhalten, sagt Barcomb. Angesichts der für die Wissensarbeit erforderlichen Autonomie sagt sie: „Das Beste, was Sie tun können, ist, Prozesse einzurichten, um Vertrauensverletzungen zu erkennen und entsprechend zu reagieren, im besten Fall, bevor Änderungen eingearbeitet werden.“

Heimdahl merkt an, dass seine Institution ein Komitee organisiert, um bei Patch-Einreichungen zu beraten, während es auf die Aufhebung des Verbots wartet.

Linux war einst die Idee eines Außenstehenden, ein kühner Kontrapunkt zum traditionellen Denken über proprietäre Software, aber es hat sich zu etwas entwickelt, das viel mehr wie ein kommerzielles Projekt aussieht. Huawei, Intel und Red Hat führen Hunderte von Unternehmen an, die regelmäßig Code zum Linux-Kernel beitragen. Während viele dieser Unternehmen auch Geld an die Linux Foundation und Partner der Open-Source-Initiative spenden, könnte es Zeit für einen systematischeren Ansatz zur Unterstützung der Software sein, um die Sicherheit in Zukunft zu verbessern – einen, der die Vorteile eines solchen besser bewertet wichtige Open-Source-Systeme.

„Die Leute gehen einfach davon aus, dass Open Source funktioniert“, sagt Christopher Tozzi, Dozent am Rensselaer Polytechnic Institute. „Es gibt eine ganz neue Generation von Menschen, die sich nicht wirklich mit diesen Themen auseinandergesetzt haben.“