Die unter den Namen Meltdown und Spectre zum Jahreswechsel 2018 in der bekannt gewordenen Sicherheitslücken bewegen aktuell ja die Öffentlichkeit. So langsam lichtet sich der Nebel. In diesem Blog-Beitrag und weiteren Teilen versuche ich, den aktuellen Erkenntnisstand zusammen zu fassen.
Sicherheitslücken in der Hardware
Das Problem deutete sich bereits seit längerer Zeit an. Forscher, u.a. der TU-Graz, hatten Mechanismen entdeckt, um Angriffe auf eigentlich geschützte Speicherbereich von Rechnern auszuführen und Informationen auszulesen. Hierbei kommen die theoretischen Grundlagen zum Einsatz, die in diversen Forschungsdokumenten (u.a. von der Uni Graz) unter folgenden Namen bekannt sind.
- Spectre (Variante 1 und 2): Diese durchbricht die Isolation zwischen verschiedenen Anwendungen. Es ermöglicht es einem Angreifer, fehlerfreie Programme, die Best Practices befolgen, zu täuschen, damit sie ihre Daten preisgeben. Tatsächlich erhöhen die Sicherheitsüberprüfungen im Rahmen der Best Practices sogar die Angriffsfläche und können Anwendungen anfälliger für Spectre machen. Diese Sicherheitslücke besteht nach aktuellem Wissen auf allen CPUs.
- Meltdown (Variante 3): Diese durchbricht die grundlegende Isolierung zwischen Benutzeranwendungen und dem Betriebssystem. Dieser Angriff ermöglicht es einem Programm, auf den Speicher und damit auch auf die Daten anderer Programme und des Betriebssystems zuzugreifen. Diese Sicherheitslücke besteht nach aktuellem Wissen nur auf Intel CPUs.
Über die Links lassen sich die betreffenden PDF-Dokumente abrufen. Eine Informationen finden sich auch unter meltdownattack.com.
Diese Ansätze wurden von Sicherheitsforschern im Google Project Zero konkret aufgegriffen. Den Leute gelang es, Exploits zu entwickeln, die sogenannte “speculative execution side-channel attacks” (spekulative Seitenkanalangriffe) verwenden. Über diesen Angriffsvektor ist es möglich, ohne Berechtigungsnachweis auf Speicherinhalte fremder Prozesse zuzugreifen. Dies bedeutet, aus einem Browser oder einer Anwendung, die mit normalen Rechten läuft, könnte auf Speicherbereiche des Betriebssystemkerns zugegriffen werden.
Das Problem wurde inzwischen von Jann Horn (Google Project Zero) im Blog-Beitrag Reading privileged memory with a side-channel beschrieben (bekannt ist es wohl seit Sommer 2017 und wurde mit den Herstellern diskutiert). Zudem hat Google am 3. Januar 2018 einen Blog-Beitrag Today’s CPU vulnerability: what you need to know veröffentlicht.
Einige Details zu diesem Szenario habe ich im Blog-Beitrag Sicherheitslücke: Bug in Intel CPUs bedroht Betriebssysteme sowie unter Meltdown und Spectre: Was Windows-Nutzer wissen müssen beschrieben. In einem Tweet demonstriert ein Sicherheitsforscher, wie sich über einen solchen Meltdown-Angriff Speicherinhalte auslesen lassen.
Using #Meltdown to steal passwords in real time #intelbug #kaiser #kpti /cc @mlqxyz @lavados @StefanMangard @yuvalyarom https://t.co/gX4CxfL1Ax pic.twitter.com/JbEvQSQraP
— Michael Schwarz (@misc0110) January 4, 2018
Welche CPUs sind betroffen?
In ersten Meldungen wurde noch behauptet, dass nur Intel Prozessoren betroffen seien. Inzwischen kristallisiert sich heraus, dass auch ARM-CPUs und die Prozessoren von AMD anfällig für diese Designschwäche sind. Selbst Apple musste eingestehen, dass auch die Mobilgeräte-Prozessoren (iPhone, iPad) von diesen Sicherheitslücken betroffen sind. Im Grunde betrifft es wohl alle Prozessoren, die seit 1995 auf den Markt kamen (Ausnahmen sind Itanium und Atom-Prozessoren vor 2013 siehe auch). Vom US-CERT gibt es diese Vulnerability Note VU#584653 (CPU hardware vulnerable to side-channel attacks), welches die betroffenen Hersteller und weitere Details benennt. Hier sind noch einige Referenzen:
Meltdown, Spectre: The password theft bugs at the heart of Intel CPUs
Meltdown and Spectre CPU Flaws Affect Intel, ARM, AMD Processors
Massive chip flaw not limited to Intel
Vulnerability of Speculative Processors to Cache Timing Side-Channel Mechanism ARM
Apple Support-Dokument ( iOS 11.2, macOS 10.13.2, tvOS 11.2)
Apple: Mac and iPhone both affected by big chip vulnerability
Prozessor-Lücken Meltdown und Spectre … (heise.de)
Dies bedeutet, dass neben Windows auch andere Betriebssysteme wie Android, Chrome, iOS, MacOS, Linux etc. betroffen sind.
Vom US CERT gibt es noch diese Sicherheitsanweisungen zum Intel CPU-Sicherheitsproblem, wo weitere Hinweise von Intel und ein Detections-Tool verlinkt sind. Diese Geschichte bezieht sich aber auf Schwachstellen in der Intel Management Engine Neuer Bug in Intels Management Engine (Intel SA-00086) – hat nichts mit der aktuellen Geschichte zu tun.
Ein netter Artikel zum Thema findet sich auch bei Zeit Online.
Patches für die CPUs
Inzwischen reagieren die Prozessorhersteller und kündigen Updates für den Microcode an. Intel will ab kommende Woche Updates für 90% seiner modernen CPUs (die in den letzten 5 Jahren erschienen sind) bereitstellen. Details finden sich z.B. im Beitrag Intel Promises Firmware Updates for Most Modern CPUs by the End of Next Week. Ein deutschsprachiger Beitrag findet sich bei Dr. Windows.
Auch von ARM ist so etwas zu vernehmen. Problem wird sein, dass ältere CPUs oder Geräte, die aus dem Support herausgefallen sind, keine Updates erhalten.
Patches auf Firmware-Ebene
Inzwischen beginnen erste Hersteller damit, Firmware-Updates für ihre Produkte bereitzustellen. So hat Microsoft ein UEFI-Update für seine Surface-Familie freigegeben (siehe diesen Beitrag Microsoft patcht Surface-Familie gegen Meltdown und Spectre bei Dr. Windows).
Wie ist die Einschätzung von Sicherheitsunternehmen?
Von ESET habe ich eine Einschätzung zu Meltdown und Spectre erhalten, die die obigen Informationen bestätigen. Thomas Uhlemann, Security Specialist bei ESET, sagt:
„Da es sich um einen Kernel-Exploit handelt, betrifft die Sicherheitslücke alle Geräte, unabhängig vom Betriebssystem. Zeitnah sollten Updates und Patches für Windows, macOS, Linux und Android genutzt werden, um PC und Co. ausreichend zu schützen. Die Bedrohung ist zudem vor allem für Server, Smartphones und IoT-Geräte wie Router von größerer Bedeutung.
Ein Szenario mit umfassenden Angriffen auf die Prozessoren ist aber nicht zu erwarten, denn die dafür nötigen Voraussetzungen zu schaffen wäre für Cyberkriminelle sehr kompliziert und zeitaufwendig.“
Hier noch einige Punkte zur Einordnung der bekanntgewordenen CPU-Lücke (Meltdown und Spectre), basierend auf den Einschätzungen von Bullgard und ESET:
- Die Schwachstelle ist bereits seit einigen Monaten bekannt. Sie wurde ganz bewusst nicht kommuniziert, so dass die Art und Weise, wie die Schwachstelle ausgenutzt werden kann, bislang noch nicht in die Hand von Hackern gelangte.
- Durch die Lücken könnten andere, betriebssystemseitige Sicherheitsfunktionen unter Umständen gefährdet sein. Intel geht aber nicht davon aus, dass Daten korrumpiert, manipuliert oder gelöscht werden könnten.
- Da es sich um einen Kernel-Exploit handelt, ist irrelevant, welches Betriebssystem darüber liegt, weshalb schnellstmöglich Updates sowohl für Windows-Systeme als auch für macOS, Linux und Android eingespielt werden sollten.
- Für PCs weniger kritisch, kommen Intels Xeon-Prozessoren vor allem in Servern zum Einsatz, was der Sicherheitslücke große Relevanz für Webserver, Datenspeicher und VM-Umgebungen verleiht.
- ARM stellt Prozessoren vor allem für Smartphones und andere (IoT-)Geräte, wie auch für Router her. ARM hat bereits ein Update veröffentlicht und kommuniziert, dass keine Gefahr für die Nutzer bestanden hat.
- Die Lücke setzt jeweils einiges an Vorbedingungen voraus, die zwar teils (zeit-)aufwändig, aber umsetzbar sind. Mit großangelegten Angriffen ist daher nicht zu rechnen.
- Bekannt gewordene Sicherheitslücken müssen dennoch umgehend geschlossen werden, um nicht Opfer eines zielgerichteten Angriffs zu werden. Die großen Betriebssystemhersteller haben bereits Updates freigegeben, um die Sicherheitslücken zu entschärfen.
- Die befürchteten Performance-Einbußen durch die Patches bewegen sich im Milli- bis maximal sehr niedrigen Sekunden-Bereich und sollten für normale Nutzer nicht spürbar sein. Erste Tests haben beispielsweise keinen Einfluss beim Gaming gezeigt.
In Teil 2 gehe ich auf Updates für Betriebssysteme und Browser ein und fasse zusammen, was es dort zu wissen gibt.
Artikelreihe:
Infos zu Meltdown und Spectre: Was man wissen sollte – Teil 1
Infos zu Meltdown und Spectre: Was man wissen sollte – Teil 2
Mein Wort für 2018: „Designschwäche“ … klasse!
Könnte es sein, daß die von uns so geschätzte Freiheit über kurz oder lang zum digitalen weltweiten Konzentrationslager und damit zur Unfreiheit wird? Im Silicon-Valley schaut man sicher den Chinesen zu, wie man sowas handhabt, und dann Gnade uns sonstwer…
Hier geht es ja um ein wichtiges Konzept bei der Entwicklung moderner Prozessoren, die Voraussage von Ereignissen um Prozesse im Umfeld von Multitasking beschleunigen zu können.
Aus meiner Sicht sind die gegenwärtigen Patches leider nur dazu geeignet den Prozessor bei bestimmten Ereignissen bestimmter Programme von der Voraussage abzuhalten. Falls nämlich der Prozessor vollumfänglich von dieser Technik abgehalten würde, dann müsste man mit je nach ausgeführtem Programm mit drastischen Leistungseinbussen rechnen.
Ich sehe hier einen Wendepunkt in der Prozessor Entwicklung kommen.
Ich befürchte das man in Zukunft zwei Prozessor Typen im selben Computer benötigt. Die Programme müssten dann ein Flag setzen ob Programmcode beschleunigt im Hauptprozessor ablaufen darf ( zum Beispiel der Code von Spielen und Multimedia), oder ob ein (neuartiger) Koprozessor bei sensiblen Daten wie Passwort Manager verwendet werden muss der diese Speichertechnik nicht beherrscht, der dafür aber im Idealfall höher getaktet sein müsste als der Hauptprozessor.
Wie einfach es geht um mit der Meltdown Methode Passworte auszulesen wird hier demonstriert:
https://www.youtube.com/watch?v=RbHbFkh6eeE
PS: Das Video wurde von Youtube zwischenzeitlich entfernt, aber auf Druck von einflussreichen Personen der Uni Graz (siehe https://spectreattack.com/ ) wieder aktiviert.
Anmerkung: Zwar werden gegenwärtig Patches für Programme wie Firefox, Google, Betriebssysteme herausgegeben (auch nicht 100% sicher), aber jedes weitere Programm welches ungepatcht ist bleibt in seinem eigenen Programmcode ein hohes Risiko. Weil die Gefahr von der Hardware ausgeht, reicht ein Patch in der übergeordneten Software nur soweit, als zum Beispiel ein Windows mit eingespieltem Patch die Kontrolle über den gerade ausgeführten Programmcode hat.
Um sämtliche Risiko von ungepatchten Programmen zu beheben müssten die Compiler-Code rückwirkend gepatcht werden können. Das wäre wohl zu aufwendig -vielleicht gar nicht möglich. Man könnte ferner den Microcode des Prozessors über das BIOS ändern, die Voraussage Technologie per BIOS entfernen, aber das würde zu teilweise dramatischen Leistungseinbussen der Computer führen.
Es ist möglich dass wir uns an einem Wendepunkt in der Geschichte der Prozessor Entwicklung befinden? denn wie es JETZT aussieht kann jegliche Art von Kryptografie ausgehebelt werden, indem man z.B. die direkten Eingaben einer Tastatur wie im Video gezeigt abfängt, und dann mit dem vom Kryptoprogramm erzeugten Schlüssel vergleicht. Ich glaube nicht das man ohne grosse Einbusse der Leistung unserer Computer oder konzeptioneller Änderung von Prozessoren die professionell arbeitenden Hacker (Geheimdienste, „Mafia“) langfristig vom Zugriff auf sensible Systeme abhalten kann.
Ist ein Interessanter Artikel.
Würde mich auch interessieren ob die Router-Hersteller davon betroffen sind, bzw. was ändern, wenn sie Betroffen sind.
Bei den IoT-Herstellern (Internetkameras, Heizkörperregler usw. die direkt mit dem Internet verbunden sind) sehe ich ehrlich gesagt schwarz, das da eher nichts passiert.
Wir werden abwarten müssen. Hatte schon eine E-Mail-Anfrage wegen der Router-Geschichten. Da wird das Ausnutzen möglicherweise schwierig – und auch bei IoT-Geräten surft niemand per Browser. Allerdings fehlen mir Zeit und Phantasie, da die möglichen Szenarien zu durchdenken. Die bösen Buben haben da mehr Pertinenz. Wir werden drüber lesen ;-).
Ist Kernel-Exploit nicht falsch?
Es ist ein CPU-Exploit.
Deshalb ist es ja auch betriebssystemunabhängig.
Jein – es ist zwar richtig, dass die Sicherheitslücken in der Speicherverwaltung der CPU lauern. Aber die praktische Ausnutzbarkeit bezieht sich auf Zugriffe auf den Kernel des laufenden Betriebssystems von nicht privilegierten User-Prozessen. Von daher sehe ich den Begriff Kernel-Exploit als verwendbar für das Szenario an.
Etwas anderes wäre es, wenn es sich um eine Schwachstelle im UEFI oder den Beigaben der CPU-Hersteller (Intel ME) handelt.
Sandboxie 5.22 ist inkompatibel mit dem Win7-Patch KB4056897 bzw KB4056894.
Das neue Sandboxie 5.23.3 dunktioniert wieder.
https://forums.sandboxie.com/phpBB3/viewtopic.php?f=64&t=25114#p131159
Sophos hat Sandboxie eingestellt und das Projekt als Open Source freigegeben (siehe Sandboxie ist nun Open Source).
Ein Nachfolgeprojekt von David Xanatos habe ich im Beitrag Sandboxie Build 0.3/5.42 verfügbar vorgestellt.
Von Comparitech gibt es einen Artikel zur Funktion des Sandboxing.
KB4056894 ? Sinnvoll ? oder ausblenden .
Hab gelesen das bei manchen win7 Anwendern der PC nichtmehr startet.
Wie ist das eigentlich, wenn Intel Firmware-Patches rausbringt? Sind dann die aktuellen Windows-Patches eventuell überflüssig?
@HerrJeh
Der fragliche Microcode wird von Intel über Windows Update angeboten werden, welcher die älteren Microcode des BIOS überschreibt. Neue Motherboards z.B. in Notebooks könnten vom Hersteller wie Lenovo, HP etc. auch BIOS updates erhalten welcher Microcode für die CPU bereit stellt.
Theoretisch könnte man mit Microcode das gesammte Schadenpotential beim Systemstart entfernen, doch so einfach scheint das diesmal nicht laufen zu können, da man die fragliche Speichertechnologie wegen hoher Leistungseinbussen nicht einfach komplett abschalten kann oder will.
Es sind zudem nicht nur Intel Prozessoren betroffen. Es wurden offiziell bisher mindestens zwei Methoden entdeckt (Meltdown, Spectre) welche Schadsoftware ausnutzen könnte.
Der Mechanismus um die CPU umprogrammieren zu können geschieht über „Microcode“ der bei jedem Systemstart in einen speziellen nicht permanenten Speicherbereich der CPU geladen wird. Der Microcode ist immer umfangreicher geworden, denn es werden immer wieder neue Bugs entdeckt.
Sowohl BIOS als auch das Betriebssystem (wie Windows) können Microcode in die CPU laden. Ein älteres BIOS muss also nicht unbedingt aktualisiert werden, wenn das Betriebssystem bei seinem Start der CPU einen aktuelleren Microcode zuweist (dies geschah früher bis Vista über update.sys, inzwischen weitere Methoden unter Windows 7/8/10).
Windows lädt bei jedem Systemstart Microcode in alle unterstützten Prozessoren. Nicht unterstützte Prozessoren werden aber nur vom BIOS bedient. Man muss jetzt genau aufpassen wenn man zum Beispiel Windows 7 bis 8.1 auf neueren Prozessoren einsetzt, Microsoft unterstützt nicht mehr jede neue Hardware mit diesen älteren Betriebssystemen. Ich habe auf dem Internet Leute gesehen welche Windows 7 unter neuen nicht unterstützten Prozessoren laufen lassen, es gibt sogar Patches die hierzu angeboten werden.
Fraglich ist nun wie erwähnt ob man Microcode einsetzen wird welcher die gesammte fragliche Technologie ausschaltet, denn dadurch könnten je nach Anwendung hohe Leistungseinbussen entstehen.
Bei Prozessoren wie Intel Xenon könnte es aber soweit kommen. Denn sehr schwere Schäden könnten über Prozessoren geschehen welche für Datencenter eingesetzt werden. Es ist möglich das ein Hacker sich zum Beispiel einen Cloud Server mietet, worüber er mit Hilfe dieser Bugs an den ansonsten gut geschützten Datenspeicher anderer Mietserver heran kommt, welche von den gleichen Prozessoren bedient werden. Bei Cloud Servers werden ja bekanntlich die CPU/Speicher -Ressourcen geteilt.
Das Schadenpotential ist bei Cloud Systemen gewaltig, daher dürfte man bei Server Prozessoren ein agressiverer Microcode eingesetzt werden welcher dann aber zu hohen Kosten für die Betreiber der Centers führen kann, da die Betreiber der Server Farmen die durch den Microcode entstehenden Leistungseinbussen wohl kompensieren müssen. Juristen werden den Datacenters kaum eine Wahl lassen, als dass man über Microcode sämtliche die Privatsphäre bedrohende Technologie vollkommen abschaltet.
Danke für die Ergänzung, sehe schön beschrieben und gut auf den Punkt gebracht!
Danke für Eure Infos.
„denn dadurch könnten je nach Anwendung hohe Leistungseinbussen entstehen“
Und Intel jubelt, weil man neue, schnellere Prozessoren verkaufen kann.
:-(
Für den unbedarften Laien wären vielleicht noch einige Hinweise hilfreich.
1. Wie darf man sich das Szenario vorstellen, wenn der Bug beim arglosen Privatuser am Heim-PC ausgenutzt wird? Es wird anscheinend nichts verschlüsselt, sondern es können Passwörter ausgelesen werden, mit denen man Zugang zu diversen Accounts hat!?
2. Wird der Angriff gegebenenfalls zeitgleich auf tausenden Rechnern ausgeführt, oder kann jeweils nur ein Rechner Ziel der Attacke sein?
Sicherheitslücken, die man nur ausnutzen kann, wenn man auf dem System ein bösartiges Programm ausführen darf – davon gibt’s mehr, wer einfach wild Programme aus dem Netz lädt und ausführt hat eh ganz andere Probleme.
Von Browsern aus ist die soweit ich das sehe nicht ausnutzbar.
Die betrifft also vor allem Hoster, wo sich mehrere Kunden einen Rechner teilen und diese Lücken ausgenutzt werden könnten, um auf die Prozesse und virtuellen Maschinen anderer Kunden auf dem gleichen Server zuzugreifen.
Das Microsoft, Google und Amazon Panik vor dieser Lücke haben ist schon richtig, aber Otto Normal auf seinen privaten PCs betrifft die nicht.
Schade, dass da immer so eine undifferenzierte Panik-Berichterstattung betrieben wird.
Ja, die Medien machen gleich wieder auf Panik. Siehe auch dieser interessante Youtube-Beitrag von Carey Holzman („Intel CPU Exploit Not What You Think It Is!“): https://www.youtube.com/watch?v=4hphXA-Ehuw
Zitat: „Intel will ab kommende Woche Updates für 90% seiner modernen CPUs (die in den letzten 5 Jahren erschienen sind) bereitstellen.“
Saftladen
Das bedeutet, dass Ivy-Bridge nicht gepatcht wird!!!
Und die Bosse bei Intel machen satten Reibach.
Einfach unerhört.
Die kleinen hängt man, die grossen (…)
„Das bedeutet, dass Ivy-Bridge nicht gepatcht wird!!!“
Nicht unbedingt.
Man kann hoffen, dass ältere Prozessoren später auch therapiert werden.
Nur wenn das Update per Windows Update angeboten wird, sollte man installieren. Du kannst ja noch ein paar Tage zur Sicherheit zuwarten. Die nicht mehr startenden PCs gehen imho auf das Konto von Dritthersteller Systemtools, die dann nicht mehr kompatibel sind.
Ich arbeite in der Musikproduktion und nachdem nun der erste Patch seitens Microsoft auf dem Produktivsystem gelandet ist, habe ich mit Benchmarks und auch im Rahmen unserer Musiksoftwareumgebung mal mit ATTO einen ersten „Schnelltest“ gemacht.
System: ASUS Z170-Deluxe, Intel i7-6700K (4.0-4.5 GHz), 32 GB RAM (3200)
ATTO mit Samsung 950 Pro NVMe SSD
——————————————————
Vorher: Ab 1MB durchgängig die vollen ca. 1500 MB/Sek beim Schreiben
Nachher: Die 1500 MB/Sek beim Schreiben werden prinzipiell nicht mehr erreicht. Geschwindigkeit beim Lesen fällt ab 8-64MB, was vorher nicht der Fall war.
ATTO mit WD30EFRX (mit einer SanDisk SSD (SATA) gecached)
————————————————————————————-
Im Vergleich mit der 950 Pro nur kleine Einbußen (ca. 5-6%)
Screenshot der beiden aktuellen ATTO Benchs:
https://gyazo.com/558e14973a868cc05a77e549a67fe149
Außer dem Patch gab es ansonsten keine Änderungen (Soft- oder Hardware). Dieses Produktivsystem ist normalerweise komplett offline, Verbindung lediglich zum Backup NAS. Während der Arbeit (nach dem Patch) fiel auf, das nun weniger Spuren (32Bit/96kHz) bei der Wiedergabe möglich sind (ca. 15-20 Spuren weniger).
Wie gesagt, nach diesem ersten Patch seitens Microsoft. Ich bin gespannt, ob weitere Patches (Intel/ASUS/Microsoft/Samsung/WerAuchImmer) die Performance weniger beeinflussen werden.
Zum letzten Absatz des Artikels:
Intel Atom C, E, A, x3 und Z sind doch in der Liste der betroffenen CPUs.
Ich habe Freude an den alten Dingen: Das Atom-Schnauferl Reihe „N…“, das sich in meinem Netbook (anno domini 2010) noch tapfer abmüht, ist scheint’s außen vor.