Una nueva vulnerabilidad detectada en los procesadores Intel podría afectar a todos los desarrollos de tecnología blockchain que usen Intel SGX, entre ellos Hyperledger. La nueva vulnerabilidad permite a los hackers acceder a las claves criptográficas que se encuentren resguardadas por estas funciones integradas en los chips Intel.

Recordemos que Intel SGX es una serie de instrucciones y funcionalidades que permiten a la CPU crear una bóveda segura para almacenar secretos. Las instrucciones forman parte de los procesadores Intel desde la arquitectura Skylake lanzada en 2015. Desde entonces, han sido mucho los desarrollos que han usado esta nueva característica para almacenar de forma segura información. Uno de los usos más conocidos en el mundo blockchain lo vemos en Hyperledger, con desarrollos como Fabric o Avalon. En ambos casos, el uso de Intel SGX busca crear un entorno de ejecución segura, en el que el aspecto criptográfico esté protegido.

Sin embargo, la situación ahora parece haber cambiado mucho y resulta contraproducente de momento.

Un error incorregible crea una delicada situación de seguridad

Durante los últimos meses, Intel ha dado mucho que hablar por los graves problemas de seguridad de sus procesadores. Pero el error dado a conocer hoy es mucho más grave. Si bien vulnerabilidades como Foreshadow permiten extraer información de la bóveda segura de Intel SGX, estas pueden ser mitigadas por medio de software o firmware. Además, el alcance de estas es bastante más limitado.

Pero este no es el caso ahora. La nueva vulnerabilidad está marcada como "No Corregible" ya que es un problema de arquitectura. Bajo el nombre de Load Value Injector o LVI, esta vulnerabilidad afecta a Intel SGX permitiendo a los hackers explotar un canal lateral. Con esto finalmente pueden revelar el contenido de la memoria caché que pertenece a otras aplicaciones que normalmente deberían estar fuera de los límites.

Con esta vulnerabilidad es ahora posible obtener la información almacenada en Intel SGX obteniendo así claves de cifrado, contraseñas, tecnología de gestión de derechos digitales (DRM) y otros datos secretos que se encuentren en esta bóveda.

Intel por su parte ya ha liberado la lista de procesadores afectados por este problema en su web. De momento, pese a que la vulnerabilidad no puede ser corregida, los especialistas de Intel argumentan que su impacto puede ser minimizado. Para ello recomiendan el uso de técnicas de software o hardware que protejan contra errores de desreferencia de punteros nulos.  El problema de la medida es que suele llevar un alto impacto en el rendimiento y estas medidas adicionales también pueden ser vulneradas.

¿Cómo funciona la vulnerabilidad LVI?

La nueva vulnerabilidad funciona inyectando una serie de datos en un programa en ejecución con el fin de robar datos y claves confidenciales.  La cadena de datos del atacante viaja por medio de unos buffers especiales del procesador y desde allí preparan el terreno para el robo de datos.  Esto lo logran al desviar el flujo de datos del programa hacia un proceso malicioso con el cual pueden ver todos los datos que maneja la aplicación.

Durante este desvío LVI es capaz de envenenar el flujo de datos y alterarlo a su antojo. Como consecuencia, LVI podría en teoría afectar todo lo que este en ejecución dentro de un procesador. Esto incluye el sistema operativo y máquinas virtuales que se estén ejecutando sobre el mismo.

Pero debido a que LVI usa las estructuras de control de datos físicas de los procesadores, esta vulnerabilidad no puede ser resuelta. Lo único que puede solucionar dicho problema es crear una nueva arquitectura que solucione dicho problema. En resumen, los procesadores afectados seguirán estando afectados a menos que se cambien por unos nuevos.

Si bien LVI puede ser mitigada por otras medidas de software o hardware externas al procesador, todas ellas tienen un fuerte impacto en el rendimiento. Se habla de una perdida de rendimiento de entre 8 al 15%, una situación que sumada a las pérdidas de rendimiento originadas por Spectre o Meltdown, suma complicaciones para Intel.

Hyperledger, el principal proyecto blockchain afectado

El problema de LVI es bastante grave, puesto que pone en jaque una medida de seguridad que muchos proyectos de software usan. Incluso en el ecosistema de criptomonedas el problema se hace presente y uno de los principales afectados es Hyperledger. El proyecto para crear framework que permitan el despliegue rápido de proyectos empresariales blockchain ha tenido un gran éxito desde su creación y auspicio por la Linux Foundation. De entre estos proyectos, Hyperledger Fabric es el más famosos y el principal afectado por esta noticia.

¿La razón? El funcionamiento criptográfico y del protocolo de consenso de Hyperledger Fabric hace uso intensivo de Intel SGX. Adicional a esto, proyectos como Hyperledger Avalon e Hyperledger Sawtooth también serían vulnerables a ataques del tipo LVI. En todos y cada uno de estos casos, el común denominador es Intel SGX. En Hyperledger se usa Intel SGX para varios procesos. Desde almacenar información delicada del sistema como claves públicas y privadas de la blockchain. Hasta el uso dentro de protocolos de consenso como el caso de PoET (Proof of Elapsed Time) de Sawtooth.

En todo caso estamos frente a un caso extremo que nos recuerda que si bien la tecnología blockchain ha demostrado ser muy segura, no todo es perfecto. Desperfectos en distintas piezas de software o de hardware pueden echar por tierra la seguridad de una tecnología, tan segura como la blockchain.

Finalmente el logro de este descubrimiento es gracias al trabajo conjunto de investigadores del imec-DistriNet, KU Leuven, Instituto Politécnico de Worcester, Universidad Tecnológica de Graz, la Universidad de Michigan, la Universidad de Adelaide, y  Data61.

Sigue leyendo: