Iscaran schrieb:
Das machts doch wohl deutlich dass zwar alles technisch gesehen Side-Channel attacken sind aber eben auf unterschiedliche Weise. Side-Channel ist ja ein sehr weiter Feld. Sonst würde man doch auch nicht 3 Lücken unterscheiden. Für jede brauchts eben einen anderen Patch.
Beides haben eines gemeinsam. Man braucht dafür genaue Timer und beides ist Microsoft mit den Browseränderungen angegangen. Ohne genaue Timer lässt sich ein Sidechannel Angriff durch den Browser nicht ausführen. Das behebt NICHT die Ursache des Problems, macht aber die Durchführung eines Angriffs schwer bis unmöglich.
Du wirfst selbst zwei Sachen durcheinander. Es ist das eine den Fehler zu beheben und was anderes die Ausnutzung der Lücke zu erschweren. Wenn der Angreifer nun nicht mehr über den Browser Daten abgreifen kann, braucht er eine Software die direkt auf dem PC ausgeführt wird. Wenn es er schafft eine Software einzuschleusen, braucht er aber kein Spectre mehr um auf den Speicher zugreifen zu können.
Meltdown ist/war gefährlich, weil jeder der sich einen Rootserver mietet, alle Zeit der Welt hat um den Speicher des Hosts nach Informationen abzusuchen. Ein Angriff über den Browser, der mehrere Stunden benötigt und an irgendwelche Daten zu kommen ist eine Zeitverschwendung.
Spectre bietet ein Potenzial an, weil man gezielt Applikationen angreifen kann, jedoch ist das nun mit gepatchten Browsern auch eher schwer bis unmöglich.
Selbst wenn die Lücken in den Systemen bis in aller Ewigkeit bleiben, ist das Angriffspotential auf Clientsystemen gering.
EDIT:
Und nochmal zum Sidechannel
Meltdown
For all tests, we use Flush+Reload as a covert channel to leak the memory as described in Section 5.
Spectre
In this work we use the Flush+Reload technique [21,36] and its variant, Evict+Reload [20] for leaking sensitive information.
Die Technik ist seit
1992 bekannt.
Was Spectre von Meltdown unterscheidet? (Vereinfacht)
Meltdown geht nach der Holzhammer Methode vor. Der Angreifer liest den gesamten Speicher aus, was eine halbe Ewigkeit dauert und sucht nach dem Kernel und irgendwelchen brauchbaren Daten.
Spectre nutzt hingegen die Speicheradresse eine Applikation und sucht nach Daten, die im Speicherbereich dieser Applikation liegen.
Attacks using Native Code. We created a simple victim program that contains secret data within its Memory access space. Next, after compiling the victim program we searched the resulting binary and the operating system’s shared libraries for instruction sequences that can be used to leak information from the victim’s address space. Finally, we wrote an attacker program that exploits the CPU’s speculative execution feature in order to execute the previously-found sequences as transient instructions. Using this technique we were able to read the entire victim’s memory address space, including the secrets stored within it.
Attacks using JavaScript. In addition to violating process isolation boundaries using native code, Spectre attacks can also be used to violate browser sandboxing, by mounting them via portable JavaScript code. We wrote a JavaScript program that successfully reads data from the address space of the browser process running it.
Auf Clients ist Spectre definitiv effektiver und gefährlicher.