NetSpectre, známá chyba procesorů jde zneužít i po síti
28.7.2018, Milan Šurkala, aktualita
Vědci z Technické univerzity ve Štýrském Hradci našli způsob, jak zneužít chybu Spectre i po síti bez spuštění kódu v napadeném procesoru. Naštěstí je provedení útoku komplikované, zdlouhavé a je proti němu snadná obrana.
Vědci našli další způsob, jak zneužít chyby Spectre, o kterých je v poslední době pořád řeč. Na problém se podívali akademici z Technické univerzity ve Štýrském Hradci, mezi nimiž byli i ti, kteří našli už původní chyby Spectre a Meltdown. "Nová" varianta dostala jméno NetSpectre, protože k útoku využívá přístup po síti a nemusí na napadeném CPU spouštět žádný speciální kód. Chyba se dá využít dvěma způsoby, buď na základě odezvy cache paměti nebo AVX2 registrů. V druhém případě pomáhá testování stavu AVX2 registrů, tedy zda jsou používány, uspány nebo plně vypnuty.
Spekulativním využíváním AVX2 instrukcí zjišťuje rozdíly v odezvě registrů a tyto rozdíly jsou měřitelné i po síti. Aby však byla dostatečná jistota, musí se toto provést opravdu mnohokrát. Vědci hovoří, že pro získání jednoho bitu potřebují tento krok provést 100 tisíc krát a ideální je mít spíše milion opakování. Z toho je jasné, že v praxi tento útok naráží na jeden velmi zásadní problém, a tím je rychlost. Jeden bajt tak v případě měření odezvy cache zabere půl hodiny, u AVX2 je to pak kolem 8 minut při použití gigabitové sítě (tj. 60 bitů za hodinu).
Vědci dokonce zkusili útok na virtuální systémy na Google Cloud. Tady už na jediný bit potřebovali 20 milionů opakování, aby měli dostatečnou jistotu o správnosti. Bylo spočítáno, že "rychlý" útok na AVX2 na rychlé lokální síti by pro zisk 1 MB dat zabral 15 let. Je jasné, že takto rozhodně nemůže uniknout nějaké větší množství dat, nicméně např. šifrovací klíč je stále docela proveditelná věc v řádu hodin.
Dobré je však to, že proti tomuto typu útoku je velmi snadná obrana. Protože využívá stejného nedostatku jako Spectre 1 (CVE-2017-5753), aktualizované procesory už by měly být chráněny. Druhou věcí je, že útoku se dá velmi jednoduše bránit i správným nastavením firewallu a např. detekcí DDoS útoků (úspěšný útok NetSpectre totiž vyžaduje miliony dotazů, což se velmi snadno detekuje).