- Modo de Gerencia del Sistema
-
El Modo de Gerencia de Sistema, o System Management Mode (SMM) en inglés, es un modo de operación lanzado por primera vez con el Intel 386SL y disponible en microprocesadores posteriores de la arquitectura x86, en el que es suspendida toda la ejecución normal (incluyendo el sistema operativo), y es ejecutado un software especial separado en un modo de alto privilegio (usualmente un depurador en firmware o asistido por hardware).
Contenido
Uso
Algunos usos comunes del SMM son:
- Para emular hardware de la tarjeta madre que no está implementado o tiene errores (bugs).
- Operaciones de gerencia de energía, como encendido de ventiladores.
- Para emular un ratón o un teclado PS/2 desde un USB.
- Funciones de seguridad del sistema, como apagar el computador cuando hay alta temperatura en el CPU.
- Configuración del sistema, como por ejemplo en los computadores notebook de Toshiba e IBM.
Entrando al SMM
Al SMM se entra por medio del SMI, interrupción de gerencia del sistema (system management interrupt), que es causada por:
- El hardware de la tarjeta madre enviando una señal por medio de un pin designado del chip procesador. Esta señal puede ser un evento independiente, o disparada por el software del sistema vía una lectura de I/O de una localización considerada especial por la lógica de la tarjeta madre (el puerto $B2 es común).
- Una escritura de I/O hacia una localización que el firmware ha solicitado para que el chip del procesador actúe.
Problemas
- Puesto que el código de SMM (manejador del SMI) es instalado por el firmware del sistema (BIOS), el sistema operativo y el código del SMM pueden tener expectativas sobre los ajustes del hardware que son incompatibles, por ejemplo diferentes ideas de cómo el APIC debe ser iniciado.
- Las operaciones en el SIMM toman tiempo del CPU fuera del sistema operativo, ya que el estado del CPU debe ser almacenado a la memoria (SMRAM) y cualquier cache writeback debe ser limpiado. Esto puede destruir el comportamiento de tiempo real y causar que se pierdan ticks del reloj.
- Un analizador lógico digital puede ser requerido para determinar si el SMM está ocurriendo.
- Recuperando al código del manejador del SMI para analizarlo por errores, vulnerabilidades, y secretos requiere un analizador lógico o desensamblar el firmware del sistema.
Véase también
- Modo real — Modo irreal — Modo 8086 virtual — Modo protegido — Modo de Gerencia del Sistema — Modo largo
- El procesador MediaGX, que implementa hardware no existente vía el SMM.
- Extensible Firmware Interface.
Enlaces externos
- Badness of SMM
- [1] - This old edition of the Intel Software developer's manual has a chapter (12) on SMM, starting on page 403
- The AMD Hammer BIOS and Kernel Developer's guide has a chapter on SMM
- An exploit against SMM based on OpenBSD: http://www.ssi.gouv.fr/archive/fr/sciences/fichiers/lti/cansecwest2006-duflot-paper.pdf
- Getting into the SMRAM: SMM Reloaded http://cansecwest.com/csw09/csw09-duflot.pdf
Categoría:- Modos de operación de los microprocesadores x86
Wikimedia foundation. 2010.