Aké sú zraniteľnosti Spectre a Meltdown?

Dve z najviac medializovaných zraniteľností v roku 2010 spolu veľmi úzko súviseli. Spectre a Meltdown nie sú bezpečnostnými chybami v softvéri, ale sú zraniteľnosťami v základnom dizajne CPU, čo sťažuje vyriešenie problému. Samotné problémy sú obzvlášť závažné, čo umožňuje sprístupnenie pamäte iným aplikáciám a operačnému systému.

Prehľad

CPU používajú neuveriteľne pokročilé návrhy na dosiahnutie najvyššieho výkonu vrátane techník vrátane špekulatívneho vykonávania a predikcie vetvenia. Špekulatívne vykonávanie je miesto, kde CPU spustí proces skôr, ako vie, či to potrebuje, v snahe ušetriť čas, keď zistí, že to potrebuje. Predikcia pobočiek je podmnožinou špekulatívneho vykonávania, ktoré sa pokúša predpovedať výsledok procesu a potom začne počítať ďalší krok na základe tejto predpovedanej hodnoty, čo umožní CPU vykonať sériu inštrukcií objednať.

Zraniteľnosť Spectre pochádza z implementácie týchto dvoch funkcií. Umožňuje aplikácii prelomiť techniky izolácie pamäte zabudované do najmodernejšieho softvéru, čo umožňuje odhalenie pamäte vrátane tajomstiev, ako sú heslá a šifrovacie kľúče. Jedným z problémov so Spectre je, že k údajom je možné pristupovať z aplikácií, ktoré nemajú žiadne slabé miesta v zabezpečení, pretože je potrebný iba škodlivý program.

Zraniteľnosť Meltdown je založená na niektorých pamäťových technikách, ako aj na vyššie uvedenom systéme špekulatívneho vykonávania. Využíva „súčasnú podmienku“ medzi vykonaním procesu a kontrolou privilégií a umožňuje škodlivému programu pristupovať do pamäte iných aplikácií a operačného systému.

Tip: „Podmienka rasy“ je problém, keď sa má jedna úloha spoliehať na inú, ale nevynucuje sa správny príkaz na vykonanie. To môže viesť k tomu, že „druhý“ proces beží ako prvý a používa neinicializovanú pamäť, ktorá by mala obsahovať výsledok „prvého“ procesu, pričom by unikol predchádzajúci obsah tejto pamäte. V tomto konkrétnom prípade by proces nemal bežať, kým kontrola povolení neoverí, že je to povolené, ale kontrola povolení môže prebehnúť ako druhá kvôli optimalizácii výkonu.

Účinky

V polovici roku 2017 niekoľko tímov nezávisle objavilo a nahlásilo Meltdown aj Spectre súkromne výrobcom CPU, ktorí vyvinuli opravy. Kvôli záplatám zameraným na optimalizáciu výkonu nakoniec znížili výkon CPU až o 30 % v najhorších scenároch, pričom pokles výkonu o 2 – 14 % viac reprezentuje ľudí skúsenosti.

Zraniteľnosť ovplyvnila mnoho x86 CPU, IBM POWER CPU a niektoré CPU založené na ARM. Meltdown ovplyvňuje hardvér, ktorý sa zvyčajne nachádza v osobných počítačoch, ako aj na cloudových serveroch. Spectre ovplyvňuje osobné počítače, cloudové servery a mobilné zariadenia. Všetky procesory Intel od roku 1995 do polovice roku 2018 boli zraniteľné voči týmto problémom (s výnimkou liniek Itanium a Atom pred rokom 2013). Procesory AMD neboli ovplyvnené Meltdown, ale boli zraniteľné voči Spectre.

Opravy na zmiernenie softvéru boli vyvinuté a vydané prostredníctvom poskytovateľov operačných systémov, ktorí riešia väčšinu problémov. Od polovice roku 2018 spoločnosť Intel aktualizovala svoj dizajn CPU tak, aby zahŕňal hardvérové ​​zmiernenie problémov.

Oba problémy môžu byť zneužité prostredníctvom škodlivých webových stránok s vytvoreným JavaScriptom, takže je to naozaj dôležité uistite sa, že bezpečnostné záplaty sú nainštalované na každom systéme, aj keď dôjde k strate výkonu ťažké. Problémy sa, žiaľ, nedajú vyriešiť jedinou opravou, pretože ide o mimoriadne zložité problémy s hĺbkou integráciou do hardvéru sa bezpečnostné záplaty budú postupne rozširovať ako novšie varianty objavil.