Opět bezpečnostní díra u procesorů Intel: chyba Lazy FP Restore (oživeno)

51

Poznámka: článek z 16.6 byl aktualizován o nové informace, viz níže.

Kdo by to byl čekal, ale opět je tu bezpečnostní zranitelnost týkající se procesorů. Před nedávnem zpráva webu Heise.de uváděla, že pod NDA je řešena celá řada chyb více či méně podobných díře Spectre, která se provalila na začátku roku. Od té doby se z těchto nových chyb dostaly ven informace o „Spectre V4“ a nyní byla odhalena další. Chyba nazvaná „Lazy FP Restore“ by ale naštěstí měla být z těch méně závažných.

Chyba „Lazy FP Restore“ (CVE-2018-3665) se týká procesorů Intel a je trochu jako speciální varianta chyby Meltdown („V3a“), která umožňovala programům přečíst data z registrů patřících jiným procesům v situacích, kdy k tomu nemají oprávnění. Dnešní chyba má sice jiné příčiny, ale také dovoluje neutorizovaný přístup k registrům, v tomto případě k registrům jednotky FPU. Kromě registrů x87 se jedná i o registry xmm, ymm a zmm používané pro SIMD instrukce SSE, AVX a AVX-512.

Lazy FP Restore je původně zlepšovák, který má za cíl zlepšit výkon při přepínání procesů („context switch“). Při přepnutí procesu totiž je třeba, aby procesor uložil stav registrů uspávaného procesu a nahradil ho stavem příslušejícím novému procesu. Kvůli lepšímu výkonu ale existuje možnost toto ukládání a nahrávání neprovést okamžitě, ale „líně“. V takovém případě se operační systém touto operací nezdržuje okamžitě, ale provede se, až když kód k těmto registrům skutečně chce přistupovat a došlo by k nekonzistenci. Ovšem toto znamená, že fyzicky jsou v registrech data, která tam již nemají být, a spoléháme se na to, že procesor je spolehlivě uklidí, až bude třeba.

Z registrů lze ukrást citlivá data

Ovšem ukazuje se, že škodlivý program nebo útočník se k těmto datům v registrech FPU může dostat podobnými spekulativními útoky, které dovolují číst zakázaná data u chyb Spectre a Meltdown. V takovém případě procesor přístup nedetekuje a „neuklidí“ před ním. Tím pádem hrozí nebezpečí, že toto slabé míro bude zneužito k ukradení nějakých citlivých dat – útočník v registrech vlastně čte část stavu cizí aplikace. Protože SIMD registry slouží k uložení dat také pro kryptografické instrukce AES, vzniká zde riziko, že šikovný malware by s trochou štěstí mohl ukrást třeba šifrovací klíč.

Chyba Lazy FP Restore na webu Intelu. Závažnost je považována za střední
Chyba Lazy FP Restore na webu Intelu. Závažnost je považována za střední

Podobně jako u Spectre a Meltdownu jde o lokální zranitelnost, útočník tedy musí mít možnost spustit na počítači či serveru svůj kód. Nevíme zatím, zda je možné útok realizovat v javascriptu, což by umožnilo jím napadat počítače z navštěvovaných webových stránek. V takovém případě by ho ale snad měly komplikovat opatření aplikovaná v prohlížečích už proti chybě Spectre. Při prohlížení webu by snad tato chyba tedy příliš riskantní být neměla. Zatím není známo, že by tuto díru nějaký malware nebo exploit zneužíval.

Aktuální operační systémy by zřejmě již měly být v suchu

Zranitelnost se týká procesorové architektury x86 a zřejmě všech procesorů Intel založených na „velkých jádrech“ od Coffee Lake minimálně po Sandy Bridge. A to jak běžných desktopových a těch pro notebooky, tak serverových Xeonů. O tom, že by měly tuto zranitelnost i procesory AMD, zatím oficiální informace nejsou, Red Hat ale ve svém popisu chyby uvádí, že se jich problém netýká. U čipů VIA chybí informace kompletně.

intel-coffee-lake-core-procesor-lga-1151-1600Dobrá zpráva ale je, že aktuální operační systémy by zřejmě už Lazy FP Restore neměly ve výchozím stavu používat a tedy by neměly být zranitelné. Windows 10, Windows Server 2016, Linux 4.9 a aktuální OpenBSD a DragonflyBSD mají být bezpečné. Pro starší jádra Linux jsou nyní backportovány opravy (zakazující nebo vypínající funkci Lazy FP Restore) a eventuálně by asi měly vyjít také opravy pro Windows 7 a Windows Server 2008, které jsou zdá se mezi postiženými systémy. Ve všech případech by mělo stačit vypnout líný způsob aktualizace stavu registrů a použít „eager“ režim, který stav registrů aktualizuje ihned.

Aktualizováno (19.6. 2018): Windows jsou dle MS zranitelná

Zdá se, že informace o tom, že aktuální Windows nejsou postižena, nebyla správná. V dokumentu k chybě přímo od Microsoftu se uvádí, že Windows zřejmě včetně verze 10 funkce Lazy FP Restore používají a nelze je uživatelsky vypnout. Tudíž by operační systém Windows měl v tuto chvíli být zranitelný a opravy ještě nejsou k dispozici. Také informace v dokumentu ještě nejsou úplné, zdá se, že je MS ještě neměl v okamžiku oznámení chyby připravené (ohledně důvodů viz níže). Další informace také můžete nalézt v článku od Cyberus Technology.

Vydání detailů chyby bylo narychlo

Chyba a oprava měla být původně publikována až 27. června, ale odhalení bylo nuceně posunuto, což je asi důvod, proč patche pro výše zmíněné starší OS nejsou ještě dostupné. Předčasné odhalení způsobili vývojáři OpenBSD, kteří nerespektovali embargo a opravu vypustili dříve, čímž chybu vyslepičili. Což nezní moc konstruktivně a zodpovědně, i když není úplně jasné, zda vlastně tito vývojáři informace pod embargem měli, nebo si podstatu zranitelnosti dovodili nějak nepřímo. Nicméně pokud by tuto chybu nezávisle objevili, asi by také bylo zodpovědnější ji nahlásit Intelu a koordinovat odhalení s ostatními. Objevitelé, kterým se nález připisuje (Julian Stecklina z německého Amazonu, Thomas Prescher z Cyberrus Technology, Zdeněk Sojka z Sysgo AG a Colin Percival), totiž embargo respektovali, aby v den odhalení bylo maximum uživatelů co nejdřív ochráněno. Sólo akce typu OpenBSD sice znamenají, že jeden projekt je opraven dřív, ale zvyšují riziko pro všechny ostatní…

Opět bezpečnostní díra u procesorů Intel: chyba Lazy FP Restore (oživeno)
Ohodnoťte tento článek!
4.63 (92.63%) 19 hlas/ů

51 KOMENTÁŘE

  1. Vím, že to bude hodně náročné, ale nevíte, jestli se někdo zabývá přeměřením benchmarků procesorů po jednotlivých opravách a před nimi? Hodně těch optimalizací, co se vypíná, protože to jsou díry, se týká třeba jen intelu, nebo narušují významně jen nějakou oblast využití cpu. Ztratí se obrovská výpočetní síla, a spousta systémů je na tom už teď tak, že ždímají prostředky na 99%. Jsem zvědav, jestli se někde něco zhroutí, protože se aktualizuje OS, mikrokód cpu, bios, .. a výkon klesne o tolik, že to najednou nebude stačit. A vzhledem k dlouhodobě podfinancovaném IT úplně všude to může být zajímavá situace.

  2. Koukám že nákup Ryzenu byla dobrá volba. Architektura Core dosáhla zenitu v Sandy, dál už to bylo ždímání kamene. Různé triky na úkor bezpečnosti pomohly k nějakému procentu ale nyní se to Intelu vrací. Nepochybuji že budou muset vypínat další fígle až se dostanou někam na úroveň ipc Ivy/Haswell…

  3. Nějak se nemůžu zbavit pocitu, že všechny tyhle chyby jsou jenom zástěrka k tomu, aby lidi přešli na nejnovější CPU Intelu a Windows 10. Prostě tak trochu manipulace lidí v zájmu Intelu a Microsoftu.

      • Sakra gogo začíná být anarchista jako Crha – styl nic neřešte, koho to zajímá, ….
        Nesmíš hodnotit všechny ostatní svýma očima, každý není stejný jako ty, tak jim nevnucuj svůj názor, když ho považují za špatný. No a když se jim tvůj názor nelíbí, tak jsou to volové – to jako fakt? Nebude to spíš obráceně?

        • ach jo … takže jinak, tebe to zajímá a proč? Pouštíš běžně k počítači cizí osoby? Co se javy týče, tu jsem instaloval po třech letech jen kvůli jedné aplikaci a za den odinstaloval …

          • Děkujeme za informaci o tvé instalaci javy na jeden den, a jak to souvisí s problémy cpu? To o čem se mluví je javascript, který se používá na webu a poměrně výrazně zvyšuje riziko zneužití děr v cpu vzdáleně, bez fyzického přístupu k PC nebo bez větší interakce od uživatele. To je ten problém ty chytráku s pěti pancéřovanými dveřmi, sou ti k prdu, když vedle je otevřené okno.

            • jasně, u tebe roste riziko s každým usednutím na židli u počítače …neděkuj, nemáš za co …

            • musim te upozornit, ze javasrcipt a jeho implementace v browserech je natolik derava, ze se s nejakym meltdown/spectre nikdo delat nemusi. domaci uzivatele se tyhle zranitelnosti prakticky netykaji, jsou lepsi metody.
              hlavni nebezpeci dosud zverejnenych sidechannel zranitelnosti je ve virtualnim prostredi, tam je spectre utok nenahraditelny a realne nebezpecny.

          • Java je něco jiného než javascript. Javascript je prakticky na každé webové stránce a každý browser ho spouští. Ono tedy dneska se skoro dá říct, že typická webová stránka se rovná javascript.

            • jistě, „zapotil jsem“, ale ty blufy, co tady čtu poslední rok kolem „děr“ u Intelu, ani jeden z vás neví, jak to přesně funguje, jestli to vůbec funguje a co vlastně hrozí (kromě nicneříkající fráze přečtení citlivých dat) … jen blufy …doslova bláboly…- samozřejmě ne jen tady, ale na většině webů zabývajících se hardware …je sice pěkné, že informuješ o tom, co zase Intel domrdal, ale ve tvém případě je tato snaha kontraproduktivní …
              klidně mě zabanuj, seru na tenhle váš rudý cirkus … Pěkný zbytek dne přeji všem diskutujícím a omlouvám se za blábol o javě …

            • A tenhle člověk napsal o pár příspěvků zpět: „Tady opravdu roste základna diskutujících primitivů“ Lol!

              Jouda co nerozezná JS or Javy a na počítači maximálně tak kouká na porno. Představ si že jsou ale i lidé co dělají na PC seriózní práci a o zabezpečení PC se chtě nechtě musí zajímat.

            • @gogo1963
              … mno jak sem už psal pokud ta číslovka je datumem Tvého narození, tak potěš koště a opravdu bych už čekal normálního vyzrálého člověka… Pořád tady ostatním nadáváš, přitom sám se chováš jako ten naprostý primitiv…
              Zaběhni si pobečet na rameno jinam kde máte redaktora Tvého ražení…
              O těchto chybách se informuje všude ve světě… tak nechápu, proč by to tu mělo být rudé… To musíš jinam…
              Jo a banovat Tě určitě nebudou… řek bych že jim nebudeš stát za tu námahu 😉

  4. Oprava: OpenBSD nebylo soucasti NDA a tedy ani soucasti embarga! OpenBSD kontaktovalo Intel a zadalo o zarazeni do embarga ale bylo ignorovano. Na zaklade spekulace a prezentace Thea de Raddta na BSDCan 2018 v Ottave Colin Percival napsal behem 5 hodin exploit, tedy kod ktery dokazuje zranitelnost. Potom kontaktoval Intel s touto skutecnosti a Intelu nezbylo nic jineho nez publikovat chybu drive.
    Takze diky OpenBSD a Colinu Percivalovi mame opravy drive nez bylo puvodne zamysleno a to je si myslim dobre, protoze pokud Colin Percival na zaklade spekulace napsal exploit behem 5 hodin, tak „bad guys“ ho meli uz davno…
    Misto „OpenBSD porusilo embargo“ bych vam pane Olsane doporucoval napsat clanek o techto embarzich, ktere zahrnuji jen vyvolene a o pravech lidi pouzivat i okrajove OS, ktere z jakychsi duvodu jsou velkymi hraci ignorovany. Pokud takovy OS pak prispiva k bezpecnosti vlastnim nezavislym vyzkumem je pak napadan, ze porusil nejake embargo…

    • Jestli kontaktovali Intel s hlášením a ten je odpálkoval, tak to by byla skutečně chyba (a odpovědnost) na straně Intelu. Otázka je teda samozřejmě, kde vzal Raadt ty „rumours“ (bez kterých by o tom asi nevěděl a tedy by to asi neleaklo), ale tam asi mohl porušit to tajemství někdo jiný. Pořád si nejsem úplně jistý, jestli byl dobrý nápad o tom přednášet.

    • No, snad by to mělo být míň závažné než Meltdown/Spectre (a snad by aktuální systémy už Lazy FP Restore neměly používat). Jakožto hardwarová netěsnost je to pořád dost nepříjemná věc.

  5. K debate vyššie, za mňa, dobré 3-4 mesiace už ani očami neprebieham články o nových chybách/opravách – spectre, melt a spol. a to sa o PC a komponenty denno denne zaujímam a pracujem s nimi.

    Ergo, dovolím si povedať že 99+% „normálních uživatelů“ (nie hráčov/geekov) o nejakých problémoch, záplatách opravách ani len vzdialene netuší – opýtajte sa svojej mamy, otca, sestry, kolegyne, spolužiaka na to či „už aktualizoval BIOS koli melt/spect.“ a sledujte ich reakcie typu „BIO čo ???“ 😀

    • Dúfam tým nechceš naznačiť, že by sa o tom nemalo písať, lebo to predsa platí o akejkoľvek téme o PC a „normálnych užívateľoch“. Či už ide o typ či frekvenciu RAM, výrobcu GPU či nejakej ich technológii, pripravovaných GPU či CPU, nových driveroch, rozhrania SSD, kompatibilite CPU so základnými doskami, a tak podobne.

      Som si ale istý, že tí, ktorým pred časom update OS znefunkčnil PC si tento fakt zrejme všimli, hoci nevedeli čo je za tým…

    • To je mozne, ale pak se dostavame do problemu, kde nezaplatovane windows stroje se stavaji nastroji utoku v osidlech ruznych botnetu, taktez nezaplatovane routery, web kamery a dalsi IoT nesmysly. Utoky botnetu na ruzne sluzby se uz nas ale mohou tykat, proto neni dobre bezpecnostni problemy ignorovat…

  6. „Ergo, dovolím si povedať že 99+% „normálních uživatelů“ (nie hráčov/geekov) o nejakých problémoch, záplatách opravách ani len vzdialene netuší – opýtajte sa svojej mamy, otca, sestry, kolegyne, spolužiaka na to či „už aktualizoval BIOS koli melt/spect.“ a sledujte ich reakcie typu „BIO čo ???““

    Ja se staram o sve PC a i o PC v rodine. O chybach tusim, presto jsem ani jeden pocitac neaktualizoval BIOS. Pominme ted to, ze ve skutecnosti ani jedna z tech chyb neni zavazna a neni zneuzitelna vzdalene. Vzdy musite nejprve do toho PC neco dostat, cemuz spolehlive brani firewall a uzivatele sami bez administratorskych prav tam nic nedostanou.
    Ale prejdeme k te dulezitejsi veci: Ani na JEDEN POCITAC NEEXISTUJE oprava BIOSu. Jak jiz jsem dal priklad sveho Haswellu vyse, vyrobci desek na opravy BIOSu totalne kaslou a pokud zrovna nemate Skylake a novejsi procesor, tak mate smolika, ikdyz je otazka kdo ma smolika, tem uzivatelum to nevadi a jak pises ani o zadne chybe nic netusi a ikdyby jo, tak je jim to jedno.

    • Pouzivate web a na nem JavaScript. To samo staci k tomu aby se na vasem pocitaci vykonaval cizi kod — tot k vasi poznamce „ani jedna z tech chyb neni zavazna a neni zneuzitelna vzdalene.“ Chci tim rict i pro vas je (mela by byt) chyba zavazna…

      • A umi vubec Javascript vykonavat instrukce mimo poradi?

        Asi jo, protoze jsem neco cetl, ze proti tem chybam vydala Mozilla i Google pro sve prohlizece opravu a zneuziti pres prohlizec nehrozi.
        Tak to by problem byt nemel.

        • Implementace útoku Meltdown a Spectre byla v javascriptu určitě možná, respektive prokázaná (myslím že i existoval PoC). U těchhle útoků pozdějšího data je to asi těžší, ale podle objevitelů stále teoreticky možné.
          V čem spočívá ta ochrana v browserech: protože k identifikaci těch „ukradených“ dat v cache slouží timing útok, který spočívá v měření rychlosti přístupu k různým adresám, tak protiopatřením bylo zhoršit přesnost časovačů, které jsou dostupné programům běžícím v javascript enginu. To pochopitelně timing attack komplikuje, i když asi teoreticky úplně neznemožňuje, exploity někdy dokáží být strašně vynalézavé.

  7. jen mám dotaz, bude nutný i update BIOSu? Nebo by měl stačit patch pro OS ? Spectre/Meltdownem jsme se museli poměrně dost zabývat a zákazníkovi jsme už museli doporučit vyřadit starší HW, protože opravy BIOSu prostě nevyšly.. pro ně to bohužel bude vcelku ranec.. Byly tam stroje řady Core-i5/i7 2xxx a některé i 3xxx (nepamatuju si co za názvy toho Intel má, nikdy mi tyhle stupidní názvy nepřirostly). Škoda je, že ty stroje nejsou po výkonové stránce nijak extra zlé, většinu z nich hrubě zpomaluje HDD, ale stačila by výměna za SSD a ještě by si mohli chrochtat, jak to šlape.. Na virtualizačních serverech to samozřejmě byla jiná prasárna.. Ale na výkonu jsme to naštěstí nepoznali, takže to bylo spíš spooousta ruční práce