Top Vulnerabilidades Hardware CWE de 2021

MITRE y CISA han anunciado una nueva lista de vulnerabilidades hardware. Es la primera vez que veo una lista de este tipo enfocada en el hardware, por lo que me ha parecido interesante comentarla con vosotros. Las vulnerabilidades del hardware no suelen tomarse en cuenta tanto como las del software, pero es un vector de ataque más que debemos analizar en profundidad.

Sin más dilación, vamos con el Top CWE de Vulnerabilidades Hardware.

Top Vulnerabilidades Hardware CWE de 2021

2021 Top CWE Vulnerabilidades Hardware

CWE-1189Aislamiento inadecuado de los recursos compartidos en un SoC (System on a Chip)
CWE-1191Interfaz de prueba y depuración en el chip con control de acceso inadecuado
CWE-1231Prevención inadecuada de la modificación del bit de bloqueo
CWE-1233Controles de seguridad de hardware con falta de protección del bit de bloqueo
CWE-1240Uso de una primitiva criptográficacon una implementación de riesgo
CWE-1244Activo interno expuesto a un nivel de acceso de depuración inseguro
CWE-1256Restricción inadecuada de las interfaces de software a las funciones de hardware
CWE-1260Manejo inadecuado del solapamiento entre rangos de memoria protegidos
CWE-1272Información sensible no eliminada antes de la transición de estado de depuración/alimentación
CWE-1274Control de acceso inadecuado para la memoria volátil que contiene el código de arranque
CWE-1277Firmware no actualizable
CWE-1300Protección inadecuada de los canales secundarios físicos

Análisis de las vulnerabilidades más importantes

CWE-1189    Aislamiento inadecuado de los recursos compartidos en un SoC (System on a Chip)
Un SoC tiene varios pines, cada pin realiza una función a la vez, pero puede configurarse para realizar varias funciones (multiplexación). Así mismo, es posible compartir recursos entre pines para poder multiplexar diferentes funciones. Si estos recursos se comparten no solo entre agentes de confianza sino entre agentes desconocidos, estos últimos pueden lograr acceso a recursos que estaban pensados para ser utilizados solo por agentes de confianza.
 
CWE-1191    Interfaz de prueba y depuración en el chip con control de acceso inadecuado
La información interna de un chip puede obtenerse mediante los registros internos interconectados, normalmente utilizando una interfaz JTAG. Esta interfaz da acceso a los registros para poder debuggear los programas que se ejecutan en el chip. Dado que esta interfaz da acceso a toda la información del chip, se debe establecer un control de acceso adecuado para que solo personal autorizado pueda acceder.
 
CWE-1231    Prevención inadecuada de la modificación del bit de bloqueo
En los circuitos integrados, después de un reinicio los controles de configuración del dispositivo se programan mediante un módulo de software (por ejemplo la BIOS) y después se bloquean para que no sean modificados. Este bloqueo se realiza mediante un bit de bloqueo. Un error de diseño o de código en la implementación de este bit de bloque puede permitir que estos controles de configuración sean editados por software, haciendo inefectivo el bloqueo.
 
CWE-1233    Controles de seguridad de hardware con falta de protección del bit de bloqueo
Como se ha mencionado en el caso anterior, los controles de configuración del dispositivo se bloquean mediante un bit de bloqueo. Si el bit de bloqueo no proteje contra escritura de forma correcta todos los registros del sistema y los controles que podrían modificar la configuración del sistema, un atacante podría acceder a estos registros y modificar esa configuración.
 
CWE-1240    Uso de una primitiva criptográfica con una implementación de riesgo
Una primitiva criptografica es un algoritmo del que depende un protocolo criptográfico. Ejemplos de primitivas son los certificados digitales, los hashes, los cifrados y la criptografía de clave pública. Todas las primitivas criptográficas pueden ser descifradas tras N intentos. Cuanto mayor sea N, más segura es la primitiva. El problema de la implementación criptográfica en hardware es que cada año la capacidad de computación aumenta, haciendo más fácil que se pueda llegar a esos N intentos en menor tiempo. Además, las primitivas están continuamente siendo revisadas en busca de fallos de seguridad, y el hardware es mucho más complicado de actualizar que el software, y suele ser un producto que se espera que dure muchos años. Por ello se debe implementar en hardware únicamente primitivas criptográficas conocidas que hayan probado ser resistentes a ataques.
 
CWE-1244    Activo interno expuesto a un nivel de acceso de depuración inseguro
La autorización de depuración puede tener distintos niveles de acceso, definidos de forma que se pueda acceder o no a los distintos dispositivos del sistema interno en función del nivel de acceso. Si los dispositivos del sistema interno no tienen el nivel de acceso correcto para debugging durante cada etapa de arranque o en un cambio de estado del sistema, un atacante podría obtener información sensible de los dispositivos del sistema interno utilizando un debugger.
 
CWE-1256    Restricción inadecuada de las interfaces de software a las funciones de hardware
Los chipsets modernos tienen mecanismos software para escalar el voltaje y la frecuencia de un dispositivo, asi como para monitorizar el consumo energético. Estos mecanismos pueden permitir a un atacante a realizar inyecciones y ataques de canal lateral sin acceder al servicio. Estos ataques pueden permitir manipular los bits para saltarse pasos de autenticación o elevar privilegios, o manipular el reloj y el voltaje para crear errores en el mecanismo.

CWE-1260    Manejo inadecuado del solapamiento entre rangos de memoria protegidos
En el hardware existen políticas de control de acceso a regiones que protegen software privilegiado. Los componentes software a menudo pueden cambiar regiones de memoria para permitir un manejo de memoria flexible y dinámico.
Si un componente software con bajos privilegios puede modificar una sección de memoria para que solape con otra región de memoria que utiliza un software privilegiado, un atacante podría utilizarlo para realizar una escalada de privilegios.
 
CWE-1272    Información sensible no eliminada antes de la transición de estado de depuración/alimentación
Un dispositivo emplea muchos estados de alimentación y reposo durante su funcionamiento normal. Si hay información disponible en el estado anterior que no debería estar disponible en el siguiente estado y no se elimina adecuadamente antes de la transición al siguiente estado, puede filtrarse información sensible del sistema.
 
CWE-1274    Control de acceso inadecuado para la memoria volátil que contiene el código de arranque
Un atacante podría saltarse el proceso de arranque seguro y ejecutar su propio código de arranque malicioso. En el proceso de arranque seguro, se carga el código de arranque de la memoria no volátil a la memoria volátil.
Si los controles de acceso de la memoria volátil no son adecuados, un atacante podría modificarla para ejecutar código malicioso.
 
CWE-1277    Firmware no actualizable
Si no es posible parchear o actualizar un firmware, los usuarios se exponen a la explotación de cualquier vulnerabilidad conocida, o de cualquier vulnerabilidad que se descubra en el futuro.
 
CWE-1300   Protección inadecuada de los canales secundarios físicos
Un atacante podría estudiar y medir los fenómenos físicos que ocurren en el hardware para detectar patrones y hacer inferencias que permitan determinar información sensible sin necesidad de explotar ninguna vulnerabilidad del ámbito digital. Ejemplos de ataques de canal secundario son monitorizar el hardware y relacionar el procesamiento de datos con el consumo de poder, el sonido o el electromagnetismo.
 
If the adversary can monitor hardware operation and correlate its data processing with power, EME, and acoustic measurements, the adversary might be able to recover of secret keys and data.

Cómo se clasifican las vulnerabilidades

Para clasificar todas estas vulnerabilidades se realiza una encuesta en la que se escogen las 10 vulnerabilidades hardware más críticas de las 96 entradas que hay en la base de datos de CWE.

De este proceso se identificaron 31 entradas únicas. La encuesta también incluyó preguntas para medir esta criticidad en base a las métricas de detección, de mitigación y de explotabilidad, entre otras. Las preguntas que fueron seleccionadas para realizarse en las votaciones fueron las siguientes:

  1. ¿Con qué frecuencia se ha detectado esta vulnerabilidad?
  2. ¿Esta vulnerabilidad requiere de modificaciones del hardware para poder ser mitigada?
  3. ¿Con qué frecuencia se detecta esta vulnerabilidad durante la fase de diseño?
  4. ¿Con qué frecuencia se detecta esta vulnerabilidad durante la fase de pruebas?
  5. ¿Se puede mitigar la vulnerabilidad una vez que el dispositivo se ha puesto en marcha?
  6. ¿Se necesita acceso físico para explotar la vulnerabilidad?
  7. ¿Se puede realizar un ataque para explotar esta vulnerabilidad totalmente media en el uso de software?
  8. ¿Se puede aplicar un único exploit de esta vulnerabilidad contra un gran rango o familia de dispositivos?
  9. ¿Qué metodologías utilizas para identificar y prevenir tanto las nuevas vulnerabilidades como las ya conocidas?

Estas 31 entradas se sometieron de nuevo a votación y se ponderaron, obteniendo 12 de ellas los mejores resultados al ser elegidas para ser incluidas por más del 50% de los votos y conformando así en este Top-12.

 

Conclusiones del nuevo Top CWE Vulnerabilidades Hardware

Nos encontramos frente a un top de vulnerabilidades distinto al que se suele ver en la comunidad de seguridad informática, normalmente centrada en el software. Considero que es importante repasar este  tipo de vulnerabilidades hardware de vez en cuando debido al gran impacto que pueden tener en el mundo real, y a la dificultad que supone remediar este tipo de vulnerabilidades frente a las vulnerabilidades software.

Espero que hayas encontrado esta información interesante.

Lethani.

4/5 - (42 votos)

Deja un comentario