Publicado el 14 de Septiembre del 2017
1.181 visualizaciones desde el 14 de Septiembre del 2017
3,0 MB
39 paginas
Creado hace 10a (15/12/2014)
La defensa del patrimonio tecnológico
frente a los ciberataques
10 y 11 de diciembre de 2014
Infección en BIOS, y derivados
David Barroso – ElevenPaths
@lostinsecurity
© 2014 Centro Criptológico Nacional
C/Argentona 20, 28023 MADRID
www.ccn-cert.cni.es
¿En qué capas puede ejecutarse código?
VIII JORNADAS STIC CCN-CERT
Ring 3
Userland
Ring 2
I/O
Ring 1
Drivers
Ring 0
Kernel
Ring -1
Hypervisor
Ring -1.5
Bootkits
Ring -2
SMM
Ring -2.5
BIOS/UEFI
Ring -3
Chipset
VIII JORNADAS STIC CCN-CERT
Fuente: http://marlon-becerra.blogspot.com.es/2013/03/la-placa-
base-la-bios-etc.html
VIII JORNADAS STIC CCN-CERT
Halt and catch fire - AMC
VIII JORNADAS STIC CCN-CERT
Ingeniera inversa – Phoenix Technologies
VIII JORNADAS STIC CCN-CERT
Clean room – Chinese Wall
VIII JORNADAS STIC CCN-CERT
Historia de la BIOS
• 1975: Gary Kildall utiliza la palabra BIOS para definir parte del boot de
CP/M (IMSAI 8080 - Altair 8800) (IBM - PC-DOS $40 vd CP/M $240)
• 1981: IBM Personal Computer (Ctrl+Alt+Del)
• 1984: Phoenix PC ROM BIOS
• 1984: Award Software
• 1985: American Megatrends Incorporated (AMI)
• 2000: Intel crea EFI (Extensible Firware Interface)
• 2004: Comunidad EFI Open Source (tianocore.org)
• 2005: Unified EFI (UEFI). Esfuerzo conjunto de la industria:
• AMD, American Megatrends, Apple, Dell, HP, IBM, Insyde, Intel, Lenovo,
Microsoft, Phoenix
• 2014: 233 miembros. UEFI 2.4b (Abril 2014)
VIII JORNADAS STIC CCN-CERT
Legacy BIOS
VIII JORNADAS STIC CCN-CERT
UEFI
VIII JORNADAS STIC CCN-CERT
Fuente: http://mike820324.blogspot.com.es/2011/06/simple-os-bootloader-part1.html
VIII JORNADAS STIC CCN-CERT
Fuente: http://logica10mobile.blogspot.com.es/2012/10/la-revolucion-silenciosa-uefi-y-el.html
VIII JORNADAS STIC CCN-CERT
POST ( Power On Self Test) – Legacy BIOS
1. Comprueba el procesador (CPU)
2. Verifica su código a través de checksums
3. Comprueba la memoria
4. Comprueba otros controladores (chips) de la placa madre
5. Comprueba que funcionan las interrupciones
6. Comprueba e inicializa los interfaces E/S e identifica los dispositivos
conectados
Identifica los dispositivos que puedan tener BIOS propia (Option ROM)
7. Comprueba los puertos serie
8.
9. Verifica su código usando checksums
10. Permite a esos dispositivos ejecutar su BIOS
11. Inicializa el área de la BIOS en memoria
12. Comprueba si existe algún dispositivo para arrancar un sistema
operativo
13. Carga y ejecuta el MBR (0000h:7C00h)
14. Se ejecuta el boot loader que carga el kernel del sistema operativo
VIII JORNADAS STIC CCN-CERT
¿Por qué atacar la BIOS? Rootkits
• Sobrevive al reinicio de la máquina
• No deja trazas en el disco
• Sobrevive a reinstalaciones del sistema operativo
• Difícil de detectar
• Difícil de eliminar
¿Quién analiza la BIOS? ¿Productos
de seguridad? ¿Antivirus?
VIII JORNADAS STIC CCN-CERT
NSA – BIOS Plot
VIII JORNADAS STIC CCN-CERT
Primera infección de BIOS (1994-1995)
04/04/93: ROMs de AMI BIOS troyanizadas supuestamente en su
fábrica de Corea del Sur. Sonaba ‘Cumpleaños Feliz’ cada 13 de
noviembre.
VIII JORNADAS STIC CCN-CERT
CMOSDEAD (1998)
• MS-DOS, infecta ficheros .COM
• Borra el contenido del CMOS
• Muestra imagen por pantalla y sonidos por el altavoz
• Huevo de Pascua si el usuario resetea el equipo con Ctrl-Alt-Del
VIII JORNADAS STIC CCN-CERT
CIH – Chernobyl (1998)
• Afecta a Windows 9x (95, 98, Me)
• Autor: Chen Ing-hau (陳盈豪), estudiante en Taiwán.
• Motivo: como desafío ante las declaraciones de los antivirus
• Propagación: Wing Commander, CDs en revistas de informática,
• 60 millones de ordenadores infectados
• Infecta ficheros Windows PE (1kb)
• Rellenaba los primeros 1024kb del disco con ceros y sobreescribía
parte de la BIOS
• Activación: 26 de abril
• Hijos:
• Win32.Kriz (1999)25 diciembre
• Win95.Fonos (2000) Borra CMOS
o pone contraseña
VIII JORNADAS STIC CCN-CERT
CIH - Demonstración
VIII JORNADAS STIC CCN-CERT
IceLord & Sun Bing (2007)
• Afecta a Windows 2000, Windows XP, Windows 2003
• Award BIOS 6.0 PG
• Se analiza la herramienta WinFlash de Award y se descubre un método
para flashear la BIOS utilizando un servicio del SMM
• Instala un nuevo ISA BIOS ROM que se ejecutará cuando se ejecutan
todas las PCI Expansion ROMs
• Top-Block Swap (Sun Bing, 2007): intel ICHx south bridge.
• Cambia el top-block (boot block) con otro.
• Problema en el actualizador de BIOS
• Permite reflashear la BIOS
VIII JORNADAS STIC CCN-CERT
Infección de Legacy BIOS (2009)
• Anibal Sacco, Alfredo Ortega
• Infección de BIOS Phoenix y Award
• Modifican la rutina de decomprensión de módulos de la BIOS (LZH)
• Hace falta ‘flashear’ la BIOS con la versión infectada
• Modificación de archivos en disco:
• /etc/shadow
• Inyección de código en binarios de Windows
• Shellcode en 16 bits utilizando interrupciones de BIOS
VIII JORNADAS STIC CCN-CERT
Mebromi (2011)
• Afecta a ordenadores que tengan instalados AV chinos:
• Rising Antivirus
• Jiangmin KV Antivirus
• Basado en la idea de IceLord
• Instala un driver en el systema (bios.sys) que accede a la zona de
memoria de la BIOS:
• Comprueba si la BIOS es Award ($@AWDFLA)
• Busca el puerto SMI (System Management Interrupt)
• Hace una copia de la BIOS en disco (C::\bios.bin)
• Modifica el fichero bios.bin incluyendo un rootkit
• Borra la BIOS ROM y ‘flashea’ con el nuevo archivo troyanizado
• La nueva BIOS al arrancar infecta el MBR que a su vez inyecta código
en winlogon.exe y wininit.exe
VIII JORNADAS STIC CCN-CERT
Computrace (2005-)
• Búsqueda de equipos robados
• Presente desde que en 2005 Phoenix y
Absolute hicieron un acuerdo
• PCI Option ROM
• Modifica Windows desde la BIOS
instalando un nuevo servicio y
modificando el registro y varios archivos
• Capaz de funcionar con Bitlocker
• Soporta Windows 98, Windows XP,
Windows Vista, Windows 7, Windows 8,
Mac OS X > 10.6, Android > 2.3, Linux
• Otros: Phoenix Failsafe (SMM), Intel
Anti-theft (vPRO)
VIII JORNADAS STIC CCN-CERT
Modos de operación en x86
Modo de operación
Sistema Operativo Address Size
Long mode
64-bit
64-bit
Compatibility
SMM
Legacy mode
Protected
32-bit
Virtual 8086
Real
16-bit
64 bits
32 bits
16 bits
16 bits
32 bits
16 bits
16 bits
VIII JORNADAS STIC CCN-CERT
SMM – System Managed Mode
• Maneja eventos de hardware de bajo nivel (temperatura, power, etc.)
• Interesante: tiene un espacio de memoria (SMRAM) y entorno de ejecución
aislado que puede ser invisible en otros modos. Tiene acceso a toda la
memoria.
• Crear un nuevo handler SMM que sustituye a algún otro (ojo portátiles)
• Ataques:
• Loic Duflot (2006): escalada de privilegios en OpenBSD
• Phrack #65 y #66 (2008, 2009)
• BlackHat 2008: Keylogger y network backdoor
• Invisible Things Labs:
• 2008: Bug en Q35 BIOS
• 2009: VU#127284 espacio de memoria no protegido
• 2009: Caching attacks in SMM
• Gazet (2011) Buffer overflow en SMM cuando habla con el Keyboard Controller
(KBC)
• Problema:
• Está en memoria, no sobrevive a reinicios
• Específico de hardware (direcciones de memoria)
VIII JORNADAS STIC CCN-CERT
VIII JORNADAS STIC CCN-CERT
ACPI – Advanced Configuration and Power Interface
VIII JORNADAS STIC CCN-CERT
• John Heasman (2006)
• ACPI: tablas ACPI, registros ACPI,
• Modificación de las tablas ACPI de la BIOS y reflasheo
• ACPI Machine Language (AML) malicioso que interactua con la
memoria del sistema y el espacio de E/S
• Problemas:
• Intel SecureFlash o Phoenix TrustedCore
VIII JORNADAS STIC CCN-CERT
PCI Expansion ROM
• PCI, PCIe, Thunderbolt, ExpressCard, etc.
• John Heasman (2007)
• Se ejecuta código por parte de la BIOS en el arranque
• Se reprograma el EEPROM donde se encuentra
• PoC en tarjetas de red, PXE (TFTP+UDP)
• "If a Legacy card’ s option ROM code hooks INT 19h during its initialization
call it controls the boot process.”
• Arrigo Triulzi
• Project Maux (2007): infección firmware tarjetas de red
• Project Maux II (2008): infección de firmware nVidia GPU para usar su memoria
(128Mb) para infectar tarjetas de red
• Project Maux III (2009): persistencia en sectores de disco, módulos UEFI
• Project Maux IV( 2011): módulos UEFI maliciosos para infectar en firmware de
dispositivo
• Firmware : DEB (Harddisk, 2012), Delugré (Broadcom, 2010), Duflot
(Broadcom, 2010)
VIII JORNADAS STIC CCN-CERT
Ataque al proceso de actualización de UEFI
• Wojtczuk y Atk (2009)
• Todo el código de actualización viene firmado, excepto algún fichero, como
la imagen que sale en el arranque (para los OEM)
• Buffer overflow en el parsing del fichero BMP de la imagen
• Kallenberg, Kovah, Butterworth, Cornwell (2013)
• Salto de Ring3 a ejecutar código en UEFI en Windows 8
• 4 Integer overflow (CVE-2014-4859, CVE-2014-4860)
• Difícil explotación
• Kallenberg, Kovah, Butterworth, Cornwell (2013)
• CVE-2013-3582: Buffer overflow en Dell Latitude que permite reflashear la
BIOS con una imagen maliciosa aunque se compruebe la firma digital.
VIII JORNADAS STIC CCN-CERT
Demo ataque
VIII JORNADAS STIC CCN-CERT
Virtualización
• Subvirt (Microsoft Research, 2006): Virtual PC, VMWare
• VMBR: Virtual Machine Based Rootkits
• Virtualiza’ el sistema operativo y lo controla con un hypervisor
• BluePill (Rutkowska, 2006): explota extensiones SVM (Secure Virtual
Machine) de AMD
• ‘Virtualiza’ el sistema operativo y lo controla con un hypervisor
• No modifica ni la BIOS, ni sectores de arranque (MBR/VBR)
• No sobrevive al reinicio
• Vitriol (Dino A. Dai Zovi, 2006): explota VT-x de Intel
• ‘Virtualiza’ el sistema operativo y lo controla con un hy
Comentarios de: Infección en BIOS, y derivados (0)
No hay comentarios