Estudio de seguridad de pago de estacionamiento

En este artículo quiero hablar sobre la seguridad de los sistemas automatizados de pago de estacionamiento. Aproximadamente como en esta imagen.

imagen

En la entrada, se emite un boleto de estacionamiento, a la salida se empuja hacia la terminal. Básicamente, hay dos tipos de cupones: papel con código de barras / código QR y tarjetas plásticas sin contacto, este último será discutido.

Como de costumbre, quiero hacer una reserva de inmediato para que toda la información se presente solo con fines informativos y no tenga el objetivo de patrocinar el terrorismo y establecer la dominación mundial.

Una vez, usando el estacionamiento de un centro comercial metropolitano, me inspiraron los artículos sobre Troika y Podorozhnik , así como por pura curiosidad, lancé la aplicación MifareClassicTool en mi teléfono habilitado para NFC e intenté leer el contenido del mapa. Sería lógico suponer que la verificación del pago se realiza en línea y que la tarjeta se usa solo como ID de usuario. En este caso, no habría nada que hacer sin acceso a la red interna y este artículo simplemente no existiría, pero la realidad resultó ser más interesante. Mis ojos vieron algo como esto:


La captura de pantalla se reduce ligeramente para la comodidad de los lectores. La tarjeta es un Mifare Classic 1K, dividido en 16 sectores. En los sectores 1-9, se registra cierta información y se desconocen las claves para ellos. El resto está vacío y usa las teclas predeterminadas. Muy curioso Afortunadamente para nosotros, el protocolo de cifrado patentado crypto1 utilizado en estas tarjetas se entiende bien y tiene vulnerabilidades.

Necesitamos una computadora portátil, un lector de tarjetas sin contacto como ACR122U y la aplicación mfoc , que le permite restaurar todas las demás con solo una clave de cualquier sector en un tiempo razonable. Saltaremos la etapa de ensamblaje y configuración de estas cosas, vayamos directamente al grano. Ponemos la tarjeta en el lector, ejecutamos el programa, dejamos la laptop en el auto y vamos de compras, porque para esto vinimos aquí. Ha pasado una hora, se han restaurado todas las claves, estamos intentando leer la tarjeta nuevamente.


Se volvió aún más curioso, pero no está muy claro lo que está escrito aquí. Salimos del estacionamiento e inmediatamente llamamos nuevamente. Ya tenemos las claves e inmediatamente puede revisar la comparación de los volcados.


No hay muchas diferencias, pero ¿cómo son? Sí, esta es la hora de entrada en formato BCD, 11:25:47. Al lado está la fecha, 12/11/2018. Hace unos días cambiamos la fecha, vamos a la terminal de pagos y él felizmente informa que le debemos mucho dinero. Cambiamos la fecha, establecemos la hora actual y abandonamos el estacionamiento de forma gratuita.

En principio, esto podría detenerse, pero el amor por la investigación domina la pereza, vamos a otro centro comercial y repetimos la operación allí. Las claves son diferentes, pero el formato de datos es similar. Después de visitar varios centros comerciales y una estación y haber realizado varios experimentos, queda claro qué es qué. En el primer sector, el período de validez de la tarjeta se almacena, en nuestro ejemplo es hasta el 31/12/2050. En el segundo: la hora de entrada, el tiempo y el monto del pago, el tiempo hasta el cual se permite la salida. Los bloques del tercer sector y los subsecuentes deben leerse como 4 números en little-endian. Intentemos descifrar los datos en nuestro ejemplo.


Los bloques con una descripción de las tarifas difieren entre los estacionamientos, el primer bloque del sector 3 se usa como encabezado, pero su formato no se conocía, la documentación no se podía encontrar en el dominio público, y esto no es tan importante.

Probablemente, aquí es necesario sacar algunas conclusiones. Los desarrolladores de sistemas podrían usar la verificación en línea, podrían usar los tipos de tarjetas Desfire / Ultralight C que no tienen vulnerabilidades conocidas, pero confían en la seguridad de la tecnología obsoleta. Por otro lado, esta no es una tarjeta bancaria y la pérdida aquí no es significativa, aunque los taxistas en la estación estarán encantados.

Source: https://habr.com/ru/post/es431570/


All Articles