Præsenteret er en ny klasse af sårbarheder i Intel-processorer

Intel offentliggjorde information om den nye sårbarhedsklasse i deres processorer — MDS (Microarchitectural Data Sampling). Ligesom tidligere angreb i Spectre-klassen kan de nye problemer føre til lækage af fortrolige data fra operativsystemet, virtuelle maskiner og andres processer. Det påstås, at problemerne først blev opdaget af ansatte og partnere hos Intel under en intern revision, hvorefter informationen om lignende problemer hos Intel blev overdraget til uafhængige forskere. Processorer fra AMD og ARM er ikke påvirket af problemet.

Baseret på de opdagede problemer har forskere fra Graz University of Technology (Østrig) udviklet flere praktiske angreb via sideløbende kanaler:

  • ZombieLoad (PDF) — muliggør udtrækning af fortrolige oplysninger fra andre processer, operativsystemet, virtuelle maskiner og sikre enclaves (TEE, Trusted Execution Environment). For eksempel er muligheden for at bestemme historikken for åbning af sider i Tor-browseren, der kører på en anden virtuel maskine, blevet demonstreret, samt bestemmelse af adgangsnøgler og adgangskoder brugt i applikationer;


  • RIDL (PDF) — muliggør lækage af oplysninger mellem forskellige isolerede områder i Intel-processorer, såsom buffere forfyldning, lagringsbuffere og indlæsningsporte. Eksempler på gennemførelse af angreb vises for at organisere lækager fra andre processer, operativsystemet, virtuelle maskiner og sikre enclaves. For eksempel er det blevet vist, hvordan man kan finde indholdet af root-adgangskoden hash fra /etc/shadow ved periodiske autentificeringsforsøg (angrebet tog 24 timer);

    Afspil video

    Derudover er et eksempel på et angreb ved hjælp af JavaScript og WebAssembly blevet vist, når en ondsindet side åbnes i SpiderMonkey-motoren (i moderne komplette browsere er et sådant angreb usandsynligt på grund af begrænsninger i timerens nøjagtighed og foranstaltninger til beskyttelse mod Spectre);

    Afspil video
  • Fallout (PDF) — giver mulighed for at læse data, som for nylig er blevet skrevet af operativsystemet, og bestemme OS's hukommelseslayout for at lette udførelsen af andre angreb;
  • Store-To-Leak Forwarding — udnytter CPU'ens optimeringer i forbindelse med lagringsbufferen og kan anvendes til at omgå kerneadresse-randomiseringsmekanismen (KASLR), til overvågning af operativsystemets tilstand eller til organisere lækager i kombination med gadgets baseret på Spectre-metoder.

Opdagede sårbarheder:

  • CVE-2018-12126 — MSBDS (Microarchitectural Store Buffer Data Sampling), genoprettelse af indholdet af bufferne. Bruges i angrebet Fallout. Faregraden er vurderet til 6,5 point (CVSS);
  • CVE-2018-12127 — MLPDS (Microarchitectural Load Port Data Sampling), genoprettelse af indholdet af indlæsningsporte. Bruges i angrebet RIDL. CVSS 6,5;
  • CVE-2018-12130 — MFBDS (Microarchitectural Fill Buffer Data Sampling), genoprettelse af indholdet af udfyldningsbuffere. Bruges i angrebene ZombieLoad og RIDL. CVSS 6,5;
  • CVE-2019-11091 — MDSUM (Microarchitectural Data Sampling Uncacheable Memory), genoprettelse af indholdet af ikke-cachet hukommelse. Bruges i angrebet RIDL. CVSS 3,8.

Essensen Identificerede problemer med anvendelsen af analyseteknikker fra sidekanaler på data i mikroarkitektoniske strukturer, som applikationer ikke har direkte adgang til. Det drejer sig om sådanne lavniveau strukturer som udfyldningsbuffere (Line Fill Buffer), lagringsbuffere (Store Buffer) og indlæsningsporte (Load Port), som er mere grundlæggende komponenter end første niveau cache (L1D), hukommelsescache (RDCL) eller L1TF (L1 Terminal Fault), og som derfor indeholder færre oplysninger og opdateres mere intensivt.

Præsenteret er en ny klasse af sårbarheder i Intel-processorer

Angreb via sidekanaler på mikroarkitektoniske strukturer er betydeligt sværere at udføre sammenlignet med metoder til genoprettelse af cacheindhold og kræver overvågning og analyse af store mængder data for at bestemme deres forbindelse til specifikke adresser i hukommelsen (i det væsentlige kan angriberen ikke målrette specifikke data, men kan i længere tid akkumulere lækager og anvende statistiske metoder til at rekonstruere bestemte datatyper). Desuden påvirker angrebet kun data på det samme fysiske CPU-kerne som angriberens kode.

De foreslåede metoder til identifikation af indholdet af mikroarkitektoniske strukturer er baseret på, at disse strukturer anvendes under speculativ behandling af undtagelser (fejl) eller operationer load og store.
Ved spekulativ udførelse bliver indholdet af interne strukturer omdirigeret til behandling i registre eller cache. Speculative operationer afsluttes ikke, og resultatet kasseres, men det omdirigerede indhold kan identificeres ved hjælp af metoder til sidekanal analyse af cache.

Boot ports are used by the processor to retrieve data from memory or input/output subsystems and provide the retrieved information to the CPU registers. Due to the implementation specifics, the data from older load operations remains in the ports until it is overwritten with new data, which allows for indirectly determining the data state in the load port through fault manipulations and SSE/AVX/AVX-512 instructions that load more than 64 bits of data. In such conditions, load operations speculatively expose outdated data values from internal structures into dependent operations. A similar leak occurs through the storage buffer, used to accelerate writing to the CPU cache and including a table of addresses, values, and flags, as well as through the fill buffer, which contains data not yet in the L1 cache (cache-miss) during loading from caches of other levels.

Præsenteret er en ny klasse af sårbarheder i Intel-processorer

Problemet affects Intel processor models released since 2011 (starting from the 6th generation). Hardware vulnerabilities are blocked starting from some models of the 8th and 9th generations of Intel Core and the 2nd generation of Intel Xeon Scalable (this can be checked via the ARCH_CAP_MDS_NO bit in the IA32_ARCH_CAPABILITIES MSR). Vulnerabilities are also already er blevet rettet addressed at the firmware, microcode, and operating system levels. Intel estimates that the performance loss after activating patches for most users does not exceed 3%. When disabling Hyper-Threading, performance degradation can reach up to 9% in the SPECint_rate_base test, up to 11% during active integer calculations, and up to 19% when running server-side Java applications (with HT enabled, performance degradation is almost nonexistent). Patches have little impact on input/output operation performance.

In the Linux kernel, protection against MDS tilføjet is present in today's updates 5.1.2, 5.0.16,
4.19.43, 4.14.119, and 4.9.176. The protection method is based on clearing the contents of microarchitectural buffers when returning from kernel to user space or when transferring control to a guest system, using the VERW instruction. For the protection to work, support for the MD_CLEAR mode, implemented in the latest microcode update, is required. For complete protection, it is also advisable to disable Hyper-Threading. To verify system susceptibility to vulnerabilities in the Linux kernel. tilføjet behandler «/sys/devices/system/cpu/vulnerabilities/mds». For at styre aktiveringen af forskellige sårbarhedsblokeringstilstande er der tilføjet parameteren «mds=» til kernen, som kan have værdierne «full», «full,nosmt» (deaktivering af Hyper-Threads), «vmwerv» og «off».

Pakkeforløb er allerede udgivet for RHEL og Ubuntu, men er endnu ikke tilgængelige for Debian, Fedora og SUSE.
Løsningen til at blokere datalækager fra virtuelle maskiner også er designet for hypervisoren Xen. For at beskytte virtualiseringssystemer, der udfører kommandoen L1D_FLUSH før kontrolen overgår til en anden virtuel maskine, og for at beskytte Intel SGX enclave er det tilstrækkeligt at opdatere mikrokoden.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster