Archivo de la categoría: Definiciones

Diferentes definiciones relativas a los sistemas de ciberseguridad

¿Qué es una botnet?

Representación de una botnet

Representación de una botnet
FuenteUniversidad Nacional Autónoma de México

Empecemos por la definición clásica: Botnet es un término que hace referencia a un conjunto o red de «robots informáticos» o «bots», que se ejecutan de manera autónoma y automática. También es común denominarlas redes zombi, ya que los equipos de la red no actúan por voluntad propia sino bajo las órdenes de un tercero

Una definición menos oficial diría que el término botnet hace referencia a una red (net en inglés) de ordenadores (o cualquier sistema informático) que realiza tareas de forma autónoma (el sufijo bot viene de robot) que son ordenadas por un tercero sin autorización ni conocimiento de  sus propietarios.

La idea es realizar trabajos específicos, ordenados por un externo que ni tiene la propiedad ni ninguna autorización para ello, de forma coordinada por parte de diferentes máquinas.

Explicación simplificada del funcionamiento de una botnet

Uso de una botnet

Explicacion creación de una red zombi.
Fuente imagen: Wikipedia

Un atacante, ya sea hacker porque ha desarrollado él mismo las herramientas o un script-kiddie porque las ha encontrado y utilizado, consigue infectar diferentes equipos víctima con un malware. Los métodos de infección serán diferentes en cada caso (aplicaciones troyano en juegos gratuitos; infección en una página web que infecta a quien la visite; etc.), pero lo que se busca siempre es ejecutar un software en el equipo víctima (bot o zombi) que reciba instrucciones y las ejecute.

Veamos pues el proceso de infección y uso de una botnet:

1. Infección inicial

Los métodos de infección inicial pueden ser múltiples pero la idea básica es la misma: conseguir que el usuario se instale nuestra aplicación, ya sea de forma consciente o no. El uso de troyanos, campañas de phishing, etc. es habitual.

Aunque es posible el uso de una botnet como parte de un ataque orientado a un objetivo específico, lo más habitual es el uso de técnicas de infección indiscriminadas con la intención de conseguir una red de equipos zombis lo más amplia posible.

2. Actualización y gestión de nuevos módulos (opcional)

Aunque cada herramienta tenga un comportamiento diferente es común que la infección inicial sea con un programa base de pequeño porte y características reducidas, pero configurado para que una vez arranque se conecte a un servidor remoto y se descargue diferentes módulos que le conferirán las capacidades que el controlador desee (envío de spam, ataque por saturación, generación ataques DNS, etc.).

Esta estrategia, además de facilitar la infección inicial y su propagación, permite mejorar la herramienta de forma remota actualizando cada módulo de forma independiente y asegurándose de que cada vez las víctimas recibirán la última versión del malware.

3. Contacto con servidores C&C

De poco nos serviría una red de ordenadores listos para obedecernos si no pudiésemos darles órdenes, ¿no? Por ello los responsables de una botnet configuran el software malicioso en los equipos de las víctimas para que se conecten cada cierto tiempo a unos servidores externos para ver qué deben realizar. Estos servidores suelen conocerse por las siglas C&C que vienen de la expresión Command and Control.

Tradicionalmente se han utilizado servidores IRC privados debido a que resulta relativamente fácil pasar desapercibido (poco uso actual, salas privadas con acceso restringido, etc.) y utilizan un protocolo relativamente fácil de interpretar de forma dinámica. No es difícil configurar una sala privada para que al conectarse un usuario (un equipo zombi) éste reciba un mensaje automático con un formato específico que pueda interpretarse.

Por ejemplo si queremos que los zombis envíen spam a un destinatario (cuentaaspammear@sudominio.com) simulando ser una persona en concreto (cuentafalseada@dominio.com) bastaría con que el mensaje de bienvenida al canal fuera algo así:

SPAM – FROM:cuentafalseada@dominio.com – TO:cuentaaspammear@sudominio.com – SUBJECT:Asunto – BODY:»Texto del cuerpo del mensaje» – EOF

Mientras que si lo que queremos es realizar una denegación de servicio basándonos en un ataque espejo mediante DNS bastaría configurar un mensaje de bienvenida similar al siguiente:

DNS-MIRROR – VICTIM:www.empresa.com – PETITION:google.com – EOF

Es común que haya más de un servidor C&C ya que si sólo hubiera uno la mera desconexión del mismo implicaría la pérdida de la red. De igual forma para botnets profesionales se suele tener una estructura de servidores C&C piramidal de tal forma que el dueño de la red no se conecte siempre a un único servidor para evitar ser localizado por la policía. Estas estructuras pueden ser bastante complejas.

4. Ejecución de las instrucciones

Una vez recibidas las instrucciones el software ejecuta los módulos necesarios para realizar la tarea asignada utilizando los recursos de la máquina infectada de tal manera que es muy difícil localizar el origen real del ataque ya que la víctima final tan solo podrá conocer información de los equipos infectados. Esto hace que, además de la pérdida de rendimiento o posibles gastos que pueda incurrir el dueño del equipo zombi, éste pueda enfrentarse a problemas legales ya que en realidad ha formado parte de un ataque informático.

Usos maliciosos de una botnet

Si bien las funciones que realiza una botnet dependen de la inventiva de su diseñador, como estamos ante un uso no autorizado de unos medios que no son de su propiedad no podemos esperar que se utilice con fines benéficos. Los siguientes serían los más habituales:

  • DDoS (DNS espejo, sobrecarga peticiones, envío tráfico, etc.)
  • Spam
  • Mineria de Bitcoins con recursos de las víctimas (cada vez menos habitual)

Whaling

Fuente imagen: condiesit.co.uk

Fuente imagen: condiesit.co.uk

En seguridad informática se denomina whaling a las técnicas de phishing dirigidas contra objetivos de alta importancia dentro de una organización (altos directivos de empresa, políticos, etc.) o simplemente de gran transcendencia social (cantantes, artistas, famosos, etc.).

El término whaling es un juego de palabras entre whale, ballena, y phishing. En el mundo de los casinos se denomina «ballena» a aquellos jugadores de altas apuestas a los que se les da  un tratamiento y servicios especiales. También es común denominar como big-fish a una persona importante dentro de una organización por lo que el nombre de whale también se ajusta a esta costumbre.

Como se trata de un ataque muy dirigido a una persona en concreto, o a un grupo muy reducido (consejeros de una empresa o similar), es un ataque que precisa de una fase de recopilación de información meticulosa. Los correos electrónicos, las páginas webs falseadas o la ingeniería social para apoyar la estrategia de phishing deben ser específicamente creadas y diseñadas para estos objetivos concretos. Se trata pues de ataques que implican una gran carga de trabajo pero que pueden obtener una recompensa muy elevada.

Cabe indicar que estas técnicas de whaling son difíciles de detectar por parte de los servicios de seguridad informática corporativos debido a que su especificidad hace que el volumen de transmisiones sea muy bajo, comparándolo con otros ataques phishing.

Ejemplos de whaling

Las definiciones teóricas están muy bien, ¿pero de verdad es un riesgo? Pues sí. Parece que los ataques de whaling están en aumento. Si bien son ataques de ingeniería social muy elaborados y que requieren de una buena documentación previa pueden obtener grandes beneficios con relativo poco riesgo. Veamos un par de ejemplos:

Defensas ante ataques whaling

Como se ha indicado anteriormente este tipo de ataques suelen pasar desapercibidos ante los sistemas de detección automáticos ya que se tratan de comunicaciones, generalmente correos electrónicos, muy precisas y de poco volumen por lo que no suelen saltar las alarmas.

En estos casos la mejor defensa es una buena concienciación de todos los trabajadores, sean del rango que sean, que tengan capacidad de realizar movimientos de dinero importantes. Es importante que ante cualquier petición fuera de lo común se confirme con la persona que supuestamente la realizado: así cualquier empleado debe consultar a su superior ante una petición extraña que supuestamente envía el director general y alguien en la cadena de mando debería contactar con dicho alto cargo para confirmar que realmente ha realizado esa petición y no estamos ante un caso de whaling. De igual forma los consejeros o directores generales deben entender que los procedimientos de una empresa deben ser seguidos para maximizar la seguridad.

Ejemplo de CSRF

Cross Site Request Forgery – CSRF

En seguridad informática, al igual que en la mayoría de parcelas técnicas, se intenta dar nombres concretos a todas y cada una de las técnicas, tanto defensivas como atacantes, que van apareciendo y evolucionando para así, con una categorización clara, poder analizar cada caso y evolución. En este artículo veremos una evolución de los ataques XSS: la Cross Site Request Forgery (CSRF).

Estos ataques están muy ligados a la facilidad de la mayoría de navegadores modernos para gestionar diferentes recursos web, generalmente utilizando pestañas, y de memorizar las claves de acceso y sesión a los servicios web para facilitar al máximo la comodidad del usuario. La mayoría de usuarios se han acostumbrado a acceder a muchos servicios web (correo electrónico, redes sociales, foros, etc.) y que el navegador ya se autentique de forma automática sin que le pida las claves de acceso. Una vez hemos accedido a un servicio web el navegador gestiona una cookie de sesión que nos identificará frente al servicio web hasta que cerremos la sesión.

Con este entorno un atacante podría generar una página web, que podría facilitar a la víctima por ingeniería social, especialmente diseñada para que realizase una acción sobre una segunda página web que, al estar previamente autenticado, se llevaría a cabo.

Ejemplo de CSRF

Ejemplo de CSRF. Fuente imagen: IT College.ee

Ejemplo de CSRF. Fuente imagen: IT College.ee

Intentaremos ilustrar este tipo de ataque con un ejemplo simple si bien no es difícil imaginar situaciones más delicadas.

La víctima suele participar en un foro web (www.forovictima.com) por lo que generalmente abre una pestaña del navegador con ese foro. Una vez hecho esto, probablemente a primera hora de la mañana, se ha establecido una cookie de sesión que el navegador utilizar para autenticarse con el foro hasta que se cierre la sesión (que puede ser al finalizar su horario laboral).

Conociendo este comportamiento (que será muy similar al de la gran mayoría de usuarios activos en ese foro) un atacante prepara una página web maliciosa que tras una apariencia inocente en realidad lanza una petición del tipo www.forovictima.com/perfil?accion=baja

Cuando el navegador ejecuta esa llamada utilizará la cookie de sesión previamente almacenada para autenticarse en el foro y realizar la consulta pedida. En nuestro ejemplo (accion=baja) el resultado podría ser la baja del usuario en el foro.

En este ejemplo se trata de una simple baja de un foro pero este tipo de ataque podría, por ejemplo, obligar a un usuario a comprar un producto en una tienda por lo que no hay que descuidarlo.

Protección frente CSRF

Por parte de los usuarios los consejos que protegerían frente a CSRF sería básicamente cerrar sesión cada vez que terminemos de utilizar un servicio e impedir que el navegador almacene nuestras contraseñas de acceso. Así sólo nos autenticaríamos de forma consciente.

Otro consejo para los usuarios sería utilizar navegadores diferentes para acceder a las aplicaciones de ocio y a las críticas. De esta forma, al no compartirse sesiones entre navegadores diferentes, sería imposible que acceder a una web maliciosa enlazada en un foro afectase a nuestra cuenta bancaria.

Existen librerías que facilitan el desarrollo de aplicaciones seguras. Fuente imagen: Bkcore.com

Existen librerías que facilitan el desarrollo de aplicaciones seguras. Fuente imagen: Bkcore.com

Por parte de los desarrolladores de aplicaciones web hay que tener en cuenta qué acciones son críticas para su sistema, y sus clientes, y reforzar su realización mediante sistemas que obliguen a la interacción con el usuario (captchas, segundos factores de autenticación, identificaciones únicos de peticiones, tokens, etc.).

Concepto Wardriving

Wardriving

Concepto Wardriving. Fuente imagen:Flylib.com

Concepto Wardriving. Fuente imagen:Flylib.com

Se denomina Wardriving a la búsqueda y recolección de información sobre redes Wi-Fi realizada desde un coche en movimiento. Seamos claros: la idea es pasearse por una zona que nos interesa con un portátil, o cualquier otro equipo con capacidad de conectarse a una red Wi-Fi, de manera que guardemos toda la información de las redes Wi-Fi que nos encontremos (SSID, protocolos de cifrado, direcciones MAC de los routers, ubicación GPS etc.) por el camino.

Hay que tener en cuenta que la mayoría de routers ADSL instalados por los operadores de telecomunicaciones en España vienen con una red Wi-Fi configurada por defecto que, hasta hace no demasiado, permitía el cálculo automático de la contraseña de acceso. Así pues, un usuario podría utilizar la información recogida para intentar, a posteriori, obtener las claves de acceso a las redes inalámbricas y utilizar así esas redes cuando lo considerase conveniente con las intenciones que fueran.*

Esta técnica puede utilizarse como parte de la fase de recolección de información de un ataque posterior. El hecho de detectar diferentes redes Wi-Fi puede dar información sobre la existencia, o no, de infraestructura de control de redes inalámbricas, la existencia de líneas ADSL independientes que puedan favorecer una infección remota, etc.

Ejemplo de equipo para wardriving. Fuente imagen: Wigle.net

Ejemplo de equipo para wardriving. Fuente imagen: Wigle.net

¡Pero no sólo los malos usan el concepto de wardriving! Resulta que si quieres que tu empresa disponga de un certificado PCI-DSS hay que cumplir muchos requisitos y uno de ellos, el 11.2 ( «Test for the presence of wireless access points and detect unauthorized wireless access points») obliga a los administradores de red a pasearse por la empresa en busca de redes Wi-Fi desconocidas que puedan suponer una puerta de salida de información privada. Efectivamente. Habréis visto en algunas películas que alguien detecta un pincho USB que emite por Wi-Fi la información que el malo malísimo necesita… y resulta que sí, que los administradores de red buscan estos puntos Wi-Fi dentro de sus instalaciones.

* Como anécdota personal puedo decir que cuando tuve un familiar ingresado durante bastante tiempo utilicé esta técnica (aunque caminando y no en coche) para encontrar una red Wi-Fi con la que conectarme a Internet. Aunque ya nos hemos acostumbrado a la conectividad móvil 4G no hace tanto que las conexiones eran muuuuy lentas y caras 😉