Detección de campañas maliciosas mediante el aprendizaje automático

Dec 19, 2018
10 minutes
11 views

This post is also available in: English (Inglés) Français (Francés) Deutsch (Alemán)

Constantemente buscamos formas nuevas de proteger a los clientes y de evitar que los ataques puedan tener éxito. Con este fin, recientemente hemos incorporado a nuestro arsenal de recursos de investigación el uso del aprendizaje automático no supervisado en grandes conjuntos de datos de información de dominios. Técnicas como esta, basadas en el aprendizaje automático, pueden ayudarnos a descubrir nuevas amenazas y bloquearlas antes de que puedan afectar a nuestros clientes. Pueden identificar rápidamente dominios maliciosos que formen parte de campañas más grandes en cuanto estén activos y dar mucha más cobertura a estas campañas que los métodos tradicionales.

En este blog se ofrece información detallada y ejemplos de cómo aplicamos el aprendizaje automático no supervisado. Concretamente, hace poco en una campaña de phishing detectamos 333 dominios activos. El primer día en que la campaña estuvo activa sin control, solo 87 dominios eran conocidos para una popular base de datos de malware en línea y todos eran totalmente desconocidos para dos conocidas listas de bloqueo. En las dos semanas siguientes, la lista de bloqueo con mejores resultados solo bloqueó 247 de los 333 dominios y la base de datos de malware solo identificó 93.

Nuestra tecnología de aprendizaje automático sin supervisión abarca la totalidad de estas campañas y las detecta de forma temprana, antes de que afecten a usuarios vulnerables. En el caso de la campaña analizada a continuación y de otras detectadas con la misma técnica, los clientes de Palo Alto Networks estaban protegidos al día siguiente de que los dominios estuvieran activos.

 

Antecedentes

Un tipo de actividad maliciosa en línea conlleva el uso de muchos dominios con el mismo fin y durante un corto período. Con frecuencia, estas campañas aprovechan un acontecimiento de actualidad, como el Mundial de fútbol, y los nombres de dominio suelen ser nombres de dominios legítimos, pero mal escritos, o bien nombres que tengan relación con servicios legítimos, como c0mpany.com en lugar de company.com.

Un ejemplo anterior de esta actividad sería el lanzamiento de campañas maliciosas tras la filtración de datos de Equifax en 2017. En este caso concreto, la agencia de informes de crédito creó un sitio web legítimo, www.equifaxsecurity2017[.]com, para que los usuarios pudieran saber si sus datos se habían filtrado. Esto desencadenó una o varias campañas maliciosas que registraron cientos de dominios que se parecían mucho a la dirección URL original. Por ejemplo, www.equifaxsecurity3017[.]com.

Por lo general, resulta fácil observar detenidamente un solo nombre de dominio y distinguir si es fraudulento, pero, como en una campaña pueden crearse cientos de dominios de ese tipo, lo realmente difícil es encontrar todos los dominios fraudulentos antes de que empiecen a afectar a muchas personas. Aunque los nombres de estos dominios puedan variar mínimamente, los dominios maliciosos que forman parte de la misma campaña siguen compartiendo muchas características como la subred IP, el número de sistema autónomo (ASN), el tiempo de vida (TTL) de DNS, la información que figura en el registro Whois y muchos otros atributos. Basándonos en esta observación, hemos puesto en marcha un sistema para extraer atributos del tráfico DNS y agrupar los dominios en función de su similitud. Nuestro sistema complementa a los métodos existentes y permite identificar dominios de campañas que, de otro modo, no sería posible detectar.

Figura 1: Proceso de alto nivel

 

Enfoque

Nuestro enfoque (consulte la figura 1) consiste en agrupar los dominios que se han visto en los registros de DNS pasivos, que se trata de un mecanismo para registrar el tráfico de consulta/respuesta de DNS. Los datos que figuran en los registros son principalmente la marca de tiempo, el dominio en cuestión y la dirección IP correspondiente, entre otros. Por motivos de privacidad, el tráfico DNS de clientes individuales (el bit RD, o “recursividad deseada” está establecido) no se registra y la IP de cliente también se elimina.

Los registros de DNS pasivos están disponibles en diversas fuentes y los investigadores suelen usarlos para comprender el tráfico en Internet a escala. Generalmente, recibimos más de 6 terabytes de registros de DNS pasivos a diario para el análisis.

Para agrupar estos dominios, usamos funciones que se han generado a partir de la información que figura en los registros de DNS pasivos como la dirección IP, así como otras fuentes, como BGP y Whois. De este modo, obtenemos grupos de dominios relacionados entre sí, aunque en realidad no estén etiquetados como benignos o maliciosos.

Como en este punto los datos no están etiquetados, el uso del aprendizaje automático no supervisado sería útil. Sabemos que los dominios que están agrupados comparten muchas características, pero no si son maliciosos o no. Para encontrar los grupos maliciosos, usamos dominios semilla que parecen formar parte de una nueva campaña y que hemos verificado como maliciosos.

 

Dominios semilla

Los dominios semilla son ejemplos de dominios maliciosos que aparecen para mostrarse en grupos.

Suelen encontrarse de diversas formas y actualmente nos centramos en tres fuentes de información para identificar los dominios semilla candidatos: registros de dominios, dominios vistos recientemente y temas populares.

 

Registros de dominios

Examinamos dominios que se hayan registrado recientemente y buscamos grupos con nombres similares. Si la campaña está aprovechando un acontecimiento reciente, entonces es posible que se haya registrado un grupo grande de dominios con un nombre relativo al acontecimiento en cuestión. Comprobamos la existencia de dominios maliciosos conocidos en los grupos e incluimos los resultados en nuestra lista de dominios semilla. Identificamos los dominios maliciosos conocidos según nuestras propias detecciones, además de usar inteligencia sobre amenazas de terceros como, por ejemplo, una popular base de datos de malware en línea. Es posible que haya muchos dominios maliciosos que no sean conocidos o de los que no se tenga información, pero solo necesitamos hallar unos cuantos ejemplos para iniciar el proceso.

 

Dominios vistos recientemente

También buscamos dominios nuevos en los registros de DNS pasivos que no se hayan visto con anterioridad. Puede que se hayan registrado hace tiempo, pero que no se hayan puesto en servicio hasta que no se haya iniciado la campaña. Buscamos grupos de nombres similares e identificamos semillas de aquellos que se sabe que son maliciosos.

 

Temas populares

También buscamos temas populares en las redes sociales. Si tienen lugar acontecimientos a los que se haya hecho mucha publicidad, suelen aparecer en las tendencias diarias de las redes sociales. Cotejamos la aparición de palabras que hayan sido tendencia en Google o Twitter con nombres de dominios que se hayan visto recientemente. Por ejemplo, si vemos una tendencia en Google relativa a un acontecimiento reciente, como un espectáculo deportivo, comprobamos los dominios vistos recientemente que también hagan referencia a dicho acontecimiento. Volvemos a buscar grupos de nombres similares y buscamos aquellos que se sabe que son maliciosos. Con nuestra lista de dominios semilla, ahora estamos listos para buscar grupos de dominios que contengan esas semillas.

 

Búsqueda de grupos maliciosos

Una vez identificado el grupo de dominios semilla que vamos a usar, los buscamos en los grupos de dominios que hemos calculado anteriormente a partir de los datos de DNS pasivos (consulte la figura 2). Cualquier grupo que tenga un porcentaje importante de dominios semilla se considera que es una campaña maliciosa y todos los dominios del grupo se marcarán como maliciosos.

Figura 2: Grupos de dominios

Resultados

Como ejemplo, hemos descubierto recientemente una campaña de phishing que usaba dominios maliciosos con nombres como check-box-with-money##[.]loan. Decidimos seleccionar este grupo de dominios porque observamos un grupo de dominios parecidos que se registraron al mismo tiempo. En el primer día, observamos 77 dominios registrados. De ellos, solo 17 eran conocidos para una popular base de datos de malware en línea, pero bastó para añadirlos a nuestro grupo semilla. Mediante el análisis de la agrupación de dominios observados en los datos de DNS pasivos, nos dimos cuenta inmediatamente de que había 2 dominios más que no se vieron en el registro.

Al día siguiente, detectamos otros 16 dominios en la campaña, luego 58 y después 88. En las primeras dos semanas de la campaña, detectamos 333 dominios que estaban asociados a esta campaña de phishing.

Curiosamente, de esos 333 dominios, descubrimos que había 247 que una popular base de datos de malware en línea no había identificado el primer día en que se habían visto los dominios activos. En las dos semanas posteriores, solo 7 de esos dominios se marcaron finalmente. Transcurridas dos semanas, había 240 dominios que no habían sido catalogados como phishing por esa base de datos aunque los dominios estaban presentes activamente en Internet y era evidente que formaban parte de la misma campaña.

También contrastamos con dos listas de bloqueo muy conocidas. De estas listas, descubrimos que ninguna había empezado a bloquear los dominios el primer día en que aparecieron en Internet. En las dos semanas posteriores, de los 333 dominios, una bloqueó solo 80 dominios y la otra 247.

Estos resultados ponen de manifiesto que, aunque la comunidad encargada de la seguridad detecta algunos dominios de las campañas, resulta fácil para algunos dominios superar los controles sin que les bloqueen, que es el objetivo fundamental del atacante.

 

Conclusión

Este es solo un ejemplo. En los dos últimos meses, hemos descubierto 15 campañas distintas compuestas por más de 1000 dominios activos. Muchos de estos dominios, aunque activos y parte de las campañas, no han sido identificados individualmente por varios servicios populares de terceros. Sin embargo, de los dominios que sí han sido identificados por el servicio de un tercero, nosotros detectamos los dominios una media de 2,8 días antes que una base de datos de malware en línea, 3,9 días antes que una popular lista de bloqueo y 2,4 días antes que la otra lista. Las máximas diferencias que hemos observado hasta la fecha entre los dominios identificados por terceros son 46 días en el caso de la base de datos de malware, 15 días para la primera lista de bloqueo y 32 días para la segunda. En la figura 3 se muestra la comparación global del tiempo transcurrido hasta la identificación.

Figura 3: Tiempo hasta la identificación por parte de terceros

 

Protección y llamada a la acción

Los clientes de Palo Alto Networks están protegidos frente a estos dominios maliciosos y de phishing gracias a la base de datos de filtrado de URL PAN-DB URL Filtering y a las firmas de comando y control DNS que se incluyen en la suscripción a Threat Prevention. Los clientes que cuentan con cortafuegos de Palo Alto Networks contribuyen a nuestra investigación de DNS pasivos al detectar de forma proactiva dominios maliciosos y de phishing. Para activar el uso compartido de DNS pasivos en PAN-OS versión 8.0 o posterior, seleccione “Passive DNS Monitoring” (Device > Setup > Telemetry) (Supervisión de DNS pasivos [Dispositivo > Configuración > Telemetría). En el caso de PAN-OS® 7.1 o anterior, el uso compartido de DNS pasivos se activa en el perfil de seguridad Antispyware. Los registros de DNS pasivos incluyen principalmente la marca de tiempo, el dominio en cuestión y la dirección IP correspondiente, entre otros datos. Por motivos de privacidad, el tráfico DNS de clientes individuales (el bit RD, o “recursividad deseada” está establecido) no se registra y la IP de cliente también se elimina.


Subscribe to the Newsletter!

Sign up to receive must-read articles, Playbooks of the Week, new feature announcements, and more.