SQUIP é un ataque aos procesadores AMD que leva á fuga de datos a través de canles de terceiros

Un equipo de investigadores da Universidade Técnica de Graz (Austria), coñecido anteriormente por desenvolver os ataques MDS, NetSpectre, Throwhammer e ZombieLoad, revelou información sobre un novo método de ataque de canle lateral (CVE-2021-46778) no procesador AMD. cola do planificador, que se usa para programar a execución de instrucións en diferentes unidades de execución da CPU. O ataque, chamado SQUIP, permite determinar os datos utilizados nos cálculos noutro proceso ou máquina virtual ou organizar unha canle de comunicación oculta entre procesos ou máquinas virtuais, permitindo intercambiar datos evitando os mecanismos de control de acceso ao sistema.

O problema afecta ás CPU de AMD baseadas en microarquitecturas Zen de primeira, segunda e terceira xeración (AMD Ryzen 2000-5000, AMD Ryzen Threadripper, AMD Athlon 3000, AMD EPYC) cando se usan tecnoloxía multi-threading simultánea (SMT). Os procesadores Intel non son susceptibles de sufrir ataques porque usan unha única cola de planificador, mentres que os procesadores AMD vulnerables usan filas separadas para cada unidade de execución. Como solución alternativa para bloquear a fuga de información, AMD recomendou aos desenvolvedores que utilicen algoritmos nos que os cálculos matemáticos se realizan sempre en tempo constante, independentemente da natureza dos datos que se están procesando, e tamén evitar a ramificación baseada en datos secretos.

O ataque baséase en avaliar o nivel de contención en diferentes colas do planificador e realízase medindo os atrasos ao lanzar as operacións de verificación realizadas noutro fío SMT na mesma CPU física. Para analizar o contido utilizouse o método Prime+Probe, que consiste en encher a cola cun conxunto estándar de valores e detectar cambios medindo o tempo de acceso aos mesmos á hora de enchelos.

Durante o experimento, os investigadores puideron recrear completamente a clave RSA privada de 4096 bits utilizada para crear sinaturas dixitais mediante a biblioteca criptográfica mbedTLS 3.0, que usa o algoritmo de Montgomery para elevar un módulo numérico. Foron necesarios 50500 trazos para determinar a clave. O tempo total de ataque levou 38 minutos. Demóstranse variantes de ataque que proporcionan fugas entre diferentes procesos e máquinas virtuais xestionadas polo hipervisor KVM. Tamén se demostra que o método pode usarse para organizar a transferencia de datos ocultas entre máquinas virtuais a unha velocidade de 0.89 Mbit/s e entre procesos a unha velocidade de 2.70 Mbit/s cunha taxa de erro inferior ao 0.8%.

Fonte: opennet.ru

Engadir un comentario