35C3: Encontrar errores en Bluetooth

[Jiska Classen] y [Dennis Mantz] ha creado una herramienta llamada Inner Blue, que pretende ser una navaja suiza para jugar con Bluetooth a un nivel inferior. La base de su herramienta se basa en tres características comunes a todos los conjuntos de chips Broadcom Bluetooth: una que le permite leer la memoria arbitraria, en la que puede operarla, y otra, que le permite escribirla. Bueno, eso fue fácil. El resto de su trabajo analizó este código y aprendió cómo reemplazar el firmware con su propia versión. Eso les requirió unos meses de arduo trabajo de reversión.

Al final, Inner Blue les permite ejecutar comandos en una capa más profunda, la capa LMP, lo que permite monitorear e inyectar fácilmente. En una serie de demostraciones en vivo (¡y exitosas!), Exploran Nexus 6P desde un Nexus 5 modificado en su escritorio. Aquí es donde comenzaron a profundizar en la pila de Bluetooth de otros dispositivos a través de chips Broadcom, y allí comenzaron a encontrar errores.

Como sucede a menudo, [Jiska] simplemente miró y encontró un presentador de código externo que no limitaba la verificación. Y eso significaba que podía ejecutar otras funciones en el firmware simplemente omitiendo el procesador de direcciones. Debido a que básicamente llaman a funciones en cualquier lugar de la memoria, encontrar qué funciones llamar con qué argumentos es un proceso de prueba y error, pero las consecuencias de esto incluyen al menos un bloqueo y reinicio del módulo Bluetooth, pero también pueden hacer esos trucos. cómo poner el módulo Bluetooth en el modo "Dispositivo en prueba", que debería ser accesible solo desde el propio dispositivo. Todo esto es antes de emparejarlo con el dispositivo: solo un paseo es suficiente para llamar a las funciones con el manipulador del carro.

Todos los detalles de esta operación aún no están disponibles, ya que Broadcom no ha arreglado el firmware para probablemente millones de dispositivos en la naturaleza. Y una de las razones por las que no lo han solucionado es que un parche del error revelará dónde se encuentra la falla en todos los teléfonos impecables, y no todos los proveedores pueden confiar en ellos para enviar actualizaciones a la vez. Si bien se han centrado en el teléfono móvil Nexus 5, que ahora es bastante antiguo, es aplicable a cualquier dispositivo con un chip Broadcom Bluetooth similar.

Además del error de día cero aquí, la gran historia es su marco de análisis de Bluetooth, que sin duda ayudará a otros investigadores a aprender más sobre Bluetooth, encontrar más fallas y, con suerte, ayudar a que Bluetooth sea examinado más abiertamente y más seguro. Ahora, cualquiera que tenga una Raspberry Pi 3/3 + o Nexus 5 puede transformarla en una herramienta de búsqueda de Bluetooth de gama baja.

Deberias saber [Jiska] de su truco FitBit anterior. Si no es así, asegúrate de comprobarlo.

  • Nueva robótica dice:

    Hu. ¿Es por eso que quieren que enciendas Bluetooth cuando esperas en la seguridad del aeropuerto?

    Hay inscripciones pidiendo a las personas que enciendan Bluetooth en la línea de seguridad en el Aeropuerto Internacional de Halifax durante al menos un año, probablemente dos. Siempre pensé que eso era extraño.

    Estoy seguro de que este día cero está en manos de un gobierno de mucho más tiempo.

    • celebraciones dice:

      Probablemente miden el tráfico peatonal. 5 Pueden usar la dirección de su dispositivo Bluetooth para ver de forma anónima a dónde se dirige, cuánto tiempo se queda y, en general, qué tan ocupada está un área.

      • Nueva robótica dice:

        Pero ya lo tienen. Escanean su pase cuando ingresa a la cola de seguridad y cuando sale de la cola de seguridad.

        • kriptilomese dice:

          Los aeropuertos quieren saber más exactamente dónde se encuentra, por ejemplo, en qué fila se encuentra para cualquier cosa, no solo en qué área se encuentra

      • Nueva robótica dice:

        Lo siento, debería haberle explicado, las señales están solo en una parte muy pequeña del aeropuerto. El espacio inmediatamente enfrente del área de proyección, donde todos se alinean. Esa es la única zona con los escudos.

    • xor007 dice:

      Quieres decir algo 😉

  • Alan Hightower dice:

    ¿Alguien más que yo ve esto como un problema con el "código Bluetooth defectuoso", pero un problema con la cultura corporativa de que deberíamos despedir a todas las caras barbas grises y contratar grandes contratistas verdes de reemplazo por centavos de dólar? ¡Sí! Ahorro a la empresa -30% en costos laborales que van directamente al resultado final. ¡Bono Ejecutivo de Tiempo de Material!

    Reconozco la posibilidad de que sea partidista porque mi barba es gris. Pero nunca me despidieron.

    • René Durand dice:

      Vi barbas grises tan malas como las más jóvenes. Mira, ¿ves muchas barbas grises en la imagen de este artículo? La edad no es el problema aquí.

      Sin embargo, la codicia y, sí, la falta de habilidades es un problema (sea cual sea la edad).
      También lo son las personas con mentalidad profesional. He conocido a algunos en mi vida laboral, prefieren enviar un producto correcto / inseguro a tiempo, en lugar de retrasarlo y solucionar los problemas. Cuando finalmente aparecen los problemas, hace mucho que se fueron, y las personas inteligentes que estaban en contra de la liberación (y que ahora están etiquetadas como brujas) tienen que lidiar con ellos.

      Creo que mató a mi empresa y espero ser despedido (junto con todos los demás) después de unas semanas / meses.
      La gerencia escuchó a un estúpido y egocéntrico loco de carrera durante algunos años, ya que ciertamente se veía bien en sus discursos, desestimando la opinión del resto del equipo. Cuando notaron el problema, causó mucho daño. Esto sucedió hace 3 años y nos hemos estado hundiendo desde entonces, y no veo una salida. Triste.

    • Robert Mateja dice:

      Eso debería ser revisado rápidamente por el mercado. * no se aplica a los ladrones traseros del gobierno ni a la preparación para la toma del poder por parte del enemigo.

      Si se observa en un espacio cerrado .. Run Forest, Run!

    • Fabi dice:

      Podría haber una razón. Lo más probable es el problema de los recursos limitados ... con un cronograma y un presupuesto definidos, es muy difícil, si no imposible, ser 100% gratuito. Entonces, por ejemplo, encuentra el 99.9% de sus errores, sin embargo, damos como resultado algunos errores en su código. Un hacker solo necesita un error para explotar su sistema ...

    • Marco dice:

      Las barbas grises han causado este problema ... la mayoría cree que los excedentes de búfer son algo para lo que otras personas codifican. Han estado haciendo codificación incorporada durante 30 años y pueden hacerlo perfectamente, es culpa de todos. Además, si realmente lo desea, puede usar estas herramientas que aumentan su tiempo de desarrollo en 100 veces para escribir una C segura, de modo que verá que nunca necesitamos una alternativa y nunca la necesitaremos.

      Las barbas grises eran helicópteros. Tal vez la nueva generación sea más pobre de hackers, pero la industria debería haber sido ingenieros ... y las barbas grises lo impidieron incluso más que el desarrollador de javascript frame dos, pero con un falso manto de respeto.

      • Elliot Williams dice:

        FWIW: La declaración que faltaba aquí era "si" para hacer un control fronterizo. ¿Por qué no se encontró esto durante la prueba? (En mi opinión, nada que ver con C o barbas grises).

  • Antonio dice:

    Oy vey ..

    En realidad, este es un tema recurrente. El vendedor lanza un chip barato, pero con mucha "salsa secreta" cerrada.
    Los investigadores de seguridad traspasan el velo de la seguridad con oscuridad.
    Un proveedor se demora en lanzar un parche, no lo libera para dispositivos más antiguos o declara que parches completos ya no son compatibles ... a menudo parcheando solo los errores encontrados explícitamente y sin abordar fallas en las plantillas de diseño / proyecto.
    Un proveedor de chips puede lanzar un parche, pero luego es posible que un proveedor de dispositivos ya no exista y / o se encargue del dispositivo, por lo que incluso las deficiencias reparadas permanecen intactas.
    Una gran cantidad de dispositivos, que de lo contrario son completamente funcionales, quedan huérfanos, lo que obliga a actualizaciones ...

    Especialmente porque los dispositivos están miniaturizados e integrados (piense en SoC, etc.) de modo que las líneas previamente claras entre los componentes se vuelven borrosas ...

    ... y ¿qué pasa con el desarrollo del protocolo de mierda? Quiero decir, ¿cómo se le ocurrió a WPS una verificación separada de MSB y LSB en los PIN?

  • Gregg Eshelman dice:

    Probablemente no deberías probar esto en McDonalds con sus "carpas" de localizador Bluetooth.

    • Andrea Campanella dice:

      ¿Por qué me harías eso? ahora tengo que alejarme de todos los McDonalds 🙁

  • Andrea Campanella dice:

    Mientras comienza la demostración, me imagino a la gente en público apagando el bluetooth y saltando a eBay para comprar un entrelazado 5

  • Ren dice:

    "Déjame ponerte un bicho en la oreja"
    B ^)

  • Gravis dice:

    Creo que la información más valiosa que la gente perdió fue que el software tenía un firmware binario que no estaba despojado de los símbolos. Esto por sí solo podría ahorrarle meses de trabajo en ingeniería inversa de una sola imagen de empresa.

    • Elliot Williams dice:

      Es curioso: hablé extensamente sobre esto con Jiska y Dennis antes de la charla, pero olvidé señalarlo en mi resumen. ¡Gracias!

  • Ostraco dice:

    "Además del error de día cero aquí, la gran historia es su marco de análisis de Bluetooth, que sin duda ayudará a otros investigadores a aprender más sobre Bluetooth, encontrar más fallas y, con suerte, ayudar a que Bluetooth sea examinado más abiertamente y más seguro".

    Refuerza el argumento a favor del hardware y software de código abierto, y menos de los NDA y otros medios de oscuridad.

    • Vadear dice:

      Quiero decir, eso no es una novedad para nadie. No tanto que la gente no se dé cuenta de que este modelo apesta, pero solo unas pocas empresas producen chips como ese y se niegan firmemente a ser más abiertos. Son agresivamente reservados y tienen muy poca competencia (o al menos, ningún competidor sincero viable), por lo que no hay ningún incentivo para que cambien.

      El problema no es la falta de conciencia, es la falta de motivación para hacerlo mejor.

  • Miles Carter dice:

    Parece que he mantenido el Bluetooth alejado de todos estos años. Android necesita ejecución silenciosa para ser la configuración predeterminada, al menos una opción.

    ¿Sigue siendo un problema la distribución paranoica de Android?

  • Micha dice:

    "Y una de las razones por las que no lo han solucionado es que un parche de error revelará dónde se encuentra la falla en todos los teléfonos impecables, y no todos los proveedores pueden confiar en ellos para enviar actualizaciones a la vez". Suena como un problema general, no solo relacionado con bt.

  • Marke dice:

    Tengo un amigo que ha estado lidiando con chips Broadcom durante años. Desde que aparecieron los chips de cable módem. Los últimos años ha estado escribiendo código embebido controlando (entre otras cosas) los chips bluetooth Broadcom. En pocas palabras, piensa que Broadcom es un grupo de pícaros (mi traducción). 🙂

Alberto Gimenez
Alberto Gimenez

Deja una respuesta

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