Qualcomm también es vulnerable, es posible realizar la extraccion de claves privadas

full_ecdsa_1

En publicaciones anteriores dimos a conocer que los chips Broadcom eran vulnerables a ataques y ahora en esta ocasión investigadores de la compañía NCC Group revelaron los detalles de la vulnerabilidad (CVE-2018-11976 ) en los chips de Qualcomm, que permite determinar el contenido de las claves de cifrado privadas ubicadas en el enclave aislado de Qualcomm QSEE (Entorno de Ejecución Segura de Qualcomm) basado en la tecnología ARZ TrustZone.

El problema se manifiesta en la mayoría de los SoC Snapdragon, en teléfonos inteligentes basados en Android. Las soluciones para el problema ya están incluidas en la actualización de abril de Android y en las nuevas versiones de firmware para los chips de Qualcomm.

Qualcomm tardó más de un año en preparar una solución: inicialmente, la información sobre la vulnerabilidad se envió a Qualcomm el 19 de marzo de 2018.

La tecnología ARM TrustZone permite crear entornos protegidos aislados de hardware que están completamente separados del sistema principal y se ejecutan en un procesador virtual independiente utilizando un sistema operativo especializado independiente.

El propósito principal de TrustZone es proporcionar ejecución aislada de manejadores de claves de cifrado, autenticación biométrica, datos de facturación y otra información confidencial.

La interacción con el sistema operativo principal se lleva a cabo indirectamente a través de la interfaz de envío.

Las claves de cifrado privadas se colocan dentro de un almacén de claves aislado por hardware que, si se implementa correctamente, evita que se filtren si el sistema subyacente está comprometido.

Sobre el problema

La vulnerabilidad está asociada con una falla en la implementación del algoritmo para procesar curvas elípticas, lo que llevó a una filtración de información sobre el procesamiento de datos.

Los investigadores han desarrollado una técnica de ataque de terceros que permite, con base en fugas indirectas, recuperar el contenido de las claves privadas ubicadas en un Almacén de claves de Android aislado por hardware.

Las fugas se determinan en función de un análisis de la actividad de las transiciones de bloque de predicción y los cambios en el tiempo de acceso a los datos en la memoria.

Durante el experimento, los investigadores demostraron con éxito la recuperación de claves ECDSA de 224 y 256 bits de un almacén de claves aislado en hardware utilizado en el teléfono inteligente Nexus 5X.

Para restaurar la clave, se necesitaron alrededor de 12 mil firmas digitales para generar, lo que llevó más de 14 horas en completarse. Para llevar a cabo el ataque se utilizó el kit de herramientas Cachegrab.

La causa principal del problema es el uso compartido de componentes de hardware y caché comunes para la computación en TrustZone y en el sistema principal: el aislamiento se realiza a nivel de separación lógica, pero mediante el uso de bloques de computación comunes y el establecimiento de trazados de cálculo e información sobre las direcciones de salto en la caché común del procesador.

Usando el método Prime + Probe, basado en una estimación del cambio en el tiempo de acceso a la información almacenada en caché, puede verificar la disponibilidad de ciertos patrones en el caché con una precisión suficientemente alta de los flujos de datos y signos de ejecución de código relacionados con los cálculos de firmas digitales en TrustZone.

La mayor parte del tiempo de generación de firmas digitales con claves ECDSA en chips de Qualcomm se gasta en realizar operaciones de multiplicación en un ciclo utilizando el vector de inicialización ( nonce ) sin cambios para cada firma.

Si un atacante puede recuperar al menos unos pocos bits con información sobre este vector, es posible lanzar un ataque en la recuperación secuencial de toda la clave privada.

En el caso de Qualcomm, se revelaron dos puntos de filtración de dicha información en el algoritmo de multiplicación: al realizar operaciones de búsqueda en tablas y en el código de extracción de datos condicionales en función del valor del último bit en el vector «nonce».

A pesar de que el código de Qualcomm contiene medidas para contrarrestar la fuga de información en canales de terceros, el método de ataque desarrollado le permite omitir estas medidas y definir algunos bits del valor «nonce», que es suficiente para recuperar claves ECDSA de 256 bits.


Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   GeekCube dijo

    28 de Abril y sigo esperando los parches, eso en GNU/Linux no pasa