Byla představena nová třída zranitelností v procesorech Intel

Intel publikováno informace o nových třída zranitelnosti v jejich procesorech - MDS (Vzorkování mikroarchitekturních dat). Stejně jako předchozí útoky Spectre mohou nové problémy vést k úniku soukromých dat z operačního systému, virtuálních strojů a dalších procesů. Problémy byly údajně poprvé identifikovány zaměstnanci a partnery Intelu během interního auditu, po kterém nezávislí výzkumníci poskytli informace o podobných problémech Intelu. Procesory AMD a ARM nejsou tímto problémem ovlivněny.

Na základě zjištěných problémů vědci z Technické univerzity v Grazu (Rakousko) rozvinutý Některé praktické útoky postranním kanálem:

  • ZombieLoad (PDF) - umožňuje extrahovat důvěrné informace z jiných procesů, operačního systému, virtuálních strojů a chráněných enkláv (TEE, Trusted Execution Environment). Prokázala se například schopnost určit historii otevírání stránek v prohlížeči Tor běžícím na jiném virtuálním stroji a také určení přístupových klíčů a hesel používaných v aplikacích;


  • RIDL (PDF) – umožňuje únik informací mezi různými izolovanými oblastmi v procesorech Intel, jako jsou vyrovnávací paměti pro plnění, vyrovnávací paměti úložiště a porty pro zatížení. Jsou ukázány příklady útoků, které organizují úniky z jiných procesů, operačního systému, virtuálních strojů a chráněných enkláv. Například ukazuje, jak zjistit obsah hashe root hesla z /etc/shadow během periodických pokusů o autentizaci (útok trval 24 hodin);

    Navíc je ukázán příklad útoku pomocí JavaScriptu a WebAssembly při otevření škodlivé stránky v enginu SpiderMonkey (v moderních plnohodnotných prohlížečích je takový útok nepravděpodobný kvůli omezené přesnosti časovače a opatřením na ochranu proti Spectre);

  • Spad (PDF) - umožňuje číst data nedávno zapsaná operačním systémem a určit rozložení paměti OS pro zjednodušení dalších útoků;
  • Přeposílání Store-To-Leak — využívá optimalizace CPU pro práci s vyrovnávací pamětí úložiště a lze jej použít k obejití mechanismu randomizace adresového prostoru jádra (KASLR), ke sledování stavu operačního systému nebo organizace úniky v kombinaci s gadgety založenými na metodách Spectre.

Identifikováno zranitelnosti:

  • CVE-2018-12126 - MSBDS (Microarchitectural Store Buffer Data Sampling), obnova obsahu vyrovnávacích pamětí úložiště. Používá se při útoku Fallout. Stupeň nebezpečí je stanoven na 6.5 ​​bodu (CVSS);
  • CVE-2018-12127 - MLPDS (Microarchitectural Load Port Data Sampling), obnova obsahu nakládacího portu. Použito při útoku RIDL. CVSS 6.5;
  • CVE-2018-12130 - MFBDS (Microarchitectural Fill Buffer Data Sampling), obnova obsahu vyrovnávací paměti. Používá se při útocích ZombieLoad a RIDL. CVSS 6.5;
  • CVE-2019-11091 – MDSUM (Microarchitectural Data Sampling Uncacheable Memory), obnova obsahu necachovatelné paměti. Použito při útoku RIDL. CVSS 3.8.

Srdce identifikovali problémy ve schopnosti aplikovat metody analýzy postranních kanálů na data v mikroarchitektonických strukturách, ke kterým aplikace nemají přímý přístup. Hovoříme o takových nízkoúrovňových strukturách, jako jsou vyrovnávací vyrovnávací paměti (Line Fill Buffer), vyrovnávací paměti úložiště (Store Buffer) a nakládací porty (Load Port), což jsou menší stavební bloky než mezipaměť první úrovně (L1D), mezipaměť pro načítání dat ( RDCL ) nebo L1TF (L1 Terminal Fault), a proto obsahují méně informací a jsou intenzivněji aktualizovány.

Byla představena nová třída zranitelností v procesorech Intel

Útoky postranním kanálem na mikroarchitektonické struktury jsou mnohem obtížnější ve srovnání s metodami obnovy obsahu mezipaměti a vyžadují sledování a analýzu značného množství dat k určení jejich spojení s určitými adresami v paměti (útočník v podstatě nemůže účelově zachytit určitá data , ale může dojít k nahromadění úniků a použití statistických metod k rekonstrukci určitých typů dat). Útok navíc ovlivní pouze data na stejném fyzickém jádru CPU jako útočníkův kód.

Navržené metody určování obsahů mikroarchitektonických struktur jsou založeny na skutečnosti, že tyto struktury se používají při spekulativním zpracování výjimek (poruch) nebo operacích načítání a ukládání.
Během spekulativního provádění je obsah vnitřních struktur přesměrován do registrů nebo mezipamětí ke zpracování. Spekulativní operace se nedokončí a výsledek je zahozen, ale přesměrovaný obsah lze určit pomocí technik analýzy mezipaměti postranního kanálu.

Zatěžovací porty jsou používány procesorem k přijímání dat z paměti nebo I/O subsystému a poskytování přijatých informací do registrů CPU. Díky funkci implementace zůstávají data ze starých operací stahování v portech, dokud nejsou přepsána novými daty, což umožňuje nepřímo zjišťovat stav dat na portu stahování manipulací s výjimkami (chybami) a SSE/AVX/ AVX-512 instrukce, které načítají více než 64bitová data. Za takových podmínek operace zatížení spekulativně vystavují zastaralé datové hodnoty z vnitřních struktur závislým operacím. Podobným způsobem je únik organizován prostřednictvím vyrovnávací paměti úložiště, která se používá k urychlení zápisu do mezipaměti CPU a zahrnuje tabulku adres, hodnot a příznaků, a také prostřednictvím vyrovnávací paměti, která obsahuje data, která ještě není v L1 cache (cache-miss), prozatím se načítá z cache jiných úrovní.

Byla představena nová třída zranitelností v procesorech Intel

problém ovlivňuje Modely procesorů Intel vyráběné od roku 2011 (od 6. generace). V tomto případě jsou zranitelnosti hardwaru blokovány počínaje některými modely 8. a 9. generace Intel Core a 2. generace Intel Xeon Scalable (můžete zkontrolovat pomocí bitu ARCH_CAP_MDS_NO v IA32_ARCH_CAPABILITIES MSR). Zranitelnosti již také existují vyloučeno na úrovni firmwaru, mikrokódu a operačních systémů. Intel odhaduje ztrátu výkonu po aktivaci opravy pro většinu uživatelů méně než 3 %. Když je technologie Hyper-Threading deaktivována, snížení výkonu může dosáhnout až 9 % v testu SPECint_rate_base, až 11 % ve výpočtech aktivních celých čísel a až 19 % při spouštění aplikací Java na straně serveru (s povoleným HT je téměř žádné snížení výkonu). Záplaty mají malý vliv na výkon I/O.

Linuxové jádro chrání před MDS přidal v dnešním aktualizace 5.1.2, 5.0.16,
4.19.43, 4.14.119 a 4.9.176. Způsob ochrany ve výstavbě o vymazání obsahu mikroarchitektonických bufferů při návratu z jádra do uživatelského prostoru nebo při předání řízení hostujícímu systému, k čemuž slouží instrukce VERW. Aby ochrana fungovala, vyžaduje podporu režimu MD_CLEAR implementovaného v nejnovější aktualizaci mikrokódu. Pro úplnou ochranu se také doporučuje vypnout Hyper Threading. Chcete-li zkontrolovat, zda je systém vystaven zranitelnostem v jádře Linuxu přidal handler "/sys/devices/system/cpu/vulnerabilities/mds". Aby bylo možné ovládat zahrnutí různých režimů blokování zranitelnosti, byl do jádra přidán parametr „mds=“, který může nabývat hodnot „full“, „full,nosmt“ (vypnutí Hyper-Threads), „vmwerv“ a "vypnuto".

Aktualizace balíčků již byly vydány pro RHEL и ubuntu, ale zatím zůstávají nedostupné Debian, Fedora и SUSE.
Oprava blokující také úniky dat z virtuálních počítačů vytvořený pro hypervizor Xen. K ochraně virtualizačních systémů, které vydávají příkaz L1D_FLUSH před přenesením řízení na jiný virtuální stroj, a k ochraně enkláv Intel SGX stačí aktualizace mikrokódu.

Zdroj: opennet.ru

Přidat komentář