rooted2015 - ingenieria inversa de circuitos integrados
Post on 22-Jul-2015
1.246 Views
Preview:
TRANSCRIPT
¿Por qué analizar chips?
• ÚlCma frontera de la seguridad
• Gran reto, diverCdo
• Aprendizaje de múlCples disciplinas
Sobre el ponente
• Aficionado a la seguridad
• Coleccionista de juegos arcade
• Si yo puedo, TÚ TAMBIÉN
En esta presentación
1. Fabricación de circuitos CMOS
2. Decapsulado, Microscopía, Deprocesado
3. Ingeniería inversa y simulación 4. Caso prácCco: CPU Capcom Kabuki
1947 1925: Julius Edgar Lilienfeld’s MESFET patent 1935: Oskar Heil’s MOSFET patent 194?: Unpublished Bell Labs MESFET 1947: Ge BJT (Bardeen, Bradain, Shockley, Bell Labs) 1954: Si BJT (Teal, Bell Labs) 1960: MOSFET (Atalla&Khang, Bell Labs) 1961: Integrated circuit (Kilby, TI) 1963: CMOS (Sah&Wanlass, Fairchild) 1964: Commercial CMOS IC (RCA) 1965: DRAM (Fairchild) 1968: Poly-‐Si gate (Faggin&Klein, Fairchild) 1968: 1-‐FET DRAM cell (Dennard, IBM) 1971: UV EPROM (Frohman, Intel) 1971: Full CPU in chip, Intel 8008 (Faggin, Intel) 1974: Digital watch 1974: Scaling theory (Gänsslen&Dennard, IBM) 1978: Use of ion implanter 1978: Flotox EEPROM (Perlegos, Intel) 1980: Ion-‐implanted CMOS IC 1980: Plasma etching 1984: Scaling theory <0.25 μm (Baccarani, U. Bologna) 1986: 0.1 µm Si MOSFET (Sai-‐Halasz, IBM) 1991: CMOS replaces BJT also at high-‐end 1993: DGFET scalable to 30 nm (theory, Frank et al.) 2007: Non-‐SiO2 (HfO2–based) MOSFET (Intel)
A (par3al, biased?) history of the MOSFET from a physicist’s perspec3ve -‐ M. Fisches 2009
1947
Las técnicas descritas a conCnuación son peligrosas para u y los que te rodean
ADVERTENCIA
Google images: Nitric acid burns Hydrofluoric acid burns
1947 Tipos de decapsulado
• DestrucCvo – La muestra deja de ser funcional
• Vivo – La muestra conCnua siendo operaCva
Bonding wires
IC die solamente
1947 Equipo básico
• Equipo laboratorio – Bata, guantes, pipetas, gafas…
• Herramientas – Dremel – Base calentadora – Campana extractora (o al aire libre)
• Químicos – Ácido nítrico (H2NO3) min. 70% – Acetona
1947 Microscopía
• Captura de imágenes – Amateur: Microscopio básico – Pro: Microscopio estéreo + Bandeja XY – Lab: SEM/FIB
1947 Microscopía
• GesCón de imágenes – Autopano-‐si~-‐C – pr0nsCch / pr0ntools – Gimp / Photoshop +
1947
1. Fabricación de circuitos CMOS
2. Decapsulado, Microscopía, Deprocesado
3. Ingeniería inversa y simulación
1947
ANÁLISIS SIMULACIÓN/VERIFICACIÓN
XOR Metal completo Metal 1 eliminado Metal 1 & 2 eliminados
Ejemplo de Ingeniería Inversa
1947
1. Fabricación de circuitos CMOS
2. Decapsulado, Microscopía, Deprocesado
3. Ingeniería inversa y simulación
4. Caso prácCco: Capcom Kabuki
Programador y seguridad
Registros de memoria
Descifrado
Descifrado y rutado de bus
de datos
Intercepción del bus de datos
Intercepción del bus de
direccionamiento y control
Kabuki Programador • Control de acceso – Controla la escritura a los registros de memoria – Previene que extraños escriban en la memoria
Memoria • Registros 108 x 1 bit
– Disposición: Entrada en serie. Salida en paralelo.
– 72 bits: Llaves de descifrado
– 16 bits: Rango de memoria a descifrar
– 20 bits: Memoria de trabajo
Kabuki Programador • Implementación de seguridad
– No trivial: múlCples fases y ofuscación – Requiere deprocesado de la cpu
– Fases de seguridad
• #1 Configuración de señales
• #2 Llamada secreta
• #3 Llave secreta #1 20 bit – Ofuscación �sica
• #4 Llave secreta #2 – Ofuscación �sica
Fase 3 – Llave secreta #1 20bits
1 x Pulso de reloj con cada bit
Secuencia llave 20 bits
1011 0111 1010 0100 0101
Programación de Capcom Block Block
Bits de trabajo – por defecto a cero 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 Address Key 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 Swap Key #2 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1 Swap Key #1 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1 XOR Key 0, 0, 0, 0, 0, 0, 0, 1 Rango de memoria a descrifar 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
top related