BOTS CONVERSACIONALES INTECO-CERT Mayo 2010 El presente documento cumple con las condiciones de accesibilidad del formato PDF (Portable Document Format). Se trata de un documento estructurado y etiquetado, provisto de alternativas a todo elemento no textual, marcado de idioma y orden de lectura adecuado. Para ampliar información sobre la construcción de documentos PDF accesibles puede consultar la guía disponible en la sección Accesibilidad > Formación > Manuales y Guías de la página http://www.inteco.es. Bots conversacionales 2 ÍNDICE 1. INTRODUCCIÓN 4 2. ¿QUÉ SON LOS BOTS? 5 3. ¿QUÉ SON LOS BOTS CONVERSACIONALES? 6 3.1. Bots conversaciones legítimos 6 3.2. Bots conversacionales maliciosos 6 3.3. Gusanos que se propagan a través de programas de mensajería instantánea 7 4. ¿CÓMO FUNCIONAN? 9 4.1. Obtención de las direcciones de correo de las víctimas 9 4.2. Realización de la solicitud de ser agregados 9 4.3. Establecimiento de la conversación 10 4.4. Lanzamiento del ataque 10 5. ¿CÓMO EVITARLOS? 11 6. REFERENCIAS 13 Título de la Guía (campo editable) 3 1. INTRODUCCIÓN Al igual que otros medios de comunicación a través de la red, los programas de mensajería instantánea pueden ser utilizados para comprometer la seguridad de la amplia red de usuarios que los utilizan. El siguiente informe técnico trata la amenaza de los bots conversacionales en los programas de mensajería instantánea. Los bots conversacionales son programas informáticos que pueden establecer una conversación a través de estos programas, tratando de ganarse la confianza de su interlocutor para conseguir información confidencial suya, enviarle publicidad no deseada o para instalar programas maliciosos con los que controlar su PC y poder llevar a cabo actividades ilegales como el envío masivo de SPAM, actuar como proxys en botnets con Fast-flux, realizar ataques DDoS, etc. Este informe también describe las medidas que los usuarios pueden tomar para evitar los bots conversacionales. Bots conversacionales 4 2. ¿QUÉ SON LOS BOTS? En el mundo de la Seguridad Informática la palabra bot, o robot, se suele utilizar para referirse a los programas informáticos que se hacen pasar por personas en Internet, como por ejemplo, en los siguientes servicios: • Juegos en línea. • Casinos en línea en juegos de azar con apuestas como el póquer o la ruleta. • Redes sociales o programas de mensajería instantánea. Estos programas interactúan con los usuarios de dichos servicios y, como pueden funcionar de manera autónoma e independiente y utilizar la capacidad de cálculo de un ordenador, pueden existir un gran número de ellos realizando una labor que sería muy costosa de llevar a cabo por una persona. Pueden tener un uso legítimo como, por ejemplo, para atender un servicio de ayuda en línea, para adquirir información en un servicio de soporte, etc. Pero también un uso ilegítimo como propagar SPAM y malware en redes sociales o a través de mensajería instantánea, o conseguir ganancias económicas en juegos en línea. Por otra parte, la palabra bot también se utiliza para referirse a un miembro de una botnet o conjunto de equipos infectados controlados remotamente por un atacante. Se puede encontrar más información sobre las botnets en los siguientes enlaces: • http://www.inteco.es/Seguridad/Observatorio/Estudios_e_Informes/Notas_y_Articulos //Amenazas_silenciosas_en_la_Red_rootkits_y_botne_11 • http://cert.inteco.es/Formacion/Amenazas/botnets/ Bots conversacionales 5 3. ¿QUÉ SON LOS BOTS CONVERSACIONALES? Los bots conversacionales, también llamados chatbots o chatterbots, son un tipo de bots que simulan ser usuarios de programas de mensajería instantánea: pueden pedir ser agregados como contacto y, posteriormente, mantener una conversación con el usuario que le ha agregado. Tienen su origen en el IRC (Internet Relay Chat). El papel que jugaban en estas redes era el de “ciberoperador” para la ayuda en tareas básicas de administración y registro de usuarios. 3.1. BOTS CONVERSACIONES LEGÍTIMOS Algunos bots tienen un fin legítimo, con ellos se puede interaccionar simplemente añadiéndoles como contacto y sirven para, entre otras cosas, realizar traducciones o resolver consultas sobre un tema determinado. Se les suele distinguir porque la solicitud de ser agregados no parte de ellos si no del interesado en utilizar sus servicios. Algunos ejemplos de este tipo de bots son: • [email protected]: creado por Microsoft. El bot traduce el texto escrito en la conversación. • [email protected]: creado por una empresa agroindustrial. El bot ofrece recetas de cocina a partir de los ingredientes que el usuario indica. 3.2. BOTS CONVERSACIONALES MALICIOSOS Por contra, existen bots conversacionales con fines maliciosos a los que se les dota de cierta inteligencia artificial para establecer conversaciones sin delatar su origen virtual. Su objetivo es ganarse la confianza del interlocutor con el fin de realizar alguna de las siguientes acciones: • Recopilar información confidencial, como números de la tarjeta de crédito. • Instalar programas maliciosos como, por ejemplo, virus. • Conseguir imágenes del usuario solicitando que se active la cámara web, para posteriormente extorsionarle. • Enviar publicidad no deseada. Bots conversacionales 6 3.3. GUSANOS QUE SE PROPAGAN A TRAVÉS DE PROGRAMAS DE MENSAJERÍA INSTANTÁNEA Algunos gusanos tienen entre sus funcionalidades la de actuar como un bot conversacional para propagarse o realizar actividades maliciosas a través de las redes de mensajería instantánea. Son muy peligrosos ya que utilizan la cuenta del usuario del ordenador infectado y envían mensajes a sus contactos. Estos contactos tienen más probabilidades de creer en la legitimidad de los mensajes ya que provienen de un conocido. Algunos ejemplos de este tipo de gusanos son: • http://cert.inteco.es/virusDetail/Actualidad/Actualidad_Virus/Detalle_Virus/Yimfoca • http://cert.inteco.es/virusDetail/Actualidad/Actualidad_Virus/Detalle_Virus/MSNWorm _IE Algunos de estos virus están programados de forma que detectan el idioma del sistema operativo, para utilizarlo posteriormente en las conversaciones que mantendrá al tratar de propagarse mediante un bot conversacional. A continuación se muestra un ejemplo real de código perteneciente a estos gusanos: Figura 1. Muestra de código fuente En la imagen superior se puede ver un extracto de código correspondiente a un gusano que utiliza el MSN para propagarse, en el cual se definen varios arrays de cadenas con diversas frases en varios idiomas. Bots conversacionales 7 En la imagen inferior al inicio de la función “msnspread” se puede ver en la línea 138 como hace uso de la función “GetLocaleInfo” para obtener información sobre la configuración regional del equipo, más exactamente sobre el idioma local, el cual será apuntado por la variable “tempp”. Posteriormente, en función de su valor, el puntero “masgg” apuntará a uno de los arrays de cadenas definidos anteriormente y que coincidirá con el idioma del equipo; de esta forma se podrá propagar dichos mensajes a través de los contactos del usuario infectado. Figura 2. Muestra de código fuente Bots conversacionales 8 4. ¿CÓMO FUNCIONAN? La amenaza del bot conversacional se desarrolla en varias fases consecutivas: 1. Obtención de las direcciones de correo de las víctimas. 2. Realización de la solicitud de ser agregados. 3. Establecimiento de la conversación. 4. Lanzamiento del ataque. 4.1. OBTENCIÓN DE LAS DIRECCIONES DE CORREO DE LAS VÍCTIMAS El primer paso que realizan las personas u organizaciones criminales que hay detrás de los bots conversacionales es captar direcciones de correo que se utilizan en los programas de mensajería instantánea para, posteriormente, contactar con ellas. Los métodos de conseguir estas direcciones son muy variados: • Generar direcciones aleatorias de correo empleando patrones que constan de nombres de usuario. Muchas de estas direcciones puede que ni siquiera existan pero el objetivo es tratar de conseguir el mayor número posible de cuentas válidas. • Comprar listas de direcciones de correo en el mercado negro. • Por medio de cadenas de correos electrónicos. • Mediante servicios fraudulentos que en su inscripción solicitan la dirección de correo. • Utilizando programas que rastrean páginas web en su búsqueda, por ejemplo, por medio de etiquetas html de tipo mailto. • Mediante vulnerabilidades en servidores web legítimos que permitan conseguir bases de datos de usuarios. Otra formar que tienen los atacantes de actuar es la distribuir mensajes en redes sociales, IRC, foros, páginas web, etc en los que se trata de convencer de que se añada su dirección de correo electrónico como contacto. 4.2. REALIZACIÓN DE LA SOLICITUD DE SER AGREGADOS En este paso, se programa el bot para que utilice una dirección de correo propia en el servicio de mensajería instantánea, junto con un nombre atractivo que invite a aceptarlo como contacto. Bots conversacionales 9 A continuación el bot realiza la petición de ser agregado a todas las direcciones obtenidas en el punto anterior, haciéndose pasar por un amigo, envía un mensaje sugerente como pueden ser los siguientes: • Hola, cuanto tiempo, como te va? • Mira las fotos de mis vacaciones. • Jajajaja, que video más bueno!!!!! Este paso no existe en el caso de los bots que corresponden a virus que, mediante alguna técnica fraudulenta, han secuestrado cuentas legítimas de usuarios reales. Por esta razón, es tan dañina esta clase de bots ya que las personas con la que contactan tiene una relación de confianza con ellos establecida anteriormente. 4.3. ESTABLECIMIENTO DE LA CONVERSACIÓN Los bots establecen una conversación con la víctima para ganarse su confianza. La conversación suele ser muy simple y desde el principio está orientada hacia sus intereses. Para replicar a la víctima muchos bots simplemente buscan palabras clave en su contestación y, según estas palabras, generarán una respuesta determinada anteriormente. Por ello, las respuestas suelen ser muy vagas y orientadas hacia sus fines fraudulentos. Por otro lado, ya existen bots más sofisticados con buenas capacidades comunicativas para tratar de engañar al usuario el mayor tiempo posible. Además, algunos poseen cierta capacidad de aprendizaje, los cuales generan respuestas en función de conversaciones mantenidas previamente. Algunos bots no establecen una conversación. En la misma solicitud de ser agregados o en la primera frase incluyen un enlace a un código o página maliciosa junto un mensaje invitando a visitarla. 4.4. LANZAMIENTO DEL ATAQUE Una vez que el bot se ha ganado la confianza de la víctima, le muestra mensajes sugerentes que inviten a visitar una página Web o descargar algún tipo de fichero. Los siguientes son ejemplos de este tipo de mensajes: • Aquí está el programa (acompañado de un enlace a un código malicioso) • Mira mis fotos (junto con un enlace a una página web que solicita la tarjeta de crédito para comprobar la edad de la víctima) Los bots suelen enmascarar estos enlaces utilizando acortadores de URLs para que el interlocutor no pueda valorar el nombre del dominio original. Bots conversacionales 10 5. ¿CÓMO EVITARLOS? • Hay que limitar la difusión de la dirección de correo. No sólo para evitar los bots conversacionales, sino, también, para evitar el SPAM. • Bloquear las invitaciones sospechosas o de gente que no se conoce. Además, el usuario de estos servicios puede denunciar al proveedor, generalmente mediante un formulario o un correo electrónico, las cuentas que pudieran corresponder a un bot conversacional, para que se revisen y se deshabiliten en casos de fraude. • En caso de que se haya aceptado una invitación por error, o por curiosidad, no hay que dar conversación al bot, porque en caso contrario reconocería que la cuenta está activa, y divulgaría la cuenta para otras actividades maliciosas. Muchos de ellos son fácilmente detectables por la falta de coherencia en las respuestas generadas o el idioma empleado. • Sospechar de los enlaces a páginas web o a programas que aparezcan en las conversaciones, aunque sean de amigos de confianza, sobre todo, si se tratan de enlaces o archivos que no se han solicitado. Algunos clientes de mensajería instantánea avisan al usuario del peligro de visitar estos enlaces: Figura 3. Ventana de aplicación de mensajería instantánea • Utilizar un analizador de URLs para conocer la confiabilidad de los enlaces antes de abrirlos y analizar con un antivirus actualizado los ficheros descargados. Bots conversacionales 11 • En clientes de mensajería instantánea tales como Pidgin o MSN existen herramientas que ayudan a eliminar o prevenir este tipo de bots. Un ejemplo de ello es el plugin bot-sentry para Pidgin. Con este plugin, si alguien intenta agregarse a una lista de contactos, tendrá que responder a un captcha lógico antes. A continuación se muestra una ventana de configuración de uno de estos complementos: Figura 4. Configuración de un complemento de una aplicación de MI Otro ejemplo de esta clase de complementos es WLM Safe. Se trata de un script para Messenger Plus! Live que permite incorporar una capa más de seguridad al cliente MSN. Una de sus características es avisar al usuario del envío de SPAM por parte de bots. Por otra parte, los proveedores de servicio son conscientes de esta amenaza y toman medidas para evitar su proliferación como: • Implantar el uso de captchas. • Desactivar las cuentas que, por su comportamiento, pueden pertenecer a un bot; por ejemplo, aquellas que envíen muchas invitaciones en poco tiempo. Bots conversacionales 12 6. REFERENCIAS http://es.wikipedia.org/wiki/Bot_conversacional http://www.eset-la.com/company/1645-masiva-propagacion-troyano-msn-creador-redesbotnets http://www.pandasecurity.com/spain/homeusers/security-info/217587/ButterflyBot.A http://www.pandasecurity.com/spain/homeusers/security-info/cybercrime/others/ http://www.symantec.com/connect/es/blogs/new-yahoo-messenger-worm http://www.zonavirus.com/noticias/2010/palevo-el-virus-de-yahoo-pasa-a-skype.asp http://www.zonavirus.com/noticias/2009/virus-de-messenger-que-ofrece-entrar-enhttpchatearxxxxxxcom.asp Bots conversacionales 13