Meltdown und Spectre – Lehren aus dem Desaster? – II – Konsequenzen für Linux-User

Im letzten Artikel habe ich begonnen, Spectre und Meltdown zu kommentieren. Ich habe zudem Links zu relevanten Informationen im Internet aufgelistet. In diesem Beitrag will ich nun ein wenig darauf eingehen, was man im Moment als normaler Linux-User tun kann.

Ein normaler Linux-Anwender hat eher selten Server- oder Virtualisierungssysteme im Einsatz, die parallel von unterschiedlichen aktiven Usern genutzt werden. Er arbeitet eher als Einzelkämpfer auf einem PC/Notebook. Bedroht sind aber eben nicht nur Server, sondern eben jedes System mit halbwegs modernen Computerprozessoren – ob von Intel, AMD und auch diverse Prozessoren mit ARM-, POWER- und SPARC-Mikroarchitektur. Bedroht sind wir potentiell also alle!

Gute und schlechte Nachrichten für den normalen Linux-User

Es ist wichtig, sich als User klarzumachen, dass der Einsatz von Verschlüsselungsverfahren wie etwa PGP und Veracrypt einen nicht gegen Meltdown/Spectre schützt. Bei Nutzung solcher Tools liegen die entschlüsselten Daten ja irgendwann unverschlüsselt im Speicher vor – und gerade der wird angegriffen. Ähnliches gilt übrigens für die Passwortspeicher von Browsern.

Die zwei guten Nachrichten sind:

  • Das Ausnutzen aller drei bislang diskutierten Schwachstellen erfordert die Ausführung von Schadcode auf dem angegriffenen System. Der muss da erst mal hingelangen.
  • Meltdown lässt sich auf der Ebene der Betriebssysteme durch Kernel- also SW-Korrekturen (Patches) ausschließen. Das bedeutet gewisse Performance-Einbrüche, die aber alle noch in erträglicher Größenordnung liegen.

Die schlechten Nachrichten sind:

  • Meltdown-Angriffe können relativ leicht umgesetzt werden, eben auch aus Webseiten per Javascript heraus.
  • Glaubt man den Forschern, die zu Spectre publiziert haben, so kann man gegen ausgeklügelte Spectre-Angriffe nur Hindernisse aufbauen; sie aber womöglich nicht grundsätzlich unterbinden. Auch für Spectre gibt es übrigens Proof-Of-Concept-Szenarien für Angriffe auf Basis von Javascript und damit über das Web.
  • Ein wichtiger Gefahrenpunkt bzgl. von Angriffen aus dem Web sind Zugriffe auf seitenübergreifende Speicherinhalte des Browsers, z.B. von Passwort-Speichern. Beides wurde sowohl für Meltdown- als auch Spectre-Angriffsmuster demonstriert.
  • Bestimmte moderne Änderungen (KTPI, Retpoline) an Linux-Kerneln (in Kombination mit Microcode-Updates für die Prozessoren) sind noch nicht für LTS-Kernel umgesetzt worden – und können vermutlich auch nicht rückportiert werden.
  • Es wird noch dauern, bis neue Kernel in die üblichen Linux-Distributionen einfließen.
  • Gegen eine Variante von Spectre gibt es noch kein Heilmittel.

Konsequenzen- was kann man tun?

Die Konsequenzen für Anwender sind:

  • Kernel-Updates zum Schutz gegen Meltdown sind Pflicht. Dazu sind die SW-Repositories der jeweiligen Distribution abzufragen. Vor evtl. problematischen Linux-Kernel-Modifikationen zur Abwehr von Spectre-Angriffen (in Kombination mit Microcode_Updates für die Prozessoren) schützt uns hoffentlich die Kompetenz von Hrn. Torvalds und anderen Kernel-Spezialisten/Maitainer im Rahmen ihrer Qualitätskontrollen. Siehe hierzu: https://www.heise.de/newsticker/meldung/Absoluter-Muell-Linus-Torvalds-verliert-die-Geduld-mit-Spectre-Patches-3948756.html
  • Upgrades auf Kernelversionen, die von der eigenen Distribution und oder Treibern und Virtualisierungsanwendungen (noch) nicht unterstützt werden: Verfahren wie KPTI und Retpoline-
    Techniken sind nur in neueste Kernelversionen 4.14/4.15 – z.T. Vorabversionen – integriert. Ein normaler User ist beim Experimentieren mit solchen Kernels ggf. überfordert. Wer sich dennoch daran wagt und solche Kernels aus Repositories lädt, sollte sich vorab unbedingt darüber informieren, wie man den alten Kernel bootet und welche Versionen schon mit Grafikkartentreibern und Virtualisierungstools wie VMware kompatibel sind. Ansonsten ist man auf die Kernel-Updates der aktuellen Distributions-Repositories angewiesen. OpenSUSE-User sollten darauf achten, dass der Supportzeitraum für Leap 42.2 in Kürze endet!
  • Updates von Paketen mit Intel-Microcode, der Spectre-Angriffe erschwert, sind Pflicht – soweit solche Updates nicht die Stabilität der Systeme in Frage stellen. Leider kann das am 08.01.2018 publizierte Microcode-Update Instabilitäten verursachen. Siehe die Links am Ende der Seiten. Die Lage ist hier z.Z. unübersichtlich. SuSE und Red Hat haben z.B. die Intel-Microcode-Update-Pakete vom 08.01. wieder aus ihren Repositories entfernt. Im Moment liegt noch kein neueres Paket vor. Das Erscheinen neuerer Pakete für Microcode-Updates in den Repositories der Distributionen ist aber systematisch zu verfolgen.
  • Browser-Updates sind Pflicht. Die Browser-Hersteller können bestimmte Spectre-Varianten immerhin erschweren. Dazu zählt u.a. das Unterbinden von Funktionen zur hochauflösenden Zeitanalyse von Speicher-/Cache-Vorgängen.
  • Prävention: Noch mehr als zuvor ist darauf zu achten, von wo man sich Software einspielt. Deshalb sind https-Verbindungen statt http-Verbindungen zu Repository-Servern der jeweiligen Distributionen einzurichten. Für eingespielte Pakete sind die Hashes zu prüfen. Geübte Linux-Nutzer machen das sowieso; die Hash-Überprüfung nehmen einem meist Tools ab.
  • Prävention: Noch mehr als zuvor ist darauf zu achten, auf welche Webseiten man geht. NoScript-Plugins sollten im Browser im ersten Anlauf immer aktiv sein. Man sollte sich gut überlegen, für welche Domänen man Javascript oder andere Scriptsprachen überhaupt freigibt.
  • Prävention: Abschalten von Passwortspeichern in Browsern.
  • Prävention: Noch mehr als zuvor ist darauf zu achten, dass man sich nichts über E-Mail-Anhänge einfängt. Bei unbekannten Absendern oder “seltsamen” Inhalten immer zuerst den Header und seine Inhalte auf Inkonsistenzen überprüfen. IP-Adressen der Absender mit “whois” prüfen. Checken, ob im Internet zu Spams oder Malware für die Absender-IPs vorliegen. Eher mal zuviel löschen als irgendetwas in der Mail anzuklicken oder gar Anhänge zu öffnen.
  • Angesichts der Unsicherheiten, ob es bereits wirksame aber unentdeckte Angriffstools gab oder nicht, der Länge des Zeitraums seit Bekanntwerden der Schwachstellen (7 Monate) und der relativen Einfachheit von Meltdown-Angriffen, ist es auf exponierten Systemen sicher nicht verkehrt, mal alle Passwörter zu ändern.

Mehr Möglichkeiten hat der Linux-User zur Zeit wohl kaum. Im Kern also: Updaten, Repository-Änderungen für Kernel und Microcode-Pakete beobachten und ansonsten noch vorsichtiger mit Webseiten und E-Mails sein. Einige Punkte führen leider zu einer unbequemer Bedienung von Browsern und E-Mail-Programmen, aber potentieller Schaden und Nutzen sind eben abzuwägen. Wird ein Passwortspeicher ausgelesen, ist der Schaden immens.

Im nächsten Artikel gehe ich in allgemeiner Weise auf das Thema Browser und auch auf die Bedeutung von OpenSource im Kontext von Meltdown/Spectre ein.