Encontrando errores en bluetooth

Iniciado por r32, 31 Diciembre 2018, 07:45 AM

0 Miembros y 1 Visitante están viendo este tema.

r32

[Jiska Classen] y [Dennis Mantz] crearon una herramienta llamada Internal Blue que pretende ser una navaja suiza para jugar con Bluetooth en un nivel inferior. La base de su herramienta se basa en tres funciones que son comunes a todos los conjuntos de chips Broadcom Bluetooth: una que le permite leer memoria arbitraria, que le permite ejecutarla y otra que le permite escribirla. Bueno, eso fue fácil. El resto de su trabajo fue analizar este código y aprender a reemplazar el firmware con su propia versión. Eso les llevó unos meses de duro trabajo de reversión.

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

Como suele ser el caso, [Jiska] solo estaba hurgando y encontró un controlador de código externo que no hacía la verificación de límites. Y eso significaba que podía ejecutar otras funciones en el firmware simplemente pasando la dirección. Ya que esencialmente están llamando a funciones en cualquier ubicación de la memoria, encontrar qué funciones llamar con qué argumentos es un proceso de prueba y error, pero las ramificaciones de esto incluyen al menos un bloqueo y restablecimiento del módulo Bluetooth, pero también pueden generar tales trucos. como poner el módulo Bluetooth en el modo "Dispositivo a prueba", que solo debería ser accesible desde el propio dispositivo. Todo esto es antes de vincularse con el dispositivo: solo pasar por allí es suficiente para invocar funciones a través del controlador de buggy.

[youtube=640,360]https://youtu.be/4_nI9ok7iQg[/youtube]

Más información: https://hackaday.com/2018/12/30/finding-bugs-in-bluetooth/

Saludos.