BHI: en ny sÄrbarhet i Spectre-klassen som pÄvirker Intel og ARM

Forskere ved Free University of Amsterdam gjort kjent nylig funnet en ny sÄrbarhet som er en utvidet versjon av Spectre-v2-sÄrbarheten pÄ Intel- og ARM-prosessorer.

Denne nye sÄrbarheten, som har dÞpt som BHI (Branch History Injection, CVE-2022-0001), bhb (Brench History Buffer, CVE-2022-0002) og Spectre-BHB (CVE-2022-23960), er karakterisert ved Ä tillate omgÄelse av eIBRS- og CSV2-beskyttelsesmekanismene lagt til prosessorene.

SÄrbarheten er beskrevet i ulike manifestasjoner av samme problem, da BHI er et angrep som pÄvirker ulike rettighetsnivÄer, for eksempel en brukerprosess og kjernen, mens BHB er et angrep pÄ samme rettighetsnivÄ, for eksempel eBPF JIT og kjernen.

Om sÄrbarhet

Konseptuelt, BHI er en utvidet variant av Spectre-v2-angrepet, for Ä omgÄ ekstra beskyttelse (Intel eIBRS og Arm CSV2) og orkestrere datalekkasje, erstatning av verdier i bufferen med en global grenhistorie (Branch History Buffer), som brukes i CPU for Ä forbedre grenprediksjonsnÞyaktigheten ved Ä ta hensyn til historien til tidligere overganger.

I lĂžpet av et angrep gjennom manipulasjoner med overgangshistorien, det skapes betingelser for feil prediksjon av overgangen og spekulativ utfĂžrelse av de nĂždvendige instruksjonene, hvis resultat er deponert i cachen.

Med unntak av Ä bruke en versjonshistorikkbuffer i stedet for en versjonsmÄlbuffer, er det nye angrepet identisk med Spectre-v2. Angriperens oppgave er Ä skape slike forhold at adressen, nÄr du utfÞrer en spekulativ operasjon, tas den fra omrÄdet for dataene som bestemmes.

Etter Ä ha utfÞrt et spekulativt indirekte hopp, forblir hoppadressen lest fra minnet i hurtigbufferen, hvoretter en av metodene for Ä bestemme innholdet i hurtigbufferen kan brukes til Ä hente den basert pÄ en analyse av endringen i hurtigbuffertilgangstid og ubufret data.

Forskere har demonstrert en funksjonell utnyttelse som lar brukerplass trekke ut vilkÄrlige data fra kjerneminnet.

For eksempel viser den hvordan det, ved Ă„ bruke den forberedte utnyttelsen, er mulig Ă„ trekke ut fra kjernebufferne en streng med en hash av root-brukerens passord, lastet fra filen /etc/shadow.

Utnyttelsen demonstrerer muligheten til Ä utnytte sÄrbarheten innenfor et enkelt rettighetsnivÄ (kjerne-til-kjerne-angrep) ved Ä bruke et brukerlastet eBPF-program. Muligheten for Ä bruke eksisterende Spectre-gadgets i kjernekoden, skript som fÞrer til spekulativ utfÞrelse av instruksjoner, er heller ikke utelukket.

SÄrbarhet vises pÄ de fleste aktuelle Intel-prosessorer, med unntak av Atom-familien av prosessorer og i flere av ARM-prosessorene.

I fÞlge forskning viser ikke sÄrbarheten seg pÄ AMD-prosessorer. For Ä lÞse problemet har flere metoder blitt foreslÄtt. programvare for Ä blokkere sÄrbarheten, som kan brukes fÞr tilsynekomsten av maskinvarebeskyttelse i fremtidige CPU-modeller.

For Ă„ blokkere angrep gjennom eBPF-delsystemet, sDet anbefales Ă„ deaktivere som standard muligheten til Ă„ laste eBPF-programmer av uprivilegerte brukere ved Ă„ skrive 1 til filen "/proc/sys/kernel/unprivileged_bpf_disabled" eller ved Ă„ kjĂžre kommandoen "sysctl -w kernel .unprivileged_bpf_disabled=1".

For Ă„ blokkere angrep gjennom gadgets, det anbefales Ă„ bruke LFENCE-instruksjonen i deler av koden som potensielt kan fĂžre til spekulativ utfĂžrelse. Det er bemerkelsesverdig at standardkonfigurasjonen til de fleste Linux-distribusjoner allerede inneholder de nĂždvendige beskyttelsestiltakene som er tilstrekkelige til Ă„ blokkere eBPF-angrepet demonstrert av forskerne.

Intels anbefalinger om Ä deaktivere uprivilegert tilgang til eBPF gjelder ogsÄ som standard fra og med Linux-kjernen 5.16 og vil bli portert til tidligere grener.

Til slutt, hvis du er interessert i Ă„ kunne vite mer om det, kan du se detaljene i fĂžlgende lenke.