Una vulnerabilitat en eBPF permet eludir la protecció contra atacs de Spectre

El dia d'ahir vam publicar aquí al blog la notícia sobre Aya, una biblioteca per a crear controladors eBPF a Rust i és que la finalitat d'aquesta és el crear controladors més segurs o de l' projecte prossimo per assegurar la memòria de el nucli de Linux amb Rust (dos grans projecte que donaran molt que parlar en els següents mesos).

I és que en qüestió de poc temps s'ha reportat diverses vulnerabilitats en les quals s'aprofiten de les errades en eBPF i que és un tema en el qual els desenvolupadors de el nucli no han deixat de treballar i potser Rust sigui la solució.

La raó de tocar aquest tema, és que fa poc es va donar conèixer la notícia que han identificat «Altra» vulnerabilitat en el nucli de Linux (CVE-2021-33624) per eludir la protecció contra vulnerabilitats de classe Spectre, ja que aquesta permet utilitzar el subsistema eBPF per poder determinar el contingut de la memòria com a resultat de la creació de condicions per a especulacions d'execució de determinades operacions.

S'esmenta que la vulnerabilitat és causada per falles en el verificador, que s'utilitza per detectar errors i activitat no vàlida en els programes BPF. El verificador enumera les possibles rutes d'execució de el codi, però omet les opcions de ramificació que no són vàlides des del punt de vista de la semàntica de l'arquitectura del conjunt d'instruccions.

A l'executar un programa BPF, les opcions de ramificació que no van ser preses en compte pel verificador poden ser predites incorrectament pel processador i executades en una manera especulatiu.

En els sistemes afectats, un programa BPF sense privilegis pot aprofitar aquesta vulnerabilitat per filtrar el contingut de la memòria de l'nucli arbitrària (i per tant, de tota la memòria física) a través d'un canal lateral.

Per exemple, a l'analitzar l'operació de «càrrega», el verificador assumeix que la instrucció fa servir un registre amb una adreça el valor està sempre dins dels límits especificats, però un atacant pot crear condicions sota les quals el processador intentarà realitzar especulativament una operació amb una direcció que no compleixi els requisits de verificació.

L'atac Spectre requereix la presència d'una seqüència específica d'ordres en el codi privilegiat, El que porta a l'execució especulativa d'instruccions. A l'manipular els programes BPF que es passen per la seva execució, és possible generar aquestes instruccions en eBPF i filtrar el contingut de la memòria de l'nucli i àrees arbitràries de la memòria física a través de canals laterals.

A més, es pot marcar una nota sobre l'impacte en el rendiment dels actius per protegir contra la classe de vulnerabilitats Spectre.

Aquesta nota resumeix els resultats d'optimització de l'depurador rr (Record and Replay), un cop creat per Mozilla per depurar errors difícils de repetir a Firefox. L'emmagatzematge en memòria cau de les trucades de sistema utilitzades per verificar l'existència de directoris va reduir l'operació de «fonts rr» per al projecte de prova de 3 minuts 19 segons a 36 segons.

L'autor de l'optimització decidir comprovar quant canviarà el rendiment després de desactivar la protecció de Spectre. Després d'arrencar el sistema amb el paràmetre «mitigations = off», el temps d'execució de «rr sources» sense optimització va ser de 2 minuts 5 segons (1.6 vegades més ràpid) i amb optimització 33 segons (9% més ràpid).

Curiosament, desactivar la protecció de Spectre no només va reduir el temps d'execució de el codi a nivell de l'nucli en 1.4 vegades (de 2 min 9s a 1 min 32s), sinó que també va reduir a la meitat el temps d'execució en l'espai d'usuari (D'1 min 9s a 33s), presumiblement a causa d'una disminució a La memòria cau de CPU d'eficiència i el TLB es restableixen quan la protecció Spectre està habilitada.

El problema ha aparegut des del llançament de l'nucli 4.15 i s'ha solucionat en forma de pegats, Els quals a hores d'ara encara no arriben a totes les distribucions, per la qual cosa es recomana als usuaris que en aquests dies estiguin realitzant les actualitzacions pertinents pel que fa rebin les notificacions.

Si vols conèixer més a l'respecte, Pots consultar els detalls en el següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.