En ny klasse af sårbarheder i Intel-processorer er blevet introduceret

Intel опубликовала information om nyt sårbarhedsklasse i deres processorer - MDS (Mikroarkitektonisk datasampling). Som tidligere Spectre-angreb kan nye problemer føre til lækage af private data fra operativsystemet, virtuelle maskiner og andre processer. Det hævdes, at problemerne først blev identificeret af Intels medarbejdere og partnere under en intern revision, hvorefter uafhængige forskere gav oplysninger om lignende problemer til Intel. AMD- og ARM-processorer er ikke berørt af problemet.

Baseret på identificerede problemer af forskere fra det tekniske universitet i Graz (Østrig) udviklede sig Nogle praktiske sidekanalangreb:

  • ZombieLoad (PDF) - giver dig mulighed for at udtrække fortrolige oplysninger fra andre processer, operativsystemet, virtuelle maskiner og beskyttede enklaver (TEE, Trusted Execution Environment). For eksempel blev evnen til at bestemme historikken for åbning af sider i Tor-browseren, der kører i en anden virtuel maskine, demonstreret, samt at bestemme de adgangsnøgler og adgangskoder, der bruges i applikationer;


  • RIDL (PDF) - tillader informationslækage mellem forskellige isolerede områder i Intel-processorer, såsom fyldebuffere, lagerbuffere og load-porte. Eksempler på angreb er vist for at organisere lækager fra andre processer, operativsystemet, virtuelle maskiner og beskyttede enklaver. For eksempel viser den, hvordan man finder ud af indholdet af root-adgangskode-hashen fra /etc/shadow under periodiske autentificeringsforsøg (angrebet tog 24 timer);

    Derudover vises et eksempel på et angreb ved hjælp af JavaScript og WebAssembly, når du åbner en ondsindet side i SpiderMonkey-motoren (i moderne fuldgyldige browsere er et sådant angreb usandsynligt på grund af begrænset timer-nøjagtighed og foranstaltninger til beskyttelse mod Spectre);

  • Fallout (PDF) - gør det muligt at læse data for nylig skrevet af operativsystemet og bestemme OS-hukommelseslayoutet for at forenkle andre angreb;
  • Store-til-lækage-videresendelse — udnytter CPU-optimeringer til at arbejde med lagerbufferen og kan bruges til at omgå kerneadresserumsrandomiseringsmekanismen (KASLR), til at overvåge operativsystemets tilstand eller til organisationer lækager i kombination med gadgets baseret på Spectre-metoder.

Identificeret sårbarheder:

  • CVE-2018-12126 - MSBDS (Microarchitectural Store Buffer Data Sampling), gendannelse af indholdet af lagerbuffere. Brugt i Fallout-angrebet. Faregraden er bestemt til 6.5 point (CVSS);
  • CVE-2018-12127 - MLPDS (Microarchitectural Load Port Data Sampling), gendannelse af load-portindhold. Brugt i RIDL-angrebet. CVSS 6.5;
  • CVE-2018-12130 - MFBDS (Microarchitectural Fill Buffer Data Sampling), gendannelse af fyldebufferindhold. Bruges i ZombieLoad og RIDL angreb. CVSS 6.5;
  • CVE-2019-11091 – MDSUM (Microarchitectural Data Sampling Uncacheable Memory), gendannelse af uncacheable hukommelsesindhold. Brugt i RIDL-angrebet. CVSS 3.8.

hjerte identificerede problemer i evnen til at anvende side-kanal analysemetoder på data i mikroarkitektoniske strukturer, som applikationer ikke har direkte adgang til. Vi taler om sådanne lavniveaustrukturer som fyldbuffere (Line Fill Buffer), lagerbuffere (Store Buffer) og load-porte (Load Port), som er mindre byggeklodser end cachen på første niveau (L1D), dataindlæsningscache ( RDCL ) eller L1TF (L1 Terminal Fault), og indeholder derfor mindre information og opdateres mere intensivt.

En ny klasse af sårbarheder i Intel-processorer er blevet introduceret

Sidekanalangreb på mikroarkitektoniske strukturer er meget vanskeligere at udføre sammenlignet med metoder til gendannelse af cacheindhold og kræver sporing og analyse af betydelige mængder data for at bestemme deres forbindelse med bestemte adresser i hukommelsen (i det væsentlige kan en angriber ikke målrettet opsnappe visse data , men kan tid til at akkumulere lækager og anvende statistiske metoder til at rekonstruere visse typer data). Derudover påvirker angrebet kun data på den samme fysiske CPU-kerne som angriberens kode.

De foreslåede metoder til bestemmelse af indholdet af mikroarkitektoniske strukturer er baseret på det faktum, at disse strukturer bruges under spekulativ håndtering af undtagelser (fejl) eller load and store operationer.
Under spekulativ eksekvering omdirigeres indholdet af interne strukturer til registre eller caches til behandling. Spekulative operationer fuldføres ikke, og resultatet kasseres, men det omdirigerede indhold kan bestemmes ved hjælp af side-kanal cache-analyseteknikker.

Belastningsporte bruges af processoren til at modtage data fra hukommelsen eller I/O-undersystemet og levere den modtagne information til CPU-registrene. På grund af implementeringsfunktionen forbliver data fra gamle downloadoperationer i portene, indtil de overskrives af nye data, hvilket gør det muligt indirekte at bestemme tilstanden af ​​dataene i downloadporten ved at manipulere undtagelser (fejl) og SSE/AVX/ AVX-512 instruktioner, der indlæser mere end 64 bit data. Under sådanne forhold eksponerer belastningsoperationer spekulativt forældede dataværdier fra interne strukturer til afhængige operationer. På lignende måde organiseres en læk gennem lagerbufferen, som bruges til at fremskynde skrivningen til CPU-cachen og inkluderer en tabel med adresser, værdier og flag, samt gennem fill bufferen, som indeholder data, der er endnu ikke i L1-cachen (cache-miss), for øjeblikket indlæses fra caches på andre niveauer.

En ny klasse af sårbarheder i Intel-processorer er blevet introduceret

problem påvirker Intel-processormodeller produceret siden 2011 (startende fra 6. generation). I dette tilfælde blokeres hardwaresårbarheder fra nogle modeller af 8. og 9. generation af Intel Core og 2. generation af Intel Xeon Scalable (du kan tjekke ved hjælp af ARCH_CAP_MDS_NO bit i IA32_ARCH_CAPABILITIES MSR). Sårbarheder er det også allerede elimineret på niveau med firmware, mikrokode og operativsystemer. Intel estimerer ydeevnetab efter aktivering af patchen for de fleste brugere Mindre end 3 %. Når Hyper-Threading-teknologien er deaktiveret, kan ydeevneforringelsen nå op til 9 % i SPECint_rate_base-testen, op til 11 % i aktive heltalsberegninger og op til 19 % ved kørsel af Java-applikationer på serversiden (med HT aktiveret er der næsten ingen ydeevneforringelse). Patcherne har ringe indflydelse på I/O-ydelsen.

Linux-kernen beskytter mod MDS tilføjet i dagens opdateringer 5.1.2, 5.0.16,
4.19.43, 4.14.119 og 4.9.176. Beskyttelsesmetode under opbygning om at rydde indholdet af mikroarkitektoniske buffere på tidspunktet for tilbagevenden fra kernen til brugerrummet eller ved overførsel af kontrol til gæstesystemet, hvortil VERW-instruktionen bruges. For at beskyttelsen skal fungere, kræver den understøttelse af MD_CLEAR-tilstanden, implementeret i den seneste mikrokodeopdatering. For fuldstændig beskyttelse anbefales det også at deaktivere Hyper Threading. For at kontrollere systemets eksponering for sårbarheder i Linux-kernen tilføjet handler "/sys/devices/system/cpu/vulnerabilities/mds". For at kontrollere inklusion af forskellige sårbarhedsblokeringstilstande er parameteren "mds=" blevet tilføjet til kernen, som kan tage værdierne "full", "full,nosmt" (deaktiverer Hyper-Threads), "vmwerv" og "af".

Pakkeopdateringer er allerede udgivet til RHEL и Ubuntu, men forbliver utilgængelig indtil videre Debian, Fedora и SUSE.
En rettelse til at blokere datalækage fra virtuelle maskiner også dannet til Xen hypervisor. En mikrokodeopdatering er tilstrækkelig til at beskytte virtualiseringssystemer, der udsteder kommandoen L1D_FLUSH, før kontrollen overføres til en anden virtuel maskine, og til at beskytte Intel SGX-enklaver.

Kilde: opennet.ru

Tilføj en kommentar