Názor k článku V čem spočívají Meltdown a Spectre? Zneužívají optimalizací procesorů od Ondřej Novák - Meltdown lze použít jen v případě, že jádro...

  • Článek je starý, nové názory již nelze přidávat.
  • 9. 1. 2018 20:01

    Ondřej Novák

    Meltdown lze použít jen v případě, že jádro má přimapovnou k procesu tu část, kde drží tajné informace, hesla, a zároveň obsahuje konkrétní nebezpečnou část ať už přímo, nebo se poskládá pomocí nějakého skoku někam doprostřed kódu nebo instrukcí return a nebo obsahuje celý JIT compiler, což je největší kravina linuxového jádra, který umožňuje vnutit jádru vykonat uživatelský kód v ringu 0.

    Kdyby jádro mapovalo jen to, co bezpodmínečně nutně potřebuje k zajištění služeb a počítalo rovnou s tím, že ta paměť je defacto read only, tak by nikoho ta chyba netrápila.

    Spectre je totéž, jen se to týká jen aplikací, které vykonávají cízí kód dodaný z venku. Bez Meltdown se v zásadě omezuje jen na proces ve kterém běží. Takže je to věc prohlížečů a různých interpretů, kde vstup dodává třetí strana. Sandbox a bariéry to řeší. Mimochodem, ten příklad co se uvádí u Spectre jako způsob proniknutí mimo vyhrazenou oblast, tak pokud to takhle někdo má naprogramovaný, že jen zkontroluje rozsah a když je to mimo tak to nijak neřeší (žádná výjimka, nic?), tak by si zasloužil pověsit za ... do průvanu.

    To trénování skoků je sice hodně zajímavý problém, ale podle mě okrajový a pokud lze tabulku skoků vytrénovat tak, aby spekulativně provedla úplně něco jiného, než jí nařizuje kód, tak je to pořádná bota CPU vývojářů