¿Qué es la vulnerabilidad "ThinkPwn" y qué permite a los atacantes hacer?

13

Recientemente se reveló la vulnerabilidad del firmware ThinkPwn, con una prueba de concepto y una explicación bastante larga . Sin embargo, ¿puede alguien explicar en términos sencillos (sin requerir un conocimiento extenso sobre cómo funciona el firmware) lo que le permite a un atacante hacer?

Además, parece que esta vulnerabilidad también está presente en una computadora HP Pavillon y probablemente muchas otras, pero puedo No veo su utilidad allí ya que estas máquinas no parecen tener ninguna comprobación de firmas de firmware de todos modos, por lo que ya podría escribir un firmware malicioso sin necesidad de esta vulnerabilidad para sobrescribir regiones protegidas de la misma.

    
pregunta André Borie 04.07.2016 - 21:24
fuente

2 respuestas

4

En el término del laico, según lo solicitado, creo que esta vulnerabilidad puede simplemente reducirse a un caso particular de ataque de escalada de privilegios. Sigue el mismo camino, y persigue el mismo objetivo (y los ataques contra SMM no son nuevos: se presentaron otras dos ocurrencias en la conferencia de Black Hat en 2008 y 2015 ).

Cómo funciona: funciona al inyectar código arbitrario en un software que se ejecuta con privilegios más altos. Aquí la originalidad es que el software vulnerable no se ejecuta dentro del sistema operativo, sino fuera de él: en un firmware.

Lo que logra: puede hacer una escalada de privilegios para varios propósitos:

  • Acceda a datos que no deberían estar disponibles. Por ejemplo, Windows 10 parece depender de un tecnología basada en virtualización para almacenar algunas credenciales fuera de todo el alcance del sistema operativo. Este exploit le brinda un nivel de privilegios aún más alto y, por lo tanto, le otorga acceso a todos los datos protegidos.
  • Escóndase de un código con privilegios más bajos. Todas las soluciones antivirus se ejecutan en el mejor nivel de privilegio del kernel del sistema operativo. Al elevarse por encima de este nivel, puede crear un software más furtivo que no se detectará con ningún medio convencional.
  • Ejecute acciones no autorizadas de otra manera. Todas las acciones posibles en las capas inferiores también son posibles aquí, pero con la ventaja de que tiene prioridad sobre el sistema operativo (por ejemplo, puede instalar un servicio de red oculto: el sistema operativo nunca será consciente de los paquetes enviados y recibidos por dicho backdoor). También pueden ser posibles nuevas acciones, pero lo más probable es que dependan de la plataforma. Al final, lo que obtiene es algún tipo de versión maliciosa de Motor de administración de Intel , la única limitación es que su código está vinculado a la CPU principal de la plataforma, por ejemplo:
    • Es posible que no pueda ejecutarse mientras la máquina está apagada (sin embargo, esto puede no ser cierto si su máquina se pone en suspensión, si habilita funciones como Wake-on-Lan, o si la puerta trasera habilitó tales funciones, o reemplazó el apagado original por uno simulado),
    • puede no acceder a otros procesadores como el procesador interno TPM, a menos que el chip TPM se emule realmente en la CPU principal como es el caso de TrustZone de ARM (utilizado principalmente por Android), o si el el nivel de confianza adquirido así abre el acceso a nuevos canales de comunicación no disponibles para el sistema operativo.
respondido por el WhiteWinterWolf 07.07.2016 - 18:48
fuente
6
  

¿Qué le permite a un atacante hacer?

Le permite a un atacante ejecutar código arbitrario en el Modo de administración del sistema (SMM), un modo de ejecución altamente privilegiado de procesadores x86. Este modo es transparente para el sistema operativo (OS) y es más privilegiado que cualquier otro modo. Si un atacante puede ejecutar código en SMM, básicamente es el propietario de la plataforma / computadora (más potente que cualquier otro rootkit en el núcleo de su sistema operativo).

Vale la pena señalar que dicha vulnerabilidad tiene un requisito: necesita los privilegios del kernel para activar una Interrupción de la Gestión del Sistema (SMI), para ejecutar la explotación.

Hay dos enfoques para el atacante:

  • Puede sobrescribir el almacenamiento flash del firmware y deshabilitar algunas características de seguridad en el arranque. Luego, incluso si borra el contenido de su disco duro, o si compra otro, puede reinfectar el sistema operativo sin ningún problema. Además, detectar o eliminar el malware del firmware será una tarea difícil, ya que controla una de las primeras piezas de código que se ejecutan en la computadora. Sin embargo, un arranque medido que utiliza un chip del Módulo de plataforma segura (TPM) podría detectar la modificación de la memoria flash del firmware y que algunas características de seguridad están inhabilitadas al iniciar, porque las mediciones realizadas (hashes criptográficos) no son genuinas. Dicha detección es posible si el proveedor implementa correctamente el proceso de arranque medido. El proceso de medición se basa en una raíz central de confianza donde se confía en el primer componente que mide el siguiente. Por lo tanto, si este primer componente es el firmware contenido en la memoria flash, el atacante puede falsificar las mediciones sin ser detectado.
  • Puede ser sigiloso y simplemente sobrescribir el código ejecutado en SMM, ubicado en SMRAM, sin modificar el flash. De esta manera, controla el código ejecutado en SMM y puede monitorear o modificar el comportamiento del sistema operativo. El sigilo viene del hecho de que si la computadora se reinicia, no hay rastros del ataque en el flash (ya que todo estaba en la memoria RAM). Sin embargo, muchas computadoras no se reinician tan a menudo (por ejemplo, los servidores), por lo que el atacante no necesita reinfectar la máquina para seguir teniendo control sobre ella.
respondido por el Ronny 06.07.2016 - 11:26
fuente

Lea otras preguntas en las etiquetas