Procesory IBM Power trpí chybou Meltdown, ne jen Spectre. Zranitelnosti také na MIPS

24
RISC procesor IBM Power7 zespodu s ploškami kontaktů (Zdroj: IBM)

Včera jsme už psali o politické rovině, do které se přelil průšvih okolo bezpečnostních děr Meltdown a Spectre, které byly začátkem roku odhaleny v procesorech. Ovšem nejen tam je kolem velkého procesorového průšvihu „veselo“. Zdá se, že i přímo v hardwarovém světě se rozrůstá dosah těchto problémů. Poměrně překvapivá je informace o další oběti chyby Meltdown. Mělo se za to, že postihuje v prvé řadě procesory Intel, byť již přibyly i některé architektury ARM (Cortex-A75 a jádra Applu). Podle aktuálních informací ale na Meltdown (CVE-2017-5754) trpí také procesory IBM PowerPC/Power. A to zřejmě včetně těch nejnovějších výkonných serverových CPU, Power8Power9, pravděpodobně ale i starších.

Informace o jejich zranitelnosti na Meltdown je nová, prvotní zprávy přisuzovaly procesorům Power jen problémy Spectre, které má aspoň teoreticky víceméně každé CPU. Ovšem nyní již dokumenty přiznávají i Meltdown a tato chyba bude na architektuře PowerPC řešena v rámci operačního systému Linux. Viz informace od IBM nebo linuxové distribuce Ubuntu. Postižená je jak architektura Power/PPC, tak mainframová S390X. Oprava Meltdownu je u nich realizována kombinací aktualizovaného firmwaru a úprav v jádru operačního systému. Zdá se, že implementace je odlišná od patchů kPTI pro procesory x86. Místo oddělení adresních prostorů se používá nucené vyprázdnění datové L1 cache před návratem z jádra do uživatelského prostoru (volba se jmenuje RFI Flush, vypíná se parametrem -no_rfi_flush).

Procesor Power9 (Zdroj: Raptor Engineering)
Procesor Power9 (Zdroj: Raptor Engineering)

Zatím nemáme informace o tom, jaký by tato oprava mohla mít výkonnostní postih, pokud nějaký znatelný bude. Používat záplaty je ale doporučeno, Chyba Meltdown je považována za závažnější než Spectre. Je jí sice snazší softwarově opravit a záplaty by měly být plně účinné (zatímco u Spectre se bavíme spíše o protiopatřeních a problém není odstraněn), ale tuto chybu je snazší zneužít a také dopad exploitu je závažnější.

Spectre na in-order procesoru

Současně se objevila informace, že je údajně možné realizovat exploit Spectre na procesoru IBM Power6, což je už poměrně letitý předchůdce výše zmíněných CPU (uvedení 2007). Proč je to zajímavé? Design Power6 byl ve své době výjimečný, šlo o vysokofrekvenční CPU s architekturou in-order. Nikoliv tedy o out-of-order jádro, a přesto na Spectre není imunní.

Toto demonstruje, že in-order vykonávání ještě není zárukou bezpečnosti. Tyto chyby totiž striktně vzato nepotřebují out-of-order architekturu, ale jen spekulativní vykonávání kódu pomocí predikce větvení. A tato technika je přítomná i v in-order jádrech, jako je třeba původní Atom. Mimochodem, problém Spectre je už také oficiálně potvrzen také na procesorech MIPS, trpí jím (minimálně) jádra Warrior P5600P6600. Ta jsou out-of-order, takže žádné překvapení, nicméně alespoň netrpí závažnější chybou Meltdown.

První 45nm Atom s in-order architekturou Bonnell
První 45nm Atom s in-order architekturou Bonnell

Starší Atomy nebudou zpomalené kvůli Meltdownu (alespoň na Linuxu)

Pokud jde ovšem o zmíněné in-order procesory Atom (starší jednojádra a dvoujádra na 40nm a 32nm procesu, tedy Atomy před příchodem čipů Bay Trail a architektury Silvermont), pak ty zatím přece jen vypadají bezpečně. Již od začátku se uvádělo, že by měly být výjimkou z paušálního postižení chybou Meltdown, které jinak pro procesory Intel platí. To se nyní asi potvrzuje. V Linuxu 4.16 byly nyní starší Atomy také označeny za bezpečné. Pokud jste o tom ještě neslyšeli, po provalení problému jádro Linuxu označilo všechny procesory architektury x86 jako zranitelné (flag „X86_BUG_CPU_INSECURE“). Toto nastavení bylo poté deaktivováno pro procesory AMD, čímž na ně přestaly být aplikovány opravy chyby Meltdown.

Nyní podobnou výjimku dostávají právě i staré in-order Atomy, pro které tak zřejmě také přestanou být používány patche kPTI. To znamená, že by u nich měl odpadnout pokles výkonu, které tato oprava na ostatních Intelech způsobuje. Pro připomenutí: týká se to provádění systémových volání, dopad je zejména v diskových operacích. Vzhledem k pomalosti dotyčných čipů Atom to u nich asi bude důležitější než na rychlejších jádrech. Zda poskyten či dokonce již poskytl podobný pardon Atomům také Microsoft v systému Windows, to momentálně nevíme. Pokud s těmito CPU máte nějaký stroj a vyzkoušíte na něm jeden z dostupných diagnostických nástrojů, pochlubte se s výsledkem v diskusi.

Ohodnoťte tento článek!

24 KOMENTÁŘE

  1. Cela afera nepresahuje jen do politicke roviny, ale i do filozoficke a lingvisticke. Napadl me jeden dobry primer, jestli jsou chamtivost a lenost chyba navrhu cloveka?
    V podstate to jsou spatne vlastnosti, ktere ale zjevne zvysuji vykon lidi a posunuji civilizaci a stav vedeni rychleji dopredu. Jsou teda chtene nebo ne?
    Se Spektrou je to stejne, je to proste vlastnost procesoru diky ktere jsou procesory vykonejsi na ukor nejakych drobnych problemu, ktere z te vlastnosti take plynou.
    Je tato vlastnost chybou nebo ne? Meli by byt procesory pomalejsi ale bezpecnejsi?

    Ja jsem za vsech okolnosti pro vykon, na pocitaci nedelam nic tajneho, co by bylo potreba chranit tak, aby si to nemohl precist nikdo jiny, nepotrebuju teda patche proti Melte a Spektre, bohuzel tyran (Microsoft) rozhodl, ze je dostanu at chci nebo ne. :-/

          • V podstate neni problem. Staci mit na internet bankingu nastaveno na platby pres internet nulu a vzdycky pred platbou si to povolit, coz taky chce overovaci SMS.
            Tich bezpecnostnich opatreni mas tolik, ze sance na nejake masivni zneuzivani Melty a Spektry nejsou pro bezneho uzivatele vubec pravdepodobne.

          • Uz jsem to zminoval na jinem miste. Pokud dokazu zabezpecit, aby mi do PC nepronikl zadny trojan a to dokazu, k tomu se Melta ani Spektra zneuzit nedaji. Pokud dokazu zabezpecit, aby mi na pozadi nebezel nechteny javascriptovy kod, cimz jsem si byl jist, ze dokazu. Tak nemam jedinny duvod si myslet, ze je Melta a Spektra pro me zneuzitelna a ze mi ty udaje nekdo odchyti.

            Pri techto svych tvrdych argumentech jsem narazil na odpoved, ze nejmenovany prohlizec obsahuje zasadni bezpecnostni slabinu, ktera dovoli beh javascriptoveho kodu na pozadi i po zavreni tabu v prohlizeci.
            Netusim, jestli je to pravda a netusim, ktery prohlizec, ale jestli to pravda je, tak je to asi tak 100x vetsi prusvih nez cela Melta se Spektrou dohromady. A pak to samozrejme mimo jine nahrava i moznosti zneuziti pocitace pres Meltu. Ale jak rikam, momentalne k tomu vic informaci nemam.

        • tak ted nejak nechapu ja 🙂 po netu siris moudra k zasmani, on ostaci jen zde pod timto clankem, v prispevku na ktery jsem reagoval, pises ze chces max mozny vykon a pod, cosi o zlym MS, a ted pises ze se v tom neorientujes a za mesic nactes nejake info vo co go??

          mozna jedna otazecka, vis proc se chybe spectre rika zrovna spectre?

          jinak za me co pozorujem na firme, tak nejvetsi dopad to ma na jednom testovacim hyper-v kde je i deduplikace na volume kde jsou OS pro virtualky a na volumy kde jsou „statictejsi“ vhd …
          par starsich serveru, co jsou ted hyper-v hosty pro testovaci VM, bezi na Opteronech 62xx a 63xx a zatim oka, vse jede.
          HPE podporuje jen G8+, plus jeste odstranili novy FW ze stranek kvuli problemum s Intelackym mikrokodem, to samy Cisco pro jejich UCS systemy …
          co mame produkcni cluster z UCS, tak ze dvou blade jsme udelali pro tento mesic testovaci pro JAN patche a presunuli na ne testovaci VM, prevazne databazovy plus par RDS serveru, a testujeme, zatim DB team dosel s tim, ze nejaky rozdil tam je, ale nic dramatickyho …
          takze uvidime, na produkcni masiny instalujeme patche az s mesicnim zpozdenim, zatim se nam nic v testovacim nic nezhrotilo 🙂
          na mym pracovnim notesu, sem musel odinstalit patche kvuli Pulse Secure klientovi, bo nejela VPN, ale po jeho updatu vse v pohode …

          • Je to ta chyba, ta Melta, ta chyba, ta Spektra. Aspon teda v cestine, pises to asi radeji v originalu v anglictine. Ale neni duvod nenapsat cesky genderove emancipovany tvar.

            Spektra oznacuje to, ze aplikace muze videt vyhrazenou pamet jine aplikace diky spekulativnimu vykonavani kodu.

            Ja to myslel tak, ze mam vypnute Windows update a zadne patche a updaty jsem od pulky prosince neinstaloval, nevim teda ktere KB mohu a ktere bych nemel instalovat, abych nemel se systemem na procesoru Haswell nejaky problem, to jsem nestudoval. Vim, ze me Spektra a Melta nezajimaji a ze nechci nic co ovlivni stabilitu a vykon meho pocitace.
            Pokud mas tipy, ktere KB nestahovat a neinstalovat do Windows 7, tak sem s nimi, dekuji.

          • https://www.catalog.update.microsoft.com/Search.aspx?q=2018-01
            mno, jelikoz i win7 jedou na kumulativnich aktualizacich, tak si patch na toto nainstalujes i v cervencovym patchi 🙂
            a nazev spectre – duch – to dostalo kvuli chovani spekulativniho vykonavani na procesorech, jakmile se zjisti ze predikce byla spatna, tak se vysledek zahazuje, ale klasika. nemaze se, jen se zahazuje, takze stale zustava v cache nez s eprepise, proto duch. stejne jako filesystem maze soubory, neztraci cas nulovanim, ale jen smaze zaznamy v mft a fyzicky jsou data na plotne nez je prepises …
            kvuli tomuto se musi flashovat firmware, protoze budou k dispozici novy funkce na cpu, ktery budou mazat tento obsah:
            IBRS – indirect branch restricted speculation
            IBPB – indirect branch restrictiom barrier
            STIBP – single-thread indirect branch predictors
            a co je vtipny na hyper-v, po updatu firmware, se musi vsechny VM vypnout a pak zapnout, aby tito nove bity videly a zacaly je pouzivat, normal restart nestaci, coz v poctech stovek VM na par clusterech bude zabava na dlouhe vikendove vecery …

          • Jses si jist? Ja mel pocit, ze kumulativni je jen klasicka aktualizace, ale ty only-security prave kumulativni nejsou, doufal jsem, ze to proste preskocim.
            Urcite musim zjistit jak to je, bych se na aktualizace asi vykaslal komplet. :-/

          • security-only je jen pro ten ktery mesic, kumulativni, uz jen dle nazvu, prubezne na sebe nabaluji vsechny aktualizace, proto rostou na velikosti v case …
            pro normalni usery se sosaji a instaluji ty kumulativni, takze pri cisty instalaci se toho neinstaluje tolik … no a k security only se dostanes budto rucne pres katalog, nebo si rozjed wsus …

            no na to jaka tu siris moudra, nejses si dvakrat teda jistej 🙂

          • Ty security-only stahuju kazdej mesic vetsinou nekdy okolo pulky mesice z katalogu. Znejistil jsi me, protoze tu mas jinak dobry komenty a byl jsem pryc, tak jsem na to nemohl kouknout, jak to je.
            Proste vynecham leden security-only a dal neresim. 🙂

          • na to muzes dojet, ze nejaky budouci patch uz nenainstalujes, muze se stat ze neco z budouciho security-only bude zaviset na konkretni verzi nejakyho dll z tohoto lednovyho patche no a mas po zizalkach …

  2. A to je presne ten duvod, proc z Meltdownu AMD jeste neni venku. Je totiz rozdil mezi „zranitelnost zatim nebyla prokazana“ a „zranitelnost byla vyvracena“. Samotny web o Meltdown/Spectre exploitu uvadi pro AMD prvni variantu – „neprokazano“, zatimco vetsina AMD pozitivnich webu prevzala jen vyjadreni AMD, ze zranitelnost nehrozi. Zranitelnost se muze klidne jeste prokazat, stejne jako ted u IBM Power.

    • Nejsem si tak jisty. Ono meltdown je pomerne jasny a firmy co jsou ohrozene se pomerne jasne chytly za nos. AMD reklo ze se ho to netyka a pomerne jasne tlacilo i v Linux, ze opravdu Meltdown neni jejich problem a tedy, ze nemaji byt zakaznici AMD ohrozeni zpomalenim dane patchi ktere potrebuje Intel. Cili AMD si je pomerne jisto.
      Ohledne Spectre take jasne rekli, ze se jich tyka.
      Tak o co jde? Lezi vam AMD v zaludku?

  3. Docela by mě zajímalo, zda lze tou chybou na Power architektuře obejít o rozdělení do LPARů. Také mě zaráží, že opravují Linux a ne jejich nativní AIX (takže buď AIX náchylný není, nebo pro něj oprava není možná nebo není nutná – vyřeší to firmware).

  4. Redmarxi, jestli jsem Tě dobře pochopil, tak na to jdeš ve stylu „nastuduju maximum dostupných informací o známých chybách a podle toho zabezpečím svůj pc. Když se objeví chyba nová, prostě aktualizuju zabezpečení“. Pochopil jsem správně ?

    • Je treba hlavne videt, ze nejsem cilovka pro nejake zneuziti PC a uz vubec ne chybama Melta a Spektra. Nejak zvlast bezpecnost neresim, jde mi o stabilitu a vykon PC.

      Hlavni pristup k bezpecnosti vidim v tom neinstalovat do pocitace kdejakou kravinu a netahat warez. Treba typicky a tady zminovany byl Ccleaner, to je naprosto zbytecny nepotrebny nastroj. Nikdy jsem zadne cistice nepotreboval, k nicemu to neni.

      Co se tyka viru, tak mam ve Windows 7 nahozeny Microsoft Security Essentials, ktery me spolehlive ochrani. Mam i Personal Firewall Privacyware, ktery mi oznami, kdyz chce nejaka aplikace neco odesilat.

      A co se tyka Windows update, tak ty jsou vypnute a rucne instaluju jen zaplaty „only-security“, nepotrebuju nove casto derave funkce, spoleham se jen na opravy a doufam, ze to MS jeste vice nepodelal, proto je take radeji instaluju se zpozdenim, bezne 14 dni, ale ted ta afera, radeji jeste pockam dalsi mesic nez se to uklidni a vyjasni.

      Takze ohledne Melty a Spektry je to spis o otm, ze az se situace vyjasni, tak nainstaluju jen to, co bude pro me skutecne potreba. Jsem si ochoten snizit vykon PC jen za predpokladu, ze opravdu bude hrozit prunik i na muj PC, ale momentalne to nevidim jako realne.

      • Jeste za dulezite povazuju aktualizaci webovych prohlizecu, take ty by meli mit implementovanu ochranu proti Melte/Spektre.

        Dobre je se chranit adblockem a noscriptem (uzivatelsky spousteny javascript jen tam kde potrebuji).

        No a kdyz clovek jde do IB, tak neni od veci, zavrit ostatni taby v prohlizeci, aby tam nekde neco nebezelo. Chapu, ze tohle kazdy nedela, ale jsem stara skola a mam obecne navyk mit malo spustenych tabu v prohlizeci jeste z doby, kdy to vykon PC neumoznoval. Tak mi nevadi je zavrit, kdyz nekam davam citlive udaje.