Cómo detectar ransomware oculto con correlación de datos

detectar ransomware

Esta historia le llega como parte 2 de 4 en nuestro Serie de detección de ransomware en el que exploramos cómo analizar y proteger sus datos de Qumulo a escala de nube. En la parte 1, examinamos cómo detectar ransomware patrones de acceso que podrían indicar una amenaza a sus datos (con Qumulo y Azure Sentinel). En la parte 2 a continuación, cubrimos el siguiente paso para detectar ransomware: cómo correlacionar los datos entrantes con datos externos, como listas blancas o listas negras.

Anteriormente, analizamos el flujo de trabajo de detección de ransomware utilizado con Azure Sentinel para detectar patrones de acceso sospechosos a los datos de Qumulo. Una de las características del ransomware es que puede ocultarse en su sistema de forma indefinida para permitir que el perpetrador planifique un ataque dirigido. En esta historia, agregaremos técnicas simples de correlación de datos al proceso de detección de ransomware para descubrir y prevenir ataques.

Los datos externos, como listas blancas o negras, pueden implementado en Azure Sentinel de varias maneras. Por ejemplo, como listas de seguimiento o como tablas en archivos CSV. En este caso, usaremos datos externos en forma de tablas estáticas. Consulte los siguientes ejemplos a modo de ilustración:
1. Detectar archivos con extensiones de archivo sospechosas o incorrectas conocidas y;
2. Detectar una gran cantidad de respuestas de acceso denegado en los registros de eventos de Qumulo.

Flujo de trabajo de detección de ransomware con correlación de datos

El flujo de trabajo de detección de ransomware a continuación se parece bastante al que se explicó anteriormente en la parte 1, que explora detectar patrones de acceso de ransomware. La diferencia aquí es la correlación de datos agregados con los datos entrantes. Examinemos a continuación cómo hacer esto.

flujo de trabajo de detección de ransomware

Métodos de correlación de datos y detección de ransomware

A continuación, cubriremos los métodos para la correlación de datos y la detección de ransomware u otros eventos de violación de datos. Estos métodos también se pueden aplicar fácilmente para descubrir otras actividades sospechosas.

1. Detectar extensiones de archivo sospechosas o conocidas como malas

Aquí comparamos los archivos entrantes con una lista externa de extensiones de archivos no deseadas (en la lista negra). Creamos esta lista como un archivo CSV y luego la almacenamos en un contenedor de blobs.

Este CSV contiene una lista de extensiones de archivo defectuosas conocidas:

Extensión, Descripción .dam, Damages Malware .dr, componente de cuentagotas para un .gen de malware, malware que se detecta mediante un .kit de firma genérico, constructor de virus .ldr, componente cargador de un .pak de malware, .plugin de malware comprimido, plug- en componentes .remnants, restos de un virus .worm, componente de gusano de ese malware.! bit, una categoría interna que se usa para referirse a algunas amenazas.! cl, una categoría interna que se usa para referirse a algunas amenazas.! dha, una categoría interna se usa para referirse a algunas amenazas.! pfn, una categoría interna que se usa para referirse a algunas amenazas.! plock, una categoría interna que se usa para referirse a algunas amenazas.! rfn, una categoría interna que se usa para referirse a algunas amenazas.! rootkit, rootkit componente de ese malware. @ m: gusanos de correo. @ mm: gusano de correo masivo

Subimos el archivo CSV a un contenedor de blobs privado y obtenemos la siguiente URL para acceder a él:


However, because we don’t want this list to be publicly accessible, we create a SAS token in the Azure portal. In this way, we can access the file without providing the storage account key. The URL that we would get out of it looks like this:


To query the content of the blacklist, we write the following query in Azure Sentinel:

externaldata (FileExt: string, Detail: string) [h"https://sradtkeloganalytics.blob.core.windows.net/tables/unwanted_file_extensions.csv?sv=2020-04-08&st=2021-05-18T17%3A33%3A45Z&se=2025-12-31T18%3A33%3A00Z&sr=b&sp=r&sig=k3gHLkq7ip4sEDLmrVw3eDrjafEpvjzZG8zA7k6bkGU%3D"] with (ignoreFirstRecord=true)

This would result in displaying the content of the CSV table (we skipped the output):

signs of ransomware

Now we can use the following query to check all touched files during the last 10 minutes on unwanted file extensions:

let timerange = 10min;
let blacklist = externaldata (FileExt: string) [h"https://sradtkeloganalytics.blob.core.windows.net/tables/unwanted_file_extensions.csv?sv=2020-04-08&st=2021-05-18T17%3A33%3A45Z&se=2025-12-31T18%3A33%3A00Z&sr=b&sp=r&sig=k3gHLkq7ip4sEDLmrVw3eDrjafEpvjzZG8zA7k6bkGU%3D"] with (ignoreFirstRecord=true);
| where EventTime >= ago(timerange)
| where FileExt1 in (blacklist)

This query would list all events where files have been accessed whose file extension is listed in the external blacklist:

identify ransomware

According to the detection workflow shown above, alerts and incident(s) would be created automatically. The security incident could be assigned to a security analyst for further investigation or a playbook can be triggered which launches automated responses.

2. Access Denied responses above threshold

In this example method, we want to detect certain actions on the filesystem. We are looking for actions that contain “access denied” responses from the filesystem that exceeded a high threshold within a time period. If access is denied more than 10 times a second, that indicates suspicious activity and the security team must be alerted.

For this use case we create a watchlist that is a static table used for lookups. In this example, the watchlist Q-Response-Codes contains all file system response codes. We can query the watchlist with the following:


ransomware symptoms

Now, to track incoming events of the last 10 minutes against this list and catch any event with a response code other than “ok,” we can run the following query:

let timerange = 10min;
let watchlist = (_GetWatchlist('Q-Response-Messages') | where ErrorStatus <> "ok" | project  ErrorStatus) ;
| where EventTime >= ago(timerange)
| where ResponseCode in (watchlist)

We could also limit the watchlist to fs_access_denied_error and http_unauthorized_error if we wanted the alerts to occur only on those events. To automatically alert only on access denied errors that exceed a certain threshold, we’ll create an analytic rule in Azure Sentinel that is fired up in regular intervals, and will trigger an alert only if the number of events exceeds a threshold that we can configure. From here, the alerts or incidents would be processed according to the workflow described above.

Next up is part 3 in this series on ransomware detection! We’ll look at how to use external Threat Intelligence data to support data correlation.

Qumulo Recover Q: Disaster recovery solution to help guard against ransomware

Qumulo Audit logs can be used via syslog with any SIEM solution for detection.

Qumulo Recover QWe also offer Qumulo Recover Q—a flexible cloud based disaster recovery solution that fits into any existing business continuity strategy. Active protection features help ensure data safety and integrity, while built-in snapshot and cloud replication features add layers of defense against real-world threats that could compromise your data or operations.

Using Recover Q in the cloud can help optimize your company’s spending for business continuity by reducing on-premises costs in favor of an on demand, cloud-native service.

Further Reading

Have a look at our two white papers to learn more about ransomware detection with Qumulo audit data and SIEM platforms, and the built-in data services (Qumulo Protect and Qumulo Secure) that come standard with your Qumulo software subscription:

Like what you see?

Contact us to book a demo or arrange a meeting. You can even test drive a fully functional Qumulo environment right from your browser:

Test drive Qumulo for free

Test drive Qumulo for free

Explore a fully functional Qumulo environment, right in your browser.

Try Demo

Share this post