Ejemplos de series de búsqueda de AQL
Utilice Ariel Query Language (AQL) para recuperar campos específicos de las tablas de sucesos, flujos y simarc en la base de datos Ariel .
Informes de uso de cuenta
Comunidades de usuarios diferentes pueden tener indicadores de amenazas y de uso diferentes.
Utilice datos de referencia para informar sobre diversas propiedades de usuario, tales como departamento, ubicación o gestor. Puede utilizar datos de referencia externos.
La consulta siguiente devuelve información de metadatos sobre el usuario a partir de sucesos de inicio de sesión.
SELECT
REFERENCETABLE('user_data','FullName',username) as 'Full Name',
REFERENCETABLE('user_data','Location',username) as 'Location',
REFERENCETABLE('user_data','Manager',username) as 'Manager',
DISTINCTCOUNT(username) as 'Userid Count',
DISTINCTCOUNT(sourceip) as 'Source IP Count',
COUNT(*) as 'Event Count'
FROM events
WHERE qidname(qid) ILIKE '%logon%'
GROUP BY 'Full Name', 'Location', 'Manager'
LAST 1 days
Identificadores de cuenta múltiples
En este ejemplo, los usuarios tienen varias cuentas en la red. La empresa necesita tener una vista individual de la actividad de un usuario.
Utilice datos de referencia para correlacionar un ID de usuario local con un ID global.
La consulta siguiente devuelve las cuentas de usuario que son utilizadas por un ID global en sucesos que están marcados como sospechosos.
SELECT
REFERENCEMAP('GlobalID Mapping',username) as 'Global ID',
REFERENCETABLE('user_data','FullName', 'Global ID') as 'Full Name',
DISTINCTCOUNT(username),
COUNT(*) as 'Event count'
FROM events
WHERE RULENAME(creEventlist) ILIKE '%suspicious%'
GROUP BY 'Global ID'
LAST 1 days
La consulta siguiente muestra las actividades que se han realizado mediante un ID global.
SELECT
QIDNAME(qid) as 'Event name',
starttime as 'Time',
sourceip as 'Source IP', destinationip as 'Destination IP',
username as 'Event Username',
REFERENCEMAP('GlobalID_Mapping', username)as 'Global User'
FROM events
WHERE 'Global User' = 'John Doe'
LAST 1 daysIdentificar una emisión larga de señales de baliza sospechosa
Muchas amenazas utilizan mandato y control para transmitir periódicamente durante días, semanas y meses.
Las búsquedas avanzadas pueden identificar patrones de conexión a lo largo del tiempo. Por ejemplo, puede investigar conexiones breves, constantes y de pequeño volumen que se realizan cada día/semana/mes entre direcciones IP o entre una dirección IP y una ubicación geográfica.
La consulta siguiente detecta posibles casos de emisiones de señales de baliza realizadas cada hora.
SELECT sourceip, destinationip,
DISTINCTCOUNT(DATEFORMAT(starttime,'HH')) as 'different hours',
COUNT(*) as 'total flows'
FROM flows
WHERE flowdirection = 'L2R'
GROUP BY sourceip, destinationip
HAVING "different hours" > 20
AND "total flows" < 25
LAST 24 hours
La consulta siguiente detecta posibles casos de emisiones diarias de señales de baliza.
SELECT sourceip, destinationip,
DISTINCTCOUNT(DATEFORMAT(starttime,'dd'))as 'different days',
COUNT(*) as 'total flows'
FROM flows
WHERE flowdirection='L2R'
GROUP BY sourceip, destinationip
HAVING "different days" > 4
AND "total flows" < 14
LAST 7 days
La consulta siguiente detecta la emisión diaria de señales de baliza entre una dirección IP de origen y una dirección IP de destino. Las horas de emisión de señales de baliza no son las mismas cada día. El intervalo de tiempo entre emisiones es corto.
SELECT
sourceip,
LONG(DATEFORMAT(starttime,'hh')) as hourofday,
(AVG( hourofday*hourofday) - (AVG(hourofday)^2))as variance,
COUNT(*) as 'total flows'
FROM flows
GROUP BY sourceip, destinationip
HAVING variance < 01 and "total flows" < 10
LAST 7 daysLa consulta siguiente detecta la emisión diaria de señales de baliza hacia un dominio utilizando sucesos de registro de proxy. Las horas de emisión de señales de baliza no son las mismas cada día. El intervalo de tiempo entre emisiones es corto.
SELECT sourceip,
LONG(DATEFORMAT(starttime,'hh')) as hourofday,
(AVG(hourofday*hourofday) - (AVG(hourofday)^2)) as variance,
COUNT(*) as 'total events'
FROM events
WHERE LOGSOURCEGROUPNAME(devicegrouplist) ILIKE '%proxy%'
GROUP BY url_domain
HAVING variance < 0.1 and "total events" < 10
LAST 7 daysLa propiedad url_domain es una propiedad personalizada de los archivos de registro de proxy.
Datos de inteligencia sobre amenazas externas
Los datos de uso y de seguridad que están correlacionados con datos de inteligencia sobre amenazas externas pueden proporcionar indicadores importantes sobre amenazas.
Las búsquedas avanzadas pueden asociar indicadores de amenazas externas con otros sucesos de seguridad y datos de uso.
Esta consulta muestra cómo puede analizar datos de amenazas externas durante muchos días, semanas o meses para identificar y priorizar el nivel de riesgo de activos y cuentas.
Select
REFERENCETABLE('ip_threat_data','Category',destinationip) as 'Category',
REFERENCETABLE('ip_threat_data','Rating', destinationip) as 'Threat Rating',
DISTINCTCOUNT(sourceip) as 'Source IP Count',
DISTINCTCOUNT(destinationip) as 'Destination IP Count'
FROM events
GROUP BY 'Category', 'Threat Rating'
LAST 1 days
Inteligencia y configuración de activos
Los indicadores de amenazas y de uso varían según el tipo de activo, sistema operativo, vulnerabilidad, tipo de servidor, clasificación y otros parámetros.
La consulta siguiente utiliza búsquedas avanzadas y el modelo de activos para obtener conocimientos operativos respecto a una ubicación.
La función Assetproperty obtiene valores de propiedad de activos, lo cual permite incluir datos de activos en los resultados.
SELECT
ASSETPROPERTY('Location',sourceip) as location,
COUNT(*) as 'event count'
FROM events
GROUP BY location
LAST 1 days La consulta siguiente muestra cómo puede utilizar búsquedas avanzadas y el seguimiento de identidades de usuario en el modelo de activos.
La función AssetUser obtiene el nombre de usuario a partir de la base de datos de activos.
SELECT
APPLICATIONNAME(applicationid) as App,
ASSETUSER(sourceip, now()) as srcAssetUser,
COUNT(*) as 'Total Flows'
FROM flows
WHERE srcAssetUser IS NOT NULL
GROUP BY App, srcAssetUser
ORDER BY "Total Flows" DESC
LAST 3 HOURSFunción de búsqueda de red
Puede utilizar la función Network LOOKUP para recuperar el nombre de red asociado a una dirección IP.
SELECT NETWORKNAME(sourceip) as srcnet,
NETWORKNAME(destinationip) as dstnet
FROM events Función de búsqueda de regla
Puede utilizar la función Rule LOOKUP para recuperar el nombre de una regla por su ID.
SELECT RULENAME(123) FROM eventsLa consulta siguiente devuelve los sucesos que activaron un nombre de regla determinado.
SELECT * FROM events
WHERE RULENAME(creEventList) ILIKE '%my rule name%'Búsqueda de texto completo TEXT SEARCH
Puede utilizar el operador TEXT SEARCH para realizar búsquedas de texto completo mediante la opción Búsqueda avanzada.
En este ejemplo, hay un número de sucesos que contienen la palabra "firewall" en la carga útil. Puede buscar estos sucesos con la opción Filtro rápido y la opción Búsqueda avanzada en la pestaña Actividad de registro.
- Para utilizar la opción Filtro rápido, escriba el texto siguiente en el cuadro Filtro rápido: 'firewall'
- Para utilizar la opción Búsqueda avanzada, escriba la consulta siguiente en el cuadro Búsqueda avanzada:
SELECT QIDNAME(qid) AS EventName, * from events where TEXT SEARCH 'firewall'
Propiedad personalizada
Puede acceder a las propiedades personalizadas para sucesos y flujos cuando utiliza la opción Búsqueda avanzada.
SELECT "MyWebsiteUrl", * FROM events ORDER BY "MyWebsiteUrl"