www.wikidata.de-de.nina.az
Meltdown ist eine Hardware Sicherheitslucke in Mikroprozessoren uber die ein unautorisierter Zugriff auf den Speicher fremder Prozesse moglich ist 1 2 3 Die Anfalligkeit fur diese Sicherheitslucke wurde fur x86 Prozessoren des Herstellers Intel alle Prozessoren seit 1995 mit Ausnahme der Atom Reihe vor 2013 4 des Cortex A75 Prozessor Designs im Jan 2018 noch nicht in Mobiltelefonen eingesetzt von ARM 5 und der POWER Architektur von IBM 6 bestatigt Die x86 Prozessoren von AMD sind hingegen nicht betroffen 7 8 Die Meltdown Sicherheitslucke wird unter der CVE Nummer CVE 2017 5754 9 gefuhrt MeltdownMeltdown Logo Meltdown LogoTyp HardwareCVE Nummer n CVE 2017 5754Datum der Entdeckung 28 Juli 2017Datum der Veroffentlichung 3 Januar 2018Architektur en ARM IA 32 x64 x86 POWER PowerPCBetriebssysteme AIX Android iOS Linux macOS System i Windows uvw Hersteller Apple ARM IBM Intel QualcommProdukt e ARM Cortex A75 IBM POWER PowerPC 970 und Intel x86 ProzessorenDie Sicherheitslucke besteht konkret darin dass im Rahmen der Out of order execution der Prozessor vorlaufig den Inhalt einer Speicherzelle ausliest und weiterverarbeitet obwohl der aufrufende Prozess fur diesen Speicherabschnitt keine Rechte hat Dies verandert das Laufzeitverhalten bei Zugriff auf den Cache und erlaubt mittels einer genauen Zeitmessung unter bestimmten Bedingungen einen eindeutigen Ruckschluss auf den Dateninhalt auch nachdem das Ergebnis der Out of order Ausfuhrung verworfen wurde Im Prinzip stellt dieses Verfahren ein in der Kryptoanalyse als Seitenkanalattacke bekanntes Verfahren dar Inhaltsverzeichnis 1 Geschichte 2 Anfallige Systeme 3 Wirkungsweise und Auswirkungen 4 Gegenmassnahmen 5 Weblinks 6 EinzelnachweiseGeschichte BearbeitenMeltdown wurde unabhangig voneinander durch Forscher von Googles Project Zero Cyberus Technology sowie der TU Graz entdeckt 10 und am 3 Januar 2018 zeitgleich mit der Prozessor Sicherheitslucke Spectre veroffentlicht nachdem einige betroffene Hardware und Software Unternehmen bereits am 28 Juli 2017 informiert worden waren 11 Am 14 November 2017 kundigte Alex Ionescu auf Twitter Anderungen fur die neue Windows 10 Version an die Geschwindigkeitseinbussen mit sich bringe ohne dies zu erlautern Er betonte dass bei Linux Ahnliches gemacht wurde 12 Forscher der TU Graz versuchten im Fruhjahr 2017 ihr im sog KAISER Dokument beschriebenes Verfahren Kernel Page Table Isolation kurz K PTI zur Behebung der Sicherheitslucke auf der alljahrlichen Konferenz Black Hat im Juli 2017 der Offentlichkeit vorzustellen doch lehnten die Kongress Organisatoren die Einreichung ab 13 Anfallige Systeme BearbeitenPotentiell sind alle Intel Prozessoren betroffen die Out of order execution implementieren d h alle x86 Prozessoren seit 1995 das sind 32 und 64 Bit Prozessoren der Intel Architecture 32 Bit IA 32 und x64 x86 64 mit Intel 64 mit Ausnahme der vor 2013 produzierten Atom Prozessoren 10 Prozessoren derselben Architektur des direkten Konkurrenten AMD sind jedoch nicht anfallig Alle zum Zeitpunkt der Veroffentlichung gangigen Betriebssysteme wie AIX BSD iOS Linux macOS System i und Windows fur die x86 ARM und POWER Architektur sind bis zum Erfolg der u g Gegenmassnahmen Page Table Isolation PTI grundsatzlich anfallig fur ahnliche Angriffe da sie den Kernel Adressraum und mindestens Teile des physischen Speichers im Adressraum von allen Prozessen abbilden Dies ist Voraussetzung dafur dass mit Hilfe des Angriffs Speicher ausgelesen werden kann fur den der auslesende Prozess nicht autorisiert ist Betroffen sind auch Tablets Smartphones oder andere IoT Gerate die einen Prozessor mit dem ARM Cortex A75 Design haben Das sind z B Qualcomm CPUs vom Typ Snapdragon 845 14 Wirkungsweise und Auswirkungen BearbeitenAngriffe auf die Meltdown Lucke wie auch Angriffe auf die Spectre Lucke n nutzen aus dass bei Prozessoren die Out of order execution durchfuhren Anweisungen vom Prozessor parallel oder auch in veranderter Reihenfolge ausgefuhrt werden und sich dabei der Zustand des Systems verandert selbst wenn das Ergebnis der Out of order Ausfuhrung im Anschluss verworfen wird Diese Veranderungen wie z B das Laden einer Speicherseite in den Cache dienen als verdeckter Kanal um Information aus dem Adressraum des angegriffenen Prozesses die anders nicht zuganglich ware an ein empfangendes Programm zu ubertragen 15 Im Gegensatz zu den Spectre Lucken die verschiedene Formen der spekulativen Ausfuhrung ausnutzen nutzt Meltdown lediglich die Parallelisierung in Form der Out of order execution aus Die Entdecker demonstrierten einen Angriff der es ermoglicht bei betroffenen Intel Prozessoren den Inhalt einer beliebigen Speicherstelle auszulesen Die auszulesende Speicherstelle muss dazu im Adressraum des angreifenden Prozesses abgebildet sein Bei allen betroffenen Betriebssystemen ist der Kernelspeicher und mindestens Teile des physischen Speichers im Adressraum jedes Prozesses abgebildet Am Beginn des Meltdown Angriffs steht die Ausfuhrung einer Anweisung die aufgrund unzureichender Berechtigungen zu einer Ausnahme fuhrt Auf betroffenen Prozessoren werden die darauf folgenden Anweisungen ausgefuhrt bevor die Ausnahme verarbeitet wird auch wenn sie auf Daten basieren fur die der aufrufende Prozess keine Zugriffsrechte hat Der Algorithmus besteht aus folgenden Schritten Beispielcode auf Senderseite rcx kernel address rbx probe array retry movzx rax byte rcx Ladt den Inhalt der auszulesenden Speicherstelle in Register rax Das fuhrt zu einer Ausnahmebehandlung Der folgende Code wird nur prozessorintern im Voraus ausgefuhrt shl rax 12 Multipliziert den Inhalt des 64 bit Registers rax mit 4096 so dass es nun eine Seitenadresse enthalt die vom Inhalt der auszulesenden Speicherstelle abhangt jz retry Beginnt von vorn wenn das Zero Flag und damit hier auch rax gleich 0 ist Auch bei rcx 0 keine Endlosschleife da aufgrund der Ausnahmebehandlung die out of order Ausfuhrung schliesslich abgebrochen wird mov rbx qword rbx rax Greift auf eine Speicherstelle auf der Seite zu deren Index innerhalb des probe arrays rbx in rax steht Dies ladt eine Seite in den Cache deren Adresse vom Inhalt der auszulesenden Speicherstelle abhangt Es werden im angreifenden Prozess jeweils ein Sender und Empfanger Thread gestartet Der Sender Thread fuhrt ein Programm aus das den internen Zustand des Prozessors in Abhangigkeit von der auszulesenden Speicherstelle verandert Dazu enthalt er zunachst eine Anweisung um den Inhalt einer Speicherstelle zu lesen die auf regulare Art und Weise nicht fur den Prozess zugreifbar ware Beim Versuch diese Anweisung auszufuhren wird der Thread unterbrochen und eine Ausnahmebehandlung durchgefuhrt enthalt er weiterhin Anweisungen die abhangig vom Inhalt der auszulesenden Speicherstelle auf eine Speicherseite zugreifen wurden Dieser Code wurde bei sequentieller Ausfuhrung des Programms niemals ausgefuhrt weil der Thread zuvor unterbrochen wurde Bei Out of order execution wird dieser Code jedoch weitgehend bereits im Voraus ausgefuhrt Das bewirkt dass sich der interne Zustand des Systems verandert indem z B eine Speicherseite in den Cache gelesen wird Im Beispielcode wird basierend auf dem Inhalt der auszulesenden Speicherstelle die Adresse einer Speicherseite berechnet und auf deren Inhalt zugegriffen Der Empfanger Thread fuhrt ein Programm aus das den internen Zustand des Prozessors ausliest Dazu fuhrt es Anweisungen aus die im Beispielangriff mit Hilfe von Zeitmessungen ermitteln ob eine bestimmte Speicherseite in den Cache geladen ist Der Sender Thread kann durch das von ihm ausgeloste Laden einer Speicherseite Nachrichten in den Cache des Empfanger Threads ubermitteln Dadurch dass er diese Nachrichten abhangig vom Inhalt der auszulesenden Speicherstelle macht kann er den Inhalt der Speicherstelle an den Empfangerprozess senden Im Beispielangriff gelang es den Autoren den gesamten physischen Speicher des Systems zu ubermitteln Gegenmassnahmen BearbeitenAls Workaround gegen die Sicherheitslucke wird die Page Table Isolation PTI vormals auch wie das veroffentlichte Dokument mit KAISER bezeichnet aufgefuhrt Kernel PTI KPTI sorgt dafur dass der Kernel Adressraum und der physische Speicher nicht in den Adressraum des Prozesses abgebildet werden wenn sich der Prozessor im User Mode befindet Im Kernel Mode werden sie weiterhin abgebildet Als Folge dessen muss bei jedem Ubergang vom User in den Kernel Mode z B bei Systemaufrufen und umgekehrt der Adressraum gewechselt werden wie sonst bei einem Kontextwechsel Ausserdem mussen die beiden Instanzen des Adressraums synchron gehalten werden Das fuhrt je nach Prozessorarchitektur u a dazu dass bei jedem derartigen Wechsel die Translation Lookaside Buffers geleert werden und wahrend des weiteren Programmablaufs neu gefullt werden was die Leistungsfahigkeit des Prozessors verringert Die Meltdown Gegenmassnahme wird in seit Januar 2018 gepatchten Betriebssystemen als Kernel VA Shadowing bezeichnet Zunachst war diese Gegenmassnahme aber bei den 32 Bit Versionen der Windows Betriebssysteme trotz eingespielter Updates bis 12 Januar 2018 nicht wirksam und auch unter Linux gab es fur die 32 Bit Versionen bis dahin noch keine gegen Meltdown wirksamen Updates 16 Am 18 Januar 2018 begann Microsoft mit der Herausgabe von Meltdown Updates fur 32 Bit Betriebssysteme beginnend mit Windows 10 Version 1709 17 Auf Tablets und Smartphones mit den betroffenen ARM Prozessoren sorgt ebenfalls KPTI des mit Android genutzten Linux Kernels fur Abhilfe was jedoch in vielen Fallen vom Hersteller abhangt da nicht alle alteren Gerate immer Android Aktualisierungen erhalten IBM POWER Systeme wurden von IBM nur ab dem POWER7 mit Firmware Updates gegen Spectre versorgt Leider wurde in den Betriebssystemen die Gegenmassnahme gegen Meltdown KPTI auch erst ab dem POWER7 implementiert sodass die 64 Bit Systeme POWER4 POWER5 und POWER6 potentiell verwundbar bleiben Fur noch altere POWER Systeme vor dem POWER4 gibt IBM leider keine eindeutige Auskunft 6 Der von Apple als PowerPC G5 vermarktete PowerPC 970 ist vom POWER4 abgeleitet und ebenfalls von Meltdown betroffen 18 Wie bei den Spectre Lucken benotigt das Abgreifen der Information eine genaue Zeitmessung so dass die Herabsetzung der Zeitauflosung durch Verzittern des Taktes Jitter gegen beide Angriffe als wirksam erachtet wird 19 Weblinks BearbeitenOfficial website of the Meltdown and Spectre vulnerabilities Meltdown paper Google Project Zero write up Prozessorfehler mit katastrophalen Ausmassen In Pro Linux Meltdown amp Spectre Details und Benchmarks zu den Sicherheitslucken in CPUs In ComputerBase Massive Lucke in Intel CPUs erfordert umfassende Patches In heise online Andreas Stiller Analyse zur Prozessorlucke Meltdown und Spectre sind ein Security Supergau In Heise online 5 Januar 2018 Die Sicherheitslucken Meltdown und Spectre treffen die Prozessorhersteller ins Mark vor allem Intel Aus den Lucken ergeben sich mehr als ein Dutzend Angriffsmoglichkeiten ein Security Supergau Wie Forscher aus Graz die grosste Sicherheitslucke aller Zeiten entdeckten In FAZ net Olin Silbert Phillip A Porras Robert Lindell The Intel 80x86 Processor Architecture Pitfalls for Secure Systems PDF IEEE Symposium on Security and Privacy 1995 abgerufen am 9 Januar 2018 englisch Einzelnachweise Bearbeiten Cade Metz Nicole Perlroth Researchers Discover Two Major Flaws in the World s Computers In nytimes com 2018 abgerufen am 3 Januar 2018 amerikanisches Englisch Intel s processors have a security bug and the fix could slow down PCs In The Verge Abgerufen am 3 Januar 2018 Linux Gaming Performance Doesn t Appear Affected By The x86 PTI Work In phoronix com Abgerufen am 3 Januar 2018 englisch Meltdown and Spectre Abgerufen am 15 November 2019 Arm Processor Security Update In developer arm com 3 Januar 2018 abgerufen am 5 Januar 2018 a b Potential Impact on Processors in the POWER Family In PSIRT Blog IBM 14 Mai 2019 abgerufen am 9 August 2019 englisch Thomas Gleixner x86 cpu x86 pti Do not enable PTI on AMD processors In git kernel org 3 Januar 2018 abgerufen am 3 Januar 2018 Tom Lendacky tip x86 pti x86 cpu x86 pti Do not enable PTI on AMD processors In lkml org Abgerufen am 3 Januar 2018 https cve mitre org cgi bin cvename cgi name CVE 2017 5754 a b Meltdown and Spectre Which systems are affected by Meltdown In meltdownattack com Abgerufen am 3 Januar 2018 englisch Meltdown and Spectre worst ever CPU bugs affect virtually all computers In theguardian 4 Januar 2018 Alex Ionescu Windows 17035 Kernel ASLR VA Isolation In Practice like Linux KAISER In Twitter com Daniel Gruss FunFact We submitted KAISER to bhusa17 and got it rejected In Twitter com Rudolf Opitz Prozessorlucke Auch Qualcomm CPUs sind anfallig In Heise online 6 Januar 2018 Abgerufen am 6 Januar 2018 Moritz Lipp Michael Schwarz Daniel Gruss Thomas Prescher Werner Haas Stefan Mangard Paul Kocher Daniel Genkin Yuval Yarom Mike Hamburg Meltdown PDF Abgerufen am 4 Januar 2018 englisch Meltdown Patches 32 Bit Systeme stehen hinten an heise de am 12 Januar 2018 Windows Meltdown Patch fur 32 Bit AMD Problem behoben In Heise de 19 Januar 2018 Michael Larabel PowerPC Memory Protection Keys In For Linux 4 16 Power Has Meltdown Mitigation In 4 15 Phoronix 22 Januar 2018 abgerufen am 10 August 2019 englisch Prozessor Bug Browser Hersteller reagieren auf Meltdown und Spectre In Heise de 4 Januar 2018 Abgerufen von https de wikipedia org w index php title Meltdown Sicherheitslucke amp oldid 236684733