For nylig blev der frigivet oplysninger om en sårbarhed identificeret i Linux 6.2-kernen (allerede opført under CVE-2023-1998) og som skiller sig ud, fordi det er deaktiver Spectre v2-angrebsbeskyttelse som giver adgang til hukommelse ved andre processer, der kører på forskellige SMT- eller Hyper Threading-tråde, men på den samme fysiske processorkerne.
Sårbarhed er bemærkelsesværdig blandt andet pga kan bruges til organisere datalækage mellem virtuelle maskiner i skysystemer.
For dem, der ikke kender til Spectre, burde de vide, at dette er en af de to oprindelige CPU-sårbarheder med forbigående udførelse (den anden er Meltdown), som involverer mikroarkitektonisk timing af sidekanalangreb. Disse påvirker moderne mikroprocessorer, der udfører springforudsigelser og andre former for spekulation.
På de fleste processorer kan spekulativ eksekvering som følge af en forkert grenforudsigelse give observerbare bivirkninger, der kan afsløre private data. For eksempel, hvis mønsteret af hukommelsesadgange lavet af en sådan spekulativ eksekvering afhænger af de private data, udgør den resulterende tilstand af datacachen en sidekanal, hvorigennem en angriber kan udtrække information om de private data ved hjælp af et tidsangreb.
Siden afsløringen af Spectre og Meltdown i januar 2018 er der opstået flere varianter og nye typer af sårbarhed relateret til dem.
Linux-kernen tillader brugerland-processer at aktivere begrænsninger ved at kalde prctl med PR_SET_SPECULATION_CTRL, hvilket deaktiverer spec-funktionen, såvel som ved at bruge seccomp. Vi fandt ud af, at på virtuelle maskiner fra mindst én større cloud-udbyder, lod kernen stadig offerprocessen stå åben for angreb i nogle tilfælde, selv efter at have aktiveret spectre-BTI-reduktion med prctl.
Vedrørende sårbarhed nævnes det i brugerrummet for at beskytte mod angreb af Spectre, processer kan selektivt deaktivere eksekvering spekulative instruktioner med prctl PR_SET_SPECULATION_CTRL eller brug seccomp-baseret systemopkaldsfiltrering.
Ifølge forskerne, der identificerede problemet, forkert optimering i kerne 6.2 forlod virtuelle maskiner fra mindst én stor cloud-udbyder uden ordentlig beskyttelse på trods af inklusion af spøgelses-BTI-angrebsblokeringstilstanden via prctl. Sårbarheden viser sig også på normale servere med kerne 6.2, som startes med konfigurationen "spectre_v2=ibrs".
Essensen af sårbarhed er det ved at vælge beskyttelsesmåderne IBRS eller eIBRS, de udførte optimeringer deaktiverede brugen af STIBP (Single Thread Indirect Branch Predictors) mekanismen, som er nødvendig for at blokere lækager ved brug af Simultaneous Multi-Threading (SMT eller Hyper-Threading) teknologi. )
Til gengæld er det kun eIBRS-tilstanden, der giver beskyttelse mod lækager mellem gevind, ikke IBRS-tilstanden, da IBRS-bitten, som giver beskyttelse mod lækager mellem logiske kerner, ryddes af ydeevnehensyn, når kontrollen vender tilbage til rumbrugeren, hvilket gør user-space-tråde, der er ubeskyttede mod angreb fra Spectre v2-klassen.
Testen består af to processer. Angriberen forgifter konstant et indirekte opkald for spekulativt at omdirigere det til en destinationsadresse. Offerprocessen måler den forkerte forudsigelseshastighed og forsøger at afbøde angrebet ved at kalde PRCTL eller skrive til MSR direkte ved hjælp af et kernemodul, der afslører MSR læse- og skriveoperationer i brugerrummet.
Problemet påvirker kun Linux 6.2-kernen og skyldes forkert implementering af optimeringer designet til at reducere betydelige omkostninger ved anvendelse af beskyttelse mod Spectre v2. sårbarhed Det blev rettet i den eksperimentelle Linux 6.3-kernegren.
Endelig ja du er interesseret i at kunne vide mere om det, du kan kontrollere detaljerne i følgende link.
Dem med kerneparameteren mitigations=off:
Fine herrer 👌😎🔥