Una fallada a Linux 6.2 permetia eludir la protecció contra atacs de Spectre v2

vulnerabilitat

Si s'exploten, aquestes falles poden permetre als atacants obtenir accés no autoritzat a informació confidencial o, en general, causar problemes

Fa poc es va donar a conèixer informació sobre una vulnerabilitat identificada al nucli de Linux 6.2 (ja catalogada sota CVE-2023-1998) i la qual es destaca perquè aquesta deshabilita la protecció contra atacs de Spectre v2 que permeten l'accés a la memòria d'altres processos que s'executen a diferents fils SMT o Hyper Threading, però al mateix nucli de processador físic.

La vulnerabilitat és destacable entre altres coses perquè es pot utilitzar per organitzar la fugida de dades entre màquines virtuals en sistemes al núvol. 

Per als que desconeixen de Spectre, han de saber que aquesta és una de les dues vulnerabilitats de CPU d'execució transitòria originals (l'altra és Meltdown), que impliquen atacs de canal lateral de sincronització de microarquitectura. Aquests afecten els microprocessadors moderns que fan prediccions de salts i altres formes d'especulació.

A la majoria dels processadors, l'execució especulativa resultant d'una predicció errònia d'una branca pot deixar efectes secundaris observables que poden revelar dades privades. Per exemple, si el patró d'accessos a la memòria realitzat per aquesta execució especulativa depèn de les dades privades, l'estat resultant de la memòria cau de dades constitueix un canal lateral a través del qual un atacant pot extreure informació sobre les dades privades mitjançant un atac de temps.

Des de la divulgació de Spectre i Meltdown el gener del 2018, han sorgit diverses variants i nous tipus de vulnerabilitat relacionades amb aquestes.

El kernel de Linux permet que els processos de l'espai d'usuari habilitin les mitigacions en trucar a prctl amb PR_SET_SPECULATION_CTRL, que deshabilita la funció d'especulació, així com en utilitzar seccomp. Ens vam adonar que a les màquines virtuals d'almenys un dels principals proveïdors del núvol, el nucli encara deixava el procés de la víctima exposat a atacs en alguns casos, fins i tot després d'habilitar la mitigació de spectre-BTI amb prctl. 

Sobre la vulnerabilitat s'esmenta que a l'espai de l'usuari, per protegir-se contra els atacs de Spectre, els processos poden deshabilitar selectivament l'execució instruccions (controls): instruccions especulatives amb prctl PR_SET_SPECULATION_CTRL o utilitzar el filtratge de trucades del sistema basat en seccomp.

Segons els investigadors que van identificar el problema, l'optimització incorrecta al nucli 6.2 va deixar les màquines virtuals almenys un gran proveïdor de núvol sense la protecció adequada, malgrat la inclusió del mode de bloqueig datacs spectre-BTI a través de prctl. La vulnerabilitat també es manifesta en servidors normals amb el nucli 6.2, que s'inicien amb la configuració spectre_v2=ibrs.

L'essència de la vulnerabilitat és que en triar els modes de protecció IBRS o eIBRS, les optimitzacions realitzades van desactivar l'ús del mecanisme STIBP (Single Thread Indirect Branch Predictors), que és necessari per bloquejar fugues quan es fa servir tecnologia de subprocessos múltiples simultanis (SMT o Hyper-Threading). )

Alhora, només el mode eIBRS brinda protecció contra fuites entre fils, no així el mode IBRS, ja que amb ell el bit IBRS, que brinda protecció contra fuites entre nuclis lògics, s'esborra per raons de rendiment quan el control torna a l'espai de l'usuari, cosa que fa que els subprocessos de l'espai de l'usuari no estiguin protegits contra els atacs de la classe Spectre v2.

La prova consta de dos processos. L'atacant enverina constantment una trucada indirecta per redirigir-la especulativament a una adreça de destinació. El procés de la víctima mesura la taxa de predicció errònia i intenta mitigar l'atac trucant a PRCTL o escrivint a l'MSR directament mitjançant un mòdul del nucli que exposa les operacions de lectura i escriptura de l'MSR a l'espai de l'usuari.

El problema afecta només el nucli de Linux 6.2 i es deu a una implementació incorrecta de les optimitzacions dissenyades per reduir la sobrecàrrega significativa en aplicar la protecció contra Spectre v2. La vulnerabilitat va ser corregida a la branca experimental del nucli Linux 6.3.

Finalment sí estàs interessat a poder conèixer més sobre això, pots consultar els detalls al 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: Miguel Ángel Gatón
  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ó.

  1.   Deiki va dir

    Els que tenen el paràmetre del nucli mitigations=off:

    Fi senyors 👌😎🔥