Share on Google+Share on FacebookTweet about this on Twitter

¿Tienes un Macbook/MacBook Pro/MacBook Air? Si a partir de hoy la batería deja de ser usable por tu portátil y tienes que cambiarla con el consecuente gasto, primero dale las gracias a Apple por su seguridad, y segundo felicita el ingenio de Charlie Miller.

 

Que existan vulnerabilidades y fallos de seguridad en el mundillo no es una novedad. Que los fallos de seguridad abunden sobre todo en MAC OS y los productos de Apple tampoco lo es, y es bien sabido y conocido por cualquier experto en el tema. Lo que sí es una novedad es que solo Apple podría hacer las cosas de tal modo de que un Hacker pudiese “freir” tu batería. Y así lo ha demostrado y publicado Charlie Miller, experto en seguridad productos de Apple. Desde aquí un saludo y felicitaciones por tan interesante exploit, del que estoy seguro más de uno se va a reir. Unos por usarlo, otros por padecerlos y tener que gastarse 100-150€ que cuesta el reemplazo de la batería (recordemos que no son extraibles y que Apple te cobra el impuesto revolucionario). Pero expliquemos el asunto que es interesante.

Hace unos días, Charlie Miller hace una pequeña “entrevista” para la revista Forbes y da a conocer lo que llevará dentro de unas semanas a la conferencia anual de seguridad informática Black Hat que se celebra ahora en Agosto. Esta conferencia es sin duda alguna la más interesante de todo el año, de aquí han salido vulnerabilidades tan graciosa como las de como controlar un iPhone por SMS sin ir más lejos. Pues bien, Charlie Miller es una de esas personas que podríamos llamar “Tocapelotas” de Apple (después me dicen a mí), y esta ocasión no es para menos. En Black Hat demostrará como la gran mayoría de todos los portátiles de Apple actuales (MacBook, MAcBook Air y MacBook Pro) son totalmente vulnerables a freir sus baterías. Esto de freir lo hemos escuchado muchas veces y parece ciencia ficción, y lo cierto es que era cierto… hasta hoy. En realidad el término “freir” no es del todo correcto dado que la batería no sufre ningún daño físico (al menos en la primera versión del exploit), pero si deja totalmente inutilizable la batería, obligando su reemplazo.

 

Charlie Miller ha explicado perfectamente el problema/pasos, y aunque aun no lo hemos visto en la conferencia podemos decir que es totalmente verídico. El exploit se aprovecha de un fallo de seguridad muy grave en la firmware interna de la propia batería. Recordar que en la era moderna prácticamente cualquier dispositivo posee una firmware propia que lo controla. Es decir, al igual que el software que controla un PC es Windows, recordemos que el software que controla la placa a nivel más bajo sería la Bios, o los HDD que en última instancia son gobernados por la firmware de estos. Pues bien, en el caso de estas baterías de Apple también estan gobernadas en un nivel más bajo por una firmware.

Toda Firmware que se precie tiene o debería de tener diferentes medidas de seguridad por los peligros que entraña evidentemente. Desde accesos al chip por contraseña, código cifrado, contenido firmado, validaciones CRC.. evidentemente estas medidas son necesarias siempre y cuando dicho chip pueda ser actualizable externamente, como una bios, la firmware del HDD, la firmware del adaptador de vídeo… Generalmente estos dispositivos no suelen ser unos bastiones de seguridad y no suele ser muy complicado hacer ingeniería inversa de esas firmwares para modificar algunas cosillas. Aplicando esto, si los chips son actualizables por firmware se les metiese una firmware malévola… el resultado sería un HDD KO, una tarjeta de video que le hemos cambiado la velocidad del ventilador para bien o para mal… etc etc. Y que le pasaría a una firmware de una batería? Pues que podríamos dejarla totalmente KO.

Claro… esto no es algo nuevo. Lo que sucede es que crear un exploit para una versión concreta de firmwre de un producto de hardware es un tanto absurdo. Esto es útil tan solo primero cuando se puede aprovechar de forma remota y segundo cuando es un ataque global y no que afecte a un número muy reducido de usuarios en entornos muy concretos. Por ejemplo, si un usuario quiere actualizar su firmware de su tarjeta de video tendría que descargarse casi con toda seguridad la aplicación de nVidia para ello y hacero en modo MSDOS… cosa no explotable de forma remota de ningun modo.

Apple hace unos años actualizó la firmware de sus baterías por medio de una actualización, y Charlie Miller puso el ojo donde lo tenía que poner. Estudió la actualización y otros enseres y descubrió algo aun más sorprendente. La firmare de las baterías estaba protegida por dos claves, las cuales inexplicablemente tan solo tenían una profundidad de 4 Bytes!! (es decir, casi con toda seguridad sea un código numérico de 4 cifras, por ejemplo 1234 o algo así). Evidentemente una vez descubrió esto, extraer las Key analizando la actualizacion de Apple o por fuerza bruta, no fue un problema. Una vez logró estas Key, logro acceso al chip y con él acceso a la firmware de este. Realizando un arduo trabajo de ingeniería inversa todo estaba finalizado. Con las key tiene la llave para poder “flashear” “modificar” la gran mayoría (no todas) de las baterís de Apple, mientras que con la ingeniería inversa puede colocar una firmware específica para dichas baterías, como por ejemplo, y es lo que mostrará en sus pruebas, cambiar el sistema de identificación para el sistema, de modo que cuando el sistema compruebe la batería que tiene, la batería le responda con un ID o estado de batería incorrecto!! y por tanto el propio equipo (ya sea a nivel hardware o OS) identifique la batería como no válida.

Para llevar a cabo dicho ataque, tan solo habría que tener acceso al equipo, ya fuese por acceso local o por acceso remoto por medio de un exploit de ejecución de código (muy muy muy fáciles de lograr en MAC OS). Es decir, un atacante podría usar un exploit para Safari con el payload de “la batería asesina”, el cual al visitar la web cebo esta lograría ejecución remota por dicho exploit y dicha ejecución sería la ejecución del payload con las consecuencias ya comentadas. El usuario no notaría nada!! Simplemente al reiniciar el equipo, este le diría que la batería no es válida. Tan simple como eso, no hablamos de robo de información, no hablamos de controlar el equipo… simplemente de “Freir la batería”. Dado que esto afecta a la gran mayoría de los MacBook, MacBook Air y MacBook pro del mercado, la cosa no es para tomársela a chiste o a broma.

Al final, Charlie Miller explica que se podría ser aun más rebuscado y colocar en la firmware de la batería un “loader” que podría cargar en el sistema una puerta trasera que fuese totalmente indetectable y que fuese totalmente imposible su eliminación. Esto es técnicamente posible, pero sería más complejo… habría primero que crear la firmware maligna, lo cual sería solo posible dependiendo de lo bien que se haya realizado la ingeniería inversa a la firmware original. Por otro lado, habría que encontrar algún otro fallo de seguridad para poder tener acceso a otros recursos del equipo… pero bueno, es digamos un “Proof of concept” que aun no se ha hacho, lo cual no quiere decir que no sea posible. La diferencia es que la batería KO ya es un hecho constatado, demostrado dentro de unos días públicamente!! mientras que este segundo vector de ataque está tan solo en papel.

 

Personalmente tengo ganas de verlo en acción en el Black Hat, más que nada porque estoy seguro que será una intervención graciosa, y no es lo mismo escucharlo que verlo. Seguro que lo tendremos en Streaming en directo.

Un saludo