1. Foren
  2. Kommentare
  3. Security-Forum
  4. Alle Kommentare zum Artikel
  5. › Updates: Wie man Spectre und…

Kann Meltdown nur Daten aus dem L1D Cache lesen?

Neue Foren im Freiraum! Raumfahrt und freie Software haben jetzt einen Platz, die Games tummeln sich jetzt alle in einem Forum.
  1. Thema

Neues Thema


  1. Kann Meltdown nur Daten aus dem L1D Cache lesen?

    Autor: SolemSchicktLeserkritikUngefragtAnArbeitgeber 19.01.18 - 10:15

    TL DR: Kann Meltdown Daten lesen, die nicht im Level 1 Data Cache der CPU liegen? Wenn ja hat jemand einen Link zu einem PoC wo der Source Code dabei ist, damit man das verifizieren kann?

    Long Version:

    Es existieren viele Behauptungen zu Meltdown und auch auf fefe liest man widersprüchliche Informationen.

    Kann Meltdown Daten lesen, die nicht im Level 1 Data Cache der CPU liegen?

    Soweit ich das verstehe funktioniert das wie folgt (mit pseudo assembler). Ich wüsste nur nicht wie man an Daten rankommt die nicht im Cache liegen:

    LOAD r0, kerneldata
    LOAD r1, 0x1000+1000*r0_bit1
    LOAD_TIME 0x1000
    LOAD_TIME 0x2000

    Wenn Loadtime 0x1000 > 0x2000 war das bit1 1, weil 0x2000 schon im Cache liegt und so schnell ist.

    Wenn Loadtime 0x2000 > 0x1000 war das bit1 0, weil 0x1000 schon im Cache liegt und so schnell ist.

    Der Witz ist jetzt warum load kerneldata geht. Die Adresse ist virtuell muss also im TLB nachgeschlagen werden, da steht aber auch drin, ob ich überhaupt drauf zugreifen darf (antwort nein).

    Wenn ich im Level 1 Data Cache zugreife, der physikalische Adressen (phys tagging) braucht, muss ich theoretisch auch im TLB nachschlagen und darf wieder nicht drauf zugreifen. Aber da ich virtual Indexing mache kriege ich darüber die Page raus. Und über die Assoziativität wo auf der Page die Daten liegen. Und kann so gucken ob die Daten im Cache sind und wenn ja sie direkt liefern. Das geht schneller als im TLB nach gucken.

    Das passiert generell, aber es wird danach im TLB nach geguckt ob ich das durfte und falls nicht alles Rückgängig gemacht. Wenn der TLB aber erst aus dem Ram Daten nachladen muss, habe 100-200 Zyklen Zeit mit den Daten zu arbeiten und Caches in Abhängigkeit dieser Daten zu verändern, bevor der Prozessor seinen Zustand zurück setzt.

    Soweit, so klar. Aber wie hole ich mir mit diesem Angriff Daten die nicht im L1 Data Cache stehen? Der L2 Cache macht nur physikalische Adressen und braucht den TLB bevor er irgendwas tut. Ich hoffe ich habe das richtig verstanden das man mit dem virtuellen Indexing + 8xAsso die physikalischen Adressen nicht braucht, um zu schauen, ob eine Cacheline Daten einer gewissen Page vorhält.



    2 mal bearbeitet, zuletzt am 19.01.18 10:32 durch SolemSchicktLeserkritikUngefragtAnArbeitgeber.

  2. Re: Kann Meltdown nur Daten aus dem L1D Cache lesen?

    Autor: cryptomagic 08.02.18 - 00:57

    Der Frage haben wir uns genauer angenommen, und unsere Ergebnisse in einem Artikel veröffentlicht:

    https://www.cryptomagic.eu/index.php/cryptoblog/2-uncategorised/46-meltdown-war-das-schon-alles



    1 mal bearbeitet, zuletzt am 08.02.18 00:58 durch cryptomagic.

  1. Thema

Neues Thema


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. IT-Support-Professional
    Universitätsklinikum Frankfurt, Frankfurt am Main
  2. SAP Logistik Berater (m/w/x) mit Know-How in SD/WM/PP/QM
    über duerenhoff GmbH, Bonn
  3. Team Manager (m/w/d) PAISY
    OEDIV KG, Bielefeld
  4. Senior .net Entwickler (w/m/d) inhouse
    HanseVision GmbH, Hamburg

Detailsuche


Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Top-Angebote
  1. (2TB für 199€, 1TB für 111€)
  2. (weitere Gaming-Notebooks von Asus, Acer, MSI, HP und Medion günstiger)
  3. (u. a. XMG Neo 15" ab 1.589€, Samsung Odyssey G7 28" für 649,89€) bei bestware.com
  4. 39€ (UVP 59€)


Haben wir etwas übersehen?

E-Mail an news@golem.de