Informes: Sintaxis de reglas de NWDB

Document created by RSA Information Design and Development on Feb 9, 2017
Version 1Show Document
  • View in full screen mode
  

En este tema se describe la sintaxis de reglas compatible con la sintaxis de reglas de NWDB en Reporting Engine. Para mejorar el tiempo de ejecución de las entidades informantes, consulte Guías para informes.

Una regla es una función que manipula el conjunto de resultados de una regla para lograr que la salida de un informe sea más concreta o para agregar una funcionalidad adicional distinta a la consulta de datos y su visualización. Se puede utilizar cualquier combinación de estas acciones de regla para crear representaciones únicas e interesantes de la información que recopila Security Analytics.

El Reporting Engine es compatible con las siguientes categorías de sintaxis de reglas de orígenes de datos de NWDB:

  • Cláusula Select

    • Regla no agregada
    • Regla agregada
  • Cláusula Where
  • Operadores de la cláusula Where
  • Cláusula Then
  • Campo Límite
  • Acciones de regla
  • Operadores de regla

Cláusula Select

La cláusula Select es una lista de valores separados por comas. Por ejemplo: select sessionid,time,service.

Hay dos tipos de cláusulas Select para la regla NWDB:

  • Regla no agregada
  • Regla agregada

Regla no agregada

Cuando desee definir una regla sin agrupación, elija “Ninguno” en el campo Resumen. En una regla no agregada, puede seleccionar una cantidad indefinida de metadatos en la cláusula Select. Por ejemplo, select service, sessionid, time. 

105_non_aggregate_fn.png

Regla agregada

Cuando desea consultar por metadatos específicos y su valor agregado asociado, debe usar la regla agregada. Para obtener un agregado, debe elegir cualquiera de los tres metadatos (Conteo de eventos, Conteo de paquetes o Tamaño de sesión) o seleccionar “Personalizado” en el campo Resumen para incluir una función de agregado en la cláusula Select. Por ejemplo, select ip.src, sum (ip.dst). Cuando se habilita la regla agregada Personalizado, se completan los siguientes campos en la interfaz del usuario:

  • Agrupar por
  • Ordenar por
  • Umbral de sesión

En la siguiente figura se muestra la vista Crear regla para una regla agregada.

105_agr_rule.png

Existen dos tipos de valores de agregados que se pueden consultar:

  • Agregación de recopilados
  • Agregación de metadatos

Agregación de recopilación

Con la agregación de recopilación, puede obtener agregados relacionados con eventos, sesiones o paquetes. Los siguientes valores se pueden solicitar en una agregación de recopilación:

  • Conteo de eventos: El conteo total de eventos.
  • Conteo de paquetes: El conteo total de paquetes.
  • Tamaño de sesión: El tamaño total de la sesión.

Estas opciones se indican en el campo “Resumen ejecutivo” y cualquiera de ellas se puede seleccionar en una regla. 
Por ejemplo, elija cualquiera de los agregados de Recopilación (Conteo de eventos, Conteo de paquetes o Tamaño de sesión) en el campo “Resumen” y seleccione ip.src.

105_agg_fn_event_count.png

Agregación de metadatos

Con la agregación de metadatos, puede obtener agregados de valores de metadatos. Las siguientes son las funciones de agregado de metadatos compatibles:

  • sum(meta)
  • count(meta)
  • countdistinct(meta)
  • min(meta)
  • max(meta)
  • avg(meta)
  • first(meta)
  • last(meta)
  • len(meta)
  • distinct(meta)

Funciones agregadas de metadatos compatibles

El servicio NWDB es compatible con las siguientes funciones agregadas y sintaxis en esta versión.

                                                   
SintaxisFunción
sum(<meta>)

La suma de todos los valores de metadatos.

Por ejemplo, si proporciona el campo sum(payload) en la cláusula Select, el conjunto de resultados es la suma del tamaño de la carga útil.

Nota: El campo de metadatos escogido para la función de suma de agregados debe ser del tipo de datos numéricos.

count(<meta>)

La cantidad total de campos de metadatos que se deberían devolver.

Por ejemplo, si proporciona el campo count(ip.dst) en la cláusula Select, el conjunto de resultados es la cantidad de veces que se devuelve un valor ip.dst. 

countdistinct(<meta>)

La cantidad total de campos de metadatos distintos que se devolverían. Por ejemplo, si proporciona el campo countdistinct(ip.dst) en la cláusula Select, el conjunto de resultados es la cantidad de veces que se devuelve un valor distinct ip.dst.

min(<meta>)

El mínimo de todos los valores de metadatos.

Por ejemplo, si proporciona el campo min(payload) en la cláusula Select, el conjunto de resultados es el mínimo del tamaño de la carga útil.

max(<meta>)

El máximo de todos los valores de metadatos.

Por ejemplo, si proporciona el campo max(payload) en la cláusula Select, el conjunto de resultados es el máximo del tamaño de la carga útil.

avg(<meta>)

El promedio de todos los valores de metadatos.

Por ejemplo, si proporciona el campo avg(payload) en la cláusula Select, el conjunto de resultados es el promedio del tamaño de la carga útil.

Nota: El campo de metadatos que se eligió para la función de promedio de agregados debe ser del tipo de datos numéricos.

first(<meta>)

La primera aparición del valor de metadatos.

Por ejemplo, si proporciona el campo first(ip.src) en la cláusula Select, el conjunto de resultados es la primera aparición de ip.src para ese grupo.

last(<meta>)

La última aparición del valor de metadatos.

Por ejemplo, si proporciona el campo last(ip.src) en la cláusula Select, el conjunto de resultados es la última aparición de ip.src para ese grupo.

len(<meta>)

Convierte todos los valores de campo a una longitud UInt32 en lugar de devolver el valor real. Esta longitud es el número de bytes para almacenar el valor real, no la longitud de la estructura almacenada en la base de datos de metadatos.

Por ejemplo, el valor de metadatos “NetWitness” devuelve una longitud de 10.  Todos los campos IPv4, como ip.src, devuelven 4 bytes.

distinct(<meta>)

Los valores distintos de los metadatos.

Por ejemplo, si proporciona el campo distinct(ip.src) en la cláusula Select, el conjunto de resultados corresponde a todos los ip.src distintos para ese grupo.

Debe seleccionar “Personalizado” en el campo “Resumen” y proporcionar los metadatos y las funciones de agregado de metadatos en la cláusula Select.

105_agg_fn_custom.png

Nota: Las funciones de agregado de metadatos no se pueden usar en una cláusula WHERE y las acciones de regla como min_threshold/max_threshold se pueden usar para filtrar funciones de agregado. Se recomienda usar una cláusula WHERE más refinada para obtener un mejor rendimiento de la regla cuando se usa “group by”.

Consulta de agregado para múltiples metadatos

Para ejecutar una consulta de agregado para múltiples metadatos, siga estos pasos:

  1. En el menú de Security Analytics, haga clic en Administration > Informes.

    Se resalta la pestaña Administrar y se muestra la vista Reglas.

  2. En la barra de herramientas Regla, haga clic en add_rule_button.png > Base de datos de NetWitness.

    Por ejemplo, ingrese los siguientes metadatos en los campos que se resaltan a continuación:

    SELECT: ip.src, service, count(alias.host)
    WHERE: ip.src = 59.96.136.142

  3. Haga clic en el botón Probar regla de la parte inferior de la pantalla.

    Aparecerá la página Probar regla.

    Multiple_Query_Meta.png

Resumen 

Resumen determina el tipo de resumen o agregación para la regla.

               
NombreValor de configuración
Resumen

Para consultar metadatos sin ninguna agrupación personalizada, seleccione:

  • Ninguno: los datos se agrupan por sesión en este caso.

Para obtener agregados relacionados con la recopilación (sesiones/eventos/paquetes), seleccione una de las siguientes opciones:

  • Conteo de eventos: El conteo total de eventos.
  • Conteo de paquetes: El conteo total de paquetes.
  • Tamaño de sesión: El tamaño total de la sesión.

Para obtener agregados basados en metadatos, seleccione:

  • Personalizada: Esto indica que la función agregada de metadatos esperados se define en la cláusula Select de la regla.

Ordenar por 

Ordenar por determina cómo se ordena el conjunto de resultados.

                   
NombreValor de configuración
Nombre de la columnaEl Nombre de la columna es el nombre de las columnas según las cuales desea ordenar los resultados. El valor está vacío de forma predeterminada. Cuando hace clic en una columna, el valor se completa de acuerdo con el campo Resumen.
  • Para “Ninguno” y “Personalizado”, el valor se completa de acuerdo con las entradas hechas en el campo Select. Puede seleccionar un valor de esta lista o agregar un nombre personalizado. 
  • Para Conteo de eventos, Conteo de paquetes y Tamaño de sesión, los valores aceptados son Total y Valor. 
  • Total: se ordena por valor agregado
  • Valor: se ordena por grupo por metadatos
Ordenar porOrdenar por determina el orden en el cual desea clasificar los resultados. Los valores son los siguientes:
  • Orden ascendente
  • Orden descendente

Umbral de sesión

El umbral de sesión es la configuración de optimización para detener el escaneo de las sesiones coincidentes para cada valor único posible
para los metadatos seleccionados. El umbral es un número entero entre 0 (predeterminado) y 2,147,483,647. El umbral 0 escanea todas las sesiones coincidentes.

Nota: Si proporciona un valor distinto de cero (un valor mayor que cero), los resultados del agregado son inexactos. Esto puede utilizarse únicamente cuando está interesado en valores únicos y no en valores agregados.

Cláusula Where compatible

                   
SintaxisDescripción
where <field1> [<field-operator>] <value1>,<value2>,<value3-value4> <logic-operator> <field2>, etc.La cláusula Where es una lista separada por comas de los valores y rangos de campos de idiomas que utiliza la función NwValues. En la cláusula Where, los valores de cadena deben estar encerrados en comillas simples. Por ejemplo, where username = 'admin' && service = 22.
where <field1> [<field-operator>] <List1>Puede usar una lista en la cláusula Where si tiene múltiples valores que informar. Por ejemplo, where ip.src exists && alias.host exists && alias.host contains $[User Reports/List of Alias Host]. Cuando utiliza la lista, debe especificar en el formato $[<path>/<List name>].

En la cláusula Where, asegúrese de que la sintaxis esté correcta según el tipo de metadatos.
Por ejemplo, 
Para todos los tipos de metadatos de texto, use comillas; por ejemplo, username = ‘user1’.
Para todas las direcciones IP, las direcciones de Ethernet y los tipos de metadatos numéricos, no utilice comillas; por ejemplo, service = 80 && ip.src = 192.168.1.1.
Para los tipos de metadatos de fecha y hora, si el formato de fecha y hora es “AAAA-MM-DD HH:MM:SS”, utilice comillas.
Si el formato de fecha y hora es 1448034064 (número de segundos transcurridos desde EPOCH (1 de enero de 1970), no use comillas.

Nota: Si se utiliza una lista en la regla, asegúrese de que los valores de la lista estén entre comillas o sin comillas en función del tipo de metadatos que se utiliza. Si marca la casilla de verificación Se insertarán comillas para todos los valores en la página de definición de lista (para obtener más información, consulte la sección Agregar una lista ), se agregarán comillas a todos los valores de la lista.

Operadores de cláusula Where compatibles

                                               
SintaxisDescripción
=Devuelve los resultados donde el campo es igual a cualquier valor proporcionado. Por ejemplo, tcp.dstport = 21-25,110 devuelve la sesión con puertos de destino TCP de 21, 22, 23, 24, 25 o 110.
!=Devuelve resultados para los campos que no coinciden con los valores especificados.  Por ejemplo, eth.type !=0x0800 devuelve sesiones fuera del valor hexadecimal (valor decimal de 2048), que son todos los protocolos que no se basan en IP.
beginsVerifica un valor en el comienzo de un texto o campo binario.
containsBusca un textoo valor binario para una coincidencia parcial.
endsVerifica un valor al final de un texto o campo binario.
existsSi el valor de campo existe, independientemente del valor, la operación se evalúa como verdadera.
!existsSi el valor de campo no existe, la operación se evalúa como verdadera.
lengthEvalúa la longitud del campo. Por ejemplo, username length 20-u devuelve todos los nombres de usuario que tienen 20 o más caracteres de longitud.
regexEjecuta una búsqueda de expresión regular contra el texto o los valores binarios.
 

Cláusula Then compatible

               
SintaxisDescripción
then <rule action>La cláusula Then contiene una acción de regla que manipula el conjunto de resultados original de una regla para lograr que la salida en un informe sea más concreta o agregar una funcionalidad adicional distinta de la consulta de datos y su visualización. Por ejemplo, dedup (nombre de archivo).

Campo Límite

Indica el límite que se introducirá en la consulta mientras se obtienen los datos de la base de datos. Si un conjunto de resultados se ordena por conteo de
eventos, conteo de paquetes o tamaño de sesión, el límite representa los N valores superiores (o inferiores) que se devolverán. Si el conjunto de resultados no
se ordena, se devuelven los primeros N valores.

Acciones de regla

La sintaxis de regla de orígenes de datos de NWDB es compatible con las siguientes acciones de regla:

  • dedup
  • filter_on
  • filter_out
  • lookup_and_add
  • max_threshold
  • min_threshold
  • regex
  • sum_count
  • sum_values
  • show_whats_new

dedup (string field)

Dedup elimina las entradas duplicadas en un conjunto de resultados desordenado y solo muestra datos pertinentes. La acción de regla dedup elimina entradas duplicadas de un campo específico del informe, de modo que solo se incluye la primera aparición de ese valor en el informe.

Nota: La acción de regla dedup no se puede usar con una regla agregada.

Por ejemplo, los metadatos que genera una sesión individual son generalmente repetitivos, en especial cuando tiene sesiones con muchas búsquedas de DNS o sesiones web que acceden al mismo host en múltiples ocasiones para varios recursos (como javascript, css). Para quitar las entradas duplicadas del host, puede usar la acción de regla dedup.

Ejemplo:

El siguiente ejemplo es un conjunto de resultados extenso que se puede acortar eliminando los valores duplicados en la misma sesión.

105_dedup_before.png

Las siguientes figuras muestran la acción de regla dedup para eliminar las entradas duplicadas del conjunto de resultados.

105_dedup_build.png

El valor duplicado de cada entrada en el conjunto de resultados de la regla se reduce a un valor.

105_dedup_after.png

filter_on (string filter, string field, bool matchExact)

filter_on quita valores que no contienen el criterio filter del conjunto de resultados.  Si el conjunto de resultados contiene múltiples campos, debe seleccionar un campo específico al cual se aplica el filtro. Para agregar resultados adicionales a un único conjunto de resultados, incluya una función como lookup_and_add.

El parámetro matchExact determina si la coincidencia es una coincidencia exacta o si contiene una coincidencia.

  • Si matchExact se configura en false,, cualquier valor que contiene el texto de filtro se considera una coincidencia.
  • Si matchExact se configura en true, solamente los valores que coinciden con el texto de filtro proporcionado se incluyen en el conjunto de resultados.

Nota: A menos que se especifique el parámetro matchExact, el comportamiento predeterminado de la acción de regla será coincidir exactamente con el texto especificado en el parámetro de filtro. Para especificar que los resultados que contienen el texto de filtro se mantengan en el conjunto de resultados, los usuarios deben configurar el parámetro matchExact en falso.

Ejemplo:

La siguiente figura muestra la lista de países y su conteo de eventos.

105_before_filteron_result.png

En la siguiente figura se muestra una acción de regla filter_on para excluir países del conjunto de resultados, con excepción de España, China, Estados Unidos y Reino Unido.

105_With_filteron_build_rule.png

En la siguiente figura se muestra la salida con la acción de regla filter_on:

105_With_filteron_result.png

Otra forma de filtrar las salidas de cada conjunto de resultados es crear una lista de variables que desea filtrar. Por ejemplo, puede crear una lista con Reino Unido, Francia y Alemania como valores de la lista. Puede utilizar esta lista en la acción de regla para obtener el mismo conjunto de resultados. Por ejemplo, si crea una lista denominada COUNTRY_LIST, puede utilizar la lista de la siguiente manera:

filter_on ('$COUNTRY_LIST', 'country.src', 'false');

filter_out (string filter, string field)

filter_out (string filter, string field, bool matchExact)

filter_out elimina los valores que contienen el criterio filtro del conjunto de resultados. Si el conjunto de resultados contiene múltiples campos, debe seleccionar un campo específico al cual se aplica el filtro (por ejemplo, puede utilizar lookup_and_add para agregar resultados a un único conjunto de resultados).

El parámetro matchExact determina si la coincidencia es una coincidencia exacta o si contiene una coincidencia.

  • Si matchExact se configura en falso, cualquier valor que contiene el texto de filtro se considera una coincidencia.
  • Si matchExact se configura en verdadero, solamente los valores que coinciden con el texto de filtro proporcionado se excluyen del conjunto de resultados.

Nota: A menos que se especifique el parámetro matchExact, el comportamiento predeterminado de la acción de regla es buscar una coincidencia exacta para el texto especificado en el parámetro de filtro. Para especificar que los resultados que contienen el texto de filtro se quiten del conjunto de resultados, los usuarios deben configurar el parámetro matchExact en falso.

Ejemplo:

La siguiente figura muestra la lista de países y su conteo de eventos.

105_before_filterout_result.png

En la siguiente figura se muestra la acción de regla filter_out para eliminar el conteo de eventos de España, China, Estados Unidos y Reino Unido del conjunto de resultados.

105_With_filterout_build_rule.png

En la siguiente figura se muestra la salida con la acción de regla filter_out.

105_With_filterout_result.png

lookup_and_add (string select, string field)

lookup_and_add (string select, string field, int limit)

lookup_and_add (string select, string field, int limit, boolean inherit)

lookup_and_add (string select, string field, int limit, boolean inherit, string extraWhere)   

lookup_and_add(string select, string field, int limit, boolean inherit, string extraWhere, boolean aggregate)

Esta acción de regla realiza una iteración mediante una lista de valores en un conjunto de resultados y busca metadatos adicionales para describir con más detalles las relaciones entre diversos elementos dentro de un conjunto de resultados.

Nota: La acción de regla lookup_and_add se puede usar solo con una regla agregada.

El primer parámetro, select, designa el tipo de metadatos que se debe agregar a los elementos del conjunto de resultados. El segundo parámetro, field, especifica en qué parte del conjunto de resultados se debe aplicar el adjunto. Además, se puede aplicar un límite para evitar la sobrecarga del conjunto de resultados con un gran conjunto de resultados.

De manera predeterminada, las consultas posteriores que se realicen a SDK heredan la cláusula Where de la regla principal. Para usar una cláusula Where única, puede especificar un valor booleano en el cuarto parámetro como false y, en el quinto parámetro, especificar una cláusula Where diferente.

Nota: Si está utilizando una cláusula where única en su consulta, asegúrese de utilizar una comilla simple (') para encerrar argumentos y comillas dobles (") para los valores de cadena.

Ahora, con la adición del resumen Personalizado y la función Group By, el resultado se puede lograr incluso sin tener una acción de regla lookup_and_add. La sintaxis de la nueva regla con groupby muestra el resultado en una estructura plana que es mejor que la sintaxis de regla anterior sin groupby. Por lo tanto, se recomienda editar/actualizar manualmente las reglas con la acción de regla lookup_and_add y usar la cláusula groupby dondequiera que pueda aplicarse.

Nota: La acción de regla Lookup_And_Add solo es compatible si la cláusula SELECT tiene un metadato y una función de agregado.

Por ejemplo, consulte los siguientes escenarios: En el ejemplo 2a, se usa la acción de regla lookup_and_add. En lugar de usar la acción de regla lookup_and_add, se puede lograr el mismo resultado si se usa el resumen Personalizado y la función Group By. Consulte el ejemplo 2b más adelante.

Sin embargo, la acción de regla lookup_and_add es compatible con las reglas de NWDB en las siguientes condiciones:

  • Todas las versiones de reglas de NWDB en las cuales Resumen está configurado en Conteo de eventos, Conteo de paquetes o Tamaño de sesión.
  • En el caso del resumen Personalizado, la regla lookup_and_add debe tener solo un metadato group by con solo una función de agregado, y esta debe ser sum() o count().

Nota: No es compatible con “Resumen: Ninguno”.

Por ejemplo, la acción de regla lookup_and_add se puede usar para las siguientes reglas:

  • select ip.src, sum(size) group by ip.src
  • select ip.src, count(filename) group by ip.src

No se puede usar para las siguientes reglas:

  • select ip.src, sum(size),count(filename) group by ip.src
  • select ip.src, sum(size),avg(size) group by ip.src
  • select ip.src,ip.dst count(filename) group by ip.src,ip.dst

Ejemplos:

1. lookup_and_add('ip.dst','ip.src', 2);

Esta acción de regla se repetirá a través de cada ip.src en el conjunto de resultados inicial y buscará las dos direcciones IP de destino principales con cada ip.src.

La siguiente figura muestra la definición de la regla.

105_LUA_Build_rule1.pngm

En la siguiente figura se muestra el conjunto de resultados que contienen las direcciones IP de origen y las dos direcciones IP principales de destino con cada ip.src.

105_With_filterout_result.png

2a. lookup_and_add('ip.dst','ip.src', 2); lookup_and_add('service','ip.src', 3);

Esta acción de regla realizará la iteración a través de cada ip.src en el conjunto de resultados inicial y buscará las dos direcciones IP de destino principales con cada ip.src y los tres puertos principales utilizados por ip.src.

La siguiente figura muestra la definición de la regla.

105_LUA_Build_rule2.png

La siguiente captura de pantalla muestra el conjunto de resultados que contienen las direcciones IP de origen y las dos direcciones IP principales de destino con cada ip.src y los tres puertos principales utilizados por cada ip.src:

105_LUA_result2.png

Puede hacer la consulta con el grado de complejidad que desee mediante la selección de diferentes campos en el conjunto de resultados y la adición a diferentes partes. Por ejemplo, puede que desee saber qué archivos ha tocado cada IP de origen. Sin embargo, debido a que la regla principal tiene una cláusula WHERE service = 6667 y a que el comportamiento predeterminado de esta acción de regla es anexarse a la cláusula WHERE original, será necesario reemplazar la cláusula WHERE primaria. La manera más fácil de comprender este concepto es buscar en la llamada lookup_and_add anterior: lookup_and_add('ip.dst','ip.src',2). La consulta real que se envía al servidor es SELECT ip.dst WHERE service = 6667 &&ip.src = 206.42.199.194. Para forzar que la cláusula WHERE reemplace la parte de service = 6667 de la cláusula WHERE (heredada de la regla primaria), el usuario puede especificar un cuarto parámetro false, como se muestra en el ejemplo 3.

2b. Sin la regla lookup_and_add

Esta regla usa el resumen Personalizado y la función Group By para ordenar los resultados.

La siguiente figura muestra la definición de la regla.

105_without_LUA_build_rule.png

La siguiente captura de pantalla muestra el conjunto de resultados que contienen las direcciones IP de origen y las dos direcciones IP principales de destino con cada ip.src y los tres puertos principales utilizados por cada ip.src:

105_without_LUA_result.png

3. lookup_and_add('filename', 'ip.src', 2, false);

Esta llamada enviaría una consulta al servidor, como SELECT filename WHERE ip.src = 90.0.0.142 en lugar de SELECT filename WHERE service = 6667' && ip.src = 90.0.0.142, porque se especificó la acción de regla para omitir la cláusula WHERE inicial de la regla primaria.

La siguiente figura muestra la definición de la regla.

105_LUA_Build_rule3.png

La siguiente figura muestra el conjunto de resultados.

105_With_filterout_result.png

La lista test está en un grupo llamado netwitness, puede acceder a esa lista con la siguiente sintaxis.

Incluso puede acotar aún más estos resultados anexados para incluir solamente nombres de archivos que tengan .gif como la extensión del nombre de archivo utilizando el quinto parámetro en la acción de regla. El quinto parámetro le permite especificar criterios adicionales de la cláusula WHERE. Los archivos con extensión de nombre de archivo .gif se almacenarían en la lista test dentro de un grupo llamado DocTeamList. Puede acceder a esta lista con la siguiente sintaxis: threat.source = $[DocTeamList/test] 
Puede hacer referencia a ella en el parámetro de la cláusula Where adicional de la siguiente forma:

4. lookup_and_add('filename', 'ip.src', 5, false, 'filename CONTAINS $[DocTeamList/test]');

La siguiente figura muestra la definición de la regla.

105_LUA_Build_rule4.png

La siguiente figura muestra el conjunto de resultados.

105_With_filterout_result.png

5. lookup_and_add('ip.dst','ip.src', 2,true,,false);

Esta acción de regla se repetirá a través de cada ip.src en el conjunto de resultados inicial y buscará las dos direcciones IP de destino principales con cada ip.src. El parámetro “aggregate” está configurado en “false”, lo cual implica que los agregados se omitirán en los valores de búsqueda y, por lo tanto, las ejecuciones de consulta de búsqueda se completarán más rápidamente.

Nota:
El valor predeterminado para “aggregate” es “true”. Cuando “aggregate” está configurado en “false”, Reporting Engine transmite threshold=1, Sort by='value' y Order=Ascending a NWDB para acelerar las consultas de búsqueda. 
. Debe configurar “aggregate” en false cuando la regla contenga funciones de agregado o cuando se ejecute contra un rango de tiempo amplio. Esto ayuda a la regla a completar la ejecución con mayor rapidez.

La siguiente figura muestra la definición de la regla.

105_LUA_Build_rule5.png

La siguiente figura muestra el conjunto de resultados.

105_With_filterout_result.png

max_threshold (string quantity)

max_threshold (string quantity, string field)

max_threshold elimina cualquier resultado con una cantidad que es mayor a la cantidad del umbral máximo de un conjunto de resultados. Se puede especificar la cantidad en términos de conteo o de tamaño y es relativa a las opciones de orden de la regla principal. Esto significa que si clasifica una regla por tamaño, la acción de la regla espera que especifique el parámetro en bytes (puede agregar KB, MB, GB o TB al parámetro para facilitar la conversión del tamaño). 

La regla max_threshold también se puede usar para filtrar valores de acuerdo con los valores de la función de agregado. Use la sintaxis según el tipo de resumen que se utiliza en la regla que se muestra a continuación:

  • max_threshold(String quantity): se puede usar para filtrar Conteo de eventos, Conteo de paquetes y Tamaño de sesión.
  • max_threshold(String quantity, String field): se puede usar para filtrar valores de agregados personalizados o cualquier metadato.

Ejemplos:

1. max_threshold(200);

En la siguiente figura se muestra el resultado sin el argumento max_threshold. Los resultados de salida tienen conteos de eventos que exceden los 200.

Max_Threshold_results(before)1.png

En la siguiente figura se muestra la acción de regla max_threshold que pone un límite de 200 bytes en la salida. No se enumera ninguna salida que tenga más de 200 bytes de datos.

105_max-th2.png

En la siguiente figura se muestra el resultado cuando se aplica la acción de regla max_threshold. Los resultados enumerados 1 en la captura de pantalla anterior se quitan del resultado.

Max_Threshold_results1.png

2. max_threshold(5,count(alias.host));

En la siguiente figura se muestra el resultado sin el argumento max_threshold. Los resultados de salida tienen un conteo de alias.host mayor de cinco.

105_max-th4.png

En la siguiente figura se muestra la acción de regla max_threshold que pone un límite de cinco en la salida. No se enumera ninguna salida que tenga un valor mayor de cinco.

105_max-th5.png

En la siguiente figura se muestra el resultado cuando se aplica la acción de regla max_threshold. Cualquier salida que tenga un valor mayor de cinco se elimina del resultado.

105_max-th6.png

min_threshold (string quantity)

min_threshold elimina los resultados con una cantidad que es menor a la cantidad del umbral mínimo de un conjunto de resultados. Se puede especificar la cantidad en términos de conteo o de tamaño y es relativa a las opciones de orden de la regla principal. Esto significa que si clasifica una regla por tamaño, la acción de la regla espera que especifique el parámetro en bytes (puede agregar KB, MB, GB o TB al parámetro para facilitar la conversión del tamaño).

La regla min_threshold también se puede usar para filtrar valores de acuerdo con los valores de la función de agregado. Use la sintaxis según el tipo de resumen que se utiliza en la regla que se muestra a continuación:

  • min_threshold(String quantity): se puede usar para filtrar Conteo de eventos, Conteo de paquetes y Tamaño de sesión.
  • min_threshold(String quantity, String field): se puede usar para filtrar valores de agregados personalizados o cualquier metadato.

Ejemplos:

1. min_threshold(200);

En la siguiente se figura muestra un ejemplo de la consulta min_threshold.

105_Min-Th2.png

En la figura anterior se establece un límite de 200 bytes en la salida. No se enumera ninguna salida que tenga menos de 200 bytes de datos. Se aplica la salida con la acción de regla min_threshold.

Min_Threshold_results1.png

Como se muestra, todos los valores son más grandes que 200 bytes.

2. min_threshold(100,count(alias.host));

En la siguiente figura se muestra el resultado sin el argumento min_threshold. Los resultados de salida tienen un conteo de alias.host menor de 100.

105_Min-Th4.png

En la siguiente figura se muestra la acción de regla min_threshold que establece el límite mínimo de 100 en la salida. No se lista ninguna salida que tenga datos menores de 100.

105_Min-Th5.png

En la siguiente figura se muestra el resultado cuando se aplica la acción de regla min_threshold. Cualquier salida que tenga datos de menos de 100 se quita del resultado.

105_Min-Th6.png

regex (string regex, string field)

La acción de regla regex aplica la expresión regular al conjunto de resultados. El siguiente es el formato de la acción de regla regex:

regex(regular_expression, meta_name)

Donde:

  • regular_expression: es la expresión regular para igualar el valor de los metadatos.
  • meta_name: nombre del campo o de los metadatos donde se debe aplicar regex.

Para ver una lista completa de los patrones de regex compatibles, consulte http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html.

Ejemplo de la acción de regla regex:

Si desea incluir nombres de archivos de todos los formatos de archivo PNG y JPEG de diferentes sesiones, puede escribir una regla con la siguiente acción de regla regex:

regex(".+.(png|jpg)", filename);

En la siguiente se figura muestra la regla.

105_regex_build.png

La salida con la acción de regla regex aplicada se muestra en la siguiente figura:

Reg_exp_results1.png

sum_count()

Calcula el total de los cuantificadores de un conjunto de resultados específico. Por ejemplo, al llamar un sum_count() para una regla que está clasificada por conteos de eventos, se calcula el tamaño total de todos los valores en el conjunto de resultados y se muestra el total implementado del conjunto de resultados.

Ejemplo: 

En la siguiente se figura muestra la regla de acción sum_count().

105_sum-count_build.png

Con la regla de acción sum_count(), la salida muestra el tamaño total de todos los conteos de eventos:

105_sum-count_result.png

sum_values()

Calcula la cantidad total de valores de un conjunto de resultados específico. Use esta acción para mostrar la cantidad de coincidencias que se encontraron para una regla determinada.

Ejemplo:

En la siguiente figura se muestra la acción de regla sum_values().

105_sum-value_build.png

En la siguiente figura se muestra el resultado con la acción de regla sum_value:

105_sum-value_result.png

show_whats_new()

La acción de regla show_whats_new() toma cualquier resultado de un conjunto de resultados y filtra cualquier valor disponible en la base de datos de metadatos de NetWitness antes del marco de tiempo del informe en ejecución. Cuando se ejecuta un informe, Security Analytics determina el ID de la primera sesión en el rango de tiempo del informe. Si un valor en un conjunto de resultados tiene un ID de primera sesión mayor al ID de primera sesión del marco de tiempo del informe, no existía en la base de datos de metadatos de NetWitness antes de que el informe se ejecutara y, por lo tanto, es nueva para el sistema NetWitness relacionado con el marco de tiempo del informe.

La acción de regla show_whats_new() también es compatible con la regla agregada personalizada. Cuando se seleccionan múltiples metadatos en la regla Personalizada, se consideran los primeros para filtrar los valores antiguos. Consulte el ejemplo 2 más adelante para comprender cómo se usa esta acción de regla para la regla agregada personalizada.

Nota: La acción de regla show_whats_new() se puede usar solo con una regla agregada.

Ejemplos:

1. show_whats_new() para una regla agregada con Conteo de eventos

En el siguiente ejemplo se enumeran todas las direcciones IP de origen disponibles durante las últimas dos semanas.

105_WO_SWN_result.png

En la siguiente figura se muestra el uso de la acción de regla show_whats_new para mostrar solo las entradas nuevas en las últimas dos semanas.

105_With_SWN_build.png

En la siguiente figura se muestran las entradas nuevas en las últimas dos semanas.

105_With_SWN_result.png

2. show_whats_new() para una regla agregada personalizada

En el siguiente ejemplo se enumeran todas las direcciones IP de origen disponibles durante las últimas dos semanas.

105_WO_SWN_agg_result.png

En la siguiente figura se muestra el uso de la acción de regla show_whats_new para mostrar solo las entradas nuevas en las últimas dos semanas.

105_With_SWN_agg_build.png

En la siguiente figura se muestran las entradas nuevas de direcciones IP de origen en las últimas dos semanas.

105_With_SWN_agg_result.png

El poder de esta función es que no importa cuándo se ejecuta el informe en los valores identificados que son nuevos para NetWitness. Preste atención con esta función porque si se restablecen los datos, se perderán. Sin embargo, es fácil establecer un punto de base en un sistema e identificar cambios y nuevos elementos sin una gran cantidad de esfuerzo en el sistema (según el tamaño del conjunto de resultados).

Operadores de reglas compatibles

La sintaxis de regla de origen de datos del Reporting Engine de NWDB es compatible con un subconjunto de operadores de reglas que son compatibles con Security Analytics.

                                           
SintaxisDescripción
*Use un asterisco (*) como el único operador de una regla para seleccionar todo el tráfico.
=Es igual al operador
!= No es igual al operador
&&Operador Y lógico
||Operador O lógico
-uLímite superior. Por ejemplo, tcp.port = 40000-u selecciona todos los puertos TCP superiores a 40,000.
-lLímite inferior. Por ejemplo, tcp.port = I-40000 selecciona todos los puertos TCP inferiores a 40,000.
-El operador guion (-) solo se aplica a valores numéricos. Separe los límites inferiores y superiores del rango con un guion (-).  Por ejemplo, tcp.port = 25-443 selecciona todos los puertos TCP entre 25 y 443.
Next Topic:Tipos de regla
You are here
Table of Contents > Trabajo con reglas de Reporting > Descripción general de una regla > Sintaxis de reglas de NWDB

Attachments

    Outcomes