[VU#649219] Vulnerabilidad de Escalada de Privilegios en SO de 64 bits bajo CPU Intel con llamada SYSRET

O algo así. Esta noticia es un poco vieja, pero me pareció bastante interesante como para escribirlo aquí.

Vamos, que el US-CERT (United States Computer Emergency Readiness Team) ha publicado información sobre una vulnerabilidad bastante curiosa: en máquinas Intel de 64 bits (vamos, vuestros flamantes Core i7) se puede realizar un ataque de escalada de privilegios acojonante.

Porque si sois lo suficientemente paranoicos, tendreis una máquina virtual para realizar pruebas de software o cualquier tontería que se os ocurra. Pero con un ataque como este, si alguien comprometiese vuestra máquina vritual, tendrían acceso en modo kernel a vuestro sistema operativo host!

El vector de ataque es bastante sencillo de explicar (aunque luego habría que ensamblarlo en el x86) pero la cosa es:

  1. Se produce un marco de la pila (stack frame) para que lo ejecute el Ring#0 (nivel más alto en la CPU) después de una excepción de protección (#GP).
  2. Se produce esa excepción.
  3. El fallo se manejará antes del cambio de contexto, con lo que el manejador para la excepción se ejecutará efectivamente en el Ring0 con las instrucciones que haya requerido el atacante, causando una escalada de privilegios.
Por supuesto, Intel dice que esta vulnerabilidad es un defecto de implementación en el software, pues sus chips funcionan exactamente tal y como está especificado. Esto es, software que no haya tenido en cuenta (o no haya tenido acceso) a la documentación concerniente al comportamiento específico de Intel de SYSRET, puede ser vulnerable.
Pero entonces Intel está reconociendo que SYSRET tiene un comportamiento distinto en su silicon de lo que dice simplemente el estándar x86.
AMD por su parte ha comunicado que sus chips no son vulnerables a este vector de ataque, pues el comportamiento de SYSRET es no generar un #GP mientras está en el Ring#0.
Xen, Citrix, Microsoft y demás ya han tomado o están tomando medidas. Xen ya tiene parches para su hipervisor, aunque a saber cuántas VPS a día de hoy funcionan con Xen y todavía no han sido parcheadas.
Por su parte VMware ha dicho como un campeón que ellos no están afectados: su hipervisor no usa la llamada SYSRET.

Fuente y más información: http://www.kb.cert.org/vuls/id/649219

Deja un comentario