Inside IONOS

Transkript

Zurück zur Episode

[00:00:00] Music.

00:00:06: Hallo und herzlich willkommen bei Inside IONOS. Mein Name ist Andreas Maurer.

00:00:12: Sie nutzen zu Hause oder im Büro wahrscheinlich einen Windows-PC oder einen Rechner von Apple mit MacOS.

00:00:17: Ein großer Teil der Internet-Infrastruktur läuft aber auf dem freien Betriebssystem Linux. Und wenn es hier zu Sicherheitslücken kommt, können die schnell Auswirkungen auf Millionen von Nutzerinnen und Nutzern haben.

00:00:26: Max Kellerman ist Softwareentwickler bei unserem Tochterunternehmen CM4all und hat vor kurzem eine solche schwere Sicherheitslücke entdeckt. Max, was ist da genau passiert? Das ist eine Lücke, mit der man die Sicherheitsmechanismen des Linux-Kernels umgehen kann.

00:00:40: Das ist ein Fehler im sogenannt Linux-Kernel, der die Daten alle Applikationen verwaltet und hier kann ich anstellen, wo es eigentlich nicht möglich sein sollte, Daten zu überschreiben, kann ich eben dann beliebig

00:00:53: Daten überschreiben und manipulieren. Jetzt muss man vielleicht mal kurz erklären, Linux-Kernel, was genau ist das?

00:00:59: Der Kernel nennt man den Kern des Betriebssystems, der ist die Brücke zwischen der eigentlichen Hardware und den Applikationen

00:01:08: und der verwaltet eben alle Gerätetreiber, verwaltet alle Daten, verwaltet die Daten auf allen Festplatten und ist

00:01:14: dafür zuständig, die Berechtigungen aller Applikationen zu überprüfen.

00:01:18: Genau dafür ist Linux ja eigentlich bekannt, dass es da sehr granulare Berechtigung gibt, das heißt, ich kann bei jeder Datei sagen, ob die jemand, ein einzelner Nutzer oder eine Gruppe ausführen, lesen,

00:01:27: oder beschreiben darf. Was ist da schief gegangen, dass das auf einmal jeder konnte?

00:01:31: Die Berechtigungen funktionieren natürlich nur dann, wenn der Kernel sich darüber im Klaren ist, was eigentlich gerade passiert. Es gibt viele Möglichkeiten, Berechtigung für bestimmte Aktionen einzustellen.

00:01:40: Hier ist kommt es aber zu einer Art Missverständnis,

00:01:44: weil es einen Fehler in der Verarbeitung dieser Rechte gibt, dass es an einer Stelle es einen Trick gibt, um am Kernel sozusagen vorbeizulaufen, sich hinter diesen Rechte-Mechanismen zu verstecken.

00:01:55: Das sind Fehler, die treten immer mal wieder auf, jede Software hat irgendwo ihre Bugs.

00:02:00: Und das ist dann durchaus eine normale Sache, dass sie dann entdeckt und dann eben behoben wird. Warum ist diese Sicherheitslücke jetzt eigentlich genau so gefährlich?

00:02:09: Die ist deswegen gefährlich, weil man sich normalerweise darauf verlässt, dass ein Betriebssystem, ob das Linux, Windows oder ein anderes ist, dass das

00:02:17: auf die Daten gut aufpasst, also nicht nur, dass Daten, die ich auf der Festplatte speichere, auch genauso wieder da rauskommen, dass sie nicht kaputt gehen. In unserem Fall war es halt so, dass sie kaputt gegangen sind. In einem anderen Fall kann so ein Fehler auch dazu führen, dass ein Angreifer Daten auch manipulieren kann.

00:02:30: Wenn der Angreifer möchte, dann kann er bestimmte Dateien an bestimmten Stellen überschreiben und, sagen wir, in wichtigen Dokumenten irgendwelche Werte ändern.

00:02:38: Er kann selber sich mehr Berechtigung geben, als er eigentlich hätte, er kann damit ja auch Daten auslesen, die er eigentlich nicht lesen sollte und das sind so Dinge, für die der Kernel normalerweise zuständig ist. Wenn ein Bug auftritt, dann schafft er eben das nicht,

00:02:53: das zu garantieren und da man sich darauf verlässt, dass er das eben tut, ist das eben wichtig, dass eben solche Lücken auch schnell geschlossen werden.

00:02:59: Ihr habt diese Lücke jetzt Dirty Pipe getauft. Ich glaube, in diesem Pipe steckt auch schon so bisschen drin, wo der Fehler lag.

00:03:05: Ja, das ist so eine bisschen augenzwinkernde Referenz auf ein anderes Sicherheitsloch, das es, glaube ich, vor fünf Jahren schon mal gegeben hat, das ähnlich funktioniert hat, wo man auf ähnliche Weise beliebige Daten überschreiben konnte.

00:03:16: Das haben die Finder damals Dirty COW genannt, COW ist nicht die Kuh, sondern ist eine Abkürzung für copy-on-write. Das ist ein Mechanismus im Kernel, wo es um das Teilen von Daten zwischen verschiedenen Prozessen geht.

00:03:27: Es geht bei uns eben nicht um copy-on-write, um diesen Mechanismus, sondern um sogenannte Pipes

00:03:32: und Pipes ist ein anderer Mechanismus, wo verschiedene Applikationen untereinander Daten austauschen können, und um diese Pipes geht das eben. Das ist ein Trick, wo ich den Kernel über eine Pipe davon überzeugen kann, bestimmte Daten zu beschreiben.

00:03:44: Wie bist du jetzt überhaupt auf diese Lücke aufmerksam geworden?

00:03:46: Da bin ich unfreiwillig drüber gestolpert, weil wir auf einigen Servern immer wieder kaputte Dateien hatten und ich bin einfach nicht drauf gekommen, wie unsere Software dazu kam, da,

00:03:59: naja, die Daten kaputt zu machen. Da war ein Fehler drin, das ergab alles überhaupt keinen Sinn und ich habe gesucht und gesucht und gesucht und habe nichts gefunden, bis ich am Ende

00:04:07: über viele Umwege draufgekommen bin, dass es ein Bug im Kernel ist, der eben meine Anfragen, bestimmte Daten irgendwohin zu schreiben, an die falsche Stelle schreibt.

00:04:16: Und was hast du dann unternommen, als du das Problem identifiziert hattest?

00:04:22: Ja, ich habe erst mal genau geschaut, wo ist dieses Probleme im Kernel, habe dann relativ schnell festgestellt, also, ich konnte das reproduzieren, hab ein Programm geschrieben, wo ich nach einer Sekunde sehen konnte, okay, Datei ist tatsächlich kaputt.

00:04:35: Das ist eigentlich immer das allerschwierigste, wenn man so einen Fehler hat, der Daten kaputt macht, wie kriege ich das nachgestellt. Wenn man das einmal nachgestellt hat, dann kann man gucken, ok, der Kernel, bei dieser neuesten Kernel-Version tritt Fehler auf. Dann sucht man eine alte Kernel-Version, bei

00:04:48: der das nicht mehr auftritt. Die habe ich relativ schnell gefunden.

00:04:52: Und sucht dann exakt die Stelle dazwischen, wo die Version dazwischen die erste ist, die verwundbar ist gegen dieses Problem, und nachdem ich das genau identifiziert hatte, an welcher Stelle das zuerst

00:05:04: aufgetreten ist, habe ich dann das Linux-Kernel-Securityteam kontaktiert per E-Mail. Das sind bestimmt Kernel-Entwickler, die genau für Securityfragen zuständig sind, unter anderem Linus Torvalds, der Erfinder von Linux,

00:05:16: und habe mit denen darüber gemailt und die haben mir dann bestätigt, ja, das ist genau dieser Fehler. Ich hatte denen dann direkt schon

00:05:24: eine Lösung für das Problem geschrieben und das haben die dann auch dankend aufgenommen und habe dann mit denen den weiteren Zeitplan besprochen, wie wir weiter damit umgehen.

00:05:33: Das ist ja, glaube ich, auch noch ein wichtiger Punkt - Linux ist eine sogenannte Open-Source-Software, das heißt, der Quellcode ist frei und es gibt auch keine Firma, der Linux gehört.

00:05:39: Das heißt, das ist eigentlich nur eine freie Gruppe von Entwicklern, ja, an die du dich da gewendet hast? Ja, das ist richtig. Linux wird von vielen Tausenden Programmierern auf aller Welt entwickelt,

00:05:49: viele davon sind auch angestellt bei Firmen, die sich für Linux interessieren und die Linux selber einsetzen

00:05:57: und die natürlich in dem Moment sich das Know-how

00:06:01: dann in der Firma haben wollen, aber im Endeffekt ist es dann doch ein Loser Haufen von Leuten, die das in ihrer Freizeit machen, und Leuten, die das auch beruflich machen,

00:06:10: und da gibt es eben eine bestimmte Hierarchie von Teams, die sich dann für bestimmte Teile von

00:06:14: Linux verantwortlich kümmern, und ein Team davon ist eben das Security-Team, das ich eben kontaktiert habe. Und wir haben jetzt die ganze Zeit über Linux gesprochen, aber betroffen waren ja, glaube ich, auch Smartphones mit dem Betriebssystem Android. Wie hängt das zusammen?

00:06:29: Android ist auch Linux, das sieht zwar ein bisschen anders aus und bedient sich ein bisschen anders als das klassische Linux, was man vielleicht kennt.

00:06:36: Aber rein technisch gesehen ist es das gleiche Betriebssystem, also der gleiche Betriebssystem-Kernel, wo eben nur eine andere Art von Applikationen drauf installiert ist.

00:06:46: Und dementsprechend, wenn Linux von einer Lücke betroffen ist, ist oft auch Android davon betroffen. Und was hätte jetzt auf Android-Smartphones passieren können? Da sind ja normalerweise nicht mehrere Nutzer, die dasselbe Telefon benutzen.

00:06:58: Das stimmt. Wichtig bei Android ist nicht die Isolation von verschiedenen Benutzern untereinander, wenn mehrere Benutzer den einen Computer benutzen.

00:07:06: Sondern eher hauptsächlich, dass verschiedene Apps bestimmte Berechtigungen haben. Es gibt, zum Beispiel, Apps, die dürfen von der Kamera Bilder aufnehmen, es gibt andere Apps wiederum, die sollen das eben nicht. Klassischer Fall, ich lade mir ein Puzzle-Spiel runter,

00:07:21: dann soll das mich nicht dabei filmen oder währenddessen meine Gespräche aufnehmen.

00:07:25: Das hat dann eben keine Berechtigung dazu, die Spiele-App darf, zum Beispiel, auch nicht meine WhatsApp-Nachrichten lesen, die verschlüsselt auf dem Handy installiert sind,

00:07:32: und an der Stelle ist es ja auch besonders wichtig, dass eben die Apps voneinander gut getrennt sind, dass sie eben nicht sich gegenseitig in die Quere kommen oder meine Privatsphäre verletzen, wenn ich das nicht will,

00:07:41: und deswegen ist das hier so gefährlich, weil der Kernel es eben nicht mehr schafft, die Apps gegeneinander abzuriegeln.

00:07:50: Das ist jetzt ja, glaube ich, über zwei Wochen her, dass du diese Lücke entdeckt hast. Das ist ein Prozess, den nennt man, glaube ich, Responsible Disclosure. Was ist jetzt in diesen zwei Wochen passiert?

00:07:59: Ja, zunächst habe ich direkt am selben Tag eben das Linux-Kernel-Securityteam kontaktiert, habe dann ein paar Tage später mit einer anderen privaten Mailingliste gesprochen.

00:08:08: Das sind die Linux-Distributionen, die eben auch Vorbereitungszeit brauchen, um Security-Updates herauszugeben.

00:08:15: Ich habe mit Google viel gemailt, die natürlich auch ein Interesse daran haben, dass das Problem Android behoben wird.

00:08:23: Und Responsible Disclosure hast du eben schon angesprochen, das ist eben ein Verfahren, wo man sagt, ich habe einen Sicherheitloch gefunden, aber statt das sofort zu veröffentlichen und zu sagen, hey, ich haben Sicherheitsloch gefunden,

00:08:33: sagt man, hey, wir geben erst mal dem Hersteller, in dem Fall natürlich die weltweite Linux-Community,

00:08:38: wir geben denen erstmal die Chance, dass sie Security-Updates rausbringen und erst wenn sie das gemacht haben, nach einer vernünftigen Frist, sagt man, jetzt gehen wir an die Öffentlichkeit und jetzt veröffentlichen wir die ganze Sache und informieren eben

00:08:50: den Rest der Welt von der ganzen Sache, nachdem erst alle die Chance hatten, sich eben die Updates zu installieren.

00:08:57: Wenn man das sofort veröffentlichen würde, dann wäre eben das Problem, dass es noch keine Updates gibt

00:09:02: und jeder verwundbar ist, und das ist eine Sache, die man eigentlich vermeiden möchte. Von daher reduziert man so das Risiko für alle Linux-Nutzer.

00:09:10: Zum Schluss dann die Frage, die sich, glaube ich, bei jeder Sicherheitslücke stellt - Was müssen jetzt die Nutzer von Android und von Linux-Systemen beachten, was soll man jetzt tun?

00:09:18: Auf jeden Fall Ausschau halten nach Sicherheitsupdates, alle Update immer einspielen, das ist immer wichtig, das gilt für jeden Computer und auch für jedes Smartphone.

00:09:27: Und das wird sich jetzt eben einstellen, dass die nächsten Tage dieses Update eben auch veröffentlicht werden. Die stehen alle schon in den Startlöchern. Vielen Dank, Max Kellerman.

00:09:36: In den Shownotes zu dieser Inside IONOS-Folge finden Sie den Link zu einem Blogpost, in dem Max ausführlich beschreibt, wie er Dirty Pipe gefunden hat.

00:09:43: Wir freuen uns wie immer über Kommentare und Bewertungen für unseren Podcast,

00:09:47: Sie erreichen unser Team ganz einfach über podcast@ionos.com oder Social-Media-Kanäle @ionos_de auf Twitter,

00:09:54: IONOS Deutschland auf Facebook oder auf LinkedIn ganz einfach IONOS. Vielen Dank fürs Zuhören, alles Gute und hoffentlich bis bald.

00:10:01: Music.