-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
-------------------------------------------------------------------
Hispasec - una-al-día 19/03/2009
Todos los días una noticia de seguridad www.hispasec.com
-------------------------------------------------------------------
Otro Blue Pill de Joanna Rutkowska
----------------------------------
Joanna Rutkowska presentó a mediados de 2006 su Blue Pill, causando
un gran revuelo. Rutkowska, experta en rootkits, aprovechó una (por
entonces) nueva funcionalidad de los procesadores AMD para crear un
rootkit indetectable en cualquier sistema operativo. En esta ocasión
su equipo del Invisible Things Lab lo ha vuelto a hacer, esta vez
aprovechando una funcionalidad de Intel.
Rutkowska creó en 2006 una prueba de concepto que demostró que todo
sistema operativo que usase AMD con tecnología SVM/Pacifca (destinada a optimizar la virtualización a bajo nivel desde el procesador) heredaba
un serio problema: cualquier software podía asumir un rol llamado
"hypervisor". Este concepto se refiere a un nivel de control más alto
incluso que el de supervisor, que es el nivel al que corre el sistema operativo.
Las arquitecturas de procesadores modernos utilizan el concepto de Ring (anillo) para especificar capas de seguridad desde las que se tienen
distintos permisos de acceso a los recursos. El kernel y los drivers de sistema, están en el Ring0, el modo de ejecución de mayor privilegio
para poder trabajar a bajo nivel con el hardware. Trabajar a tan bajo
nivel implica que se tiene total control sobre la máquina y por tanto,
una mayor responsabilidad (un fallo da al traste con el sistema
operativo, por ejemplo, los famosos pantallazos azules suelen suceder
por una mala instrucción de un controlador). El resto de programas
corren en el Ring3 (los otros dos, aunque soportadas por las CPU, no se
usan normalmente). El Ring3 un espacio en el que un fallo no resultaría
tan crítico, porque no pueden acceder al hardware directamente, deben
hacerlo a través de llamadas a sistema. MS-DOS, por ejemplo, carecía
de este concepto. Todo corría bajo privilegios de Ring0, de ahí la inestabilidad general del sistema operativo ante cualquier fallo de
cualquier programa.
Con la llegada de la virtualización, se define una capa con incluso más privilegios que el Ring0, el hypervisor. Por ejemplo, Vmware debe correr
a un nivel hypervisor, mayor incluso que el sistema operativo que aloja,
para poder ejecutar código en el entorno del Ring0 sin molestar al resto
de sistemas operativos virtuales que puede alojar una máquina. Una
especie de "paso atrás" que controla todo lo que tiene delante, el Ring -1 hundido en las raíces del sistema.
Rutkowska y su equipo acaban de publicar el documento técnico "Attacking
SMM Memory via Intel CPU Cache Poisoning". System Management Mode (SMM)
se refiere a un modo de operación más privilegiado en las arquitecturas
x86. El SMM podría considerarse el Ring -2. SMM se ejecuta en la zona de memoria conocida como SMRAM. Se supone que el controlador de memoria
solo debe permitir al firmware (la BIOS) acceder a esa zona de memoria.
Una vez que la BIOS carga en esa parte el SMM, sólo el código que esté
en ese "anillo" debería poder acceder a él. Lo que han descubierto es
cómo acceder a esa zona, bajar dos niveles desde el Ring 0 (a través
de un driver en el sistema Windows, o incluso siendo root en Linux) y
ejecutar código con los privilegios de SMM. Con todo ese poder, una
vez más y como ya demostró con Blue Pill, se puede crear un rootkit indetectable. Literalmente, el sistema operativo e incluso los drivers,
todo, podría estar bajo el control de un atacante y hacer creer una
total "mentira" al sistema basada en una ejecución de código capaz de
controlar al más bajo nivel el sistema.
El mérito no es solo de Rutkowska, Loic Duflot, paralela e
independiente, ha descubierto lo mismo. La investigadora también
menciona como curiosidad que hace varios años, los propios empleados de
Intel ya conocían el problema y que incluso estas debilidades fueron documentadas. De hecho, los detalles del fallo eran accesibles a través
de Google. La propia Rutkowska se sorprende de que solo ellos y Loic
Duflot hayan creado exploits para aprovechar este problema. Aprovechar
el fallo es en la práctica aparentemente sencillo. Se deben modificar
los registros MTRR para marcar como "escribible" la región donde está la
SMRAM y transferir la ejecución al código SMM. Básicamente se trata de
machacar esa memoria y ejecutar ese código. En Linux, en la práctica, el usuario root puede hacerlo modificando /proc/mtrr y en Windows a través
de un driver.
Las placas Intel DQ35 son vulnerables, aunque no las DQ45. Intel
ampliará su documentación sobre las placas con contramedidas para evitar
el ataque.
Este modo de incrustarse en las raíces del sistema, aunque elaborado e ingenioso, es complicado que se lleve a la práctica fuera de un
laboratorio.
Opina sobre esta noticia:
http://www.hispasec.com/unaaldia/3799/comentar
Más información:
Attacking SMM Memory via Intel® CPU Cache Poisoning
http://invisiblethingslab.com/resources/misc09/smm_cache_fun.pdf
Sergio de los Santos
ssantos@hispasec.com
Tal día como hoy:
-----------------
19/03/2008: Múltiples vulnerabilidades en Plone 2.x y 3.x
http://www.hispasec.com/unaaldia/3434
19/03/2007: Cross site scripting a través de PHP_SELF en WordPress
http://www.hispasec.com/unaaldia/3068
19/03/2006: Actualización para Mac OS X 10.4.x
http://www.hispasec.com/unaaldia/2703
19/03/2005: Múltiples vulnerabilidades en kernel 2.6 de Linux
http://www.hispasec.com/unaaldia/2338
19/03/2004: Vulnerabilidad en GroupWise WebAccess 6.0 y 6.5
http://www.hispasec.com/unaaldia/1972
19/03/2003: Desarrollador antivirus pide que Internet sea regulada por los gobiernos
http://www.hispasec.com/unaaldia/1606
19/03/2002: Múltiples vulnerabilidades en servidores Oracle
http://www.hispasec.com/unaaldia/1241
19/03/2001: Denegación de servicio contra SSH Secure Shell
http://www.hispasec.com/unaaldia/876
19/03/2000: Vulnerabilidad en las "cibertiendas" de Banesto
http://www.hispasec.com/unaaldia/509
19/03/1999: Instalación por red vulnerable en Slackware
http://www.hispasec.com/unaaldia/143
-------------------------------------------------------------------
Claves PGP en
http://www.hispasec.com/directorio/hispasec
-------------------------------------------------------------------
Bajas: mailto:
unaaldia-request@hispasec.com?subject=unsubscribe
Altas: mailto:
unaaldia-request@hispasec.com?subject=subscribe
-------------------------------------------------------------------
(c) 2009 Hispasec
http://www.hispasec.com/copyright
-------------------------------------------------------------------
--- SoupGate-DOS v1.05
* Origin: Pasarela FTN-INet
telnet://pucelabbs.dyndns.org:4000 (2:341/201.99)