Tarea 5: Coches y Llaveros

Descripción general

Casi todos los coches vienen actualmente con un llavero, que le permite abrir las puertas y arrancar el coche. Cuando compra un automóvil, la comodidad es la característica atractiva. Puedes dejar el llavero en tu bolsillo y no volver a preocuparte de tener una llave física. Suena genial.

La suposición implícita que haces es que el sistema de llavero es seguro, y que alguna persona al azar con hardware 50 de hardware no puede conducir con tu coche. No tiene una forma real de saber si la compañía de automóviles hizo un trabajo razonable con su sistema, por lo que debe confiar en ellos. Desafortunadamente, esa confianza no siempre está garantizada. Y no es hasta que la gente intenta hackear estos sistemas que los problemas surgen. Problemas que personas menos escrupulosas ya pueden haber estado explotando.

Llavero de su coche

Hay muchos sistemas de llavero diferentes. Empezaremos mirando el llavero de mi Prius del 2006. Los llaveros usan algo llamado Sistema Remoto sin llave (RKS). En los EE.UU. estos operan a 315 MHz, + / – 2,5 MHz. Mi llave Prius resultó estar a 312,590 MHz.Todos los llaveros están listados en la base de datos de la FCC. La observación de nuevas entradas es una de las formas en que la gente puede saber cuándo salen nuevos modelos de automóviles. Estos aparecerán mucho antes del anuncio oficial.

Puede averiguar en qué frecuencia transmite su llavero usando su SDR y usar GQRX o SDR # para monitorear el espectro. Al presionar un botón en el mando, debería ver un breve salto en el espectro. Es posible que tenga que cambiar la banda de frecuencia hacia arriba o hacia abajo en un par de MHz para encontrar la señal, la mía era casi 2,5 MHz baja.

Una palabra de precaución. ¡No te dejes llevar presionando el botón! El sistema RKS utiliza un código generado pseudo-aleatoriamente. Tanto el llavero como el coche se mantienen sincronizados para que el coche reconozca el siguiente código. Sin embargo, si el llavero se adelanta demasiado en la secuencia (100 pulsaciones de botón), el automóvil no lo reconocerá. ¡Eso hace que la llave (y el coche) sean considerablemente menos útiles!

Si capturamos la señal, el resultado se muestra a continuación

El ancho total de la gráfica es de 10 segundos, por lo que puede ver que hay una pulsación de tecla poco después de 2 segundos, y otra poco después de 5 segundos.

Si tenemos en parcela de 100 ms partir de los 2 segundos, se puede ver la señal digital que estamos buscando:

un acercamiento en el primer par de bits, obtenemos

Los bits son fáciles de identificar. Un umbral de decisión de 15 dará una detección casi perfecta. Si hacemos esto, y luego trazamos la primera parte de los datos digitales para las dos pulsaciones de teclas, obtenemos esto

Aunque los dos comienzan igual, divergen rápidamente. Esto es una suerte, porque si la señal fuera la misma cada vez, ¡tendrías suficiente información para robar mi auto ahora!

Los datos de nuevo on-off keying (OOK). También es casi seguro que sea codificación de fase dividida (o Manchester). En lugar de que un» 1 «sea alto y un» 0 » sea bajo, la información se codifica en la transición de alto a bajo o bajo a alto. Eso significa que un bit » 0 «es una transición ascendente, y un bit» 1 » es una transición descendente. Una buena manera de reconocer la codificación de fase dividida es que solo puede tener uno o dos segmentos bajos o altos en una fila. Lo bueno de la codificación de Manchester es que cada símbolo tiene una transición, y estos son más fáciles de encontrar cuando la señal ha sido alta o baja durante varios intervalos.

Este ejemplo es OOK, que es el más común para controles remotos de automóviles. Algunos utilizan la clave de cambio de frecuencia (FSK), donde cada bit se transmite como una frecuencia diferente, y la envolvente es constante.

Ataques a controles remotos de coche

Hay muchos ataques diferentes que se pueden usar contra controles remotos de coche, dependiendo de cómo funcionen y del tipo de acceso que esté buscando. El más simple te deja abrir el auto. Los ataques más exhaustivos le dan un control completo, básicamente clonando el control remoto.

La mayoría de los llaveros utilizan una tecla móvil. Esto produce una nueva forma de onda que depende del ID del llavero, una semilla aleatoria y cuántas veces se ha presionado la tecla. El automóvil realiza un seguimiento del último código que recibió y sabe cuáles podrían ser los siguientes cientos de códigos. Si detecta uno de los códigos futuros esperados, abre el automóvil. Si obtiene un código usado anteriormente, deja de responder al llavero. Para el Prius tienes que hacer el «Baile del pollo» para que funcione de nuevo, siempre que tengas otro llavero que funcione. De lo contrario, tiene que hacer que el concesionario vuelva a lavar el automóvil, por muchos cientos de dólares. He tenido que hacer esto un par de veces, ahora (por otras razones).

Hay varias líneas de ataque. Uno es simplemente grabar la salida del llavero para un par de pulsaciones de botón cuando está lejos del automóvil, o el automóvil está atascado. Con los códigos no utilizados registrados, puede abrir el automóvil.

Otra es realizar ingeniería inversa de la secuencia RKS. En general, esto debería ser extremadamente difícil. Sin embargo, ha habido varias situaciones en las que esto es muy fácil.

Finalmente, hay autos que se abren cuando el propietario se acerca al auto. Esto se basa en una señal de baja potencia que solo se puede recibir cuando el llavero está muy cerca. Esto puede ser derrotado amplificando estas pequeñas señales.

Hay muchos más ataques, y estos continuarán multiplicándose a medida que los autos se vuelvan más complejos y tengan más sistemas informáticos integrados para perseguir. Puedes ver algunos de estos para la próxima semana.

Ataques de repetición

El enfoque más antiguo y sencillo era grabar la forma de onda que emite un llavero (usando su rtl-sdr) y luego reproducirla. Esto funciona bien para los abrelatas de puertas de garaje más antiguos, que usaban una sola llave fija. Todavía hay coches por ahí que tienen llaveros que funcionan de esta manera (algunos Mercedes anteriores al 2000, por ejemplo).

Para los llaveros que usan una tecla móvil, aún puedes usar un ataque de repetición. Si puede obtener acceso al llavero cuando está lejos del automóvil y grabar varias pulsaciones de teclas, puede volver a reproducirlas para tener el automóvil abierto.

Si no puede obtener acceso al llavero, un segundo enfoque es crear un dispositivo que registre la salida del llavero cuando se usa y simultáneamente atasque el automóvil. Una forma estándar de hacer esto es escuchar la transmisión del llavero y luego comenzar a interferir cuando se transmiten los bits de corrección de errores al final. Así no te atascas. El automóvil no reconocerá el paquete, pero puede recrear los bits de corrección de errores y retransmitir la forma de onda más tarde.

Finalmente, un jammer por sí mismo evitará que el control remoto comience a bloquear el automóvil. Si el conductor no está atento, es posible que se aleje del automóvil dejándolo abierto.

Dispositivos de retransmisión

Todo esto depende de su capacidad para transmitir y recibir RF. Sus rtl-sdr son solo receptores, y hacen un gran trabajo de adquisición de señales. Hay muchas opciones para transmitir. Hay una serie de dongles USB que se basan en los chips TI CC111X que se utilizan en los llaveros, como este

Un enfoque interesante y más flexible utiliza su Raspberry PI para generar RF enviando una secuencia de datos cuidadosamente diseñada al puerto GPIO. Esto se describe en detalle, con videos y enlaces al código aquí:

Transmisor Raspberry PI

Con esto, puede generar prácticamente cualquier forma de onda de paquete digital que desee. Los niveles de potencia son más que adecuados para emular un llavero. Los rtl-sdr también son compatibles con Raspberry PI, por lo que los dos juntos le dan un sistema de hackeo de llavero total por 5 50 más o menos, como veremos en breve.

Atacando Sistemas Pasivos de Entrada y Arranque sin llave (PKES)

Muchos automóviles de gama alta utilizan un sistema pasivo para abrir el automóvil cuando el conductor se acerca. Una señal de baja potencia se transmite desde el automóvil como un desafío. El llavero responde entonces con una autenticación. Debido a que la potencia es tan baja, el automóvil asume que el conductor debe estar muy cerca si recibe una respuesta.

Estos sistemas se pueden piratear construyendo un repetidor que se coloca cerca del automóvil. Captura la señal del coche y la retransmite a mayor potencia. El control remoto puede estar en cualquier lugar en un par de cientos de metros, y aún escuchará la señal. El control remoto responde, y el repetidor lo captura de nuevo y lo retransmite. El coche cree que el llavero está cerca y abre el coche.

Lo bueno de este enfoque es que no necesita saber nada sobre el llavero, excepto su frecuencia. No es necesario realizar ingeniería inversa del protocolo que utiliza, ¡en realidad solo está utilizando la clave real!

Aquí hay un video de algunos ladrones de cuidado robando un Tesla con este enfoque

Ataque remoto pasivo, Tesla Model 3

¿Cómo puede reducir este riesgo?

Atacar el Sistema de llaves rodantes

Los siguientes ataques van tras el propio sistema de llaves rodantes. La forma en que esto generalmente funciona es que el llavero envía un ID, junto con un contador de cuántas veces se ha presionado una tecla. Esto se encripta y se transmite al automóvil al presionar el botón.

Si el cifrado es fuerte, es extremadamente difícil averiguar cuál es el id de usuario y el contador. Hay varios casos interesantes. Una es para los 20 años de VW (y Audi, Porsche, etc.), que veremos aquí. Otro es para Subarus, que puede ver para su asignación de esta semana.

Aquí se da una descripción del sistema VW RKS

VW Hack

Esto apunta a un artículo con cable (que desafortunadamente actualmente está detrás de un muro de pago), e incluye un documento técnico que entra en gran detalle sobre cómo funciona. Los autores del documento técnico analizaron los sistemas VW RKS durante los últimos 20 años.

Para los sistemas más recientes, el cifrado era relativamente fuerte, equivalente a una clave de 90 bits. Sin embargo, ¡resulta que usaron la misma llave en todos los autos! 100 millones de ellos!

El desafío entonces es averiguar cuál es la clave y cuál es el algoritmo de cifrado. El auto en sí te ayuda a resolver eso. Cuando se presiona el botón, el automóvil recibe la señal y luego la decodifica en la computadora de a bordo (ECU). La clave y el algoritmo se almacenan en el firmware de la ECU. Los autores compraron algunas ECUS en eBay, descargaron el firmware y realizaron ingeniería inversa del cifrado (por lo general, son operaciones de bits bastante simples que son fáciles de identificar). Con este conocimiento, después de adquirir la señal de una sola pulsación de tecla, el ID de usuario y el contador se pueden decodificar y clonar el llavero, lo que proporciona un control completo del automóvil.

Hay un par de cosas interesantes aquí. Una es que cada coche VW decodifica cada llavero, por lo que al monitorear la ejecución de su ECU, puede encontrar la identificación de usuario y el contador para todos los coches a su alrededor. También hay informes de personas que usan sistemas como este para robar otras marcas de automóviles.

La razón por la que solo su automóvil responde a su control remoto es que su automóvil tiene una «lista de permisos» de identificación de llavero a la que responde. Eso es lo que se establece cuando cambias las llaves del auto.

todo Esto suena bastante alarmante. Pero se pone peor, como veremos la próxima semana.

Tarea

Tienes varias opciones para tu tarea esta semana. Para cada tema, genere alrededor de 5 diapositivas para describir sus pensamientos o resultados. Inscríbase aquí

Hoja de inscripción

y suba sus diapositivas aquí:

Diapositivas de la semana 5

1. Este artículo se refiere al sistema Subaru RKS. Léalo, mire los videos y describa lo que encuentre.

Subaru RKS

2. ¿Alguna vez te has preguntado cómo funcionan esas tarjetas de acceso de hotel? Este artículo describe un hack no RF que explota las mismas ideas que los ataques de llavero.

Llaves De Hotel

3. ¿Por qué robar un coche cuando puedes tener una excavadora? Lea este artículo y vea el video para ver cómo funciona.

Máquinas industriales de hackeo

4. Hay muchos otros hackeos de autos por ahí. Mira si puedes encontrar algo interesante, y descríbelo. Busca historias en las que puedas averiguar cómo funciona. Los sistemas de entretenimiento son un modo de acceso común (consulte el hack de Uconnect para Jeeps). Tesla y los hackers tienen un juego de gato y ratón de larga duración. Hay muchos ejemplos interesantes aquí

5. Si tienes una Raspberry Pi, mira si puedes conseguir que transmita una señal. Esto debería ser bastante sencillo. Usa el enlace de arriba. Te enviaré una Raspberry Pi si quieres probar esto.

Finalmente, si aún no lo ha hecho, por favor envíeme un correo electrónico sobre cómo le va la clase. Aprecio escuchar sus pensamientos. ¡Gracias!

Página generada 2021-02-10 22: 57: 00 PST, por jemdoc.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.