Další díry v procesorech. Tentokrát u AMD, zranitelnost L1 cache umožňuje úniky dat

Po řadě přápadů, kdy se s bezpečnostními dírami v procesorech lepila smůla na paty Intelu, přichází zranitelnost, kterou naopak trpí jenom procesory AMD.

33
Procesor Ryzen a 14nm čip Zeppelin, kterým je tvořen (Foto: Fritzchens Fritz)
-
Zdroj: Fritzchens Fritz

Už je to přes dva roky, co žijeme s periodickým přísunem různých bezpečnostních problémů objevovaných v CPU – typicky jde o tzv. side-channel útoky, kdy malwarový proces v počítači dokáže vyslídit nějaký obsah paměti či data procesu, ke kterým nemá mít přístup. Dosud platilo, že tyto chyby postihovaly procesory Intel více než ty konkurenční (ARM, x86 od AMD), ale máme tu změnu: tento měsíc byla publikována chyba nazvaná „Take a Way“, která je specifická pro procesory AMD, přičemž postihuje většinu čipů za posledních deset let.

Slabé místo pojmenované objeviteli Take A Way bylo nalezeno v datové L1 cache procesorů AMD, jde o zneužití jejich tzv. way prediktoru. Tento prediktor odhaduje, do které části cache bude směřovat požadavek na data, což umožňuje vyhnout se testování všech možností, jde o trik prováděný kvůli snížení spotřeby jádra (hovoří se pak o tzv. way-predited cache).

Bezpečnostní výzkumníci, kteří publikovali útok na tento prediktor, de facto provedli reverzní inženýrství nedokumentované hashovací funkce, kterou AMD v rámci této predikce používá, na základě čehož dokáží vytvořit kolize těchto hashů. Těmito kolizemi pak škodlivý kód, který by chtěl tuto slabinu zneužít, může pomocí side-channel timing útoku (využívajíc toho, že L1 cache miss vede k měřitelně vyšší latenci) dostat ven data například z jaderného prostoru, kryptografické klíče a podobné citlivé informace. Útok má dvě varianty, nazvané Collide+Probe a Load+Reload. Podrobný referát autorů můžete naleznete zde.

AMD Take A Way way prediktor
Schéma way prediktoru procesorů AMD podle autorů referátu Take A Way

Rizika či „aplikovatelnost“ této chyby jsou tedy v principu podobné jako u chyb typu Spectre, i když podle AMD nejde o striktně vzato spekulativní útok (nicméně přesná klasifikace není tak podstatná). Útočníkem může být proces lokálně běžící na počítači s běžnými uživatelskými oprávněními, přičemž jak už bylo řečeno, tento exploit mu umožňuje pokoutně vyčíst data ostatních procesů, ke kterým nemá mít přístup – případně paměť jádra, hypervizoru nebo jiné VM. Toto tedy bude problém na serverech, ovšem napadení by měl umožňovat i javascript běžící na webové stránce (který spouští při návštěvě vaše PC) – autoři demonstrovali možnost implementace v javascriptu v u jedné z variant.

Chyba či slabina way prediktoru se týká zřejmě všech procesorů založených na jádrech Bulldozer, Piledriver, Steamroller (a zřejmě i Excavator, který ale nebyl otestován) a na nových architekturách Zen a Zen 2. Naopak nefunguje na Bobcatu, Jaguaru a na předchozích architekturách K8 a K10 (Phenomy a APU Llano), tam totiž way predictor zřejmě nebyl použit.

AMD Take A Way procesory
Procesory AMD, které používají Way Predictor, který útok Take A Way zneužívá (zdroj)

AMD zřejmě nebude vyvíjet zvláštní opravy, mají stačit existující opatření?

AMD už k chybě vydalo prohlášení, které ovšem říká poněkud zvláštně, že podle mínění firmy nejde o úplně nový spekulativní útok a doporučuje používat aktualizovaný software a použití již existujících metod pro zamezení side-channel útokům při psané softwaru, plus standardně dodržovat bezpečnostní zásady při práci s PC a tak dále.

AMD Take A Way chyba reakce
Reakce AMD na chybu Take A Way

Nakolik existující opatření stačí, těžko soudit, například timing útoky přes javascript by teoreticky mělo mařit snížení rozlišení časovačů, ke kterému přistoupily prohlížeče, nicméně výzkumníci při vyvíjení těchto exploitů pravděpodobně toto také zohledňují. Zdá se ale každopádně, že pro tento konkrétní případ nebudou vydány žádné přímo cílené softwarové opravy, ani aktualizace mikrokódu (to možná u vysoce kritických funkcí cache subystému není prakticky realizovatelné).

AMD se tímto poněkud kazí gloriola bezpečnější architektury CPU (a asi to připomíná, že podobná hodnocení je neradno absolutizovat). Pravdou ovšem zůstává, že počet těchto incidentů je u jeho procesorů zlomkem případů, které se vyskytly u Intelu. Od oznámení chyby Take A Way byl mimochodem publikován další – exploit LVI podobný Meltdown a opět postihující procesory Intel.

Galerie: Zranitelnost Take A Way v procesorech AMD

Další díry v procesorech. Tentokrát u AMD, zranitelnost L1 cache umožňuje úniky dat
Ohodnoťte tento článek!
5 (100%) 12 hlas/ů

33 KOMENTÁŘE

  1. Nemáte prosím v hlavě nějaká čísla, kolik zranitelností bylo u AMD a Intel? Vím, že Intel toho měl víc, ale jaký je zhruba poměr si netroufám odhadnout. “zlomek případů” mi spíš dává asiciaci na poměr 1:10 apod.

  2. A už je to tady, mě se to zdálo jako logický a statistický nesmysl, proč by zrovna intel měl mít ve svých návrzích tolik chyb a AMD nikoli… oba vyrábějí neuvěřitelně složitou elektroniku, kterou vyvíjí stovky či tisíce inženýrů. Nevidím důvod proč by jedna strana měla chybovat více než druhá… Jenom se zkrátka na AMD nikdo nezaměřil, nejspíš kvůli podílu na trhu.

    Mimochodem, stejná paralela by se dala najít i u letadel Boeingu. Airbus na tom nebude s chybami v návrhu o moc líp, ale tam není “in” šťourat…

    • Omlouvam se, ale neberete v potaz, ze ruzni vyrobci a ruzne vyvojove teamy mohou mit ruzne nastavene priority. Pokud byla priorita Intelu a jeho R&D v poslednich 15 letech vykon za kazdou cenu, pak ted sklizi to co zasel. U AMD meli vetsi stesti na odpovednost ve vyvoji a navrh je vice odolny vuci postranim utokum. Napriklad problem popisovany v clanku je daleko mensi zavaznosti nez problem u Intelu, ktery je zminen v poslednim odstavci.
      Ohledne Boeingu: u nej naprosto selhala kontrola uradu, ktere kontrolu predaly! do pravomoci samotne firme a nasledne selhala kontrola v ramci firmy. Tedy pokud mluvime o 737MAX. Trosku o tom pohledejte. Ne na vsechno lze statistika aplikovat…

      • Já se také omlouvám, ale váš názor o různě nastavených prioritách je vaření z vody, protože to prostě nemůžete vědět. Osobně se přikláním též k tomu, že to souvisí s podílem na trhu a můžeme do budoucna čekat, že s tím, jak poroste podíl AMD na trhu procesorů, budou jeho výrobky “zajímavější ” z hlediska vymýšlení možných útoků na jejich architekturu. Navíc, zrovna u této chyby mi nepřijde, že by ji AMD řešilo prioritně, viz článek https://www.zdnet.com/article/amd-processors-from-2011-to-2019-vulnerable-to-two-new-attacks/ “However, in a message posted on its security portal, AMD has denied that these two new attacks are a concern, claiming that the two new attacks “are not new speculation-based attacks” and that they should be mitigated through previous patches for speculative execution side channel vulnerabilitie. But in a subsequent email, the research team told ZDNet that AMD’s response is “rather misleading,” that AMD never engaged with their team after the initial report last August, and that the attacks still work on fully-updated operating systems, firmware, and software even today.” Takže ta zranitelnost je známa už sedm měsíců a stále je zneužitelná.

            • Psal jsi o “výhodě AMD” – ne že by mě ta tvá úroveň demagogie ohromila, to já jsem už zvyklý.

              Tak tedy: ne, nebyla to “výhoda”, protože jak patrno, zásadní chybou netrpěly ani předešlé stavební stroje, ergo se jedná o systematické výsledky.

              Apropos, dodnes se pamatuju na řev ohledně TLB bugu, přitom v ohledu dnešních intelobugů to byla taková neškodná patálie.

            • aha, ja mluvim o amd, notabene presne v kontextu predchoziho prispevku, ty zacnes o chudakovi intelu, a ja jsem demagog 🙂
              klasika.

  3. Prohlášení od autorů ohledně této slabiny AMD procesorů: “The attacks leak a few bit of meta-data. Meltdown and Zombieload leak tons of actual data.”

    Jinak je to po Spectre variantách druhá pojmenovaná slabina u AMD co vím.
    Mezitím Intel: Meltdown, Spectre varianty, Foreshadow/L1 Terminal Fault, PortSmash, LazyFP, SPOILER, MDS (Fallout, Zombieload, RIDL), SWAPGS, NetCAT, TAA, iITLB Multihit, Plundervolt, iGPU Leak, CacheOut, LVI

  4. Tady se nás zase někteří jedinci snaží přesvědčit, že se u Intelu našlo více chyb jen proto, že je to majoritní výrobce procesů. Na jednu stranu mají pravdu, že se vždy útočí na co nejvíce počítačů/serverů. Ale dnešní situace u Intelu rozhodně není způsobena jenom tímhle.
    Spousta nynějších chyb u procesorů Intelu v posledních letech má problém, že nejdříve spekulativně vykonávají instrukce a až potom zjišťují zda jsou dostatečná oprávnění a případně to zahodí. Bohužel data už jsou v cache a proto je útočník může číst.
    Doporučuji toto video shlédnou celé nebo až od 41:24, kde začíná meltdown.
    https://www.youtube.com/watch?v=rwbs-PN0Vpw

    AMD tuto chybu návrhu procesorů nikdy neudělalo, takže její procesory se nejdříve ověří oprávnění a až potom dané instrukce vykonají. Je to pomalejší, ale bezpečnější. Proto netrpí na zranitelnost meltdown a i mnohem méně spectre variant.

    U AMD taky mají rozdělený frontend pro obě vlákna SMT, na rozdíl od Intelu, který u HT sdílí více věcí a proto se vlákna mohou navzájem odposlouchávat apod.

    Ano s dalším rozšiřováním podílu se bude více hledat i u AMD a bezpečnostní chyby se zcela jistě najdou, ale rozhodně neplatí to, jak se tu někteří jedinci snaží podsouvat, že je těch chyb u Intelu jen z toho důvodu, že má mnohem větší podíl na trhu. To je jen zjednodušující kravina.

    Intel prostě při spoustě situací vyměnil bezpečnost za pár procent výkonu.

    • “Slabé místo pojmenované objeviteli Take A Way bylo nalezeno v datové L1 cache procesorů AMD, jde o zneužití jejich tzv. way prediktoru. Tento prediktor odhaduje, do které části cache bude směřovat požadavek na data, což umožňuje vyhnout se testování všech možností, jde o trik prováděný kvůli snížení spotřeby jádra”

      Takze Intel kasle na bezpecnost kvuli malinko vyssimu vykonu a AMD kasle na bezpecnost kvuli malinko nizsi spotrebe.

      Osobne si nemyslim ani jedno, ale z tveho prispevku to plyne. Spis bych rekl, ze obe firmy hledaji jak navysit vykon a snizit spotrebu a pritom obcas vytvori nejakou bezpecnostni diru, protoze ono je to proste pritom vyvoji nemuze vsechno napadnout, treba ze tam nejakej statem placenej stoural nalezne nejakou slabinu.