El nou atac NetSpectre no requereix que la víctima descarregui o executi codi maliciós

Seguretat / El nou atac NetSpectre no requereix que la víctima descarregui o executi codi maliciós

Els ports de màquines NetSpectre Bombards guanyen entrada

4 minuts de lectura

Un nou atac de CPU de classe Spectre ha rebut l'atenció de científics acadèmics, ja que recentment van publicar un document de recerca titulat 'NetSpectre: Read Arbitrary Memory over Network', que analitza detalls detallats sobre el funcionament d'aquesta classe d'atac de CPU.



El que fa que la nova CPU Spectre ataqui una mica de por és que sigui no requereix l’atacant per enganyar la seva víctima descarregant i executant scripts maliciosos a la seva màquina o fins i tot accedint a un lloc web que executa JavaScript maliciós al navegador de l’usuari.

NetSpectre simplement bombardegarà els ports de xarxa d’una màquina fins que trobi la manera d’assolir els seus objectius.



'Els atacs Spectre indueixen una víctima a realitzar especulativament operacions que no es produirien durant el processament estricte i serialitzat de les instruccions del programa i que filtren la informació confidencial de la víctima a través d'un canal encobert a un atacant'



Tanmateix, NetSpectre no té els seus propis defectes. Té una velocitat d’exfiltració increïblement lenta, al voltant de 15 bits per hora per realitzar atacs a través d’una connexió de xarxa i orientar les dades emmagatzemades a la memòria cau de la CPU.



En el treball de recerca, els acadèmics van ser capaços d’aconseguir fins a 60 bits / hora amb una variació especial de NetSpectre que s’orientava a les dades processades mitjançant el mòdul AVX2 de la CPU, que és específic per a les CPU Intel.

En qualsevol cas, NetSpectre es considera actualment massa lent per ser valuós per als atacants, cosa que significa que NetSpectre només és un teòric una amenaça, no una cosa que les empreses haurien d’evitar per cobrir tot i així . Tanmateix, a mesura que la tecnologia avança, les velocitats d’exfiltració augmentaran sens dubte i tindrem una nova classe d’atacs de CPU viables i increïblement fàcils de preocupar.

El nou atac de NetSpectre està relacionat amb la vulnerabilitat Spectre V1 (CVE-2017-5753) que els investigadors de Google van revelar a principis d’aquest any (2018). Això significa que totes les CPU que podrien veure's afectades per Spectre V1 també es creu que són NetSpectre, si es desplega amb un sistema operatiu i un firmware de CPU adequats.



Actualment, hi ha dues variants d’atac per a NetSpectre: l’extracció de dades del sistema de destinació i el trencament remot de l’ASLR (Address Space Layout Randomisation) al sistema de destinació.

La cadena d’esdeveniments del primer tipus d’atac és així:

  1. Mistrain el predictor de la branca.
  2. Restableix l'estat de l'element microarquitectònic.
  3. Filtreu una mica l’element microarquitectònic.
  4. Exposar l’estat de l’element microarquitectònic a la xarxa.
  • Al pas 1, l'atacant fa malbé el predictor de la branca de la víctima per executar un atac Spectre. Per malentendre el predictor de sucursals, l'atacant aprofita el dispositiu de filtració amb índexs vàlids. Els índexs vàlids asseguren que el predictor de branca aprèn a prendre sempre la branca, és a dir, el predictor de branca especula que la condició és certa. Tingueu en compte que aquest pas només es basa en el dispositiu de filtració. No hi ha comentaris a l'atacant i, per tant, no s'ha de restablir ni transmetre l'estat microarquitectònic.
  • Al pas 2, l'atacant ha de restablir l'estat microarquitectònic per permetre la codificació de bits filtrats mitjançant un element microarquitectònic. Aquest pas depèn molt de l'element microarquitectònic utilitzat, per exemple, quan s'aprofita la memòria cau, l'atacant descarrega un fitxer gran de la víctima; si s’utilitza AVX2, l’atacant simplement espera més d’un mil·lisegon. Després d'aquest pas, es compleixen tots els requisits per filtrar una mica de la víctima.
  • Al pas 3, l'atacant explota la vulnerabilitat de Spectre per filtrar un sol bit de la víctima. A mesura que el predictor de branca es fa malbé al pas 1, proporcionar un índex fora de límits al gadget de fuites executarà el camí dins dels límits i modificarà l’element microarquitectònic, és a dir, el bit es codifica en l’element microarquitectònic.
  • Al pas 4, l'atacant ha de transmetre la informació codificada a través de la xarxa. Aquest pas correspon a la segona fase de l'atac Spectre original. L'atacant envia un paquet de xarxa gestionat pel dispositiu de transmissió i mesura el temps des de l'enviament del paquet fins que arriba la resposta.

Mètode d'atac núm. 2: trencar ASLR de forma remota

  1. Mistrain el predictor de la branca.
  2. Accediu a un índex fora de límits per emmagatzemar a la memòria cau una ubicació de memòria (coneguda).
  3. Mesureu el temps d'execució d'una funció a través de la xarxa per deduir si l'accés fora de límits en guarda una part.

Contramedides Spectre

Intel i AMD recomanen utilitzar la instrucció lfence com a barrera d'especulació. Aquesta instrucció s'ha d'inserir després de comprovar els límits crítics de seguretat per aturar l'execució especulativa. Tanmateix, afegir-ho a cada comprovació de límits té una sobrecàrrega de rendiment significativa.

Com que NetSpectre és un atac basat en xarxa, no només es pot prevenir mitigant Spectre, sinó també mitjançant contramesures a la capa de xarxa. Es pot detectar fàcilment un atac trivial NetSpectre mitjançant una protecció DDoS, ja que s’envien diversos milers de paquets idèntics des de la mateixa font.

No obstant això, un atacant pot triar qualsevol compensació entre paquets per segon i bits filtrats per segon. Per tant, la velocitat a la qual es filtren els bits simplement es pot reduir per sota del llindar que pot detectar el control DDoS. Això és cert per a qualsevol monitoratge que intenti detectar atacs en curs, per exemple, sistemes de detecció d’intrusos.

Tot i que teòricament no es prevé l'atac, en algun moment l'atac es fa inviable, ja que el temps necessari per filtrar una mica augmenta dràsticament. Un altre mètode per mitigar NetSpectre és afegir soroll artificial a la latència de la xarxa. Com que el nombre de mesures depèn de la variància en la latència de la xarxa, el soroll addicional requereix que un atacant realitzi més mesures. Per tant, si la variació en la latència de la xarxa és prou elevada, els atacs de NetSpectre es tornen inviables a causa del gran nombre de mesures necessàries.