BHI és una nova vulnerabilitat de classe Spectre als processadors Intel i ARM

Un grup d'investigadors de la Vrije Universiteit Amsterdam ha identificat una nova vulnerabilitat a les estructures microarquitectòniques dels processadors Intel i ARM, que és una versió ampliada de la vulnerabilitat Spectre-v2, que permet evitar els mecanismes de protecció eIBRS i CSV2 afegits als processadors. . La vulnerabilitat ha rebut diversos noms: BHI (Branch History Injection, CVE-2022-0001), BHB (Branch History Buffer, CVE-2022-0002) i Spectre-BHB (CVE-2022-23960), que descriuen diferents manifestacions de el mateix problema (BHI - un atac que afecta diferents nivells de privilegis, per exemple, el procés d'usuari i el nucli, BHB - un atac al mateix nivell de privilegis, per exemple, eBPF JIT i el nucli).

Els investigadors han demostrat un exploit que funciona que permet extreure dades arbitràries de la memòria del nucli de l'espai de l'usuari. Per exemple, es mostra com, utilitzant un exploit preparat, és possible extreure dels buffers del nucli una cadena amb un hash de la contrasenya de l'usuari root carregada des del fitxer /etc/shadow. L'explotació demostra la possibilitat d'explotar una vulnerabilitat dins d'un nivell de privilegis (atac de nucli a nucli) mitjançant un programa eBPF carregat per l'usuari. També és possible utilitzar, en comptes d'eBPF, els gadgets Spectre existents al codi del nucli, seqüències d'ordres que condueixen a l'execució especulativa d'instruccions.

La vulnerabilitat apareix a la majoria dels processadors Intel actuals, a excepció dels processadors de la família Atom. Entre els processadors ARM, Cortex-A15, Cortex-A57, Cortex-A7*, Cortex-X1, Cortex-X2, Cortex-A710, Neoverse N1, Neoverse N2, Neoverse V1 i possiblement alguns xips Cortex-R es veuen afectats pel problema. Segons la investigació, la vulnerabilitat no apareix als processadors AMD. Per eliminar el problema, s'han proposat diversos mètodes de programari per bloquejar la vulnerabilitat, que es poden utilitzar abans de l'aparició de protecció de maquinari en futurs models de CPU.

Per bloquejar atacs a través del subsistema eBPF, es recomana desactivar de manera predeterminada la capacitat dels usuaris sense privilegis de descarregar programes eBPF escrivint 1 al fitxer "/proc/sys/kernel/unprivileged_bpf_disabled" o executant l'ordre "sysctl -w kernel. unprivileged_bpf_disabled=1”. Per bloquejar els atacs de gadgets, es recomana utilitzar la instrucció LFENCE en àrees de codi que poden conduir a una execució especulativa. Cal destacar que la configuració predeterminada de la majoria de distribucions de Linux ja conté les mesures de protecció necessàries suficients per bloquejar l'atac eBPF demostrat pels investigadors. Les recomanacions d'Intel per desactivar l'accés sense privilegis a eBPF també són les predeterminades des del nucli Linux 5.16 i es retroportaran a branques anteriors.

Conceptualment, BHI és una versió estesa de l'atac Spectre-v2, en la qual, per evitar la protecció afegida (Intel eIBRS i Arm CSV2) i organitzar la fuga de dades, s'utilitza la substitució de valor a la memòria intermèdia d'historial de branques, utilitzada a la CPU per augmentar la predicció. ramificació de precisió tenint en compte la història de les transicions passades. Durant l'atac, mitjançant manipulacions amb l'historial de transicions, es creen les condicions per a la predicció incorrecta de la transició i l'execució especulativa de les instruccions necessàries, el resultat de les quals acaba a la memòria cau.

Amb l'excepció d'utilitzar una memòria intermèdia d'historial de branques en lloc d'una memòria intermèdia de destí de branca, el nou atac és idèntic a Spectre-v2. La tasca de l'atacant és crear condicions tals que l'adreça, quan es realitza una operació especulativa, s'agafi de l'àrea de les dades definides. Després de realitzar un salt indirecte especulatiu, l'adreça de salt llegida des de la memòria roman a la memòria cau, després de la qual cosa es pot utilitzar un dels mètodes per determinar el contingut de la memòria cau per recuperar-lo basant-se en una anàlisi dels canvis en el temps d'accés a la memòria cau i sense memòria cau. dades.

Font: opennet.ru

Afegeix comentari