Jianyuan Lab 丨 Análisis de casos de ataques a la seguridad de la red automotriz (2)

Autor |  Tian Zheng Gerente de Proyecto del Instituto de Investigación de Innovación de Software Confiable Kongan de Shanghai

Fuente |  Laboratorio Jianyuan

Comunidad |  Agregue el ID de WeChat " TICPShanghai " y únase a la "Comunidad de seguridad Shanghai Kongan 51fusa"

Introducción: La frecuente aparición de incidentes de seguridad de la información automotriz ha hecho que la situación de seguridad en la industria automotriz sea cada vez más tensa. Estos ataques de ciberseguridad a los automóviles pueden afectar al menos los lanzamientos de productos corporativos y la reputación de los productos, o dar lugar a retiradas de automóviles a gran escala o daños a los precios de las acciones, lo que resulta en pérdidas económicas y costos de seguridad inconmensurables. Este artículo selecciona ejemplos típicos de ataques a la seguridad de redes de vehículos inteligentes en red y los presenta en detalle.

01

Amenazas a la seguridad de la información automotriz

Con el continuo desarrollo de los automóviles hacia la inteligencia, las redes, la electrificación y la automatización, la tendencia de los automóviles definidos por software es cada vez más prominente. En la actualidad, la escala de códigos clave de vehículos inteligentes conectados en red se ha multiplicado por 10 y 100 y las vulnerabilidades de los códigos han aumentado exponencialmente. Al mismo tiempo, el número de unidades de control electrónico (ECU) de automóviles y la conectividad en los vehículos han seguido aumentando. aumento, lo que ha aumentado considerablemente el riesgo de que los automóviles sean atacados por la seguridad de la información.

Los frecuentes incidentes de seguridad de la información automotriz en los últimos años han exacerbado las preocupaciones de todos los ámbitos de la vida sobre las perspectivas de desarrollo de los automóviles inteligentes. Por ejemplo, en la Conferencia Black Hat celebrada en los Estados Unidos en 2015, los investigadores lanzaron un ataque encubierto a través del sistema de entretenimiento del automóvil e invadieron con éxito el Jeep Cherokee para obtener de forma remota la autoridad de operación de la función clave del automóvil [1]. Este incidente condujo directamente a la retirada mundial de 1,4 millones de vehículos por parte de Chrysler y también impulsó a la industria automotriz a tomar más en serio los riesgos de seguridad de la información que enfrentan los automóviles inteligentes.

Desde entonces, la industria automotriz ha respondido activamente a los desafíos de seguridad de la información, pero los nuevos vehículos inteligentes conectados, equipados con tecnologías avanzadas de información y comunicación, no pueden evitar por completo la amenaza de los ciberataques. Por ejemplo, Tencent Keen Lab atacó a Tesla dos veces en 2016[2] y 2017[3] para lograr ataques remotos a vehículos sin contacto físico, utilizando kernel, navegador, firmware MCU, protocolo UDS y proceso de actualización OTA Múltiples vulnerabilidades de seguridad de alto riesgo en Vehículos Tesla, piratearon los módulos CID, IC, puerta de enlace y piloto automático de Tesla y luego entregaron las vulnerabilidades de seguridad que descubrió a Tesla. En 2019 [4-5], Tencent Keen Lab demostró en una variedad de automóviles autónomos BMW que explotaban las vulnerabilidades en el sistema de información y entretenimiento del vehículo y en los terminales de comunicación de información del vehículo para invadir de forma remota e inalámbrica el vehículo, y explotaron aún más las fallas de seguridad en la puerta de enlace central para lograr el bus CAN interno inyecta mensajes maliciosos, obteniendo el control de la red subyacente crítica para la seguridad en el vehículo. En 2020[6], el equipo de 360 ​​​​Sky-Go descubrió 19 vulnerabilidades de seguridad y las aprovechó para formar un enlace de ataque para la consola de entretenimiento en el vehículo, el módulo de comunicación en el vehículo, el protocolo de comunicación IoV y el back-end de Mercedes-Benz. Se espera que afecte a más de 2 millones de vehículos Mercedes-Benz. Tácticas del estilo de los "hackers de sombrero blanco" como estas se han utilizado en la industria de la seguridad automotriz para encontrar, informar e incluso reparar vulnerabilidades en los automóviles.

02

Análisis de casos de ataque

2.1 Introducción al ataque a Amway

En 2016 [2], Keen Lab utilizó con éxito múltiples vulnerabilidades de seguridad de alto riesgo para implementar un ataque remoto a Tesla sin contacto físico y descubrió el techo solar, la señal de giro, el asiento, la pantalla, la puerta, etc. del automóvil en el estado de estacionamiento de Tesla. El control remoto del sistema de bloqueo, así como el control remoto del limpiaparabrisas, el maletero y el sistema de frenos en estado de conducción. Keen Lab ingresa a través de conexión inalámbrica (Wi-Fi/celular), destruyendo muchos sistemas del vehículo, como CID (pantalla de información central, sistema de visualización de control central), IC (grupo de instrumentos, grupo de instrumentos), Parrot (módulo inalámbrico y Bluetooth) y puerta de enlace. , etc., y luego inyectar mensajes CAN maliciosos en el bus CAN. Esta es la primera vez en el mundo que una brecha de seguridad logra piratear de forma remota a Tesla sin contacto físico y logra un control arbitrario del cuerpo y la conducción.

2.2 Análisis de caso

2.2.1 Objeto de investigación

Keen Lab completó con éxito la prueba en Tesla Model S P85 y P75, y los modelos correspondientes y la información de versión se muestran en la Figura 1 y la Tabla 1 a continuación.

8421.png

Figura 1 Objeto de investigación: Tesla Model S

8422.png

Tabla 1 Información de la versión del vehículo de prueba

2.2.2 Análisis de los pasos del ataque.

1) Atacar el navegador

Antes de que pueda comenzar un ataque, primero es necesario determinar la superficie de ataque. Hay un punto de acceso Wi-Fi proporcionado por el vehículo en cada automóvil Tesla, y muchos usuarios guardarán la información SSID en el automóvil para la conexión automática. Si se falsifica este punto de acceso Wi-Fi y el tráfico de QtCarBrowser se redirige al nombre de dominio del atacante, se puede lograr un ataque remoto a los vehículos Tesla. Además, cuando se está en modo celular, al establecer un nombre de dominio diseñado, el phishing y los errores de entrada del usuario también pueden provocar la activación remota de vulnerabilidades del navegador, lo que permite la entrega remota de exploits sin acceso físico.

El agente de usuario del navegador Tesla puede inferir que la versión de QtWebkit es 2.2.x y que existen muchas vulnerabilidades en esta versión de QtWebkit. Después de obtener el archivo binario QtCarBrowser de Tesla CID, los investigadores obtuvieron el shell de Tesla CID explotando estas dos vulnerabilidades en el navegador, para lograr la ejecución de código arbitrario.

La primera vulnerabilidad existe en la función JSArray::sort(). Esta función se llamará cuando se llame a la función del método sort() de la matriz en código JavaScript. El fragmento de código de función vulnerable se muestra en la Figura 2. Si compareFunction es JSArray::shiftCount(), la longitud de m_vector cambiará y toda la estructura m_vector se transferirá a otro lugar. Sin embargo, el almacenamiento del puntero de la variable local todavía apunta a la ubicación anterior, lo que provoca daños en la memoria. Cuando llamar a sort() en una matriz no desplazada desencadena este problema, el mapa de variables al que hace referencia el almacenamiento del puntero local siempre se superpone a la variable m_length de la nueva estructura de almacenamiento, lo que provoca un bloqueo. Al explotar la vulnerabilidad en JSArray::sort(), se puede obtener la dirección JSCell.

8423.png

Figura 2 Fragmento de código de función vulnerable

La segunda vulnerabilidad, CVE-2011-3928 descubierta por Keen Labs, puede explotarse para pérdidas de memoria. Como se muestra en la Figura 3, si se asignan varias estructuras de elementos, después de static_cast, el miembro m_data de HTMLInputElement se superpondrá con el puntero m_next de Element. Además, la segunda y tercera estructura de Elemento se insertan en la misma etiqueta como subelementos, y tanto m_next como m_data apuntan a la tercera estructura de Elemento. Porque m_data apunta a la estructura StringImpl y la estructura StringImpl se superpone con la estructura Element. El miembro m_data de la estructura StringImpl siempre tiene un valor fijo de 1, y el m_length de la estructura StringImpl es siempre un puntero lo suficientemente grande como para leer toda la memoria.

8424.png

Figura 3 Vulnerabilidad en CVE-2011-3928

2) Escalada de privilegios locales

Después de obtener el shell remoto basado en el ataque del navegador, aún es imposible obtener privilegios arbitrarios, lo que requiere otra vulnerabilidad para escapar de AppArmor y obtener privilegios más altos que el contexto del proceso del navegador. Los investigadores descubrieron que la conocida vulnerabilidad ARM Linux CVE-2013-6282 (es decir, falta de controles de acceso en la API del kernel) todavía existe en Tesla. Utilizando esta vulnerabilidad, los investigadores primero parchearon la llamada al sistema setresuid() para obtener privilegios de root y luego llamaron a reset_security_ops() para deshabilitar AppArmor, logrando privilegios arbitrarios de lectura/escritura en el contexto del kernel.

3) Acceso no autorizado a sistemas integrados

Además del CID, hay tres sistemas integrados independientes más importantes en el Tesla Model S, a saber, IC, Parrot y Gateway, como se muestra en la Figura 4. Debido a fallas en el diseño de la red y la falta de una protección con contraseña sólida, los investigadores pudieron obtener acceso raíz a los tres sistemas mediante ataques remotos.

8425.png

Figura 4 Equipos importantes de la red vehicular.

·  CI

Después de obtener privilegios de root en CID, los investigadores pueden obtener privilegios de acceso de root en IC mediante el comando "ssh root@ic" sin ninguna contraseña e iniciar sesión en IC a través de SSH.

Además, se puede realizar el acceso mutuo entre CID e IC. CID incorpora un esquema de rotación de claves que recibe nuevos tokens aleatorios de los usuarios cada 24 horas desde la nave nodriza. CID establece la clave en texto claro en el sistema de archivos del IC, lo que significa que incluso si solo tiene acceso al IC, puede ingresar SSH al CID y obtener privilegios de root.

·  Loro

El módulo Parrot es un módulo de terceros, el modelo es FC6050W, integra funciones inalámbricas y Bluetooth y se puede conectar al CID mediante protocolo USB. Al buscar puertos abiertos en Parrot, los investigadores descubrieron que el puerto 23 estaba abierto para Telnet. Una vulnerabilidad importante es que Telnet es anónimo y los investigadores pueden acceder y controlar el módulo Parrot mediante el simple comando "nc parrot 23".

·  Puerta de enlace

Gateway parece mucho más seguro que IC y Parot. Los investigadores primero utilizan el archivo binario gw-diag para activar la puerta trasera de Gateway en el puerto 23 y encontrar la entrada del shell de Gateway. Luego, los investigadores obtuvieron el token mediante ingeniería inversa del firmware y obtuvieron acceso a la puerta de enlace.

4) programación de la ECU

Al desmontar la unidad CID, los investigadores encontraron algunos archivos de registro relacionados con la depuración y la actualización en la tarjeta SD conectada a la ECU de la puerta de enlace. Estos archivos describen el proceso detallado de toda la actualización, incluido el envío del archivo hexadecimal a la ECU, la configuración del interruptor de relé y otros pasos importantes, y se puede ver información interna importante a través del archivo desensamblado.

Para el software de actualización, toda la actualización está controlada por la función en la dirección de memoria 0x40006AE4. Primero realizará una verificación de seguridad en el archivo y configurará su modo de trabajo para garantizar que todo el automóvil permanezca físicamente seguro durante el proceso de actualización. Luego omita la verificación de integridad, actualice el firmware a la puerta de enlace y programe con éxito el código personalizado en la ECU. Los pasos específicos son los siguientes:

①Descomprima   el archivo release.tgz y asegúrese de que el valor de la suma de verificación cumpla con los requisitos.

②   Compruebe si hay un archivo de manifiesto en el archivo comprimido y obtenga de él la información de la versión en el paquete de firmware.

③   Procese cada archivo ".Hex" en el programa. Convierta archivos hexadecimales a secuencias binarias y envíe firmware mediante el protocolo UDS. El gestor de arranque en el chip de destino debe escribir el archivo hexadecimal para flashear y verificar que la aplicación sea válida en cada arranque. Finalmente verifique si el firmware ha sido enviado y programado a la ECU de destino.

④Después   de procesar todos estos archivos, cree un registro y reinicie.

5) Ingeniería inversa y ataque de puerta de enlace

Existen vulnerabilidades en muchas tareas importantes que se ejecutan en la puerta de enlace, que permiten casi cualquier tipo de comunicación con la ECU en el bus CAN. Los investigadores pueden inyectar cualquier mensaje CAN en cualquier momento y usar parches para bloquear algunas señales CAN necesarias para lograr el control de la carrocería del vehículo. El proceso de ataque específico incluye:

①La   puerta de enlace transmite las transmisiones UDP de los puertos 20100 y 20101 al bus CAN, y los investigadores pueden controlar el sistema de bloqueo de la puerta falsificando señales UDP.

②Los investigadores   pueden reemplazar la función de diagnóstico 0x01 con la función de diagnóstico 0x04, inyectar mensajes CAN y enviarlos al bus PT-CAN con ID 0x45 para realizar la operación de encender las luces cuando el automóvil está en marcha o parado.

③   Después de localizar la estructura almacenada en el firmware, los investigadores cambiaron la ID de destino en el firmware para bloquear algunos mensajes importantes (como la ID de 0x218 en BDY CAN), para abrir el maletero o desactivar la función de bloqueo automático cuando el el auto esta conduciendo.

6) Ataque al bus UDS/CAN

El Servicio de Diagnóstico Unificado (UDS) está codificado en ISO-14229 y permite el control diagnóstico de funciones de la unidad de control electrónico (ECU) del vehículo. Al configurar el Programa de Estabilidad Electrónica (ESP) como una sesión de programación de diagnóstico de baja velocidad, los investigadores utilizaron un script de shell Bash para inyectar marcos de datos UDS a través de la puerta de enlace y desactivar la ECU del ESP a baja velocidad, lo que resultó en que no haya CAN relacionado con la velocidad del vehículo. mensajes en el bus CAN-CH, y el valor de velocidad en tiempo real del IC no se puede actualizar cuando el automóvil está funcionando a alta velocidad. Además, el vehículo muestra mensajes de advertencia sobre el sistema de frenos antibloqueo (ABS), lo que genera preocupaciones de seguridad sobre fallas en la dirección y los frenos.

8426.png

Figura 5 Controlador CAN fabricado por Keen Lab

03

Resumir

Este artículo presenta las vulnerabilidades y los detalles técnicos relacionados involucrados en la investigación de Keen Lab para realizar el control remoto del Tesla Model S. Este incidente de ataque a la seguridad es el primer caso típico en el que se utiliza el bus CAN para llevar a cabo ataques remotos para controlar de forma remota los vehículos Tesla en los modos de estacionamiento y conducción. Al final, Keen Lab entregó el informe de investigación y las vulnerabilidades a Tesla, y Tesla respondió en 10 días y utilizó su mecanismo OTA para corregir vulnerabilidades y actualizar la seguridad en navegadores, kernels y firmware de ECU. vehículos para proteger los sistemas a bordo.

referencias:

[1] Charlie Miller, Chris Valasek. Explotación remota de un vehículo de pasajeros inalterado [C]. Sombrero Negro Estados Unidos, 2015.

[2] Laboratorio de seguridad Keen de Tencent. Caída libre: piratear Tesla desde la conexión inalámbrica al bus CAN [C]. Sombrero Negro Estados Unidos, 2016.

[3] Laboratorio de seguridad Keen de Tencent. Por aire: cómo comprometimos de forma remota la puerta de enlace, el BCM y las ECU del piloto automático de los automóviles Tesla[C]. Sombrero Negro Estados Unidos, 2017.

[4]Cai Zhiqiang, Wang Aohui, Zhang Wenkai, Gruffke M, Schweppe H. Días 0 y mitigaciones: vías para explotar y proteger los automóviles BMW conectados[C]. Sombrero Negro Estados Unidos, 2019.

[5] Laboratorio de seguridad Keen de Tencent. Evaluación de seguridad experimental de automóviles BMW: informe resumido [EB/OL]. https://keenlab.tencent.com/en/whitepapers/Experimental_Security_Assessment_of_BMW_Cars_by_KeenLab.pdf,2018.

[6] Grupo 360 Sky-Go. Informe de investigación de seguridad sobre automóviles Mercedes-Benz [EB/OL]. https://skygo.360.net/archive/Security-Research-Report-on-Mercedes-Benz-Cars-en.pdf,2020.

Supongo que te gusta

Origin blog.csdn.net/TICPSH/article/details/132164924
Recomendado
Clasificación