SlideShare una empresa de Scribd logo
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
INGENIERIA INVERSA
ESTUDIO DE UN CASO PRACTICO
SOBRE SMARTCARDS
IV Jornadas Telemáticas del KASLab 2006
Ramiro Pareja
Tech For Fun (www.t4f.org)
ramiropareja@ieee.org
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
DISCLAIMER
● Esta informacion es EXCLUSIVAMENTE
para fines educativos.
● El autor no se responsabiliza del uso que
pueda hacerse de ella.
● Durante la realizacion del siguiente “hack” en
ningun momento se quebranto la ley. No se
produjo ningun perjuicio ni se recibio ningun
beneficio.
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
DISCLAIMER
● Todo lo aqui expuesto es pura ficcion
producto de mi perfida y perturbada
imaginacion.
● Nunca se realizo dicho “hack”
● Las fotos y videos son falsos, generadas por
ordenador.
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
INGENIERIA INVERSA
INTRODUCCION
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
DEFINICION DE INGENIERIA
INVERSA
Proceso de obtencion de informacion tecnica a partir
de un producto accesible al publico, con el fin de
determinar de que esta hecho, que lo hace funcionar
y como fue fabricado (wikipedia)
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
POR QUE SE LLAMA
INGENIERIA INVERSA?
● Objetivos y medios contrarios
– INGENIERIA: Desarrollo de un producto a partir de
unas especificaciones dadas, usando para ello los
recursos disponibles.
– ING. INVERSA: A partir de un producto, deduccion
de las especificaciones que cumple y los recursos
usados para ello.
● Proceso de implementacion invertido (cuestionable!)
– INGENIERIA: De lo concreto a lo abstracto
– ING. INVERSA: De lo abstracto a lo concreto
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
PROCESO DE INGENIERIA
(IMPLEMENTACION)
● Los distintos componentes se van juntando
para realizar funciones cada mas complejas
hasta llegar al producto final (Abstraccion)
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
PROCESO DE INGENIERIA
(IMPLEMENTACION)
● Los distintos componentes se van juntando
para realizar funciones cada mas complejas
hasta llegar al producto final (Abstraccion)
Modulo 1
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
PROCESO DE INGENIERIA
(IMPLEMENTACION)
● Los distintos componentes se van juntando
para realizar funciones cada mas complejas
hasta llegar al producto final (Abstraccion)
Modulo 1
Modulo 2
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
PROCESO DE INGENIERIA
(IMPLEMENTACION)
● Los distintos componentes se van juntando
para realizar funciones cada mas complejas
hasta llegar al producto final (Abstraccion)
Modulo 3
Modulo 1
Modulo 2
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
PROCESO DE INGENIERIA
(IMPLEMENTACION)
● Los distintos componentes se van juntando
para realizar funciones cada mas complejas
hasta llegar al producto final (Abstraccion)
Modulo 3
Modulo 1
Modulo 2
Modulo 7
Modulo 4
Modulo 5Modulo 6
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
PROCESO DE INGENIERIA
(IMPLEMENTACION)
● Los distintos componentes se van juntando
para realizar funciones cada mas complejas
hasta llegar al producto final (Abstraccion)
Modulo 3
Modulo 1
Modulo 2
Modulo 7
Modulo 4
Modulo 5Modulo 6
Modulo 8
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
PROCESO DE INGENIERIA
(IMPLEMENTACION)
● Los distintos componentes se van juntando
para realizar funciones cada mas complejas
hasta llegar al producto final (Abstraccion)
Producto
Modulo 3
Modulo 1
Modulo 2
Modulo 7
Modulo 4
Modulo 5Modulo 6
Modulo 8
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
PROCESO DE ING. INVERSA
(IMPLEMENTACION)
● Del producto final, separamos y analizamos
individualmente los distintos componentes
para encontrar su funcion (Concretizacion)
Producto
Modulo 3
Modulo 1
Modulo 2
Modulo 7
Modulo 4
Modulo 5Modulo 6
Modulo 8
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
PROCESO DE ING. INVERSA
(IMPLEMENTACION)
● Del producto final, separamos y analizamos
individualmente los distintos componentes
para encontrar su funcion (Concretizacion)
Modulo 3
Modulo 1
Modulo 2
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
PROCESO DE ING. INVERSA
(IMPLEMENTACION)
● Del producto final, separamos y analizamos
individualmente los distintos componentes
para encontrar su funcion (Concretizacion)
Modulo 1
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
CAMPOS DE APLICACION
● INDUSTRIA MILITAR (ej: B-29, bomba
atomica, motor a reaccion...)
● INDUSTRIA AUTOMOVILISTICA (ej: motor
2 tiempos)
● HARDWARE (ej: IBM PC)
● SOFTWARE (ej: NETBIOS, MSN, Cracks...)
● ELECTRONICA (ej: Pay-TV, tarjetas
telefonicas, VISA CASH...)
● ....
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
MOTIVACION
● Ilicitas:
– Apropiacion tecnologica
– Economica (explotacion de los resultados)
● Licitas:
– Sustitucion de componentes obsoletos
– Eliminar restricciones impuestas en los
productos
– Auditoria de seguridad
– Comprobar respeto de patentes y licencias
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
MOTIVACION
RETO!
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
INGENIERIA INVERSA
CASO PRACTICO
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
ESCENARIO
● Campus universitario
● Lavanderia de la residencia de estudiantes
● Sistema de pago basado en “smartcards”:
– La tarjeta se recarga de dinero en una maquina
– La tarjeta se inserta en el lector de la lavadora y
se aprieta un boton. El saldo es descontado.
– La lavadora se enciende.
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
ANTECEDENTES
● “Hack”:
– La tarjeta es insertada en el lector, que muestra
el saldo de la misma
– Un trozo de carton es insertado en el lector de
modo que tape los contactos de la tarjeta
– Se aprieta el boton de cobrar el saldo. La
lavadora se enciende pero el saldo no es
descontado
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
ANTECEDENTES
● Fallo de diseño:
– El lector lee el saldo al insertar la tarjeta, pero no
comprueba que se haya descontado el saldo
cuando se le da la orden de hacerlo.
● Solucion:
– Releer el saldo de la tarjeta para comprobar que
se haya descontado antes de permitir el uso de
la lavadora.
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
ANTECEDENTES
● Problema solventado un mes despues de su
“difusion”.
● Conclusiones para un futuro hack?
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
OBJETIVOS
● Comprometer el sistema:
– Obtener servicios a un precio reducido o nulo
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
OBJETIVOS
● Comprometer el sistema:
– Obtener servicios a un precio reducido o nulo
● Vias:
– Recargar la tarjeta
– Falsificar la tarjeta (emulador)
– “Bypass” del “sistema de acceso condicional”
(lector)
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
DONDE SE GUARDA EL
SALDO?
● Localmente?
– La tarjeta guarda el saldo
– Mas barato pero inseguro (falsificable)
– Ej: Visa Cash, tarjetas telefonicas
(antiguamente), tarjetas parquimetros...
– Hack:
● Modificar el saldo
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
DONDE SE GUARDA EL
SALDO?
● Remotamente?
– La tarjeta guarda un ID. El lector consulta el
saldo disponible para dicho ID en una base de
datos remota
– Mas seguro pero costoso (conectividad de los
lectores)
– Ej: Moviles prepago, tarjetas de credito,
videoclubs automaticos, tarjetas telefonicas
(saldo guardado + DB externa)...
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
DONDE SE GUARDA EL
SALDO?
● Remotamente?
– Hack:
● Comprometer la DB (complicado)
● Usar un ID ajeno.
Poco etico ->
Intromision en la privacidad de un tercero
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
DONDE SE GUARDA EL
SALDO?
● Nosotros ya podemos saber donde se
guarda el saldo!!!!
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
DONDE SE GUARDA EL
SALDO?
● Nosotros ya podemos saber donde se
guarda el saldo!!!!
● La experiencia con el lector y el trozo de
carton nos revela que el saldo esta en la
tarjeta.
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
TARJETA “LISTA” O “TONTA”?
● Tarjetas electronicas o “chip”
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
TARJETA “LISTA” O “TONTA”?
– “Smartcards”
● Tarjetas con procesador y memoria
● Recibe y procesa comandos
● Estandar ISO7816:
– Parte 1: Caracteristicas fisicas
– Parte 2: Dimensiones y posiciones de los contactos
– Parte 3: Caracteristicas electricas
– Parte 4: Comandos
– Parte 5 y 6: adjudicacion de identificadores y numeracion
● Ej: tarjetas GSM, tarjetas monedero (VISA Cash),
carnet universitario, tarjetas Pay-Per-View, DNI
electronico...
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
TARJETA “LISTA” O “TONTA”?
– Tarjeta “tonta”
● ISO 7816 parte 1 y 2
● Tarjetas con memoria y sin procesador, pero con
logica de control y (eventualmente) autentificacion
● Ej: Tarjetas cabinas telefonicas, control de acceso y
“fichaje”, videoclubs...
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
TARJETA “LISTA” O “TONTA”?
● Facilidades/dificultades para hacer Ing. Inv.
– “Smartcard”:
● Totalmente Estandarizado:
– Conocemos el protocolo de comunicacion
– Lector estandar
● Procesador -> Criptografia compleja
– Tarjetas “tontas”:
● Ausencia de procesador -> Seguridad nula o minima
● Ausencia estandar:
– Protocolos de comunicaciones desconocidos
– Lector “casero”
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
TARJETA “LISTA” O “TONTA”?
● Para comprobar a que tipo de tarjeta nos
enfrentamos probamos a enviarle un
comando estandar con un lector estandar y
esperamos una respuesta estandar.
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
TARJETA “LISTA” O “TONTA”?
● Para comprobar a que tipo de tarjeta nos
enfrentamos probamos a enviarle un
comando estandar con un lector estandar y
esperamos una respuesta estandar.
ES TONTA!
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
IDENTIFICANDO LA TARJETA
● Existen varias decenas de tarjetas “tontas”
(sincronas) distintas.
● Hacemos una lista de tarjetas con sus
caracteristicas discriminatorias.
● Reducimos dicha lista usando la logica
– Aplicaciones concretas de la tarjeta
– “Truco” del celo en los terminales
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
IDENTIFICANDO LA TARJETA
Derechos de la imagen:
Thomas Hüttner / Karin Mayr
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
EL MODELO DE LA CAJA
NEGRA
● Modelamos el sistema a atacar como una
“caja negra”:
– Datos entran en la caja
– La caja los procesa (se desconoce el como)
– Devuelve los datos procesados por la salida
CAJA
NEGRA
Entradas salidas
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
EL MODELO DE LA CAJA
NEGRA
● Objetivo
– saber como funciona la caja negra (como
procesa los datos de entrada)
● Variando la entrada y analizando la salida
inferimos el funcionamiento de la caja negra
● Problema:
– en este caso, ni siquiera sabemos como se
meten y sacan datos de la tarjeta
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
EL MODELO DE LA CAJA
NEGRA
● Como podemos saber como meter/sacar
datos de la tarjeta?
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
EL MODELO DE LA CAJA
NEGRA
● Como podemos saber como meter/sacar
datos de la tarjeta?
– Analizando las comunicaciones tarjeta – lector
CAJA
NEGRA
Entradas
Salidas
LECTOR
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
ANALISIS DE LA
COMUNICACION
● Hardware y software de diseño propio
utilizado para analizar la comunicacion entre
el lector y la tarjeta
● HARDWARE:
– Analizador logico
● SOFTWARE:
– Logger para el analizador logico (MSDOS)
– Visualizador de logs (Linux / Windows)
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
ANALISIS DE LA
COMUNICACION
.
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
ANALISIS DE LA
COMUNICACION
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
ANALISIS DE LA
COMUNICACION
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
ANALISIS DE
COMUNICACIONES
● Visualizador de logs (ncurses)
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
ANALISIS DE
COMUNICACIONES
● De la visualizacion de los logs y comparando
los cronogramas con los datasheets,
reducimos la lista de tarjetas posibles a dos
candidatas:
SLE 4432
SLE 4442
● Como tenemos los datasheets, nos
ahorramos analizar el protocolo.
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
SLE4432 / SLE4442
● Memoria EEPROM de 256 bytes
● Protocolo de transporte 2-wire
● SLE4442:
– Proteccion contra escritura ilicita mediante un
PIN de 24 bits
● Comandos:
– Lectura / escritura de la memoria
– Autentificar / cambiar PIN (solo SLE4442)
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
CONCRETANDO EL MODELO
DE TARJETA
● Desarrollo de software para el analisis de los
logs. Automaticamente muestra las
secuencias de comandos enviados por el
lector y las respuestas de la tarjeta.
● La presencia de los comandos relacionados
con el PIN confirman que la tarjeta es una
SLE4442
● Este software nos permite conocer el PIN de
la tarjeta
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
EL LECTOR
● Usando la informacion del datasheet se crea
hardware y software para enviar comandos
(lectura, escritura, autentificacion...) a la
tarjeta
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
EL MAPA DE MEMORIA
● MAPA DE MEMORIA: Significado de cada
byte en la memoria de la tarjeta.
● Variamos el saldo de la tarjeta para ver como
varia el contenido de la memoria
– 1 byte -> saldo en BCD
– 4 bytes -> pseudoaleatorio: ¿Checksum?
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
EL MAPA DE MEMORIA
● Comparacion del contenido de la memoria
de varias tarjetas ->
– 2 bytes -> numero de serie de la tarjeta
– 2 bytes -> zona del campus
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
HACKED???
● Procedimiento para recargar:
– Autentificarse ante la tarjeta con el PIN
capturado
– Cambiar el saldo
– Cambiar el checksum (todavia no sabemos
como)
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
OUCH !!!!!
●
EL PIN YA NO MAS ES ACEPTADO
POR LA TARJETA!
● Nuevos logs -> el PIN ha cambiado
● El PIN es distinto para distintos saldos y
distintas tarjetas
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
OUCH !!!!!
●Pese a esto, el sistema esta comprometido:
– Captura del PIN y del contenido de la memoria
para un saldo X (“snapshot”)
– Captura del PIN para saldo 0
– Autentificarse con el PIN para el saldo 0
– Escribir el contenido de la memoria para el saldo
X y cambiar el PIN al del saldo X
●No necesitamos conocer los algoritmos que
generan el PIN ni el checksum. Ni siquiera el
mapa de memoria.
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
PERO QUEREMOS MAS!
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
CRIPTOANALISIS
● Objetivo:
– Determinar la funcion que genera el PIN y el
checksum en a partir del contenido de la
memoria.
● Herramienta: Analisis diferencial
– fijamos los parametros de la funcion excepto
uno, el cual se varia lentamente mientras se
observa la variacion de la salida
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
ANALISIS DIFERENCIAL
● F(B1,B2,B3...) = Funcion a analizar
(ej:generacion PIN)
● B1, B2, B3... = Byte 1, Byte 2, Byte 3...
● Para simplificar supondremos que el saldo
esta guardado en el byte 1:
– F(saldo,B2,B3...)
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
ANALISIS DIFERENCIAL
F(Saldo,B2,B3...)
Saldo
B2
B3
B4
B5...B254
B255
F()
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
ANALISIS DIFERENCIAL
B2
B3
B4
B5...B254
B255
F()
● F(SALDO, B2, B3...) = F'(SALDO,G(B2, B3...))
F'(Saldo,G)G(B2,B3...)
Saldo
G()
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
ANALISIS DIFERENCIAL
K2
K3
K4
K255
F()
● Fijamos todos los parametros menos el saldo:
K = G(K2, K3, K4...)
F'(Saldo,K)G(B2,B3...)
Saldo
K
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
ANALISIS DIFERENCIAL
K2
K3
K4
K255
F()
● F'(SALDO,G(...)) = F'(SALDO,K) = F'(SALDO)
F'(Saldo)G(B2,B3...)
Saldo
K
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
ANALISIS DIFERENCIAL
● Variando el parametro lentamente el
parametro del saldo y observando la salida,
podemos deducir la funcion F':
– Acotacion (maximo, minimo)
– Periodicidad
– Discontinuidades
● Se repite el proceso para los demas
parametros de F
● Si la aportacion de cada parametro a la funcion es independiente de los demas
parametros, el metodo es viable
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
ANALISIS DIFERENCIAL
● Funcion calculo de PIN:
– Lineal -> Algoritmo deducido diferencialmente
● Funcion calculo del checksum:
– Pseudo lineal -> Lineal en segmentos
● Algoritmo deducido para los segmentos lineales
● Algoritmo para predecir los “saltos” no lineales
– En la practica:
● A partir de un checksum valido (ej: el de la tarjeta), se
puede calcular un nuevo checksum para un saldo
distinto dentro de unos margenes de variacion.
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
DEFEATED!
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
CONCLUSION
● Sistema totalmente comprometido en 6 dias:
– Recargar tarjeta
– Emulador
● Autentificacion del lector por PIN no es
suficiente.
● La tarjeta SLE4442 no es segura para
aplicaciones de pago.
Ramiro Pareja (T4F)
Julio 2006
www.t4f.org
CURIOSIDAD
● www.hackaday.com/entry/1234000453073566
● La empresa “Secure Science Corporation” anuncia (3
dias antes de mi hack) a bombo y platillo haber roto el
sistema de pago “ExpressPay” de “Fedex” (SLE4442
con PIN invariante)
● “Secure Science Corporation” recomienda a FEDEX
encriptar el PIN y el saldo para evitar el fraude.
● FALSO! -> Como se ha comentado antes, haciendo un
“snapshot” de la memoria y capturando el PIN el
sistema esta comprometido independientemente de la
criptografia.

Más contenido relacionado

PPT
Playful
PPTX
Hardware Hacking in schools (ACEC2014)
PDF
Intro to Hardware Firmware Hacking
PDF
amrapali builders @@ hardware hacking and robotics using the raspberry pi.pdf
PPTX
Hardware Hacking Primer
PDF
Hardware hacking
PDF
BSides DFW2016-Hack Mode Enabled
PDF
A BEGINNER’S JOURNEY INTO THE WORLD OF HARDWARE HACKING
Playful
Hardware Hacking in schools (ACEC2014)
Intro to Hardware Firmware Hacking
amrapali builders @@ hardware hacking and robotics using the raspberry pi.pdf
Hardware Hacking Primer
Hardware hacking
BSides DFW2016-Hack Mode Enabled
A BEGINNER’S JOURNEY INTO THE WORLD OF HARDWARE HACKING

Destacado (17)

PDF
Coders need to learn hardware hacking NOW
PPTX
Hacker's and painters Hardware Hacking 101 - 10th Oct 2014
PDF
Breaking Bad EACS Implementations
PDF
Arduino Forensics
PPTX
Router forensics
PDF
JTAG Interface (Intro)
PPTX
Hardware hacking 101
PDF
Hardware Reverse Engineering: From Boot to Root
PPTX
PyTriage: A malware analysis framework
PDF
CNIT 126 4: A Crash Course in x86 Disassembly
PDF
Cheap, good, hackable tools from China: AVR component tester
PDF
FSEC 2014 - I can haz your board with JTAG
PDF
Raspberry Pi - best friend for all your GPIO needs
PDF
Hardware hacking for software people
PDF
Let's hack cheap hardware 2016 edition
PDF
CNIT 126 5: IDA Pro
PPTX
Joint Presentation - Part 1: The Future Evolution of E-Banking & Cyber Securi...
Coders need to learn hardware hacking NOW
Hacker's and painters Hardware Hacking 101 - 10th Oct 2014
Breaking Bad EACS Implementations
Arduino Forensics
Router forensics
JTAG Interface (Intro)
Hardware hacking 101
Hardware Reverse Engineering: From Boot to Root
PyTriage: A malware analysis framework
CNIT 126 4: A Crash Course in x86 Disassembly
Cheap, good, hackable tools from China: AVR component tester
FSEC 2014 - I can haz your board with JTAG
Raspberry Pi - best friend for all your GPIO needs
Hardware hacking for software people
Let's hack cheap hardware 2016 edition
CNIT 126 5: IDA Pro
Joint Presentation - Part 1: The Future Evolution of E-Banking & Cyber Securi...

Similar a Hardware Hacking caso práctico Ingeniería Inversa Smartcards (20)

PDF
[2020] hc0n - black frauday: destapando redes de comercios online - ivan por...
PDF
A Case Saved by Network Forensics: Charla "el día no deseado"
PDF
TotoConf2020 - Técnicas OSINT que te dejarán con el PAPO torcido
PPTX
T3ch fest leganes_final
PDF
Paper VISIO 2016 - Inteligencia con Propiedad y viceversa
PDF
David Barroso - iPhone + Botnets = FUN! [RootedCON 2010]
PDF
Transformación Digital en el Pequeño Comercio. Visión 2025
PDF
#MoJo. Santiago Hernández (RTVE)
PDF
Universidad de Cádiz - Casos Practicos #opendata
PDF
UD1 - HARDWARE Y SOFTWARE
PDF
Seminario UNIR Protección Propiedad Industrial
PPTX
PRESENTACION RFID EN EXPOCARGAS 2013 MEXICO
PPT
La web 2.0 no existe
PDF
Tutorial "Com crear Codi QR"
PDF
Diapositivas charla HoneyCON 2018
PDF
Celular, un testigo silencioso
PDF
Machine Learning ¿A TODO GAS? con GraalVM
PDF
Catálogo EPY Electrónica 3D Mayo 2024.pdf
PDF
Computer hoy nº 438 17 julio (2015)
PDF
COMPUTACIÓN HOY
[2020] hc0n - black frauday: destapando redes de comercios online - ivan por...
A Case Saved by Network Forensics: Charla "el día no deseado"
TotoConf2020 - Técnicas OSINT que te dejarán con el PAPO torcido
T3ch fest leganes_final
Paper VISIO 2016 - Inteligencia con Propiedad y viceversa
David Barroso - iPhone + Botnets = FUN! [RootedCON 2010]
Transformación Digital en el Pequeño Comercio. Visión 2025
#MoJo. Santiago Hernández (RTVE)
Universidad de Cádiz - Casos Practicos #opendata
UD1 - HARDWARE Y SOFTWARE
Seminario UNIR Protección Propiedad Industrial
PRESENTACION RFID EN EXPOCARGAS 2013 MEXICO
La web 2.0 no existe
Tutorial "Com crear Codi QR"
Diapositivas charla HoneyCON 2018
Celular, un testigo silencioso
Machine Learning ¿A TODO GAS? con GraalVM
Catálogo EPY Electrónica 3D Mayo 2024.pdf
Computer hoy nº 438 17 julio (2015)
COMPUTACIÓN HOY

Último (20)

PPT
357161027-seguridad-industrial-diapositivas-ppt.ppt
PDF
5 Presentación de PowerPointGENERACIÓN DESECHOS UIS 18-02-2023 (1).pdf
PPTX
NILS actividad 4 PRESENTACION.pptx pppppp
PDF
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
PDF
Oficio SEC 293416 Comision Investigadora
PDF
Primera formulación de cargos de la SEC en contra del CEN
PDF
Oficio SEC de formulación de cargos por el apagón del 25F en contra del CEN
PPTX
Notificacion e investigación de incidentes y accidentes de trabajo.pptx
PPTX
MODULO 2. METODOLOGIAS PARA ANALISIS DE RIESGOS 2da Parte.pptx
PDF
Módulo-de Alcance-proyectos - Definición.pdf
PDF
Sustitucion_del_maiz_por_harina_integral_de_zapall.pdf
PDF
HISTORIA DE LA GRÚAA LO LARGO DE LOS TIEMPOSpdf
PPT
PRIMEROS AUXILIOS EN EL SECTOR EMPRESARIAL
PPT
tema DISEÑO ORGANIZACIONAL UNIDAD 1 A.ppt
PDF
manual-electricidad-automotriz-sistemas-electricos-bateria-alumbrado-iluminac...
DOC
informacion acerca de la crianza tecnificada de cerdos
PPT
Sustancias Peligrosas de empresas para su correcto manejo
PDF
FIJA NUEVO TEXTO DE LA ORDENANZA GENERAL DE LA LEY GENERAL DE URBANISMO Y CON...
PDF
Perfilaje de Pozos _20250624_222013_0000.pdf
PPTX
clase MICROCONTROLADORES ago-dic 2019.pptx
357161027-seguridad-industrial-diapositivas-ppt.ppt
5 Presentación de PowerPointGENERACIÓN DESECHOS UIS 18-02-2023 (1).pdf
NILS actividad 4 PRESENTACION.pptx pppppp
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
Oficio SEC 293416 Comision Investigadora
Primera formulación de cargos de la SEC en contra del CEN
Oficio SEC de formulación de cargos por el apagón del 25F en contra del CEN
Notificacion e investigación de incidentes y accidentes de trabajo.pptx
MODULO 2. METODOLOGIAS PARA ANALISIS DE RIESGOS 2da Parte.pptx
Módulo-de Alcance-proyectos - Definición.pdf
Sustitucion_del_maiz_por_harina_integral_de_zapall.pdf
HISTORIA DE LA GRÚAA LO LARGO DE LOS TIEMPOSpdf
PRIMEROS AUXILIOS EN EL SECTOR EMPRESARIAL
tema DISEÑO ORGANIZACIONAL UNIDAD 1 A.ppt
manual-electricidad-automotriz-sistemas-electricos-bateria-alumbrado-iluminac...
informacion acerca de la crianza tecnificada de cerdos
Sustancias Peligrosas de empresas para su correcto manejo
FIJA NUEVO TEXTO DE LA ORDENANZA GENERAL DE LA LEY GENERAL DE URBANISMO Y CON...
Perfilaje de Pozos _20250624_222013_0000.pdf
clase MICROCONTROLADORES ago-dic 2019.pptx

Hardware Hacking caso práctico Ingeniería Inversa Smartcards

  • 1. Ramiro Pareja (T4F) Julio 2006 www.t4f.org INGENIERIA INVERSA ESTUDIO DE UN CASO PRACTICO SOBRE SMARTCARDS IV Jornadas Telemáticas del KASLab 2006 Ramiro Pareja Tech For Fun (www.t4f.org) ramiropareja@ieee.org
  • 2. Ramiro Pareja (T4F) Julio 2006 www.t4f.org DISCLAIMER ● Esta informacion es EXCLUSIVAMENTE para fines educativos. ● El autor no se responsabiliza del uso que pueda hacerse de ella. ● Durante la realizacion del siguiente “hack” en ningun momento se quebranto la ley. No se produjo ningun perjuicio ni se recibio ningun beneficio.
  • 3. Ramiro Pareja (T4F) Julio 2006 www.t4f.org DISCLAIMER ● Todo lo aqui expuesto es pura ficcion producto de mi perfida y perturbada imaginacion. ● Nunca se realizo dicho “hack” ● Las fotos y videos son falsos, generadas por ordenador.
  • 4. Ramiro Pareja (T4F) Julio 2006 www.t4f.org INGENIERIA INVERSA INTRODUCCION
  • 5. Ramiro Pareja (T4F) Julio 2006 www.t4f.org DEFINICION DE INGENIERIA INVERSA Proceso de obtencion de informacion tecnica a partir de un producto accesible al publico, con el fin de determinar de que esta hecho, que lo hace funcionar y como fue fabricado (wikipedia)
  • 6. Ramiro Pareja (T4F) Julio 2006 www.t4f.org POR QUE SE LLAMA INGENIERIA INVERSA? ● Objetivos y medios contrarios – INGENIERIA: Desarrollo de un producto a partir de unas especificaciones dadas, usando para ello los recursos disponibles. – ING. INVERSA: A partir de un producto, deduccion de las especificaciones que cumple y los recursos usados para ello. ● Proceso de implementacion invertido (cuestionable!) – INGENIERIA: De lo concreto a lo abstracto – ING. INVERSA: De lo abstracto a lo concreto
  • 7. Ramiro Pareja (T4F) Julio 2006 www.t4f.org PROCESO DE INGENIERIA (IMPLEMENTACION) ● Los distintos componentes se van juntando para realizar funciones cada mas complejas hasta llegar al producto final (Abstraccion)
  • 8. Ramiro Pareja (T4F) Julio 2006 www.t4f.org PROCESO DE INGENIERIA (IMPLEMENTACION) ● Los distintos componentes se van juntando para realizar funciones cada mas complejas hasta llegar al producto final (Abstraccion) Modulo 1
  • 9. Ramiro Pareja (T4F) Julio 2006 www.t4f.org PROCESO DE INGENIERIA (IMPLEMENTACION) ● Los distintos componentes se van juntando para realizar funciones cada mas complejas hasta llegar al producto final (Abstraccion) Modulo 1 Modulo 2
  • 10. Ramiro Pareja (T4F) Julio 2006 www.t4f.org PROCESO DE INGENIERIA (IMPLEMENTACION) ● Los distintos componentes se van juntando para realizar funciones cada mas complejas hasta llegar al producto final (Abstraccion) Modulo 3 Modulo 1 Modulo 2
  • 11. Ramiro Pareja (T4F) Julio 2006 www.t4f.org PROCESO DE INGENIERIA (IMPLEMENTACION) ● Los distintos componentes se van juntando para realizar funciones cada mas complejas hasta llegar al producto final (Abstraccion) Modulo 3 Modulo 1 Modulo 2 Modulo 7 Modulo 4 Modulo 5Modulo 6
  • 12. Ramiro Pareja (T4F) Julio 2006 www.t4f.org PROCESO DE INGENIERIA (IMPLEMENTACION) ● Los distintos componentes se van juntando para realizar funciones cada mas complejas hasta llegar al producto final (Abstraccion) Modulo 3 Modulo 1 Modulo 2 Modulo 7 Modulo 4 Modulo 5Modulo 6 Modulo 8
  • 13. Ramiro Pareja (T4F) Julio 2006 www.t4f.org PROCESO DE INGENIERIA (IMPLEMENTACION) ● Los distintos componentes se van juntando para realizar funciones cada mas complejas hasta llegar al producto final (Abstraccion) Producto Modulo 3 Modulo 1 Modulo 2 Modulo 7 Modulo 4 Modulo 5Modulo 6 Modulo 8
  • 14. Ramiro Pareja (T4F) Julio 2006 www.t4f.org PROCESO DE ING. INVERSA (IMPLEMENTACION) ● Del producto final, separamos y analizamos individualmente los distintos componentes para encontrar su funcion (Concretizacion) Producto Modulo 3 Modulo 1 Modulo 2 Modulo 7 Modulo 4 Modulo 5Modulo 6 Modulo 8
  • 15. Ramiro Pareja (T4F) Julio 2006 www.t4f.org PROCESO DE ING. INVERSA (IMPLEMENTACION) ● Del producto final, separamos y analizamos individualmente los distintos componentes para encontrar su funcion (Concretizacion) Modulo 3 Modulo 1 Modulo 2
  • 16. Ramiro Pareja (T4F) Julio 2006 www.t4f.org PROCESO DE ING. INVERSA (IMPLEMENTACION) ● Del producto final, separamos y analizamos individualmente los distintos componentes para encontrar su funcion (Concretizacion) Modulo 1
  • 17. Ramiro Pareja (T4F) Julio 2006 www.t4f.org CAMPOS DE APLICACION ● INDUSTRIA MILITAR (ej: B-29, bomba atomica, motor a reaccion...) ● INDUSTRIA AUTOMOVILISTICA (ej: motor 2 tiempos) ● HARDWARE (ej: IBM PC) ● SOFTWARE (ej: NETBIOS, MSN, Cracks...) ● ELECTRONICA (ej: Pay-TV, tarjetas telefonicas, VISA CASH...) ● ....
  • 18. Ramiro Pareja (T4F) Julio 2006 www.t4f.org MOTIVACION ● Ilicitas: – Apropiacion tecnologica – Economica (explotacion de los resultados) ● Licitas: – Sustitucion de componentes obsoletos – Eliminar restricciones impuestas en los productos – Auditoria de seguridad – Comprobar respeto de patentes y licencias
  • 19. Ramiro Pareja (T4F) Julio 2006 www.t4f.org MOTIVACION RETO!
  • 20. Ramiro Pareja (T4F) Julio 2006 www.t4f.org INGENIERIA INVERSA CASO PRACTICO
  • 21. Ramiro Pareja (T4F) Julio 2006 www.t4f.org ESCENARIO ● Campus universitario ● Lavanderia de la residencia de estudiantes ● Sistema de pago basado en “smartcards”: – La tarjeta se recarga de dinero en una maquina – La tarjeta se inserta en el lector de la lavadora y se aprieta un boton. El saldo es descontado. – La lavadora se enciende.
  • 22. Ramiro Pareja (T4F) Julio 2006 www.t4f.org ANTECEDENTES ● “Hack”: – La tarjeta es insertada en el lector, que muestra el saldo de la misma – Un trozo de carton es insertado en el lector de modo que tape los contactos de la tarjeta – Se aprieta el boton de cobrar el saldo. La lavadora se enciende pero el saldo no es descontado
  • 23. Ramiro Pareja (T4F) Julio 2006 www.t4f.org ANTECEDENTES ● Fallo de diseño: – El lector lee el saldo al insertar la tarjeta, pero no comprueba que se haya descontado el saldo cuando se le da la orden de hacerlo. ● Solucion: – Releer el saldo de la tarjeta para comprobar que se haya descontado antes de permitir el uso de la lavadora.
  • 24. Ramiro Pareja (T4F) Julio 2006 www.t4f.org ANTECEDENTES ● Problema solventado un mes despues de su “difusion”. ● Conclusiones para un futuro hack?
  • 25. Ramiro Pareja (T4F) Julio 2006 www.t4f.org OBJETIVOS ● Comprometer el sistema: – Obtener servicios a un precio reducido o nulo
  • 26. Ramiro Pareja (T4F) Julio 2006 www.t4f.org OBJETIVOS ● Comprometer el sistema: – Obtener servicios a un precio reducido o nulo ● Vias: – Recargar la tarjeta – Falsificar la tarjeta (emulador) – “Bypass” del “sistema de acceso condicional” (lector)
  • 27. Ramiro Pareja (T4F) Julio 2006 www.t4f.org DONDE SE GUARDA EL SALDO? ● Localmente? – La tarjeta guarda el saldo – Mas barato pero inseguro (falsificable) – Ej: Visa Cash, tarjetas telefonicas (antiguamente), tarjetas parquimetros... – Hack: ● Modificar el saldo
  • 28. Ramiro Pareja (T4F) Julio 2006 www.t4f.org DONDE SE GUARDA EL SALDO? ● Remotamente? – La tarjeta guarda un ID. El lector consulta el saldo disponible para dicho ID en una base de datos remota – Mas seguro pero costoso (conectividad de los lectores) – Ej: Moviles prepago, tarjetas de credito, videoclubs automaticos, tarjetas telefonicas (saldo guardado + DB externa)...
  • 29. Ramiro Pareja (T4F) Julio 2006 www.t4f.org DONDE SE GUARDA EL SALDO? ● Remotamente? – Hack: ● Comprometer la DB (complicado) ● Usar un ID ajeno. Poco etico -> Intromision en la privacidad de un tercero
  • 30. Ramiro Pareja (T4F) Julio 2006 www.t4f.org DONDE SE GUARDA EL SALDO? ● Nosotros ya podemos saber donde se guarda el saldo!!!!
  • 31. Ramiro Pareja (T4F) Julio 2006 www.t4f.org DONDE SE GUARDA EL SALDO? ● Nosotros ya podemos saber donde se guarda el saldo!!!! ● La experiencia con el lector y el trozo de carton nos revela que el saldo esta en la tarjeta.
  • 32. Ramiro Pareja (T4F) Julio 2006 www.t4f.org TARJETA “LISTA” O “TONTA”? ● Tarjetas electronicas o “chip”
  • 33. Ramiro Pareja (T4F) Julio 2006 www.t4f.org TARJETA “LISTA” O “TONTA”? – “Smartcards” ● Tarjetas con procesador y memoria ● Recibe y procesa comandos ● Estandar ISO7816: – Parte 1: Caracteristicas fisicas – Parte 2: Dimensiones y posiciones de los contactos – Parte 3: Caracteristicas electricas – Parte 4: Comandos – Parte 5 y 6: adjudicacion de identificadores y numeracion ● Ej: tarjetas GSM, tarjetas monedero (VISA Cash), carnet universitario, tarjetas Pay-Per-View, DNI electronico...
  • 34. Ramiro Pareja (T4F) Julio 2006 www.t4f.org TARJETA “LISTA” O “TONTA”? – Tarjeta “tonta” ● ISO 7816 parte 1 y 2 ● Tarjetas con memoria y sin procesador, pero con logica de control y (eventualmente) autentificacion ● Ej: Tarjetas cabinas telefonicas, control de acceso y “fichaje”, videoclubs...
  • 35. Ramiro Pareja (T4F) Julio 2006 www.t4f.org TARJETA “LISTA” O “TONTA”? ● Facilidades/dificultades para hacer Ing. Inv. – “Smartcard”: ● Totalmente Estandarizado: – Conocemos el protocolo de comunicacion – Lector estandar ● Procesador -> Criptografia compleja – Tarjetas “tontas”: ● Ausencia de procesador -> Seguridad nula o minima ● Ausencia estandar: – Protocolos de comunicaciones desconocidos – Lector “casero”
  • 36. Ramiro Pareja (T4F) Julio 2006 www.t4f.org TARJETA “LISTA” O “TONTA”? ● Para comprobar a que tipo de tarjeta nos enfrentamos probamos a enviarle un comando estandar con un lector estandar y esperamos una respuesta estandar.
  • 37. Ramiro Pareja (T4F) Julio 2006 www.t4f.org TARJETA “LISTA” O “TONTA”? ● Para comprobar a que tipo de tarjeta nos enfrentamos probamos a enviarle un comando estandar con un lector estandar y esperamos una respuesta estandar. ES TONTA!
  • 38. Ramiro Pareja (T4F) Julio 2006 www.t4f.org IDENTIFICANDO LA TARJETA ● Existen varias decenas de tarjetas “tontas” (sincronas) distintas. ● Hacemos una lista de tarjetas con sus caracteristicas discriminatorias. ● Reducimos dicha lista usando la logica – Aplicaciones concretas de la tarjeta – “Truco” del celo en los terminales
  • 39. Ramiro Pareja (T4F) Julio 2006 www.t4f.org IDENTIFICANDO LA TARJETA Derechos de la imagen: Thomas Hüttner / Karin Mayr
  • 40. Ramiro Pareja (T4F) Julio 2006 www.t4f.org EL MODELO DE LA CAJA NEGRA ● Modelamos el sistema a atacar como una “caja negra”: – Datos entran en la caja – La caja los procesa (se desconoce el como) – Devuelve los datos procesados por la salida CAJA NEGRA Entradas salidas
  • 41. Ramiro Pareja (T4F) Julio 2006 www.t4f.org EL MODELO DE LA CAJA NEGRA ● Objetivo – saber como funciona la caja negra (como procesa los datos de entrada) ● Variando la entrada y analizando la salida inferimos el funcionamiento de la caja negra ● Problema: – en este caso, ni siquiera sabemos como se meten y sacan datos de la tarjeta
  • 42. Ramiro Pareja (T4F) Julio 2006 www.t4f.org EL MODELO DE LA CAJA NEGRA ● Como podemos saber como meter/sacar datos de la tarjeta?
  • 43. Ramiro Pareja (T4F) Julio 2006 www.t4f.org EL MODELO DE LA CAJA NEGRA ● Como podemos saber como meter/sacar datos de la tarjeta? – Analizando las comunicaciones tarjeta – lector CAJA NEGRA Entradas Salidas LECTOR
  • 44. Ramiro Pareja (T4F) Julio 2006 www.t4f.org ANALISIS DE LA COMUNICACION ● Hardware y software de diseño propio utilizado para analizar la comunicacion entre el lector y la tarjeta ● HARDWARE: – Analizador logico ● SOFTWARE: – Logger para el analizador logico (MSDOS) – Visualizador de logs (Linux / Windows)
  • 45. Ramiro Pareja (T4F) Julio 2006 www.t4f.org ANALISIS DE LA COMUNICACION .
  • 46. Ramiro Pareja (T4F) Julio 2006 www.t4f.org ANALISIS DE LA COMUNICACION
  • 47. Ramiro Pareja (T4F) Julio 2006 www.t4f.org ANALISIS DE LA COMUNICACION
  • 48. Ramiro Pareja (T4F) Julio 2006 www.t4f.org ANALISIS DE COMUNICACIONES ● Visualizador de logs (ncurses)
  • 49. Ramiro Pareja (T4F) Julio 2006 www.t4f.org ANALISIS DE COMUNICACIONES ● De la visualizacion de los logs y comparando los cronogramas con los datasheets, reducimos la lista de tarjetas posibles a dos candidatas: SLE 4432 SLE 4442 ● Como tenemos los datasheets, nos ahorramos analizar el protocolo.
  • 50. Ramiro Pareja (T4F) Julio 2006 www.t4f.org SLE4432 / SLE4442 ● Memoria EEPROM de 256 bytes ● Protocolo de transporte 2-wire ● SLE4442: – Proteccion contra escritura ilicita mediante un PIN de 24 bits ● Comandos: – Lectura / escritura de la memoria – Autentificar / cambiar PIN (solo SLE4442)
  • 51. Ramiro Pareja (T4F) Julio 2006 www.t4f.org CONCRETANDO EL MODELO DE TARJETA ● Desarrollo de software para el analisis de los logs. Automaticamente muestra las secuencias de comandos enviados por el lector y las respuestas de la tarjeta. ● La presencia de los comandos relacionados con el PIN confirman que la tarjeta es una SLE4442 ● Este software nos permite conocer el PIN de la tarjeta
  • 52. Ramiro Pareja (T4F) Julio 2006 www.t4f.org EL LECTOR ● Usando la informacion del datasheet se crea hardware y software para enviar comandos (lectura, escritura, autentificacion...) a la tarjeta
  • 53. Ramiro Pareja (T4F) Julio 2006 www.t4f.org EL MAPA DE MEMORIA ● MAPA DE MEMORIA: Significado de cada byte en la memoria de la tarjeta. ● Variamos el saldo de la tarjeta para ver como varia el contenido de la memoria – 1 byte -> saldo en BCD – 4 bytes -> pseudoaleatorio: ¿Checksum?
  • 54. Ramiro Pareja (T4F) Julio 2006 www.t4f.org EL MAPA DE MEMORIA ● Comparacion del contenido de la memoria de varias tarjetas -> – 2 bytes -> numero de serie de la tarjeta – 2 bytes -> zona del campus
  • 55. Ramiro Pareja (T4F) Julio 2006 www.t4f.org HACKED??? ● Procedimiento para recargar: – Autentificarse ante la tarjeta con el PIN capturado – Cambiar el saldo – Cambiar el checksum (todavia no sabemos como)
  • 56. Ramiro Pareja (T4F) Julio 2006 www.t4f.org OUCH !!!!! ● EL PIN YA NO MAS ES ACEPTADO POR LA TARJETA! ● Nuevos logs -> el PIN ha cambiado ● El PIN es distinto para distintos saldos y distintas tarjetas
  • 57. Ramiro Pareja (T4F) Julio 2006 www.t4f.org OUCH !!!!! ●Pese a esto, el sistema esta comprometido: – Captura del PIN y del contenido de la memoria para un saldo X (“snapshot”) – Captura del PIN para saldo 0 – Autentificarse con el PIN para el saldo 0 – Escribir el contenido de la memoria para el saldo X y cambiar el PIN al del saldo X ●No necesitamos conocer los algoritmos que generan el PIN ni el checksum. Ni siquiera el mapa de memoria.
  • 58. Ramiro Pareja (T4F) Julio 2006 www.t4f.org PERO QUEREMOS MAS!
  • 59. Ramiro Pareja (T4F) Julio 2006 www.t4f.org CRIPTOANALISIS ● Objetivo: – Determinar la funcion que genera el PIN y el checksum en a partir del contenido de la memoria. ● Herramienta: Analisis diferencial – fijamos los parametros de la funcion excepto uno, el cual se varia lentamente mientras se observa la variacion de la salida
  • 60. Ramiro Pareja (T4F) Julio 2006 www.t4f.org ANALISIS DIFERENCIAL ● F(B1,B2,B3...) = Funcion a analizar (ej:generacion PIN) ● B1, B2, B3... = Byte 1, Byte 2, Byte 3... ● Para simplificar supondremos que el saldo esta guardado en el byte 1: – F(saldo,B2,B3...)
  • 61. Ramiro Pareja (T4F) Julio 2006 www.t4f.org ANALISIS DIFERENCIAL F(Saldo,B2,B3...) Saldo B2 B3 B4 B5...B254 B255 F()
  • 62. Ramiro Pareja (T4F) Julio 2006 www.t4f.org ANALISIS DIFERENCIAL B2 B3 B4 B5...B254 B255 F() ● F(SALDO, B2, B3...) = F'(SALDO,G(B2, B3...)) F'(Saldo,G)G(B2,B3...) Saldo G()
  • 63. Ramiro Pareja (T4F) Julio 2006 www.t4f.org ANALISIS DIFERENCIAL K2 K3 K4 K255 F() ● Fijamos todos los parametros menos el saldo: K = G(K2, K3, K4...) F'(Saldo,K)G(B2,B3...) Saldo K
  • 64. Ramiro Pareja (T4F) Julio 2006 www.t4f.org ANALISIS DIFERENCIAL K2 K3 K4 K255 F() ● F'(SALDO,G(...)) = F'(SALDO,K) = F'(SALDO) F'(Saldo)G(B2,B3...) Saldo K
  • 65. Ramiro Pareja (T4F) Julio 2006 www.t4f.org ANALISIS DIFERENCIAL ● Variando el parametro lentamente el parametro del saldo y observando la salida, podemos deducir la funcion F': – Acotacion (maximo, minimo) – Periodicidad – Discontinuidades ● Se repite el proceso para los demas parametros de F ● Si la aportacion de cada parametro a la funcion es independiente de los demas parametros, el metodo es viable
  • 66. Ramiro Pareja (T4F) Julio 2006 www.t4f.org ANALISIS DIFERENCIAL ● Funcion calculo de PIN: – Lineal -> Algoritmo deducido diferencialmente ● Funcion calculo del checksum: – Pseudo lineal -> Lineal en segmentos ● Algoritmo deducido para los segmentos lineales ● Algoritmo para predecir los “saltos” no lineales – En la practica: ● A partir de un checksum valido (ej: el de la tarjeta), se puede calcular un nuevo checksum para un saldo distinto dentro de unos margenes de variacion.
  • 67. Ramiro Pareja (T4F) Julio 2006 www.t4f.org DEFEATED!
  • 68. Ramiro Pareja (T4F) Julio 2006 www.t4f.org CONCLUSION ● Sistema totalmente comprometido en 6 dias: – Recargar tarjeta – Emulador ● Autentificacion del lector por PIN no es suficiente. ● La tarjeta SLE4442 no es segura para aplicaciones de pago.
  • 69. Ramiro Pareja (T4F) Julio 2006 www.t4f.org CURIOSIDAD ● www.hackaday.com/entry/1234000453073566 ● La empresa “Secure Science Corporation” anuncia (3 dias antes de mi hack) a bombo y platillo haber roto el sistema de pago “ExpressPay” de “Fedex” (SLE4442 con PIN invariante) ● “Secure Science Corporation” recomienda a FEDEX encriptar el PIN y el saldo para evitar el fraude. ● FALSO! -> Como se ha comentado antes, haciendo un “snapshot” de la memoria y capturando el PIN el sistema esta comprometido independientemente de la criptografia.