SlideShare una empresa de Scribd logo
1 de 37
Descargar para leer sin conexión
Hacking hardware en
sistemas empotrados
Atacando a la “seguridad por oscuridad”
#CyberCamp19
Índice
1.Extrayendo la información oculta
a) Accediendo al hardware
b) Accediendo a la información contenida en el
hardware.
2. Dándole uso a la información obtenida.
1.
Extracción de la información
Tomás García-Merás
#CyberCamp19
Dificultando la identificación de los elementos de
seguridad y el acceso a ellos
Resinas epoxy o similares
Las resinas expoxy o similares se
usan con frecuencia para esconder
los componentes electrónicos.
Estas resinas son extremadamente
duras una vez solidificadas, pero
pueden retirarse:
• Con aire caliente (> 400 ºC).
• Con químicos (decapante, butil-
glicol, etc.), si bien pueden tardar
días en reblandecer la resina.
• No conviene usar ultrasonidos
(pueden dañar las conexiones
internas).
Resinas epoxy o similares
Otra práctica es raspar su superficie
para que no podamos identificar el
componente. En este caso las técnicas
son: Identificador eléctrico (verificable
con una programadora), por marcas que
no hayan borrado (reverso...), decap e
inspección al microscopio, identificando
el código (si usa ROM externa), etc.
Resinas epoxy o similares
Resinas epoxy o similares: ¿Rayos X?
Útil para identificar dispositivos
suicidas o de tipo NVRAM
antes de iniciar la intrusión
Componentes a medida o indocumentados
Muchas veces el fabricante empaqueta un
componente común con un etiquetado propio.
Las formas de identificarlo son similares a
cuando encontramos un chip raspado:
• Decap, identificador eléctrico, inspección de
ROM externas o conexionado con otros
componentes, etc.
En otras, se usan componentes poco comunes de los cuales
no hay documentación. En estos casos las opciones se
reducen al decap o a intentar obtener información del
fabricante mediante ingeniería social.
La mayoría de los componentes que contienen y ejecutan lógica (MCU, PIC,
PLD/FPGA, etc.) tienen medidas de protección que impiden leer su ROM
interna.
En estos casos tenemos distintas estrategias para volcar esa ROM:
• Troyanos
• Glitching eléctrico no invasivo.
• Fuerza bruta (solo para componentes muy concretos).
• Decap:
• Visual.
• Máscara UV.
• Glitch láser.
• Microprobing.
• Etc.
Chips protegidos
• Los componentes de seguridad más
comunes son completamente
“autocontenidos”: Contienen de forma
interna todo lo que necesitan para funcionar
(ROM, RAM, CPU, etc.).
• El problema no es escribir un troyano, el
problema es cómo inyectarlo en un
componente completamente estanco.
• Es necesario revisar las interactuaciones del
componente con el resto de la electrónica,
buscando un fallo de diseño que permita
ejecutar código externo privilegiado… Y la
forma en la que este pueda extraer
información al exterior.
Chips protegidos: Troyanos
Chips protegidos: Troyanos
• Ciertos dispositivos “se suicidan” cuando
detectan un intento de intrusión, borrando
todo su contenido.
• La forma más común es una NVRAM con una
batería, en un diseño pensado para que
cualquier alteración física o eléctrica corta la
corriente de la batería causando el borrado
inmediato e irremediable de la NVRAM.
• En casos más sofisticados, y para evitar
ataques mediante glitching eléctrico, el chip
borra sus datos al detectar condiciones
eléctricas anómalas.
• Por ejemplo, el DNIe borra su memoria volátil
cuando el voltaje sube o baja más allá de los
niveles de tolerancia configurados.
Chips protegidos: Dispositivos suicidas
• Consiste en explotar debilidades en
el diseño de los chips para extraer la
información de su interior.
• En muchos casos se busca un
comportamiento “anómalo” del chip
aplicando tensiones fuera de rango,
campos magnéticos, luz ionizante, etc.
• Hay dispositivos con funciones de
“test” que a veces exponen mas
funcionalidad de la deseable.
• En cualquier caso, el descubrir
nuevos glitches requiere un
conocimiento íntimo del hardware y
una extensa experiencia.
Chips protegidos: Glitching
Un inciso: El bit de protección
• Muchos dispositivos protegidos (MCU, PIC, PLD, etc.) tienen un “bit de
protección” que cuando se establece no permite la lectura interna de la
información que contiene (la ROM).
• En los dispositivos regrabables, este bit se reinicia cuando se borra por
completo, dejando así la protección abierta, pero también toda la información
borrada.
• Este borrado/reinicio puede ser mediante exposición directa a la luz
ultravioleta (dispositivos “con ventanita”) o por medios eléctricos.
• En los dispositivos no reutilizables, una vez se establece este bit, no hay
forma de cambiar su valor ni reiniciarlo.
• En muchos de estos casos este bit es un fusible físico: Una conexión que
se rompe físicamente aplicando un voltaje superior al normal o por un
medio similar.
Chips protegidos: Glitching
Otro ejemplo: Glitch de
microcontroladores Atmel
AT89C2051.
• En ciertas series (antiguas) de estos
microcontroladores, al enviar comandos
de borrado de contenido e interrumpirlos
en momentos muy precisos, es posible
borrar únicamente el bit de protección
pero no el contenido, habilitando la
lectura libre.
• El trabajo ha incluido el desarrollo de un
hardware específico(basado en Arduino)
y la programación de un software a
medida para explotar este glitch.
• http://arcadehacker.blogspot.com/
La reina de las técnicas: El decapping
• La técnica consiste en retirar el
empaquetamiento del chip hasta dejar la
superficie completamente al descubierto.
• Una vez con la superficie al descubierto
podemos…
• Tomar microfotografías.
• Aplicar selectivamente luz ultravioleta.
• Modificar el valor de los bits de protección
mediante distintos métodos.
• Modificar el conexionado interno del chip.
• Causar disfunciones en el chip.
• Etc.
Decapping: ¿Cómo retiramos el sustrato?
• Una forma es aplicar
calor indirecto sobre el
chip.
• El calor, en un chip tipo
“sándwich” hace saltar
la tapa con facilidad.
• Provocar un cambio
brusco y grande de
temperatura quiebra y
desprende el sustrato.
Decapping: ¿Cómo retiramos el sustrato?
• Es muy difícil hacer un decap térmico limpio en chips que no sean
de tipo sándwich.
• El calor provoca un estrés en los componentes que los deja en
mal estado, y lo normal es que se rompa el cableado aéreo
interno.
Decapping: ¿Cómo retiramos el sustrato?
• La forma más común es
mediante químicos que
ataquen el sustrato pero
no a la superficie del chip
ni al conexionado interno.
• Con práctica, se obtienen
resultados muy limpios
en los que el chip no se
daña en el proceso y
sigue funcionado
normalmente.
Decapping: ¿Cómo retiramos el sustrato?
• El decapado
mediante láser de
alta potencia es
probablemente la
forma más sofisticada
de hacerlo.
• No obstante, el
equipamiento
necesario para
hacerlo no está al
alcance de
cualquiera…
Decapping: ¿Y ahora qué?
Decapping: ¿Y ahora qué?
Es posible leer visualmente
el contenido de una
memoria, bit a bit.
Decapping: ¿Y ahora qué?
El análisis visual presenta
varias dificultades:
• Entender la disposición
interna de la información.
• Los errores de
interpretación (que pueden
paliarse con visión artificial
o el control interno de la
integridad).
• La falta de nitidez o de
aumento de las fotografías
(puede paliarse usando el
resultado de varios
dispositivos idénticos).
Decapping: ¿Y ahora qué?
Una de las técnicas más
usadas es en
dispositivos protegidos
regrabables sensibles a
la luz ultravioleta,
exponer únicamente el
bit de protección a esta
luz UV, protegiendo
mediante una máscara
el contenido de datos.
Decapping: ¿Y ahora qué?
• La máscara UV funciona en un amplio
espectro de dispositivos (no solo en los que
tienen “ventanita”), como MCU, PIC, EPLD,
etc.
• Podemos usar simple laca de uñas para
proteger la zona que queremos no reciba la
luz UV.
• Es importante determinar exactamente dónde
están los datos y dónde el bit de protección.
• Es problemático cuando los datos están muy
cerca del bit de protección.
• Una vez desprotegido, se puede leer
normalmente, siguiendo las instrucciones del
fabricante.
Decapping: ¿Y ahora qué?
• Una variante mucho más sofisticada es
usar un láser que, aplicado
directamente (en las condiciones
físicas adecuadas) sobre el bit de
protección, es papaz de cambiar su
valor.
• Incluso en los chips en los que este bit
es un fusible, un láser con la potencia
adecuada es capaz de restaurarlo
soldando efectivamente la conexión
fundida.
• De nuevo, la experiencia y los medios
de estas técnicas, no están al alcance
de cualquiera.
Decapping: ¿Y ahora qué?
De nuevo, la experiencia, la intuición y el íntimo conocimiento del hardware son
aspectos necesarios para sacar partido a esta técnica... ¡Junto a un poco de
suerte!
Otra aplicación del láser en un
chip decapado es el gliching:
Aplicando un haz de luz
ionizante (con la potencia
apropiada) en ciertas partes de
la superficie podemos causar
disfunciones que abren puertas a
la desprotección del dispositivo
y/o a la lectura de su información
interna.
Decapping: ¿Y ahora qué?
Por último… ¡El microprobing¡ Podemos crear nuevas interconexiones entre los
distintos componentes de un chip o exponer al exterior interfaces originalmente
internos.
Una última dificultad: Los PLD (lógica
programada)
• Los PLD pueden protegerse para imposibilitar la
lectura de su ecuación interna.
• No obstante es posible, en ciertas variantes (no
registrados), leer por fuerza bruta las salidas para
cada combinación de entradas y a partir de estos
datos determinar la ecuación interna.
• Para eso hay varios diseños de “PALCrackers”
que, mediante una programadora normal o un
Arduino, permiten hacer este ataque por fuerza
bruta.
¿Quién es quién?
• Sean Riddle
• Caps0ff
• John McMaster
• Cole J.
• Team Europe
• The Dumping Union
• SiliconPr0n
• ArcadeHacker
2.
Uso de la información
Tomás García-Merás
#CyberCamp19
Ya tenemos las ROM volcadas…
¿Y ahora qué?
Una vez tenemos la
información
volcada… Podemos
hacer una emulación
a muy bajo nivel que
nos permita
virtualizar el
hardware empotrado
y automatizar
programáticamente
pruebas.
Ya tenemos las ROM volcadas…
¿Y ahora qué?
¿Cómo? ¡Con MAME!
• MAME es un marco de emulación a
muy bajo nivel capaz de emular
prácticamente cualquier hardware.
• Cuenta con piezas de código para
prácticamente cualquier elemento
de hardware, desde CPU hasta
controladoras SCSI, controladoras
de pantalla (incluyendo LCD),
periferia, buses, etc.
Ya tenemos las ROM volcadas…
¿Y ahora qué?
Y lo que es mejor, cuenta con un depurador con desensamblador integrado con el
que podemos seguir la ejecución del programa original en el entorno emulado.
Ya tenemos las ROM volcadas…
¿Y ahora qué?
Y además… ¡Es
completamente
software libre!
Podemos modificar
libremente el código
para hacer literalmente
lo que nos de la gana,
como enganchar
pruebas
automatizadas,
entradas, salidas, etc.
¡GRACIAS!
Tomás García-Merás Capote – clawgrip@Hotmail.com
#CyberCamp19
https://www.linkedin.com/in/tomas-gmeras/
https://github.com/clawgrip/mame/

Más contenido relacionado

Similar a Hacking hardware en sistemas empotrados: De la preservación a la seguridad

Conociendo nuestra computadora
Conociendo nuestra computadoraConociendo nuestra computadora
Conociendo nuestra computadorajpalvarez11
 
Mantenimiento preventivo y correctivo de una pc
Mantenimiento preventivo y correctivo de una pcMantenimiento preventivo y correctivo de una pc
Mantenimiento preventivo y correctivo de una pcJosefa Zavaleta Cruz
 
Limpieza y ensamblar una pc
Limpieza y ensamblar una pcLimpieza y ensamblar una pc
Limpieza y ensamblar una pclinajimenez30
 
Limpieza y ensamblar una pc
Limpieza y ensamblar una pcLimpieza y ensamblar una pc
Limpieza y ensamblar una pcYulian Bedoya
 
Limpieza y ensamblar una pc trabajo realizado
Limpieza y ensamblar una pc trabajo realizadoLimpieza y ensamblar una pc trabajo realizado
Limpieza y ensamblar una pc trabajo realizadoManuela Salazar Velilla
 
Limpieza y mantenimiento de CPU
Limpieza y mantenimiento de CPULimpieza y mantenimiento de CPU
Limpieza y mantenimiento de CPUCecy Ro
 
Identificación de componentes carlos, eduardo, lloyd, bladimir.
Identificación de componentes carlos, eduardo, lloyd, bladimir.Identificación de componentes carlos, eduardo, lloyd, bladimir.
Identificación de componentes carlos, eduardo, lloyd, bladimir.carlos
 
Diagnosticar problemas
Diagnosticar problemasDiagnosticar problemas
Diagnosticar problemasDeyna Torres
 
160915 soporte tecnico
160915 soporte tecnico160915 soporte tecnico
160915 soporte tecnicoErick Sanchez
 
Portafolio digital carlos
Portafolio digital carlosPortafolio digital carlos
Portafolio digital carlosI.E.R DORADAL
 
Portafolio digital carlos
Portafolio digital carlosPortafolio digital carlos
Portafolio digital carlosI.E.R DORADAL
 
Solucion del trabajo_de_reconocimiento_de_hardware
Solucion del trabajo_de_reconocimiento_de_hardwareSolucion del trabajo_de_reconocimiento_de_hardware
Solucion del trabajo_de_reconocimiento_de_hardwaredany alexis
 
técnicas de mantenimiento de otros dispositivos
técnicas de mantenimiento de otros dispositivos técnicas de mantenimiento de otros dispositivos
técnicas de mantenimiento de otros dispositivos geraldine tunque carpio
 
Trabajo de informatica basica
Trabajo de informatica basicaTrabajo de informatica basica
Trabajo de informatica basicaJOSUE PONCE
 

Similar a Hacking hardware en sistemas empotrados: De la preservación a la seguridad (20)

Conociendo nuestra computadora
Conociendo nuestra computadoraConociendo nuestra computadora
Conociendo nuestra computadora
 
Mantenimiento preventivo y correctivo de una pc
Mantenimiento preventivo y correctivo de una pcMantenimiento preventivo y correctivo de una pc
Mantenimiento preventivo y correctivo de una pc
 
Limpieza y ensamblar una pc
Limpieza y ensamblar una pcLimpieza y ensamblar una pc
Limpieza y ensamblar una pc
 
Limpieza y ensamblar una pc
Limpieza y ensamblar una pcLimpieza y ensamblar una pc
Limpieza y ensamblar una pc
 
Limpieza y ensamblar una pc trabajo realizado
Limpieza y ensamblar una pc trabajo realizadoLimpieza y ensamblar una pc trabajo realizado
Limpieza y ensamblar una pc trabajo realizado
 
Rmp lupe
Rmp lupeRmp lupe
Rmp lupe
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Limpieza y mantenimiento de CPU
Limpieza y mantenimiento de CPULimpieza y mantenimiento de CPU
Limpieza y mantenimiento de CPU
 
Identificación de componentes carlos, eduardo, lloyd, bladimir.
Identificación de componentes carlos, eduardo, lloyd, bladimir.Identificación de componentes carlos, eduardo, lloyd, bladimir.
Identificación de componentes carlos, eduardo, lloyd, bladimir.
 
Diagnosticar problemas
Diagnosticar problemasDiagnosticar problemas
Diagnosticar problemas
 
160915 soporte tecnico
160915 soporte tecnico160915 soporte tecnico
160915 soporte tecnico
 
Presentacion 3era unidad
Presentacion 3era unidadPresentacion 3era unidad
Presentacion 3era unidad
 
Redes sociales 2 periodo
Redes sociales 2 periodoRedes sociales 2 periodo
Redes sociales 2 periodo
 
El microprocesdor docx
El microprocesdor  docxEl microprocesdor  docx
El microprocesdor docx
 
Portafolio digital carlos
Portafolio digital carlosPortafolio digital carlos
Portafolio digital carlos
 
Portafolio digital carlos
Portafolio digital carlosPortafolio digital carlos
Portafolio digital carlos
 
Solucion del trabajo_de_reconocimiento_de_hardware
Solucion del trabajo_de_reconocimiento_de_hardwareSolucion del trabajo_de_reconocimiento_de_hardware
Solucion del trabajo_de_reconocimiento_de_hardware
 
Presentacion de guia 11
Presentacion de guia 11Presentacion de guia 11
Presentacion de guia 11
 
técnicas de mantenimiento de otros dispositivos
técnicas de mantenimiento de otros dispositivos técnicas de mantenimiento de otros dispositivos
técnicas de mantenimiento de otros dispositivos
 
Trabajo de informatica basica
Trabajo de informatica basicaTrabajo de informatica basica
Trabajo de informatica basica
 

Más de Tomás García-Merás

NWC10 - Retos digitales derivados del COVID-19
NWC10 - Retos digitales derivados del COVID-19NWC10 - Retos digitales derivados del COVID-19
NWC10 - Retos digitales derivados del COVID-19Tomás García-Merás
 
Blockchain vs. Firma electrónica en sector público
Blockchain vs. Firma electrónica en sector públicoBlockchain vs. Firma electrónica en sector público
Blockchain vs. Firma electrónica en sector públicoTomás García-Merás
 
T3chfest 2019 - Modelos de confianza técnico-jurídica en Blockchain
T3chfest 2019 - Modelos de confianza técnico-jurídica en BlockchainT3chfest 2019 - Modelos de confianza técnico-jurídica en Blockchain
T3chfest 2019 - Modelos de confianza técnico-jurídica en BlockchainTomás García-Merás
 
Confidencialidad de los datos en la cadena de bloques
Confidencialidad de los datos en la cadena de bloquesConfidencialidad de los datos en la cadena de bloques
Confidencialidad de los datos en la cadena de bloquesTomás García-Merás
 
CyberCamp 2018 - La autenticación con certificados en las Sedes Electrónicas
CyberCamp 2018 - La autenticación con certificados en las Sedes ElectrónicasCyberCamp 2018 - La autenticación con certificados en las Sedes Electrónicas
CyberCamp 2018 - La autenticación con certificados en las Sedes ElectrónicasTomás García-Merás
 
Mitos y realidades de la confianza en Blockchain
Mitos y realidades de la confianza en BlockchainMitos y realidades de la confianza en Blockchain
Mitos y realidades de la confianza en BlockchainTomás García-Merás
 
Asegurando los API con Criptografía RSA: Más allá del SSL
Asegurando los API con Criptografía RSA: Más allá del SSLAsegurando los API con Criptografía RSA: Más allá del SSL
Asegurando los API con Criptografía RSA: Más allá del SSLTomás García-Merás
 
Desarrollo Java en PlayStation: Aplicaciones en disco para usos atípicos
Desarrollo Java en PlayStation: Aplicaciones en disco para usos atípicosDesarrollo Java en PlayStation: Aplicaciones en disco para usos atípicos
Desarrollo Java en PlayStation: Aplicaciones en disco para usos atípicosTomás García-Merás
 
2016 04 --curso_portafirmas_movil_v3
2016 04 --curso_portafirmas_movil_v32016 04 --curso_portafirmas_movil_v3
2016 04 --curso_portafirmas_movil_v3Tomás García-Merás
 
2016 04 --curso_novedades_auto_firma
2016 04 --curso_novedades_auto_firma2016 04 --curso_novedades_auto_firma
2016 04 --curso_novedades_auto_firmaTomás García-Merás
 
Cl@ve Firma - Visión práctica desde el punto de vista del proveedor de servicios
Cl@ve Firma - Visión práctica desde el punto de vista del proveedor de serviciosCl@ve Firma - Visión práctica desde el punto de vista del proveedor de servicios
Cl@ve Firma - Visión práctica desde el punto de vista del proveedor de serviciosTomás García-Merás
 
Programación y uso de tarjetas criptográficas NFC (DNIe, TUI, etc) con Android
Programación y uso de tarjetas criptográficas NFC (DNIe, TUI, etc) con AndroidProgramación y uso de tarjetas criptográficas NFC (DNIe, TUI, etc) con Android
Programación y uso de tarjetas criptográficas NFC (DNIe, TUI, etc) con AndroidTomás García-Merás
 
2015 10 - Curso Cliente @firma INAP día 1
2015 10 - Curso Cliente @firma INAP día 12015 10 - Curso Cliente @firma INAP día 1
2015 10 - Curso Cliente @firma INAP día 1Tomás García-Merás
 
2015 10 - Curso Cliente @firma INAP día 3
2015 10 - Curso Cliente @firma INAP día 32015 10 - Curso Cliente @firma INAP día 3
2015 10 - Curso Cliente @firma INAP día 3Tomás García-Merás
 
2015 10 - Curso Cliente @firma INAP día 2
2015 10 - Curso Cliente @firma INAP día 22015 10 - Curso Cliente @firma INAP día 2
2015 10 - Curso Cliente @firma INAP día 2Tomás García-Merás
 
Alternativas a los Applets de Java para la realización de firmas electrónicas...
Alternativas a los Applets de Java para la realización de firmas electrónicas...Alternativas a los Applets de Java para la realización de firmas electrónicas...
Alternativas a los Applets de Java para la realización de firmas electrónicas...Tomás García-Merás
 
Presentación firma electrónica Codemotion 2014
Presentación firma electrónica Codemotion 2014Presentación firma electrónica Codemotion 2014
Presentación firma electrónica Codemotion 2014Tomás García-Merás
 
Uso de la firma en la AEAT (AEAT) - II Encuentro nacional sobre firma y admin...
Uso de la firma en la AEAT (AEAT) - II Encuentro nacional sobre firma y admin...Uso de la firma en la AEAT (AEAT) - II Encuentro nacional sobre firma y admin...
Uso de la firma en la AEAT (AEAT) - II Encuentro nacional sobre firma y admin...Tomás García-Merás
 

Más de Tomás García-Merás (20)

NWC10 - Retos digitales derivados del COVID-19
NWC10 - Retos digitales derivados del COVID-19NWC10 - Retos digitales derivados del COVID-19
NWC10 - Retos digitales derivados del COVID-19
 
Blockchain vs. Firma electrónica en sector público
Blockchain vs. Firma electrónica en sector públicoBlockchain vs. Firma electrónica en sector público
Blockchain vs. Firma electrónica en sector público
 
T3chfest 2019 - Modelos de confianza técnico-jurídica en Blockchain
T3chfest 2019 - Modelos de confianza técnico-jurídica en BlockchainT3chfest 2019 - Modelos de confianza técnico-jurídica en Blockchain
T3chfest 2019 - Modelos de confianza técnico-jurídica en Blockchain
 
Confidencialidad de los datos en la cadena de bloques
Confidencialidad de los datos en la cadena de bloquesConfidencialidad de los datos en la cadena de bloques
Confidencialidad de los datos en la cadena de bloques
 
CyberCamp 2018 - La autenticación con certificados en las Sedes Electrónicas
CyberCamp 2018 - La autenticación con certificados en las Sedes ElectrónicasCyberCamp 2018 - La autenticación con certificados en las Sedes Electrónicas
CyberCamp 2018 - La autenticación con certificados en las Sedes Electrónicas
 
Mitos y realidades de la confianza en Blockchain
Mitos y realidades de la confianza en BlockchainMitos y realidades de la confianza en Blockchain
Mitos y realidades de la confianza en Blockchain
 
Madres Digitales 2017
Madres Digitales 2017Madres Digitales 2017
Madres Digitales 2017
 
Asegurando los API con Criptografía RSA: Más allá del SSL
Asegurando los API con Criptografía RSA: Más allá del SSLAsegurando los API con Criptografía RSA: Más allá del SSL
Asegurando los API con Criptografía RSA: Más allá del SSL
 
Desarrollo Java en PlayStation: Aplicaciones en disco para usos atípicos
Desarrollo Java en PlayStation: Aplicaciones en disco para usos atípicosDesarrollo Java en PlayStation: Aplicaciones en disco para usos atípicos
Desarrollo Java en PlayStation: Aplicaciones en disco para usos atípicos
 
2016 04 --curso_portafirmas_movil_v3
2016 04 --curso_portafirmas_movil_v32016 04 --curso_portafirmas_movil_v3
2016 04 --curso_portafirmas_movil_v3
 
2016 04 --curso_cliente_movil_v3
2016 04 --curso_cliente_movil_v32016 04 --curso_cliente_movil_v3
2016 04 --curso_cliente_movil_v3
 
2016 04 --curso_novedades_auto_firma
2016 04 --curso_novedades_auto_firma2016 04 --curso_novedades_auto_firma
2016 04 --curso_novedades_auto_firma
 
Cl@ve Firma - Visión práctica desde el punto de vista del proveedor de servicios
Cl@ve Firma - Visión práctica desde el punto de vista del proveedor de serviciosCl@ve Firma - Visión práctica desde el punto de vista del proveedor de servicios
Cl@ve Firma - Visión práctica desde el punto de vista del proveedor de servicios
 
Programación y uso de tarjetas criptográficas NFC (DNIe, TUI, etc) con Android
Programación y uso de tarjetas criptográficas NFC (DNIe, TUI, etc) con AndroidProgramación y uso de tarjetas criptográficas NFC (DNIe, TUI, etc) con Android
Programación y uso de tarjetas criptográficas NFC (DNIe, TUI, etc) con Android
 
2015 10 - Curso Cliente @firma INAP día 1
2015 10 - Curso Cliente @firma INAP día 12015 10 - Curso Cliente @firma INAP día 1
2015 10 - Curso Cliente @firma INAP día 1
 
2015 10 - Curso Cliente @firma INAP día 3
2015 10 - Curso Cliente @firma INAP día 32015 10 - Curso Cliente @firma INAP día 3
2015 10 - Curso Cliente @firma INAP día 3
 
2015 10 - Curso Cliente @firma INAP día 2
2015 10 - Curso Cliente @firma INAP día 22015 10 - Curso Cliente @firma INAP día 2
2015 10 - Curso Cliente @firma INAP día 2
 
Alternativas a los Applets de Java para la realización de firmas electrónicas...
Alternativas a los Applets de Java para la realización de firmas electrónicas...Alternativas a los Applets de Java para la realización de firmas electrónicas...
Alternativas a los Applets de Java para la realización de firmas electrónicas...
 
Presentación firma electrónica Codemotion 2014
Presentación firma electrónica Codemotion 2014Presentación firma electrónica Codemotion 2014
Presentación firma electrónica Codemotion 2014
 
Uso de la firma en la AEAT (AEAT) - II Encuentro nacional sobre firma y admin...
Uso de la firma en la AEAT (AEAT) - II Encuentro nacional sobre firma y admin...Uso de la firma en la AEAT (AEAT) - II Encuentro nacional sobre firma y admin...
Uso de la firma en la AEAT (AEAT) - II Encuentro nacional sobre firma y admin...
 

Último

El uso de las T I C en la vida cotidiana.
El uso de las T I C en la vida cotidiana.El uso de las T I C en la vida cotidiana.
El uso de las T I C en la vida cotidiana.SEAT
 
Linea del tiempo del celular .
Linea del tiempo del celular                   .Linea del tiempo del celular                   .
Linea del tiempo del celular .MiliMili32
 
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptxRosiClaros
 
linea de tiempo television y su avance en los años
linea de tiempo television y su avance en los añoslinea de tiempo television y su avance en los años
linea de tiempo television y su avance en los añosMaraPazCrdenas
 
La Electricidad y la Electrónica gabriela (1).pdf
La Electricidad y la Electrónica gabriela (1).pdfLa Electricidad y la Electrónica gabriela (1).pdf
La Electricidad y la Electrónica gabriela (1).pdfelabarbosa396
 
Presentación Materiales para la Construcción.ppt
Presentación Materiales para la Construcción.pptPresentación Materiales para la Construcción.ppt
Presentación Materiales para la Construcción.pptCARLOSAXELVENTURAVID
 
Patrones Funcionales de Marjory Gordon.pptx
Patrones Funcionales de Marjory Gordon.pptxPatrones Funcionales de Marjory Gordon.pptx
Patrones Funcionales de Marjory Gordon.pptxErandiCamperoBojorge
 
9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf sociales9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf socialesJhonathanRodriguez10
 
Home Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todosHome Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todosDebora Gomez Bertoli
 

Último (9)

El uso de las T I C en la vida cotidiana.
El uso de las T I C en la vida cotidiana.El uso de las T I C en la vida cotidiana.
El uso de las T I C en la vida cotidiana.
 
Linea del tiempo del celular .
Linea del tiempo del celular                   .Linea del tiempo del celular                   .
Linea del tiempo del celular .
 
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
 
linea de tiempo television y su avance en los años
linea de tiempo television y su avance en los añoslinea de tiempo television y su avance en los años
linea de tiempo television y su avance en los años
 
La Electricidad y la Electrónica gabriela (1).pdf
La Electricidad y la Electrónica gabriela (1).pdfLa Electricidad y la Electrónica gabriela (1).pdf
La Electricidad y la Electrónica gabriela (1).pdf
 
Presentación Materiales para la Construcción.ppt
Presentación Materiales para la Construcción.pptPresentación Materiales para la Construcción.ppt
Presentación Materiales para la Construcción.ppt
 
Patrones Funcionales de Marjory Gordon.pptx
Patrones Funcionales de Marjory Gordon.pptxPatrones Funcionales de Marjory Gordon.pptx
Patrones Funcionales de Marjory Gordon.pptx
 
9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf sociales9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf sociales
 
Home Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todosHome Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todos
 

Hacking hardware en sistemas empotrados: De la preservación a la seguridad

  • 1. Hacking hardware en sistemas empotrados Atacando a la “seguridad por oscuridad” #CyberCamp19
  • 2. Índice 1.Extrayendo la información oculta a) Accediendo al hardware b) Accediendo a la información contenida en el hardware. 2. Dándole uso a la información obtenida.
  • 3. 1. Extracción de la información Tomás García-Merás #CyberCamp19
  • 4. Dificultando la identificación de los elementos de seguridad y el acceso a ellos
  • 5. Resinas epoxy o similares
  • 6. Las resinas expoxy o similares se usan con frecuencia para esconder los componentes electrónicos. Estas resinas son extremadamente duras una vez solidificadas, pero pueden retirarse: • Con aire caliente (> 400 ºC). • Con químicos (decapante, butil- glicol, etc.), si bien pueden tardar días en reblandecer la resina. • No conviene usar ultrasonidos (pueden dañar las conexiones internas). Resinas epoxy o similares Otra práctica es raspar su superficie para que no podamos identificar el componente. En este caso las técnicas son: Identificador eléctrico (verificable con una programadora), por marcas que no hayan borrado (reverso...), decap e inspección al microscopio, identificando el código (si usa ROM externa), etc.
  • 7. Resinas epoxy o similares
  • 8. Resinas epoxy o similares: ¿Rayos X? Útil para identificar dispositivos suicidas o de tipo NVRAM antes de iniciar la intrusión
  • 9. Componentes a medida o indocumentados Muchas veces el fabricante empaqueta un componente común con un etiquetado propio. Las formas de identificarlo son similares a cuando encontramos un chip raspado: • Decap, identificador eléctrico, inspección de ROM externas o conexionado con otros componentes, etc. En otras, se usan componentes poco comunes de los cuales no hay documentación. En estos casos las opciones se reducen al decap o a intentar obtener información del fabricante mediante ingeniería social.
  • 10. La mayoría de los componentes que contienen y ejecutan lógica (MCU, PIC, PLD/FPGA, etc.) tienen medidas de protección que impiden leer su ROM interna. En estos casos tenemos distintas estrategias para volcar esa ROM: • Troyanos • Glitching eléctrico no invasivo. • Fuerza bruta (solo para componentes muy concretos). • Decap: • Visual. • Máscara UV. • Glitch láser. • Microprobing. • Etc. Chips protegidos
  • 11. • Los componentes de seguridad más comunes son completamente “autocontenidos”: Contienen de forma interna todo lo que necesitan para funcionar (ROM, RAM, CPU, etc.). • El problema no es escribir un troyano, el problema es cómo inyectarlo en un componente completamente estanco. • Es necesario revisar las interactuaciones del componente con el resto de la electrónica, buscando un fallo de diseño que permita ejecutar código externo privilegiado… Y la forma en la que este pueda extraer información al exterior. Chips protegidos: Troyanos
  • 13. • Ciertos dispositivos “se suicidan” cuando detectan un intento de intrusión, borrando todo su contenido. • La forma más común es una NVRAM con una batería, en un diseño pensado para que cualquier alteración física o eléctrica corta la corriente de la batería causando el borrado inmediato e irremediable de la NVRAM. • En casos más sofisticados, y para evitar ataques mediante glitching eléctrico, el chip borra sus datos al detectar condiciones eléctricas anómalas. • Por ejemplo, el DNIe borra su memoria volátil cuando el voltaje sube o baja más allá de los niveles de tolerancia configurados. Chips protegidos: Dispositivos suicidas
  • 14. • Consiste en explotar debilidades en el diseño de los chips para extraer la información de su interior. • En muchos casos se busca un comportamiento “anómalo” del chip aplicando tensiones fuera de rango, campos magnéticos, luz ionizante, etc. • Hay dispositivos con funciones de “test” que a veces exponen mas funcionalidad de la deseable. • En cualquier caso, el descubrir nuevos glitches requiere un conocimiento íntimo del hardware y una extensa experiencia. Chips protegidos: Glitching
  • 15. Un inciso: El bit de protección • Muchos dispositivos protegidos (MCU, PIC, PLD, etc.) tienen un “bit de protección” que cuando se establece no permite la lectura interna de la información que contiene (la ROM). • En los dispositivos regrabables, este bit se reinicia cuando se borra por completo, dejando así la protección abierta, pero también toda la información borrada. • Este borrado/reinicio puede ser mediante exposición directa a la luz ultravioleta (dispositivos “con ventanita”) o por medios eléctricos. • En los dispositivos no reutilizables, una vez se establece este bit, no hay forma de cambiar su valor ni reiniciarlo. • En muchos de estos casos este bit es un fusible físico: Una conexión que se rompe físicamente aplicando un voltaje superior al normal o por un medio similar.
  • 16. Chips protegidos: Glitching Otro ejemplo: Glitch de microcontroladores Atmel AT89C2051. • En ciertas series (antiguas) de estos microcontroladores, al enviar comandos de borrado de contenido e interrumpirlos en momentos muy precisos, es posible borrar únicamente el bit de protección pero no el contenido, habilitando la lectura libre. • El trabajo ha incluido el desarrollo de un hardware específico(basado en Arduino) y la programación de un software a medida para explotar este glitch. • http://arcadehacker.blogspot.com/
  • 17. La reina de las técnicas: El decapping • La técnica consiste en retirar el empaquetamiento del chip hasta dejar la superficie completamente al descubierto. • Una vez con la superficie al descubierto podemos… • Tomar microfotografías. • Aplicar selectivamente luz ultravioleta. • Modificar el valor de los bits de protección mediante distintos métodos. • Modificar el conexionado interno del chip. • Causar disfunciones en el chip. • Etc.
  • 18. Decapping: ¿Cómo retiramos el sustrato? • Una forma es aplicar calor indirecto sobre el chip. • El calor, en un chip tipo “sándwich” hace saltar la tapa con facilidad. • Provocar un cambio brusco y grande de temperatura quiebra y desprende el sustrato.
  • 19. Decapping: ¿Cómo retiramos el sustrato? • Es muy difícil hacer un decap térmico limpio en chips que no sean de tipo sándwich. • El calor provoca un estrés en los componentes que los deja en mal estado, y lo normal es que se rompa el cableado aéreo interno.
  • 20. Decapping: ¿Cómo retiramos el sustrato? • La forma más común es mediante químicos que ataquen el sustrato pero no a la superficie del chip ni al conexionado interno. • Con práctica, se obtienen resultados muy limpios en los que el chip no se daña en el proceso y sigue funcionado normalmente.
  • 21. Decapping: ¿Cómo retiramos el sustrato? • El decapado mediante láser de alta potencia es probablemente la forma más sofisticada de hacerlo. • No obstante, el equipamiento necesario para hacerlo no está al alcance de cualquiera…
  • 23. Decapping: ¿Y ahora qué? Es posible leer visualmente el contenido de una memoria, bit a bit.
  • 24. Decapping: ¿Y ahora qué? El análisis visual presenta varias dificultades: • Entender la disposición interna de la información. • Los errores de interpretación (que pueden paliarse con visión artificial o el control interno de la integridad). • La falta de nitidez o de aumento de las fotografías (puede paliarse usando el resultado de varios dispositivos idénticos).
  • 25. Decapping: ¿Y ahora qué? Una de las técnicas más usadas es en dispositivos protegidos regrabables sensibles a la luz ultravioleta, exponer únicamente el bit de protección a esta luz UV, protegiendo mediante una máscara el contenido de datos.
  • 26. Decapping: ¿Y ahora qué? • La máscara UV funciona en un amplio espectro de dispositivos (no solo en los que tienen “ventanita”), como MCU, PIC, EPLD, etc. • Podemos usar simple laca de uñas para proteger la zona que queremos no reciba la luz UV. • Es importante determinar exactamente dónde están los datos y dónde el bit de protección. • Es problemático cuando los datos están muy cerca del bit de protección. • Una vez desprotegido, se puede leer normalmente, siguiendo las instrucciones del fabricante.
  • 27. Decapping: ¿Y ahora qué? • Una variante mucho más sofisticada es usar un láser que, aplicado directamente (en las condiciones físicas adecuadas) sobre el bit de protección, es papaz de cambiar su valor. • Incluso en los chips en los que este bit es un fusible, un láser con la potencia adecuada es capaz de restaurarlo soldando efectivamente la conexión fundida. • De nuevo, la experiencia y los medios de estas técnicas, no están al alcance de cualquiera.
  • 28. Decapping: ¿Y ahora qué? De nuevo, la experiencia, la intuición y el íntimo conocimiento del hardware son aspectos necesarios para sacar partido a esta técnica... ¡Junto a un poco de suerte! Otra aplicación del láser en un chip decapado es el gliching: Aplicando un haz de luz ionizante (con la potencia apropiada) en ciertas partes de la superficie podemos causar disfunciones que abren puertas a la desprotección del dispositivo y/o a la lectura de su información interna.
  • 29. Decapping: ¿Y ahora qué? Por último… ¡El microprobing¡ Podemos crear nuevas interconexiones entre los distintos componentes de un chip o exponer al exterior interfaces originalmente internos.
  • 30. Una última dificultad: Los PLD (lógica programada) • Los PLD pueden protegerse para imposibilitar la lectura de su ecuación interna. • No obstante es posible, en ciertas variantes (no registrados), leer por fuerza bruta las salidas para cada combinación de entradas y a partir de estos datos determinar la ecuación interna. • Para eso hay varios diseños de “PALCrackers” que, mediante una programadora normal o un Arduino, permiten hacer este ataque por fuerza bruta.
  • 31. ¿Quién es quién? • Sean Riddle • Caps0ff • John McMaster • Cole J. • Team Europe • The Dumping Union • SiliconPr0n • ArcadeHacker
  • 32. 2. Uso de la información Tomás García-Merás #CyberCamp19
  • 33. Ya tenemos las ROM volcadas… ¿Y ahora qué? Una vez tenemos la información volcada… Podemos hacer una emulación a muy bajo nivel que nos permita virtualizar el hardware empotrado y automatizar programáticamente pruebas.
  • 34. Ya tenemos las ROM volcadas… ¿Y ahora qué? ¿Cómo? ¡Con MAME! • MAME es un marco de emulación a muy bajo nivel capaz de emular prácticamente cualquier hardware. • Cuenta con piezas de código para prácticamente cualquier elemento de hardware, desde CPU hasta controladoras SCSI, controladoras de pantalla (incluyendo LCD), periferia, buses, etc.
  • 35. Ya tenemos las ROM volcadas… ¿Y ahora qué? Y lo que es mejor, cuenta con un depurador con desensamblador integrado con el que podemos seguir la ejecución del programa original en el entorno emulado.
  • 36. Ya tenemos las ROM volcadas… ¿Y ahora qué? Y además… ¡Es completamente software libre! Podemos modificar libremente el código para hacer literalmente lo que nos de la gana, como enganchar pruebas automatizadas, entradas, salidas, etc.
  • 37. ¡GRACIAS! Tomás García-Merás Capote – clawgrip@Hotmail.com #CyberCamp19 https://www.linkedin.com/in/tomas-gmeras/ https://github.com/clawgrip/mame/