Díra Spectre pomůže pirátství. Prolamuje ochranu paměti SGX, na níž stojí některá DRM

15

Hardwarové bezpečnostní díry Spectre a Meltdown zapříčinili za poslední dva měsíce už spoustu shonu, ale jejich různé důsledky budou pociťovány asi ještě dlouho. Zdá se, že bezpečnostní riziko chyby Spectre se nyní poněkud rozšířilo. Tato zranitelnost totiž ovlivňuje také bezpečnost rozšíření Intel Software Guard (SGX), které mělo sloužit k zabezpečení citlivých dat nebo programů před zásahy a špehováním zvenčí. Jeho neprůstřelnost bohužel ale neplatí právě proti tzv. side-channel útokům jako je Spectre.

Rozšíření SGX přišlo s procesory Intel Skylake; v současnosti ho AMD nebo VIA/Zhaoxin nepodporují. Jeho fungování spočívá ve vytvoření bezpečné enklávy v operační paměti, do které má přístup jedině autorizovaný program. Ani na softwarové, ani na hardwarové úrovni by k těmto datům (nebo kódu) CPU nemělo nikoho jiného pustit. SGX by tak mělo poskytovat ochranu například pro uložení šifrovacích klíčů nebo k citlivému kódu, u kterého by možnost debugování nebo reverzního inženýrství byla rizikem. Jednou z takových aplikací jsou i pokročilé ochrany proti kopírování jako Play Ready 3.0, takže asi nepřekvapí, že když se přehrávání Ultra HD Blu-ray poprvé dostalo na osobní počítače, byl vyžadován procesor podporující SGX.

Výzkumníci ze Státní univerzity v Ohiu však nyní publikovali variantu útoku Spectre, pojmenovanou SgxSpectre. Ta adaptuje způsob, jakým se Spectre dostává k paměti, k níž nemá mít přístup (prostor jiného procesu, nebo v jádra operačního systému) a dovoluje běžnému programu dostat se do k paměti v bezpečné enklávě, aniž by měl autorizaci. Útok by měl stejně jako varianta 2 Spectre probíhat pomocí zákeřného předtrénování prediktoru větvení tak, aby po vstupu do zabezpečené enklávy chybně předpověděl větvení podle potřeb útočníka. Data ze zabezpečené enklávy jsou pak jako u Spectre v2 získaná z cache, kam je spekulativní vykonávání kódu načetlo, než procesor po zjištění chybné předpovědi stihl vykonávání kódu zastavit a vrátit zpět.

Slajd k instrukcím SGX z doby vydání procesorů Skylake
Slajd k instrukcím SGX z doby vydání procesorů Skylake

Podle informací o tomto útoku jsou proti SgxSpectre zranitelné programy vyvinuté pomocí SDK Intelu (a také pomocí Rust-SGX a Graphene-SGX), jelikož jimi generovaný kód zdá se vykazuje určité charakteristické znaky, a dovoluje tím jejich nalezení v cache. Útok by ale měl být zastavitelný pomocí rozšíření CPU kontrolujících predikci větvení (IBRS), tedy oněch funkcí, které Intel přidal do procesorů na obranu před Spectre a které jsou přidávány aktuálními aktualizacemi mikrokódu. Bude však potřeba aktualizovat software, aby tyto obrany v kritických okamžicích použil, nicméně pak by SGX snad mělo být bezpečné, tedy alespoň dokud se nenajdou nové varianty Spectre, které útočí mimo bariéry implementované v současnosti softwarem.

spectre-textZe zranitelných přehrávačů by mohly uniknout dešifrovací klíče

Nicméně pro potřeby prolamování DRM dostupnost těchto aktualizací nepomůže, protože uživatel se jejich instalaci může vyhnout a na nezáplatovaném hardwaru bude útok na SGX stále proveditelný. To znamená, že tento útok by mohl posloužit pro dešifrování například oněch disků Ultra HD Blu-ray. Nezáplatovaný počítač a softwarový přehrávač pak piráti mohou používat k dešifrování disků a nechráněný obsah pak už může plynout na internet. Pro tyto účely totiž stačí disk dešifrovat jedinkrát. Vydavatelé obsahu by se asi mohli bránit jen tím, že u nových disků přidají na blacklist všechny přehrávače, které jsou ochotné se spustit na počítači, kde není ochrana IBRS skrze nový mikrokód dostupná.

Vyjádření Intelu slibuje brzkouaktualizaci SDK pro rozšíření SGX
Vyjádření Intelu slibuje brzkou aktualizaci SDK pro rozšíření SGX

Kód pro útok zatím nebyl zveřejněn (byť útočníci se ho mohou pokusit implementovat nezávisle) a Intel byl předem upozorněn. Jeho SDK by mělo být brzy upraveno, aby negenerovalo onen kód, který se pak dá v cache snadno najít. Taková aktualizace má údajně vyjít 16 března, ovšem těžko říct, zda tato kamufláž nebude eventuálně také překonána. Každopádně programy využívající SGX zůstanou zranitelné, dokud je autoři proti nové SDK nepřekompilují. A opět platí, že pro účely útoků na DRM je snadné ponechat si starší verzi.

Ohodnoťte tento článek!

15 KOMENTÁŘE

  1. Od začátku tu tvrdím, že nevíme zdaleka všechno. To, že šéf Intelu narychlo prodal svoje akcie něco znamená. Podobných zpráv bude ještě hodně a mám obavu, že mnohem závažnějších. Intel pravděpodobně už před x měsíci věděl, že mu hrozí řada hromadných žalob.

    • Asi tak. Stach dokonce napsal vtipný a trapný nadpis „Intel pracuje na 10nm výrobě a procesorech bez chyb – ale dorazí až ve 2019. Co přinese Ice Lake?“. Komentoval jsem to takto:
      Intel pracuje na procesorech bez chyb, vtipný nadpis. Chyby se záměrně nedělají a chybovat je lidské. Díry se dělají i záměrně a zrovna u Intelu bych se divil, kdyby nějaká dvířečka tam nedal. Proč by asi jinak ruská vláda přecházela na vlastní procesory.

    • Zajimalo by mne, jestli je Brian Krzanich vysetrovan SEC, jak bylo novinari avizovano. V tuto dobu by mel jiz celit vysetrovani, pokud existuje zakonne podezreni, ze byl prodej insider tradingem. Tohle se nebere na lehkou vahu, akcionari nejsou znami svou bezbrehou toleranci k ojebavani ze strany managementu. Nenasel jsem o tom ovsem jedine slovo.

    • Na tomhle pripadu je pekne videt, jak je potreba konkurencni prostredi. Pokud Intel neco takto zaspal, ma prijit dalsi, ktery nabidne lepsi alternativu a naopak. Doufejme, ze AMD vydrzi v nastavenem kurzu a ukroji Intelu cast trhu uz jen proto, at se intel musi snazit. Skoda, ze podobne uz to nejde v ramci OS..tam je Mrkvosrot bohuzel na dalsich min. X let neprustrelny.

          • Jak se to vezme. Jedna věc pohled nás entusiastů, druhá je pohled široké veřejnosti.
            A bezplatný upgrad na Win10 byla podle mě jedna velká marketingová akce vůči mainstramovým uživatelům ve stylu „2 mouchy jednou ranou“. Na jednu stranu vymazali z mapy extrémně nepovedené Win8 (proti kterým jsou Win10 zázrak), na stranu druhou si udělali reklamu především u lidí co mohli upgradovat z Win7 a minimálně si pokusili narušit auru „chamtivého Microsoftu“, který ždímá nehorázné peníze za OS, když nabídli něco takto zdarma.
            Dávno je pryč doba, kdy si běžní lidé kupovali OS zvlášť. Akorát my PC nadšenci pořád platíme ony přemrštěné 3 tisíce za systém, zatímco ostatní ho mají v noteboocích za pár stovek (tuším cca. 700-800?). A ještě se MS tváří jako altruista, upgrade zdarma, velké updaty každý půlrok…

            Ale souhlasím s komentářem níže, že zmenšující se podíl PC/ntb na celém trhu a selhání MS konkurovat Androuidu a iOS, je pro ně strašák.

          • Hele, ja jsem sveho casu povazoval Win8 za nepovedene hlavne k vuli sileneho metra. Pokud se ale na ne podivam dnes optikou nepovedenych veci ve Win10, tak jsem svuj nazor zmenil a podle mne je Win8 (byt neuspesne) lepsi nez Win10, protoze ma jeste stale ‚normalni‘ update politiku, je stabilni (coz je podle men uplny zaklad OS). Naproti tomu myslet si, ze muzu automaticky podle nejake ‚ms zvracene logiky‘ udrzovat v chodu X ruznych generaci HW a ustat to, je podle mne pripad uz pro Chocholouska a MS to vubec nevadi. Mam nekolik prikladu z okoli, kde lidi co upgradovali na Win10 ze starsich sestav, tak uz jsou bud zpatky na Win7 nebo jsou nasrani, ze jim to pada, ze jim obcas neco prestane po updatu (upgradu) fungovat a pod. Pokud z nejakeho duvodu neprechazeji zpatky na Win7, konci to pak tim, ze se zakazuji Win update z duvodu stability..coz je presne pravy opak toho, nez mrkvosoft tlaci.
            S tim, ze si lide drive kupovali OS i zvlast a dneska to stejne ‚ostanou‘ s notasem souhlasim. Ale mozna, ze se nadejem doby, kdy to zase nastane..viz posledni zpravy o tom, jak se snazi Mrkvosoft stale vice a vice diferenciovat jednotlive edice Windows..

          • Já právě osobně s Win10 až tak problémy nemám a mám je delší dobu jak na PC, tak na notebooku. Update politika mě štve, ale zakázal jsem si auto-updaty v registrech a updatuju, když chci já (většinou skoro hned, ale prostě nestane se mi, že by se mi restartoval PC sám od sebe, atd). A jinak mě Win10 přijdou celkem v pohodě.
            Ale je pravda, že lidé, kteří upgradovali z Win10 na nějakých starších slabších strojích mohli dost zaplakat.

            Jinak s tou diferenciací edic naprosto souhlasím. Sám jsem o tom tady někdy psal, že čekám, že časem bude plná verze Winů se všemi možnostmi desktopového prostředí něco nadstandardního, do notebooků se standardně bude dávat něco jako Win10 S, a kdo bude chtít plnou verzi, koupí si ji zvlášť za napálenou cenu.

        • Nejde asi ani tak o velikost platformy, jako o její nahraditelnost (telefon ve svých funkcích relativně snadno nahradit jiným). Jediné co mohlo Win(32)API ohrozit za posledních 20let je Java&JVM. Nestalo se tak a „Java“ je dnes především programovacím jazykem než běhovou platformou. Spíš než na porážku Windows něčím jiným to ve zmíněném horizontu vidím na vlastní prohru (stále se zmenšující podíl PC/NTB, další stírání rozdílu schoností PC/SF, rozčarování enterprise sféry z nepředvídatelné budoucnosti, …).