19 de octubre de 2010

Las Botnets y el Distributed Brute Force Attack

Para empezar definamos de manera breve qué es una Botnet: Según Wikipedia Botnet es un término que hace referencia a un conjunto de robots informáticos o bots, que se ejecutan de manera autónoma y automática. Normalmente este tipo de redes de bots son asociadas con prácticas fraudulentas y se forman infectando gran número de ordenadores mediante troyanos ubicados en software obtenido de forma ilegal y otros vectores de infección. Una vez creadas su "amo" o "botmaster" puede controlar los ordenadores infectados mediante instrucciones que envía a los mismos por diferentes medios como por ejemplo IRC. Estas redes de ordenadores "zombies", son utilizadas al unísono con fines poco éticos, los cuales hasta hace poco tiempo se limitaban al envío de SPAM y a la generación de DDoS (Distributed Denial of Service).


Los amos de las Botnets, las ofrecen al mejor postor, y de esta forma un tercero logra por ejemplo enviar gran cantidad de SPAM desde una lista enorme de equipos lo cual es muy difícil de bloquear, o tratar de "colgar" un servicio en un servidor determinado, haciendo una enorme cantidad de solicitudes al mismo de forma que este se vea imposibilitado de atender los requerimientos reales.


Sin embargo actualmente se han conseguido otros fines para las Botnets, y uno de los que más preocupa es el Distributed Brute Force Attack, o ataque por fuerza bruta distribuido para obtención de passwords de servidores, servicios e inclusive a web transaccionales.


Lo que en realidad hace muy difícil manejar esta técnica de intrusión, es el hecho de que las solicitudes provienen de diferentes equipos, por lo cual un bloqueo por número IP no sería muy efectivo. 


Esta técnica de Distributed Brute Force Attack (DBFA) ha resultado muy eficiente en los últimos meses y han sido muchos los sitios a los que se les han violado sus servicios FTP, con el fin de conseguir plataformas de lanzamiento para ubicar los sitios falsos para ataques de phishing o pharming (entre otros tipos de ataques).


Esto demuestra que ningún sitio o aplicación web está a salvo de ser atacada, ya que si el ataque no se efectua directamente a la aplicación, el sitio puede ser utilizado para ensamblar ataques mayores o más "rentables".


¿Cómo podemos evitar el Distributed Brute Force Attack?
  1. Para empezar nunca es malo tener una contraseña fuerte, sobretodo en estos casos y además de fuerte larga, es decir de al menos unos doce caracteres, con todas las características de una buena contraseña que todos ya sabemos (caracteres especiales, números, mayúsculas y minúsculas...) Si quiere verificar que tan segura es su contraseña puede utilizar el verificador de contraseñas de Microsoft 
  2. Desactivar los protocolos FTP y SSH si no se están usando. No es necesario tener un servidor a la escucha permanentemente, si tenemos la posibilidad de desactivarlo y activarlo nuevamente cuando lo necesitemos. En el caso de los servidores dedicados, simplemente hay que apagar y encender el servicio cuando lo necesitemos. Es absurdo tener el servicio activo si apenas lo usamos una vez cada dos o tres meses. En el caso del hospedaje compartido, siempre tenemos la opción de apagar y encender el servicio FTP desde el panel de control.
  3. Controlar crecimientos inapropiados en el archivo de logs del servicio FTP. Lógicamente esta opción no está a la mano para aquellas aplicaciones web en servicios de hospedaje compartido, ya que el archivo de logs FTP solo puede ser visto por el administrador del servidor.
  4. Limitar el número de conexiones concurrentes de FTP y SSH en el servidor, pero sobretodo eliminar la posibilidad de conexiones ilimitadas. La cantidad máxima de conexiones simultáneas deberá ser calculada en relación a las necesidades del servicio. A menor cantidad de conexiones simultaneas permitidas el tiempo para lograr descubrir el password de acceso será exponencialmente mayor.
  5. Ubicar el servicio FTP o SSH en un puerto no convencional (ejemplo 2121).
  6. Evitar el escaneo de puertos por medio de un firewall. Si no hay servicio FTP visible simplemente no hay victima.
  7. Si es posible, restringir la máscara de números IP con acceso al servicio FTP o al SSH.
  8. Y como siempre, cambiar la contraseña cada tanto. Cambiarla cada 3 a 4 meses es suficiente. Pero lo más importante, no usar la misma para todos los servicios FTP a los que tenemos acceso.
Como verás algunas de las anteriores soluciones anteriores no son aplicables en todos los casos, pero el uso de al menos tres de ellas será suficiente respaldo para la gran mayoría de los casos.

Sin embargo, a medida que este tipo de ataques se hace más efectivo, el problema que se plantea es que pudiera ser utilizado también para transgredir aplicaciones web transaccionales o de banca en línea. Sin embargo un sistema de banca en línea que se respete, debe por lo menos bloquear los IPs de los sistemas que intenten acceder erróneamente más de un número determinado de veces. Sin embargo aunque parezca obvio, he podido comprobar que algunos de estos sistema si bien no son la mayoría, no tienen este tipo de control.

Hasta la próxima...

No hay comentarios.:

Entradas populares