PDF de programación - Infección en BIOS, y derivados

Imágen de pdf Infección en BIOS, y derivados

Infección en BIOS, y derivadosgráfica de visualizaciones

Publicado el 14 de Septiembre del 2017
791 visualizaciones desde el 14 de Septiembre del 2017
3,0 MB
39 paginas
Creado hace 6a (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 ([email protected])

• 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
  • Links de descarga
http://lwp-l.com/pdf6935

Comentarios de: Infección en BIOS, y derivados (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad