martes, 28 de diciembre de 2010

Otro sitio más donde buscar troyanos...

Para terminar el día más intranquilo, Ralf-Philipp Weinmann nos ha contado otro sitio más dónde un atacante podría esconder un troyano que registre todas nuestras claves y las transmita a algún sitio dónde nos suplantarán para oscuros propósitos.

Resulta que todos los portátiles manejan el control de temperatura, los ventiladores, los LED, la carga de la batería y el teclado con un controlador integrado (EC, embedded controller). Este controlador es en realidad un pequeño procesador que funciona a 10 MHz. Las primeras versiones utilizaban ROM, las siguientes EPROM pero todas las actuales funcionan con Flash ROM.


Por tanto, cambiar el programa de ROM por uno malicioso dejaría a disposición de un atacante un procesador con capacidad para almacenar de 4 a 60 kB de pulsaciones de teclado e incluso comprimirlas para que ocupen menos.

¿El problema? Sacar los datos de esa memoria... Descartando la vía fácil de infectar también el procesador central (parte de lo que hace este tema preocupante es que se puede reinstalar totalmente el sistema operativo y este troyano ni se inmuta), Ralf nos cuenta un par de maneras de hacerlo:
  • Una relativamente difícil de recibir, aunque podría utilizarse remotamente de manera casi invisible sería codificarlo en los retrasos entre pulsaciones de teclado... lo cual requiere que el usuario envíe pulsaciones remotamente... no muy sencillo.
  • La que se ha demostrado en la charla en realidad envía las pulsaciones de dos maneras: dado que el procesador controla también los LED, el primer camino es modular de manera invisible la luz de los LED del ordenador. Pero además resulta que en los ordenadores Thinkpad atacados, el LED está en la parte de arriba del ordenador y el controlador está cerca del teclado, por lo que modulando la luz además se dispone de una antena... que puede emitir en varios MHz ya que el procesador funciona a 10 MHz, recibiéndose a una distancia moderada (aunque eso no se demostró en la charla).
Eso sí, la opción de usar los ventiladores... la descartó por el exceso de ruido.

¿A cuántos ordenadores aplica este ataque? Ralf sólo ha creado una modificación para el procesador Reneses RS8 que tienen los ordenadores ThinkPad y que está muy bien documentado. Pero dice que el mercado está en manos de un número relativamente pequeño de procesadores (ENE, ITE, Nuvolon y Fujitsu), tres de los cuales tienen más o menos el mismo tipo de procesador basado en los controladores 8051 y 8052.

Aunque los Apple están a salvo de este ataque porque conectan el teclado directamente al ordenador vía USB (¡!), eso no significa que no se pueda atacar directamente su teclado...

¿Soluciones? Pues la sugerencia es tener un repositorio centralizado de firmas de los "firmwares" de los controladores de cada ordenador, de modo que por ejemplo en el arranque se pueda comprobar que un ordenador no está comprometido. Por ahora estamos relativamente seguros porque su "firmware" modificado no va a ser publicado...

No hay comentarios:

Publicar un comentario