-
Was ich nicht verstehe bei der Attacke nicht verstehe
Autor: Anonymer Nutzer 16.03.15 - 12:24
Abgesehen davon, dass ich genau wissen muss wo sich der geschützte Speicherbereich befindet den ich manipulieren will und dass ich auch wissen muss was danebenliegt und wie ich es auslesen kann gibts ja auch noch einen Cache.
D.h. wenn ich die den Speicher hintereinander auslesen, lese ich ja nur den Cache aus. Darum muss man irgendwie dafür sorgen, dass jedesmal der komplette Cache aus- und wieder eingelagert wird. Das nimmt ja einige Zeit in Anspruch.
Weil RAM aber eigentlich flüchtiger Speicher ist und sich die Speicherzellen als sehr kleine Kapazitäten über einen endlichen Widerstand schnell entladen, müssen ja die Speicher alle paar ms erneuert, also mit denselben Daten überschrieben werden.
Also dürfte man ja eigentlich nur dieses kurze Zeitfenster für die Rowhammer Attacke haben und muss in der Zeit jedes mal den Cache überschreiben. Reicht das dann? -
Re: Was ich nicht verstehe bei der Attacke nicht verstehe
Autor: xnor 16.03.15 - 13:27
1) Die Speicherbereiche zu finden ist nur eine Frage der Zeit.
2) Siehe x86 Instruktion clflush.
3) "Mit denselben Daten überschreiben" heißt nicht mit den Originaldaten überschreiben. Ein paar Zeilen Assembler (eine Schleife) können oft genug innerhalb eines Refresh-Intervalls ausgeführt werden, um benachbarte Bits zu flippen. Der darauf folgende Refresh übernimmt dann diesen Fehler.
1 mal bearbeitet, zuletzt am 16.03.15 13:39 durch xnor. -
Re: Was ich nicht verstehe bei der Attacke nicht verstehe
Autor: Quantium40 16.03.15 - 16:33
moppler schrieb:
> Abgesehen davon, dass ich genau wissen muss wo sich der geschützte
> Speicherbereich befindet den ich manipulieren will und dass ich auch wissen
> muss was danebenliegt und wie ich es auslesen kann gibts ja auch noch einen
> Cache.
Zumindestens was den Ausbruch aus Browser-Sandboxen angeht, kann der Angreifer den geschützten Bereich weitgehend selbst definieren und mit harmlosem Code (z.B. NOPs) vorabbefüllen (Variante vom Heap-Spraying). Der Angriff muss im Zweifelsfall ja nur einen von Millionen Befehlen in einen kritischen Sprung-Befehl umwandeln.
Der Cache hilft dabei nicht unbedingt gegen den Angriff, sondern kann sogar selbst dazu genutzt werden, da ein Befehl für Cacheflushs derzeit nicht zu den privilegierten Befehlen gehört, die der Prozessor explizit überwacht.



