Imaginemos una tarjeta de Nespresso que podemos usar para pagar por café en la máquina de la oficina. Ahora imaginemos que conseguimos crackear la tarjeta, añadir fondos ilimitados y engañar a la máquina. Podríamos conseguir café ilimitado (y, de paso, quizá buscarnos un problema). Algo así es lo que ha conseguido Pollen Vanhoof, un investigador de ciberseguridad que explica en su web cómo ha conseguido engañar a ciertas máquinas de Nespresso explotando las Smart Cards de la marca.
Según explica Vanhoof, las antiguas tarjetas inteligentes de Nespresso usan el chip MIFARE Classic. Este era muy común en las tarjetas hace años e incluso hoy en día se pueden encontrar algunas que lo implementan. El problema es que en 2008 unos investigadores consiguieron hacerle ingeniería inversa al sistema, siendo capaces de clonar y manipular el contenido del chip. Desde entonces, "la serie MIFARE Classic se considera insegura" porque permite, entre otras cosas, lo que ha conseguido Vanhoof.
Café infinito

Después de que los investigadores publicarán sus hallazgos en marzo de 2008 (que fueron especialmente llamativos porque afectaban a las tarjetas del transporte público OV-Chipkaart de Países Bajos), la serie MIFARE Classic fue considerada insegura. La compañía, actualmente, ofrece alternativas más seguras, como MIFARE Plus, que está basado en AES-128 y es compatible con MIFARE Classic.
Usando un lector de tarjetas NFC, el comando nfc-mfclassic y mfoc, un software que crackea el encriptado de los chips MIFARE Classic, Vanhoof es capaz de acceder, visualizar y modificar los binarios de la tarjeta. Haciendo una compra con la tarjeta, Vanhoof es capaz de ver qué binarios cambian exactamente, ya que asume que el valor de la tarjeta se guarda en la tarjeta en sí, y no en un servidor ajeno.
Comparando los binarios de antes y después de la compra, Vanhoof descubrió que la tarjeta usa tres bytes para representar el valor total. "Por lo tanto, la máxima cantidad posible de dinero en una de estas tarjetas es de 167.772,15 euros", explica el investigador. Simplemente hay que usar un editor hex, modificar el archivo y escribirlo en la tarjeta. Efectivamente, la máquina detecta que tenemos el saldo mencionado anteriormente y nos permite comprar café. Si cada uno vale un euro, pues tenemos para 167.772 cafés, que son un café al día durante 459 años.
Nespresso está al tanto de esta vulnerabilidad. De hecho, el investigador le comentó sus hallazgos el 24 de septiembre de 2020, pero no fue hasta el 2 de febrero cuando Nespresso confirmó que Vanhoof podía publicarlos.
Es más, no solo ha expuesto la vulnerabilidad, sino que también ha ofrecido dos potenciales mitigaciones a la misma: actualizar las tarjetas con alternativas más seguras y/o modificar las máquinas para que el dinero de las tarjetas se guarde en un servidor en lugar de en las propias tarjetas, de forma que las tarjetas sirvan como un método de identificación personal. "Tras hablar con Nespresso, parece que ya ofrecen estas dos opciones", concluye el investigador.
Vía | The Register
Ver 31 comentarios
31 comentarios
Usuario desactivado
Resumen para programadores: Validar siempre del lado del servidor, incluso aunque sea redundante.
myboo9632
Agua de calcetín infinito
palamos2000
hasta el chip del dni es un Chip:SLE78CLFX408AP de facil lectura con lectores rfid como los de las mifare.... ahi lo dejo...
rogerquerty
En el curro hace unos 10 años estábamos desarrollando un sistema de créditos con tarjetas, empezamos con con Mifare Classic y en seguida ya las descartamos pasando a Mifare Ultralight. Y eso que todas las validaciones se hacían en el servidor, la tarjeta únicamente identificaba al usuario.
No se cuando hicieron su desarrollo en Nespresso, pero si tiene menos de 10 años, hay alguien que ha hecho una cagada monumental, porqué entonces ya era vox populi que las Classic estaban rotas.
palamos2000
mifare plus dice... hasta la desfire esta petada ya... hay distros linux solo dedicadas a eso a sacar la encriptacion por fuerza bruta