sábado, 8 de noviembre de 2014

IoT: el día que ataqué mi propia casa

Por: David Jacoby

La historia de un investigador que quería ver cuán vulnerable era su propia casa

Introducción

Sucede a menudo que en la industria de la seguridad informática los nuevos términos crean exagerada expectativa. Es fácil encontrar artículos sobre cómo los hackers e investigadores encuentran vulnerabilidades en, por ejemplo, automóviles, refrigeradores, hoteles o sistemas de alarma domésticos. Todas estas cosas se cobijan bajo el término IoT (Internet of Things), y es uno de los temas más trillados en la industria. El único problema es que no todas estas investigaciones se relacionan con el tema: pueden ser interesantes y profundas, pero si como lector no puedes relacionarte con los ataques, entonces no cumplen su cometido.

Solemos intentar predecir el futuro a través de una investigación proactiva, y puede ser importante hacerlo. Pero creo que es más importante aun hablar de lo que es relevante, y hablar sobre amenazas con las que la gente pueda relacionarse. Al pensar en este tema, se me ocurrió que si no podemos protegernos contra las amenazas modernas, ¿de qué nos sirve identificar potenciales nuevas amenazas futuras?

Las amenazas nos rodean mientras leemos este documento. Como usuarios en un ambiente digital conectado, necesitamos plantearnos las interrogantes: ¿Cuál es el nivel actual de amenazas? y ¿Cuán vulnerable soy?, especialmente cuando comenzamos a implementar redes en oficinas domésticas o en hogares. Una típica casa moderna puede tener unos cinco dispositivos conectados a la red local y no es un ordenador, una tableta o un teléfono móvil, sino una smart TV, una impresora, una consola de juegos, un dispositivo de almacenamiento en red, y algún tipo de reproductor multimedia o receptor de satélite.

Decidí comenzar un proyecto investigando lo que creía relevante, para determinar el nivel de facilidad con la que podría atacar mi propia casa. ¿Son vulnerables los dispositivos conectados a mi red doméstica? ¿Qué podría hacer un atacante si estos dispositivos se infectaran? ¿Es mi casa un blanco posible? Antes de comenzar mi investigación, estaba bastante seguro de que mi casa era segura. Trabajo en la industria de la seguridad informática por más de 15 años, y soy un poco paranoico cuando se trata de aplicar parches de seguridad y cosas por el estilo. Considero que debe haber otras casas más propensas a ser blanco de ataques que la mía, porque en realidad no poseo muchos aparatos de alta tecnología.

Durante mi investigación no me enfoqué en ordenadores, tabletas o smartphones, sino en los otros dispositivos conectados a mi red doméstica. Quedé sorprendido de que en realidad tengo bastantes artefactos conectados a mi red, la mayoría dedicados al entretenimiento: smart TV, receptor de satélite, reproductor DVD/Blue-ray, dispositivos de almacenamiento en red y consolas de juegos. Además, šestoy en el proceso de mudanza a una nueva casa, y he estado conversando con mi compañía de seguridad local. Me sugieren que compre el último sistema de alarma, que se conecta a la red y se puede controlar desde un dispositivo móvil… Tras concluir la investigación ya no creo que esa sea una buena idea.

Algunos de los dispositivos conectados a mi red:

Dispositivo de almacenamiento en red (NAS), de la famosa marca #1.
NAs de la famosa marca #2.
Smart TV.
Receptor de satélite.
Router desde mi ISP.
Impresora.
Antes de realizar la investigación, todos mis dispositivos estaban actualizados con la última versión de firmware. Durante el proceso también noté que no todos los dispositivos contaban con verificaciones automáticas de actualizaciones, lo que hacía que el proceso fuera bastante tedioso. Como cualquier consumidor, tuve que descargar manualmente e instalar el nuevo firmware en cada uno de mis dispositivos, lo que no resultó una tarea sencilla ya que no fue fácil encontrar los nuevos archivos de firmware y porque todo el proceso de actualización no era el adecuado para un usuario promedio. Otra observación interesante fue que la mayoría de los productos se habían descontinuado hacía más de un año y que sencillamente no existían las actualizaciones. Esto me hizo plantearme la interrogante: ¿Estos productos de entretenimiento y de oficinas domésticas sólo 'viven' por un año antes de quedar šdiscontinuados?

El objetivo

¿Qué trato de probar con este trabajo? Esta es la razón por la que decidí emprender este importante estudio. Cuando comencé este proyecto pronto me di cuenta de que podría adoptar varios enfoques distintos de investigación, pero el principal objetivo que quería alcanzar era ver cuán vulnerables son nuestros hogares e identificar vectores de ataque reales y prácticos para probarlo.

En general, tenemos nuestros puntos finales bien protegidos mediante soluciones de seguridad. También hemos aprendido a través de periódicos y blogs a mejorar nuestro nivel de seguridad. La mayoría de los usuarios saben qué es un virus informático, que deberían utilizar una sólida contraseña, y que es importante instalar los últimos parches de seguridad. Pero, ¿llegamos a considerar todos los aspectos? Es normal para un investigador de seguridad informática hablar sobre una puerta asegurada en una casa de vidrio, y quise adoptar un enfoque similar para mi estudio. Quise demonstrar que aún teniendo una conciencia sobre seguridad informática nos abocamos a proteger nuestros puntos finales, pero solemos obviar que hay otros dispositivos conectados a nuestras redes domésticas. Queremos evitar ataques o que se infecten nuestros equipos porque no queremos que roben nuestra información, pero después vamos a casa y hacemos una copia de seguridad de toda nuestra información en un dispositivo que es incluso más vulnerable que nuestro ordenador.

Este estudio está dirigido no sólo a los consumidores sino también a los fabricantes. Tenemos que comprender que TODO lo que conectamos a la red puede ser aprovechado por los atacantes, o incluso convertirse en la 'base’ invisible de un atacante que la usará para volver a penetrar nuestra red después de comprometerla. Imaginemos un escenario en el que te das cuenta que te has infectado y haces todo lo que dicen los manuales para restaurar la normalidad: haces copias de seguridad de tu información, vuelves a instalar tus dispositivos, y te aseguras de que esta nueva instalación esté protegida contra códigos maliciosos y que todas las actualizaciones estén instaladas; pero después de seis meses vuelves a infectarte y vuelven a robar tu nueva información... ¿Cómo es posible?

El atacante puede haber comprometido tu dispositivo de almacenamiento en red y convertirlo en una puerta trasera. El programa malicioso pasa inadvertido porque no hay protección contra un código malicioso que se ejecute en el dispositivo comprometido, y no se lo puede eliminar porque no tienes permiso para acceder al sistema de archivos en el dispositivo, y ni siquiera la reconfiguración de fábrica puede resolver el problema. O puede que el atacante usara tu smart TV infectada para penetrar en tu red corporativa, ya que la TV está conectada a la misma red que tus empleados, y no hay restricciones de red para una smart TV.

El objetivo de mi trabajo fue intentar ser el malo de la película, usando mis dispositivos de entretenimiento domésticos con fines maliciosos, infectarlos y utilizarlos como trampolines para lanzar posteriores ataques o como una puerta trasera para mi propia red.

Lo que no hago en esta investigación es atacar o criticar a ninguna marca. Los dispositivos que se sometieron a prueba en este estudio eran de mi propiedad, y fue por esta misma razón que los elegí. Todas las vulnerabilidades las transmití a los respectivos fabricantes, que ahora están buscando soluciones. Tampoco revelaré todas las vulnerabilidades identificadas en mi investigación ni ningún detalle técnico sobre ellas porque esto sólo les serviría a los ciberpiratas. Si deseas conocer los detalles técnicos sobre este estudio, puedes escribirnos.

El impacto

Bueno, con todos estos distintos dispositivos conectados a mi red doméstica, ¿por dónde iba a comenzar? Decidí hacerlo definiendo los diferentes escenarios de ataques que incluiría en mi investigación en lugar de atacar los dispositivos sin ningún criterio. Uno o todos los siguientes criterios tenían que cumplirse para que la prueba fuera un éxito:

Acceder al dispositivo; por ejemplo, acceder a los archivos en los dispositivos de almacenamiento en red.
Lograr acceso administrativo al dispositivo, no sólo en la interfaz administrativa, sino también a nivel del sistema operativo.
Poder transformar/modificar el dispositivo para mis intereses personales (puerta trasera, trampolín, etc.).
Posiblemente existen muchos otros escenarios que podrían utilizarse para la prueba, pero el tiempo era limitado y sólo pretendía comprobar mi hipótesis. Comencé jugando con las interfaces web de los diferentes dispositivos, y me sorprendió que no tardara mucho en encontrar vulnerabilidades en la ejecución de comandos que se pudieran explotar de forma remota con todos los permisos administrativos a nivel del sistema operativo en ambos dispositivos de almacenamiento en red.

En ese punto me pregunté si era tan fácil como parecía. Después pensé en las dos vulnerabilidades recientemente descubiertas y me di cuenta de que aparecían en la interfaz administrativa después de autenticarme como usuario administrador. Tenía que tener las mismas precondiciones que el atacante, por lo que tenía que descubrir las vulnerabilidades sin recurrir a ninguna de mis autorizaciones de acceso. Ahí la cosa se puso difícil, pero después de husmear un poco, encontré el principal archivo de configuración, que estaba disponible de forma remota para cualquier usuario en la red. En este archivo de configuración se encontraban todos los hashes de contraseñas, lo que facilitó en extremo volver a obtener la interfaz administrativa y explotar las vulnerabilidades que había encontrado en los comandos de ejecución del sistema del dispositivo.


Fisgoneando un poco más, descubrí más vulnerabilidades que también podían explotarse sin necesidad de autenticación para ejecutar comandos del sistema como raíz (autorizaciones más avanzadas) en el dispositivo. En ese punto más o menos terminó el juego con los dos dispositivos de almacenamiento en red. No logré acceder al sistema de archivos completo de los dispositivos. También me fue muy fácil infectar los dispositivos con algunos troyanos o puertas traseras para convertir los dispositivos en miembros de una red zombi, o darle al atacante una puerta trasera, por ejemplo, para lanzar ataques desde el dispositivo.



Ambos dispositivos comprometidos ejecutaban un kernel Linux 2.6.x, y muchos intérpretes, como perl y python. Uno de ellos tenía instalado el compilador GNU C, lo que facilita muchísimo el trabajo del atacante. Puesto que uno de mis escenarios de ataques era convertir el dispositivo comprometido en una puerta trasera, sólo tuve que utilizar uno de los bots IRC públicos como mi caso de prueba. En apenas unos segundos logré convertir mi dispositivo de almacenamiento en red en parte de una red zombi.

Esto fue muy fácil porque el dispositivo de almacenamiento en red comprometido se usa para guardar archivos, por lo que sólo tenía que cargar mi archivo malicioso y colocarlo fuera de las carpetas compartidas en alguna otra parte del sistema de archivos, lo que ocasiona que el dueño del dispositivo no pueda borrarlo sin utilizar las mismas vulnerabilidades que usamos para cargar y ejecutar nuestro troyano IRC.


Después de analizar los dispositivos de almacenamiento en red, descubrí 14 vulnerabilidades que le permiten al atacante ejecutar de forma remota los comandos de sistema con las autorizaciones administrativas más avanzadas. Ninguno de los dos dispositivos tenía una interfaz web vulnerable, pero la seguridad local en los dispositivos era también muy débil. Los dispositivos tenían contraseñas muy sencillas y muchos archivos de configuración tenían permisos incorrectos, así como contraseñas en texto claro.

Para citar otro ejemplo sobre el bajo nivel de seguridad, en uno de los dispositivos de almacenamiento la contraseña raíz administrativa era ‘1’. Comprendo que estos dispositivos no están diseñados con la seguridad de la bóveda de un banco, peroš tener una contraseña de un solo carácter contradice toda regla razonable de seguridad.

Debido a la baja seguridad y al hecho de que tenía acceso al sistema de archivos, también resultó sencillo identificar varios scripts que permitían funciones en el dispositivo y que no habían sido debidamente documentadas. Estas funciones le permitían a un usuario externo activar servicios y otras cosas interesantes en los dispositivos, como interfaces de administración remota (telnetd, sshd). Es posible que continúe escribiendo sobre estas funciones ‘ocultas’ en otro artículo porque tengo que realizar investigaciones más profundas sobre estos archivos.

Durante este estudio me encontré con otros dispositivos que tenían funciones 'ocultas', como mi router DSL provisto por mi proveedor de servicios de Internet. Después de ingresar al dispositivo con mis autorizaciones de administrador, que me envió dicho proveedor, puede navegar en la interfaz web. La interfaz era muy fácil de manejar, y rápidamente me di cuenta de cómo cambiaba la URL cuando navegaba a través del menú. Cada función en el menú tenía asignado un número; la primera función en el menú tenía el numeral 0, que se incrementaba en uno para cada opción. Lo interesante fue que a veces una función saltaba a un número inesperado y faltaban otros, pero cuando ingresaba los números faltantes en la barra de dirección URL, se me presentaba una opción de menú que no existía en la lista del menú, pero el nombre de esa función ‘oculta’ aparecía en la interfaz web.

Hice una búsqueda de fuerza bruta con estos números, y descubrí que había muchísimas funciones a las que no tenía acceso. Supongo que mi proveedor de servicios de Internet o el fabricante tienen el CONTROL TOTAL del dispositivo, y pueden hacer lo que quieran con él y acceder a todas estas funciones para las que yo no tengo permiso. Sólo con mirar los nombres de las funciones ‘ocultas’ parece que el proveedor de servicios de Internet puede, por ejemplo, crear túneles para conectarse a cualquier dispositivo en la red. ¿Qué pasaría si estas funciones cayeran en manos maliciosas? Entiendo que, supuestamente, estas funciones están para ayudar al proveedor de servicios de Internet a realizar funciones de apoyo, pero cuando ingreso utilizando mi cuenta de administrador, no tengo el control total de lo que considero es mi propio dispositivo, lo que es aterrador, especialmente cuando algunos tienen nombres igualmente aterradores, como ‘Web Cameras’, ‘Telephony Expert Configure’, ‘Access Control’, ‘WAN-Sensing’ y ‘Update’.

Las siguientes son capturas de pantalla de estas funciones ocultas:




Actualmente estoy trabajando en estas funciones para ver qué es lo que en realidad hacen. Si encuentro algo interesante, estoy seguro de que habrá otro artículo en este blog.

Mientras tanto, he comenzado a analizar los otros dispositivos conectados a mi red doméstica, como mi Dreambox, que todavía tenía el usuario y contraseña predeterminados, ¡que también eran la cuenta raíz de administrador en el dispositivo! El dispositivo ejecuta Linux, lo que lo convierte en un blanco fácil para un ataque. La mayoría de los otros dispositivos eran bastante seguros, pero sería difícil llevar a cabo una auditoría completa de este tipo de dispositivos porque hay que encontrar formas alternativas para determinar si un ataque fue efectivo o si falló, ya que no tenemos acceso completo a la mayoría de los dispositivos.

Después de husmear por unos días no encontré nada que cubra los tres escenarios, nada que valiera la pena mencionar. También fue difícil conducir la investigación porque utilizaba mis dispositivos personales, y no quería dañarlos porque ¡los compré con mi propio dinero!

Tuve que adoptar otro enfoque y ser más creativo. Tuve que jugar con la idea de que yo era el atacante y que ya había comprometido dos dispositivos de almacenamiento en red. ¿Qué venía después? Mi primer pensamiento fue ver si podía hacer algo con los reproductores multimedia (smart TV y DVD) porque es muy probable que lean la información de otros dispositivos de almacenamiento (que ya había comprometido). En ese punto estaba buscando vulnerabilidades potenciales de ejecución de códigos con mi smart TV y mi reproductor DVD, pero como me costaron mucho dinero, no pude continuar con la investigación. No se trataba sólo del dinero que perdería si estropeaba mi flamante LED Smart TV, sino también cómo les explicaría a mis niños que les había dañado la TV y que se quedarían sin ver Scooby Doo.

Decidí dejar de analizarlos y me dediqué a contactar a varios fabricantes para ver si las vulnerabilidades eran explotables y trabajar junto a ellos para verificar estos potenciales problemas de seguridad. Para ellos es mucho más sencillo ya que tienen acceso al código fuente y pueden confirmar si la vulnerabilidad es válida o no (y supongo que no les importaría dañar algunos aparatos).

Al principio tuve algunos problemas en ponerme en contacto con los fabricantes porque en sus sitios web hay muy pocos datos de contacto verdaderamente útiles para los ingenieros, o personas de nivel C que podrían ayudarme a llegar a la gente indicada. Después de consultar con colegas de mi red profesional, por fin pude entrar en contacto con la gente que necesitaba ver, y estuvieron muy agradecidos por la información que compartí con ellos sobre las vulnerabilidades y el enfoque de mi investigación.

Ahora estamos tratando de identificar si podríamos convertir la smart TV o el reproductor DVD/Blu-ray en el mismo trampolín o puerta trasera en los que convertí mis propios dispositivos en mi investigación. Posteriormente publicaré mayor información sobre este tema, a medida que avance este trabajo conjunto.

Logré identificar un problema de seguridad algo curioso con la smart TV. Cuando el usuario accede al principal menú de configuración en la TV, todas las imágenes miniatura y widgets se descargan desde los servidores del fabricante si el dispositivo está conectado a la red. La TV šno tenía ningún tipo de autenticación o cifrado para descargar esos contenidos, lo que significa que un atacante podría lanzar un ataque tipo man-in-the-middle contra la TV y modificar las imágenes en la interfaz de administración o hacer que la TV cargue un archivo JavaScript, lo que sería muy malo. Un vector potencial de ataque consiste en utilizar JavaScript para leer los archivos locales del dispositivo y utilizar los contenidos de los archivos para encontrar más vulnerabilidades. Pero estoy trabajando en ello, junto al fabricante, para ver si es posible o no. Como una prueba de concepto para mi ataque, cambié la imagen miniatura de un widget por la imagen de un favorito de todos: Borat. ¡Yakshemash!


Resumen

Desde siempre he sido un completo fanático de la seguridad, en todos los aspectos, desde realizar pruebas de penetración hasta dar conferencias y ser asesor de la policía.

La seguridad informática es mi mayor pasión, pero en los últimos años creo que llegué a un punto en mi vida en el que me cansé de leer los mismos boletines de seguridad año tras año. Es hora de que hagamos algo para solucionar los problemas, y una cosa que podemos hacer es comenzar a hablar de amenazas que sean relevantes y en un lenguaje que todos puedan entender. Como expertos en seguridad, debemos asumir mayor responsabilidad y abordar las amenazas que hoy en día son relevantes porque nos afectan a todos. También tenemos que proponer consejos inteligentes y sencillos, conclusiones y soluciones sobre cómo mitigar esas amenazas utilizando los programas y la tecnología que ya tenemos.

Siempre me han fascinado las nuevas vulnerabilidades y las técnicas de explotación, pero, honestamente, ¿de qué sirve sólo publicar información sobre vulnerabilidades si no logramos que la gente comprenda todo el contexto? Creemos que la seguridad informática sólo se trata de vulnerabilidades en programas y estoy consciente de que la mitad de este artículo está dedicada a ellas, pero el objetivo de esta investigación no es presumir de las vulnerabilidades queš descubrí, ni que existen grandes problemas de seguridad en la línea de productos de entretenimiento familiar. Las vulnerabilidades siempre existirán, y es algo que tenemos que comprender. Sin embargo, comprender no significa aceptar. Lo que quiero decir es que debemos hacer algo al respecto, debemos conocer la dimensión del impacto y asumir que nuestros dispositivos pueden comprometerse, si es que no lo están ya. Tenemos que comenzar a asumir que los productos son vulnerables y que los atacantes pueden y lograrán penetrarlos.

Quiero concluir mi investigación diciendo que nosotros, a nivel individual y corporativo, necesitamos comprender los riesgos que rodean a los dispositivos en red. También necesitamos comprender que nuestra información no está segura sólo porque tengamos una sólida contraseña o porque tengamos soluciones antivirus. Asimismo, necesitamos entender que hay muchas cosas sobre las que no tenemos ningún control, y que estamos en gran medida en las manos de los fabricantes de software y hardware. šTardé menos de 20 minutos en descubrir y verificar vulnerabilidades extremadamente graves en un dispositivo que supuestamente era seguro, en el que confiamos y en el que guardamos nuestra información para que no se la roben.

Recuerdo que cuando le propuse esta investigación a mi jefe, me preguntó cuál era el resultado que yo preveía. Yo no pretendía desarrollar nuevas soluciones de seguridad para los dispositivos de entretenimiento familiar, yo sólo buscaba identificar los problemas de seguridad, por lo que la única respuesta que podía darle era que yo quería realizar esta investigación para que la gente esté consciente de que hay un problema, y que a nivel individual tenemos que intentar mejorar nuestra seguridad personal en formas diferentes a lo que hacíamos en el pasado, que necesitamos mentalizarnos de una forma completamente distinta.

También me gustaría hacer llegar un mensaje a los fabricantes: tienen que encontrar una mejor forma de dar soporte y seguridad a sus productos. No es aceptable que se discontinúe un producto apenas a los 12 meses de su lanzamiento; no está bien que utilicen contraseñas de un solo carácter, y no está bien que piensen que estos aparatos son sólo de 'entretenimiento’. No está bien que un archivo de configuración que contiene toda nuestra información sea fácil de leer, especialmente si se encuentra en un dispositivo de almacenamiento en red.

Tenemos que encontrar soluciones alternativas que ayuden a los usuarios individuales y corporativos a mejorar su seguridad. No se trata de un problema que se solucione con sólo instalar un parche o un producto de seguridad. Por esto, quiero cerrar este artículo diciendo que aunque la industria del entretenimiento familiar no esté preocupada por la seguridad, nosotros en Kaspersky Lab sí lo estamos, y creemos que bastan algunos consejos para mejorar la seguridad de los usuarios. Espero que algunos fabricantes lean este artículo y mejoren sus medidas de seguridad, pero hasta que eso ocurra, te dejo unos cuantos consejos para que mejores tu protección:

Asegúrate de que todos tus dispositivos cuenten con las últimas actualizaciones de seguridad y firmware. Este es un problema para muchas oficinas domésticas y dispositivos de entretenimiento, pero por ahora es lo mejor que puedes hacer para protegerte contra las vulnerabilidades conocidas. También te permite saber si hay actualizaciones para tus dispositivos o si están considerados como productos ‘muertos’.
Asegúrate de cambiar el usuario y contraseña predeterminados; esto es lo primero que un atacante intentará vulnerar para comprometer tu dispositivo. Recuerda que aunque sea un producto ‘estúpido’, como un receptor de satélite o un disco duro en red, sus interfaces de administración suelen tener serias vulnerabilidades. š
Cifra tus archivos, incluso aquellos que guardas en tu dispositivo de almacenamiento en red. Si no tienes acceso a una herramienta de cifrado, puedes colocar tus archivos en un archivo ZIP protegido por contraseña; esto es preferible a no hacer nada.
En la mayoría de los routers y switches domésticos se puede configurar diferentes DMZ/VLAN. Esto significa que puedes configurar tu propia red ‘privada’ para tus dispositivos en red, para restringir el acceso a la red desde y hacia este dispositivo.
Usa tu sentido común y acepta que todo se puede hackear, incluso tus aparatos domésticos.
Si eres medio paranoico por la seguridad, puedes monitorear el tráfico de salida de red desde estos aparatos para ver si hay algo extraño, pero para ello se necesitan ciertos conocimientos técnicos. Otra buena idea es evitar que los dispositivos en red accedan a sitios web inadecuados, y sólo permitirles actualizarse.
Saludos.
Lexer Pars.

No hay comentarios:

Publicar un comentario