Top Banner
How I Met Your eWallet Félix Brezo Yaiza Rubio Carlos Díaz
62

How I met your eWallet - Rooted 2015

Jul 24, 2015

Download

Technology

ElevenPaths
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: How I met your eWallet - Rooted 2015

How I Met Your eWallet

Félix Brezo

Yaiza Rubio

Carlos Díaz

Page 2: How I met your eWallet - Rooted 2015

Índice

1. Concepto de cartera

2. Tipos de carteras

3. Tipos de almacenamiento

4. Diferentes ataques a las carteras

5. Implicaciones

Reto: Hack us!

Page 3: How I met your eWallet - Rooted 2015

1. Concepto de cartera

Page 4: How I met your eWallet - Rooted 2015

¿Qué entedemos por eWallet?

Las carteras que permiten la realización de transacciones de una criptodivisa

Se trata de una dirección

asociada a una clave privada para firmar transacciones y

reclamar así la legitimidad ante la red de la criptodivisa.

Page 5: How I met your eWallet - Rooted 2015

2. Tipos de carteras

Page 6: How I met your eWallet - Rooted 2015

Diferencias entre carteras C

arte

ras

ran

do

m

Dirección +

Clave privada

Seguridad Pérdida de claves privadas

Page 7: How I met your eWallet - Rooted 2015

Car

tera

s V

an

ity

Diferencias entre carteras

Patrón 1Rooted

¿Mac

hea

co

n e

l pat

rón

1

Ro

ote

d ?

SI

Dirección

+ Clave

privada

NO

Seguridad Coste de

computación Identidad

Dirección + clave privada

Page 8: How I met your eWallet - Rooted 2015

Car

tera

s m

enta

les

Diferencias entre carteras

Palabra conocida Rooted

Dirección +

Clave privada

No es necesario almacenar las claves privadas

Facilidad para dar con las palabras conocidas utilizadas

Page 9: How I met your eWallet - Rooted 2015

Car

tera

s m

ult

ifir

ma

Diferencias entre carteras

3NuevaDir

1DIRECCIÓN

1dirección

1DiReCcIóN

Más laborioso Transferencia por consenso

Para realizar transferencias con esta cartera serán necesarias las firmas de un número predefinido cuando se creó

Confiabilidad en el árbitro

Page 10: How I met your eWallet - Rooted 2015

3. Tipos de almacenamiento

Page 11: How I met your eWallet - Rooted 2015

Existen distintas formas de almacenar las claves privadas:

Carteras en local: almacenan las claves privadas en archivos bajo control del usuario.

Carteras mentales: es posible

la recuperación de la clave privada a partir de una palabra conocida por el usuario.

Carteras en la nube: un tercero

es el encargado de almacenar la clave privada asociada a una dirección.

Page 12: How I met your eWallet - Rooted 2015

4. Diferentes ataques a las carteras

Page 13: How I met your eWallet - Rooted 2015

Carteras en local

Page 14: How I met your eWallet - Rooted 2015

¿Dónde se almacena el wallet.dat?

Page 15: How I met your eWallet - Rooted 2015

¿Cómo recuperar monederos en local sin cifrar?

PASO 1: listar las direcciones del monedero

Los clientes tienen API de consulta que facilitan la automatización de tareas:

Page 16: How I met your eWallet - Rooted 2015

PASO 2: volcar la clave privada

PASO 3: importar la clave privada a otro equipo

¿Cómo recuperar monederos en local sin cifrar?

PASO 4: esperar al reescaneo de la cadena de bloques

Page 17: How I met your eWallet - Rooted 2015

PASO 1: listar las direcciones del monedero sigue siendo posible

¿Cómo recuperar monederos en local cifrados?

Solamente algunas operaciones muy concretas requieren la contraseña…

Page 18: How I met your eWallet - Rooted 2015

PASO 2: ataque de diccionario sobre la passphrase

¿Cómo recuperar monederos en local cifrados?

PASO 3: volver a cifrar el monedero con otra passphrase para evitar que el dueño los reclame

Page 19: How I met your eWallet - Rooted 2015

Qué necesitaría un atacante

Identificar equipos que están corriendo nodos de Bitcoin

Identificar ficheros de datos de los monederos

Page 20: How I met your eWallet - Rooted 2015

Qué necesitaría un atacante

Page 21: How I met your eWallet - Rooted 2015

Qué necesitaría un atacante

Si no están cifrados:

Identificar equipos que están corriendo nodos de Bitcoin

Identificar ficheros de datos de los monederos

Si están cifrados:

Fuerza bruta

Keylogging

Ataques de diccionario

Page 22: How I met your eWallet - Rooted 2015

Otro tipo de ataques que no necesitarían las claves privadas

son los ataques por aislamiento

Page 23: How I met your eWallet - Rooted 2015

Un atacante que controlara los nodos a los que se conecta el cliente puede hacer que se perciban como válidas las transacciones de un tercero

peers.dat

Ataque por aislamiento

Page 24: How I met your eWallet - Rooted 2015

Carteras mentales

Page 25: How I met your eWallet - Rooted 2015

Proceso para la identificación de carteras mentales

Direcciones +

Claves privadas

Page 26: How I met your eWallet - Rooted 2015

Algunas cifras sobre carteras mentales

4.000.000 palabras

204 diccionarios

17.902 direcciones

recibieron bitcoins en 4.753 transacciones sumando en

total 37.040 movimientos

con estas direcciones

4.000.000 direcciones y

claves privadas

Page 27: How I met your eWallet - Rooted 2015

0

2

4

6

8

10

12

14

16

18

20

0

500

1000

1500

2000

2500

3000

3500

01/01/2011 01/01/2012 01/01/2013 01/01/2014 01/01/2015

BTC

USD

USD extraídos acumulados BTC extraídos acumulados

Cantidades extraídas de las carteras identificadas

Page 28: How I met your eWallet - Rooted 2015

Algunas cifras sobre carteras mentales

18,97

2.906

204 diccionarios

4.000.000 palabras

17.902 direcciones

recibieron bitcoins en 4.753 transacciones sumando en

total 37.040 movimientos

con estas direcciones

4.000.000 direcciones y

claves privadas

Page 29: How I met your eWallet - Rooted 2015

Algunas cifras sobre carteras mentales

18,97

2.906

204 diccionarios

4.000.000 palabras

17.902 direcciones

recibieron bitcoins en 4.753 transacciones sumando en

total 37.040 movimientos

con estas direcciones

4.000.000 direcciones y

claves privadas

Page 30: How I met your eWallet - Rooted 2015

Pero, ¿hay gente esperando ahí fuera?

Page 31: How I met your eWallet - Rooted 2015

Lo comprobamos dejando cebos a disposición de cualquiera…

Page 32: How I met your eWallet - Rooted 2015

Compramos bitcoins 1

Generamos tres direcciones a partir de palabras conocidas 2

Realizamos la transferencia 3

¿Cuánto tuvimos que esperar a que se los llevaran?

¿Qué proceso hemos llevado a cabo?

Page 33: How I met your eWallet - Rooted 2015

Transferimos bitcoins a las siguientes direcciones:

DIRECCIÓN 1

0.00009933

Hora: 10:17:41

DIRECCIÓN 2

0.00009933 Hora: 10:17:41

Hora: 10:17:51 Robado a las:

Robado a las: Hora: 10:17:51

DIRECCIÓN 3

0.00010033 Hora: 10:17:41

Robado a las: Hora: 15:25:01 Palabra: overrate

Palabra: cute

Palabra: callosal

Page 34: How I met your eWallet - Rooted 2015

Características de las transacciones que han solicitado los bitcoins de esta transacción

Inputs: 0,00009933

Hora de petición: 10:17

¿Fee?: NO Tamaño de la transacción: 224 bytes

INTENTO DE

Hora de petición: 10:18

Tamaño de la transacción: 224 bytes

¿Fee?: SÍ Inputs: 0,0009933

INTENTO DE

Hora de petición: 10:19

¿Fee?: NO Tamaño de la transacción: 373 bytes

Inputs: 0,00009933 + 74,98848262

INTENTO DE

Page 35: How I met your eWallet - Rooted 2015

¿Qué criterio se utiliza para incorporar las transacciones a la cadena de bloques?

Espacio para transacciones con prioridad máxima 50 KB

𝑃𝑡 = 𝐵𝑇𝐶𝑖·𝐴𝑔𝑒𝑖𝑛𝑖

𝑠𝑡

Donde:

𝑃𝑡 Prioridad de la transacción t

𝐵𝑇𝐶𝑖 Input en Satoshis de la «operación» i

𝐴𝑔𝑒𝑖 Antigüedad medida en confirmaciones i

𝑠𝑡 Tamaño en bytes de la transacción

750 KB

𝑛 Es el total de inputs de la transacción

Page 36: How I met your eWallet - Rooted 2015

A mayor antigüedad

Pri

ori

dad

¿Qué criterio se utiliza para incorporar las transacciones a la cadena de bloques?

Espacio para transacciones con prioridad máxima 50 KB

𝑃𝑡 = 𝐵𝑇𝐶𝑖·𝐴𝑔𝑒𝑖𝑛𝑖

𝑠𝑡

A mayores cantidades transferidas

A mayor tamaño

750 KB

Page 37: How I met your eWallet - Rooted 2015

¿Qué criterio se utiliza para incorporar el resto de las transacciones a la cadena de bloques?

Comisiones

𝑃𝑡 = 𝐵𝑇𝐶𝑖·𝐴𝑔𝑒𝑖𝑛𝑖

𝑠𝑡

Criterio de prioridad descendente

El nodo que escribe un nuevo bloque las acumula

Es un incentivo para la cesión de cómputo complementario a la minería

750 KB

Page 38: How I met your eWallet - Rooted 2015

𝑛𝑡 = 1 𝑠𝑡 = 224 𝐵𝑦𝑡𝑒𝑠 Comisión = 0,00001

Inputs 𝐵𝑇𝐶1 = 9933; 𝐴𝑔𝑒1 = 0

Diferentes formas de aproximarse 𝑃𝑡 = 𝐵𝑇𝐶𝑖·𝐴𝑔𝑒𝑖𝑛𝑖

𝑠𝑡

-- 𝑃𝑡 =9933·0

224= 0

En el momento de NUESTRA transferencia, el bloque no está confirmado: 𝐴𝑔𝑒1 = 0

𝑛𝑡 = 1 𝑠𝑡 = 224 𝐵𝑦𝑡𝑒𝑠

Inputs 𝐵𝑇𝐶1 = 9933; 𝐴𝑔𝑒1 = 0

Comisión 𝑃𝑡 =9933·0

224= 0

Varias entradas

𝑃𝑡 = 0+7,498·109∗424

373≫ 0

𝑛𝑡 = 2 𝑠𝑡 = 373 𝐵𝑦𝑡𝑒𝑠

Inputs 𝐵𝑇𝐶1 = 9933; 𝐴𝑔𝑒1 = 0 𝐵𝑇𝐶2 = 7 498 848 162; 𝐴𝑔𝑒2 = 424

Page 39: How I met your eWallet - Rooted 2015

Diferentes formas de aproximarse 𝑃𝑡 = 𝐵𝑇𝐶𝑖·𝐴𝑔𝑒𝑖𝑛𝑖

𝑠𝑡

En el momento de NUESTRA transferencia, el bloque no está confirmado: 𝐴𝑔𝑒1 = 0

𝑃𝑡 =0+7,498·109∗424

373= 8,524 · 109

𝑃𝑡 =9933·0

224=0

𝑃𝑡 =9933·0

224= 0

Page 40: How I met your eWallet - Rooted 2015

Mientras se confirma la transacción se podría incurrir en doble gasto

Page 41: How I met your eWallet - Rooted 2015

Carteras en la nube

Page 42: How I met your eWallet - Rooted 2015

¿Cuándo se robaron las credenciales?

0

50

100

150

200

250

300

350

01/01/2011 01/01/2012 01/01/2013 01/01/2014 01/01/2015

Acu

mu

lad

o d

e c

red

en

cial

es

sust

raid

as

bitcoin.de btc-e.com coinbase.com coinkite.com strongcoin.com xapo.com

Se intensifica la campaña

de robo de credenciales en plataformas de Bitcoin

Page 43: How I met your eWallet - Rooted 2015

0

200

400

600

800

1000

1200

01/01/2011 01/01/2012 01/01/2013 01/01/2014 01/01/2015

Val

or

de

l Bit

coin

en

USD

Evolución del precio del Bitcoin desde 2011

La campaña coincide con un gran

repunte del precio del Bitcoin

Page 44: How I met your eWallet - Rooted 2015

¿Se podría acceder con la información prodecente de una botnet genérica?

Usuario

Password

Identificador Passphrase

Autenticación en 2 pasos

• OTP al móvil, mail, etc. • Autorizar accesos desde otras

localizaciones o navegadores

ACCESS GRANTED

Histórico

PIN

Page 45: How I met your eWallet - Rooted 2015

bitalo.com

bitcoin.de

bitgo.com

blockchain.info

btc-e.com

coinapult.com

coinbase.com

coinkite.com

coinpunk.com

cubits.com

greenaddress.it

hivewallet.com

strongcoin.com

xapo.com

Plataformas a las que se habría podido acceder*

* Asumiendo una configuración de seguridad por defecto

Page 46: How I met your eWallet - Rooted 2015

Confirmación de datos de inicio de sesión

ACCESS GRANTED

Autenticación en dos pasos

Passcode (distinto del de inicio de sesión)

TRANSFERENCIA REALIZADA

¿Existen más medidas de seguridad para realizar transferencias?

Page 47: How I met your eWallet - Rooted 2015

bitalo.com

btc-e.com

coinapult.com

coinkite.com

coinpunk.com

cubits.com

Plataformas desde la que se hubiera podido realizar transferencias*

(2FA)

(Password)

greenaddress.it

hivewallet.com

strongcoin.com

(2FA)

* Asumiendo una configuración de seguridad por defecto

Page 48: How I met your eWallet - Rooted 2015

Los delincuentes también están lanzando campañas de phishing contra estas plataformas aprovechando dominios cybersquatting y typosquatting

Page 49: How I met your eWallet - Rooted 2015

Ficheros de configuración de ZeuS con menciones a plataformas de ewallets

Año

Plataforma Nº de ficheros

2013 bitcoin.de 6

2013 blockchain.info 3

2015 blockchain.info 1

2015 coinbase.com 1

Page 50: How I met your eWallet - Rooted 2015

5. Implicaciones

Page 51: How I met your eWallet - Rooted 2015

Usuarios

Page 52: How I met your eWallet - Rooted 2015

Tú sabrás si utilizas…

…dispositivos conectados a la red para el almacenamiento de claves privadas

…carteras mentales para la generación de tus claves

Page 53: How I met your eWallet - Rooted 2015

… si confías en un tercero para generar tus claves privadas ya que puede convertirse

en un acto de fe

Page 54: How I met your eWallet - Rooted 2015

Tú sabrás si utilizas…

…dispositivos conectados a la red para el almacenamiento de claves privadas

… carteras mentales para la generación de tus claves

… plataformas que no dispongan de sistemas de verificación en dos pasos

Una buena práctica es utilizar carteras multifirma para asegurar tus criptodivisas

Page 55: How I met your eWallet - Rooted 2015

Atacantes

Page 56: How I met your eWallet - Rooted 2015

Aplicarán técnicas tradicionalmente utilizadas contra el sector bancario. Para ello, tratarán de…

… obtener el máximo conocimiento de las víctimas

… adecuar la filosofía de ZeuS al robo de criptodivisas

… intensificar campañas de phishing

… diseñar redes artificiales para la realización de ataques de aislamiento

… utilizar botnets para el calentamiento artificial de la divisa

Page 57: How I met your eWallet - Rooted 2015

Empresas

Page 58: How I met your eWallet - Rooted 2015

Las empresas de seguridad pueden encontrar un nuevo target al que destinar sus productos basados en…

Detección de campañas de phishing, malware o aplicaciones móviles sospechosas para aquellas

empresas que operen en la nube

Reducción de los tiempos de espera basados en la identificación de transacciones sospechosas con ciertos márgenes de confianza

Ofrecimiento de servicios de arbitraje para la resolución de conflictos entre partes

Page 59: How I met your eWallet - Rooted 2015

Reto: Hack us!

Page 60: How I met your eWallet - Rooted 2015

Hemos transferido bitcoins a varias direcciones para que las recuperéis…

• A la cartera mental generada con la palabra

RootedCon2015: 0.02 BTC = 5€

• A una cartera mental generada con el

nombre de un ponente de la Rooted: 0.08 BTC = 20€

• A la cuenta del lumbreras que perdió la clave: 0.39 BTC = 100€

http://pastebin.com/AwE2B52m

Page 61: How I met your eWallet - Rooted 2015

How I Met Your eWallet

Félix Brezo

Yaiza Rubio

Carlos Díaz

Page 62: How I met your eWallet - Rooted 2015

Gracias!