Una botnet es un grupo de dispositivos conectados a Internet , cada uno de los cuales ejecuta uno o más bots . Las botnets se pueden utilizar para realizar ataques de denegación de servicio distribuido (DDoS) , robar datos, [1] enviar spam y permitir que el atacante acceda al dispositivo y a su conexión. El propietario puede controlar la botnet mediante un software de comando y control (C&C). [2] La palabra "botnet" es una combinación de las palabras " robot " y " red ". El término suele utilizarse con una connotación negativa o maliciosa.
Una botnet es una colección lógica de dispositivos conectados a Internet , como computadoras, teléfonos inteligentes o dispositivos de Internet de las cosas (IoT), cuya seguridad ha sido violada y el control se ha cedido a un tercero. Cada dispositivo comprometido, conocido como "bot", se crea cuando un dispositivo es penetrado por software de una distribución de malware (software malicioso). El controlador de una botnet es capaz de dirigir las actividades de estos ordenadores comprometidos a través de canales de comunicación formados por protocolos de red basados en estándares , como IRC y el Protocolo de transferencia de hipertexto (HTTP). [3] [4]
Los ciberdelincuentes alquilan cada vez más las botnets como productos básicos para una variedad de propósitos [5] , incluso como servicios de arranque/estresor .
La arquitectura de las botnets ha evolucionado con el tiempo en un esfuerzo por evadir la detección y la interrupción. Tradicionalmente, los programas bot se construyen como clientes que se comunican a través de servidores existentes. Esto permite que el bot herder (el controlador de la botnet) realice todo el control desde una ubicación remota, lo que confunde el tráfico. [6] Muchas botnets recientes ahora dependen de redes peer-to-peer existentes para comunicarse. Estos programas bot P2P realizan las mismas acciones que el modelo cliente-servidor, pero no requieren un servidor central para comunicarse.
Las primeras botnets en Internet utilizaron un modelo cliente-servidor para realizar sus tareas. [7] Normalmente, estas botnets operan a través de redes, dominios o sitios web de Internet Relay Chat . Los clientes infectados acceden a una ubicación predeterminada y esperan comandos entrantes del servidor. El pastor de robots envía comandos al servidor, que los transmite a los clientes. Los clientes ejecutan los comandos e informan sus resultados al pastor de robots.
En el caso de las botnets de IRC , los clientes infectados se conectan a un servidor de IRC infectado y se unen a un canal predesignado para C&C por el responsable del bot. El pastor de robots envía comandos al canal a través del servidor IRC. Cada cliente recupera los comandos y los ejecuta. Los clientes envían mensajes al canal IRC con los resultados de sus acciones. [6]
En respuesta a los esfuerzos por detectar y decapitar las botnets de IRC, los pastores de bots han comenzado a implementar malware en redes de igual a igual . Estos bots pueden usar firmas digitales para que solo alguien con acceso a la clave privada pueda controlar la botnet, [8] como en Gameover ZeuS y la botnet ZeroAccess .
Las botnets más nuevas operan completamente a través de redes P2P. En lugar de comunicarse con un servidor centralizado, los robots P2P funcionan como un servidor de distribución de comandos y como un cliente que recibe comandos. [9] Esto evita tener un único punto de falla, lo cual es un problema para las botnets centralizadas.
Para encontrar otras máquinas infectadas, los robots P2P exploran discretamente direcciones IP aleatorias hasta que identifican otra máquina infectada. El bot contactado responde con información como su versión de software y una lista de bots conocidos. Si la versión de uno de los bots es inferior a la del otro, iniciarán una transferencia de archivos para actualizar. [8] De esta manera, cada bot aumenta su lista de máquinas infectadas y se actualiza comunicándose periódicamente con todos los bots conocidos.
El creador de una botnet (conocido como " bot herder " o "bot master") controla la botnet de forma remota. Esto se conoce como comando y control (C&C). El programa para la operación debe comunicarse a través de un canal encubierto con el cliente en la máquina de la víctima (computadora zombie).
IRC es un medio históricamente favorecido de C&C debido a su protocolo de comunicación . Un pastor de robots crea un canal IRC para que se unan los clientes infectados. Los mensajes enviados al canal se transmiten a todos los miembros del canal. El pastor de bots puede establecer el tema del canal para controlar la botnet. Por ejemplo, el mensaje :[email protected] TOPIC #channel DDoS www.victim.com
del bot herder alerta a todos los clientes infectados que pertenecen al #canal para que inicien un ataque DDoS en el sitio web www.victim.com. Un ejemplo de respuesta :[email protected] PRIVMSG #channel I am DDoSing www.victim.com
de un cliente bot alerta al pastor de bots que ha comenzado el ataque. [8]
Algunas botnets implementan versiones personalizadas de protocolos conocidos. Las diferencias de implementación se pueden utilizar para la detección de botnets. Por ejemplo, Mega-D presenta una implementación del Protocolo simple de transferencia de correo (SMTP) ligeramente modificada para probar la capacidad de spam. Derribar el servidor SMTP de Mega-D desactiva todo el grupo de bots que dependen del mismo servidor SMTP. [10]
En informática , una computadora zombie es una computadora conectada a Internet que ha sido comprometida por un hacker , un virus informático o un troyano y puede usarse para realizar tareas maliciosas bajo dirección remota. Las botnets de computadoras zombis se utilizan a menudo para difundir correo no deseado y lanzar ataques de denegación de servicio (DDoS). La mayoría de los propietarios de computadoras zombies no saben que su sistema está siendo utilizado de esta manera. Debido a que el propietario tiende a no darse cuenta, estas computadoras se comparan metafóricamente con zombies . Un ataque DDoS coordinado por varias máquinas botnet también se parece a un ataque de una horda de zombis. [11]
El proceso de robo de recursos informáticos como resultado de la unión de un sistema a una "botnet" a veces se denomina "scrumping". [12]
Los protocolos de comando y control (C&C) de botnets se han implementado de varias maneras, desde enfoques IRC tradicionales hasta versiones más sofisticadas.
Las botnets Telnet utilizan un protocolo de botnet C&C simple en el que los bots se conectan al servidor de comando principal para alojar la botnet. Los bots se agregan a la botnet mediante un script de escaneo , que se ejecuta en un servidor externo y escanea los rangos de IP en busca de inicios de sesión predeterminados del servidor telnet y SSH . Una vez que se encuentra un inicio de sesión, el servidor de escaneo puede infectarlo a través de SSH con malware, que hace ping al servidor de control.
Las redes IRC utilizan métodos de comunicación simples y de bajo ancho de banda, lo que las hace ampliamente utilizadas para alojar botnets. Suelen ser de construcción relativamente simple y se han utilizado con éxito moderado para coordinar ataques DDoS y campañas de spam, al tiempo que pueden cambiar continuamente de canal para evitar ser eliminados. Sin embargo, en algunos casos, el simple bloqueo de determinadas palabras clave ha demostrado ser eficaz para detener las botnets basadas en IRC. El estándar RFC 1459 ( IRC ) es popular entre las botnets. El primer script de controlador de botnet popular conocido, "MaXiTE Bot", utilizaba el protocolo IRC XDCC para comandos de control privado.
Un problema con el uso de IRC es que cada cliente bot debe conocer el servidor, puerto y canal de IRC para que sea de alguna utilidad para la botnet. Las organizaciones antimalware pueden detectar y cerrar estos servidores y canales, deteniendo efectivamente el ataque de botnet. Si esto sucede, los clientes siguen infectados, pero normalmente permanecen inactivos ya que no tienen forma de recibir instrucciones. [8] Para mitigar este problema, una botnet puede constar de varios servidores o canales. Si uno de los servidores o canales queda desactivado, la botnet simplemente cambia a otro. Todavía es posible detectar e interrumpir servidores o canales de botnet adicionales rastreando el tráfico IRC. Un adversario de una botnet puede incluso adquirir conocimiento del esquema de control e imitar al pastor de bots emitiendo comandos correctamente. [13]
Dado que la mayoría de las botnets que utilizan redes y dominios IRC pueden eliminarse con el tiempo, los piratas informáticos han pasado a las botnets P2P con C&C para hacer que la botnet sea más resistente y resistente a la terminación.
Algunos también han utilizado el cifrado como una forma de proteger o bloquear la botnet de otros; la mayoría de las veces, cuando utilizan el cifrado, es criptografía de clave pública y ha presentado desafíos tanto para implementarlo como para descifrarlo.
Muchas grandes botnets tienden a utilizar dominios en lugar de IRC en su construcción (ver Rustock botnet y Srizbi botnet ). Por lo general, están alojados en servicios de hosting a prueba de balas . Este es uno de los primeros tipos de C&C. Una computadora zombie accede a una página web o dominio(s) especialmente diseñado que proporciona la lista de comandos de control. Las ventajas de utilizar páginas web o dominios como C&C es que una gran botnet se puede controlar y mantener de manera efectiva con un código muy simple que se puede actualizar fácilmente.
Las desventajas de utilizar este método son que utiliza una cantidad considerable de ancho de banda a gran escala y las agencias gubernamentales pueden apoderarse rápidamente de los dominios con poco esfuerzo. Si los dominios que controlan las botnets no son incautados, también son blancos fáciles de comprometer con ataques de denegación de servicio .
Se puede utilizar DNS Fast-Flux para dificultar el seguimiento de los servidores de control, que pueden cambiar día a día. Los servidores de control también pueden saltar de un dominio DNS a otro, y se utilizan algoritmos de generación de dominio para crear nuevos nombres DNS para los servidores de control.
Algunas botnets utilizan servicios de alojamiento de DNS gratuitos , como DynDns.org , No-IP.com y Afraid.org para apuntar un subdominio hacia un servidor IRC que alberga los bots. Si bien estos servicios DNS gratuitos no albergan ataques, proporcionan puntos de referencia (a menudo codificados en el ejecutable de la botnet). Eliminar dichos servicios puede paralizar toda una botnet.
Volviendo a llamar a grandes sitios de redes sociales [14] como GitHub , [15] Twitter , [16] [17] Reddit , [18] Instagram , [19] el protocolo de mensajes instantáneos de código abierto XMPP [20] y los servicios ocultos de Tor [ 21] son formas populares de evitar el filtrado de salida para comunicarse con un servidor C&C. [22]
Este ejemplo ilustra cómo se crea y utiliza una botnet con fines maliciosos.
Los robots más nuevos pueden escanear automáticamente su entorno y propagarse utilizando vulnerabilidades y contraseñas débiles. Generalmente, cuantas más vulnerabilidades pueda escanear y propagar un bot, más valioso será para la comunidad de controladores de botnets. [23]
Las computadoras pueden ser incorporadas a una botnet cuando ejecutan software malicioso. Esto se puede lograr atrayendo a los usuarios para que realicen una descarga no autorizada , explotando las vulnerabilidades del navegador web o engañando al usuario para que ejecute un programa troyano , que puede provenir de un archivo adjunto de correo electrónico. Este malware normalmente instala módulos que permiten que el operador de la botnet ordene y controle la computadora. Una vez descargado el software, llamará a casa (enviará un paquete de reconexión ) a la computadora host. Cuando se realiza la reconexión, dependiendo de cómo esté escrito, un troyano puede eliminarse o permanecer presente para actualizar y mantener los módulos.
En algunos casos, hacktivistas voluntarios pueden crear temporalmente una botnet , como en las implementaciones del Cañón de iones de órbita baja utilizado por los miembros de 4chan durante el Proyecto Chanology en 2010. [24]
El Gran Cañón de China permite la modificación del tráfico legítimo de navegación web en las redes troncales de Internet en China para crear una gran botnet efímera para atacar objetivos grandes como GitHub en 2015. [25]
La comunidad de controladores de botnets compite constantemente por quién tiene la mayor cantidad de bots, el mayor ancho de banda general y las máquinas infectadas de mayor "alta calidad", como máquinas universitarias, corporativas e incluso gubernamentales. [33]
Si bien las botnets suelen recibir el nombre del malware que las creó, varias botnets suelen utilizar el mismo malware pero son operadas por entidades diferentes. [34]
Las botnets se pueden utilizar para muchas estafas electrónicas. Estas botnets se pueden utilizar para distribuir malware, como virus, para tomar el control de la computadora/software de un usuario normal [35]. Al tomar el control de la computadora personal de alguien, este tiene acceso ilimitado a su información personal, incluidas contraseñas e información de inicio de sesión en cuentas. Esto se llama phishing . El phishing es la adquisición de información de inicio de sesión en las cuentas de la "víctima" con un enlace en el que la "víctima" hace clic y que se envía por correo electrónico o mensaje de texto. [36] Una encuesta realizada por Verizon encontró que alrededor de dos tercios de los casos de "espionaje" electrónico provienen de phishing. [37]
La dispersión geográfica de las botnets significa que cada recluta debe ser identificado/acorralado/reparado individualmente y limita los beneficios del filtrado .
Los expertos en seguridad informática han logrado destruir o subvertir las redes de mando y control del malware, entre otros medios, confiscando servidores o bloqueándolos de Internet, negando el acceso a dominios que el malware debía utilizar para contactar con su infraestructura de C&C, y, en algunos casos, irrumpir en la propia red de C&C. [38] [39] [40] En respuesta a esto, los operadores de C&C han recurrido al uso de técnicas como la superposición de sus redes de C&C en otras infraestructuras benignas existentes como IRC o Tor , utilizando sistemas de redes peer-to-peer que no dependen en cualquier servidor fijo y utilizando cifrado de clave pública para derrotar los intentos de ingresar o falsificar la red. [41]
Norton AntiBot estaba dirigido a consumidores, pero la mayoría se dirige a empresas y/o ISP. Las técnicas basadas en host utilizan heurísticas para identificar el comportamiento de los bots que han pasado por alto el software antivirus convencional . Los enfoques basados en redes tienden a utilizar las técnicas descritas anteriormente; cerrar servidores C&C, entradas DNS de enrutamiento nulo o apagar completamente servidores IRC. BotHunter es un software, desarrollado con el apoyo de la Oficina de Investigación del Ejército de EE. UU ., que detecta la actividad de botnets dentro de una red analizando el tráfico de la red y comparándolo con patrones característicos de procesos maliciosos.
Los investigadores de los Laboratorios Nacionales Sandia están analizando el comportamiento de las botnets ejecutando simultáneamente un millón de kernels de Linux (una escala similar a una botnet) como máquinas virtuales en un grupo de computadoras de alto rendimiento de 4.480 nodos para emular una red muy grande, lo que les permite observar cómo Las botnets funcionan y experimentamos formas de detenerlas. [42]
Detectar ataques de bots automatizados es cada día más difícil a medida que los atacantes lanzan generaciones de bots más nuevas y sofisticadas. Por ejemplo, un ataque automatizado puede desplegar un gran ejército de bots y aplicar métodos de fuerza bruta con listas de nombres de usuarios y contraseñas muy precisas para hackear cuentas. La idea es saturar los sitios con decenas de miles de solicitudes de diferentes IP en todo el mundo, pero con cada bot solo enviando una solicitud cada 10 minutos aproximadamente, lo que puede resultar en más de 5 millones de intentos por día. [43] En estos casos, muchas herramientas intentan aprovechar la detección volumétrica, pero los ataques de bots automatizados ahora tienen formas de eludir los desencadenantes de la detección volumétrica.
Una de las técnicas para detectar estos ataques de bots es lo que se conoce como "sistemas basados en firmas", en los que el software intentará detectar patrones en el paquete de solicitud. Sin embargo, los ataques evolucionan constantemente, por lo que puede que esta no sea una opción viable cuando no se pueden discernir patrones a partir de miles de solicitudes. También existe el enfoque conductual para frustrar a los bots, que en última instancia intenta distinguirlos de los humanos. Al identificar el comportamiento no humano y reconocer el comportamiento conocido de los bots, este proceso se puede aplicar a nivel de usuario, navegador y red.
El método más capaz de utilizar software para combatir un virus ha sido utilizar software honeypot para convencer al malware de que un sistema es vulnerable. Luego, los archivos maliciosos se analizan mediante software forense.
El 15 de julio de 2014, el Subcomité sobre Crimen y Terrorismo del Comité [44] del Poder Judicial del Senado de los Estados Unidos celebró una audiencia sobre las amenazas que plantean las botnets y los esfuerzos públicos y privados para perturbarlas y desmantelarlas. [45]
El aumento de dispositivos IoT vulnerables ha provocado un aumento de los ataques de botnets basados en IoT. Para abordar esto, se introdujo un nuevo método de detección de anomalías basado en red para IoT llamado N-BaIoT. Captura instantáneas del comportamiento de la red y emplea codificadores automáticos profundos para identificar el tráfico anormal de los dispositivos IoT comprometidos. El método se probó infectando nueve dispositivos IoT con las botnets Mirai y BASHLITE, lo que demuestra su capacidad para detectar con precisión y rapidez ataques originados en dispositivos IoT comprometidos dentro de una botnet. [46]
Además, comparar diferentes formas de detectar botnets es realmente útil para los investigadores. Les ayuda a ver qué tan bien funciona cada método en comparación con otros. Este tipo de comparación es buena porque permite a los investigadores evaluar los métodos de manera justa y encontrar formas de mejorarlos. [47]
La primera botnet fue reconocida y expuesta por primera vez por EarthLink durante una demanda contra el notorio spammer Khan C. Smith [48] en 2001. La botnet fue construida con el propósito de enviar spam masivo y representaba casi el 25% de todo el spam en ese momento. [49]
Alrededor de 2006, para frustrar la detección, algunas botnets estaban reduciendo su tamaño. [50]
{{cite web}}
: Mantenimiento CS1: bot: estado de la URL original desconocido ( enlace )El tamaño de las redes de bots alcanzó su punto máximo a mediados de 2004, y muchas de ellas utilizaban más de 100.000 máquinas infectadas, según Mark Sunner, director de tecnología de MessageLabs. El tamaño promedio de las botnets es ahora de unas 20.000 computadoras, dijo.