El ingeniero de Google propuso la protección de software de los procesadores contra ataques LVI

Hace un tiempo se conoció sobre una nueva vulnerabilidad en la arquitectura especulativa de los procesadores Intel, la cual fue denominada Inyección de valor de carga (LVI). Intel tiene su propia opinión sobre los peligros del LVI y recomendaciones para mitigarlo. Su propia versión de protección contra este tipo de ataques propuesto Ingeniero en Google. Pero tendrás que pagar por la seguridad reduciendo el rendimiento del procesador en una media del 7%.

El ingeniero de Google propuso la protección de software de los procesadores contra ataques LVI

Anteriormente señalamos que el peligro del LVI no radica en el mecanismo específico descubierto por los investigadores, sino en el principio mismo del ataque del canal lateral del LVI, que se demostró por primera vez. Se abrió así una nueva dirección para amenazas que nadie había sospechado previamente (al menos, esto no se discutió en el espacio público). Por lo tanto, el valor del desarrollo del especialista de Google Zola Bridges radica en el hecho de que su parche mitiga el peligro de incluso nuevos ataques desconocidos basados ​​en el principio LVI.

Anteriormente en el Ensamblador del Proyecto GNU (Ensamblador GNU) se han realizado cambios que reducen el riesgo de vulnerabilidad LVI. Estos cambios consistieron en agregar instrucciones de barrera LFENCE, que estableció una secuencia estricta entre los accesos a la memoria antes y después de la barrera. La prueba del parche en uno de los procesadores de la generación Kaby Lake de Intel mostró una disminución del rendimiento de hasta un 22%.

El desarrollador de Google propuso su parche con la adición de instrucciones LFENCE al conjunto de compiladores LLVM y llamó a la protección SESES (Speculative Execution Side Effect Suppression). La opción de protección que propuso mitiga tanto las amenazas LVI como otras similares, por ejemplo, Spectre V1/V4. La implementación de SESES permite al compilador agregar instrucciones LFENCE en ubicaciones apropiadas durante la generación del código de máquina. Por ejemplo, insértelos antes de cada instrucción para leer de la memoria o escribir en la memoria.

Las instrucciones LFENCE evitan la preferencia de todas las instrucciones posteriores hasta que se hayan completado las lecturas de memoria anteriores. Evidentemente, esto afecta al rendimiento de los procesadores. El investigador descubrió que, en promedio, la protección SESES reducía la velocidad de realización de tareas utilizando la biblioteca protegida en un 7,1%. El rango de reducción de la productividad en este caso osciló entre el 4 y el 23%. La previsión inicial de los investigadores era más pesimista y preveía una disminución del rendimiento de hasta 19 veces.



Fuente: 3dnews.ru

Añadir un comentario