Investigadores exponen los secretos de las tarjetas de memoria SD

Las tarjetas SD se han convertido en algo cotidiano que utilizamos en una gran cantidad de dispositivos, desde cámaras digitales a móviles, pasando por videoconsolas. Para la mayoría de nosotros, la mayor preocupación que tenemos con respecto a estas tarjetas es encontrar el precio más barato para la tarjeta con la mayor cantidad de memoria posible. Pero también hay gente inquieta, como los investigadores Sean “xobs” Cross y Andrew “Bunnie” Huang, quienes demostraron recientemente en el veterano congreso (30 ediciones) de seguridad Chaos Communication Congress en Hamburgo que las tarjetas SD albergan más secretos de los que nos podríamos imaginar.

Por una parte, esta pareja de investigadores demostraron como algunos modelos de tarjetas SD contienen vulnerabilidades que permitirían la ejecución de código arbitrario en la propia memoria. Esto permitiría a un atacante realizar un ataque man-in-the-middle (hombre en el medio) donde  la tarjeta aparentaría comportarse de una forma pero en realidad estuviera realizando algo completamente diferente. En la parte positiva, la investigación realizada por estos investigadores también permitirá que todos aquellos entusiastas del hardware tengan acceso a una fuente barata de microcontroladores con múltiples posibilidades.

30c3-collage

El motivo que lleva a los fabricantes de este tipo de tarjetas a insertar microcontroladores en sus tarjetas se encuentra, según estos investigadores, en la guerra de precios que hace que estos dispositivos sean cada vez más asequibles y con mayor capacidad de memoria. Todas estas tarjetas están plagadas de errores en la memoria que se encarga de almacenar los datos y es por ello que se necesitan complejos algoritmos para asegurar la consistencia de los datos que guardamos en ellas.

Estos algoritmos son demasiado complicados y demasiado específicos de cada dispositivos como para dejar que el sistema operativo se encargue, por lo que todas y cada una de estas tarjetas incorporan un microcontrolador razonablemente potente para entenderlos y procesarlos. La calidad de estos microcontroladores varía dependiendo del fabricante aunque suelen ser CPU ARM o 8051 altamente modificados. El coste de los mismos es sorpredéntemente bajo, oscilando su precio entre 0.15$ y 0.30$, siendo alguno de ellos reutilizado de tarjetas recicladas.

Los microcontroladores están gobernados por un firmware que, para nuestra desgracia, casi ningún fabricante protege, lo que permite a cualquiera con malas intenciones inyectar código malicioso y ejecutarlo desde la tarjeta. El propio investigador comenta que se ha encontrado con tarjetas de algunos fabricantes chinos que falsifican la cantidad de memoria disponible modificando este firmware con lo que se consigue que tarjetas de menor capacidad aparenten disponer de mayor cantidad de memoria.

30c3-controller

Esto supone un nuevo reto desde el punto de vista de la seguridad puesto que, a pesar de que ya hace años de que se avisa del riesgo de que este tipo de tarjetas pueden utilizarse para propagar malware, esta investigación demuestra que pueden modificarse internamente para realizar ataques MITM que serían difíciles de detectar con los medios actuales. También significa asumir que la eliminación de los datos almacenados no sería posible ni utilizando un borrado seguro de la tarjeta y que el único método para que no sea posible acceder a la información almacenada pase por destruir físicamente la tarjeta.

No obstante, el potencial que suponen estos relativamente potentes microcontoladores para la comunidad de investigadores y apasionados por el hardware es elevado. Si comparamos el precio de la popular placa Arduino (20$) con el de una tarjeta de memoria con varios gigas de capacidad pero con un micro controlador varias veces más potente no hace falta ser muy inteligene para ver que estas tarjetas de memoria cuentan con un futuro prometedor por parte de aquellos que estén dispuesto a darles un uso alternativo.

Josep Albors

De excursión a la tele