API de indicios

Obtener los indicios generadas

Este método de la API recupera los primeras 30.000 indicios del intervalo establecido. Para recuperar todos los indicios ejecuta de forma sucesiva varias llamadas con distintos intervalos reducidos. El intervalo de recuperación de indicios no debe superar 1 mes, de lo contrario la llamada devolverá un error.

Obtiene una lista de JSONs con los indicios generados en Cytomic Orion entre las fechas indicadas. Opcionalmente se permite filtrar por el tipo de indicio a buscar.

Petición

Comando

GET

URL

/api/v1/applications/alerts/{from}/{to}

Parámetros opcionales en la URL por querystring

  • statuses: filtra la recuperación de indicios en función de si han sido asignados a una investigación.

    • Pending: el indicio todavía no ha sido asignado a una investigación.

    • InProgress: el indicio ha sido asignado a una investigación que está abierta para su estudio.

    • Finished: el indicio fue asignado a una investigación pero ya se cerró.

  • MUID: filtra la recuperación de indicios por el identificador único de equipo.

  • clientid: filtra la recuperación de indicios por el identificador único de cliente.

  • huntingrule: filtra la recuperación de indicios por el nombre de su huntingrule asociada.

  • caseid: filtra la recuperación de indicios por el identificador de la investigación.

  • machineName: filtra la recuperación de indicios por el nombre del equipo.

  • from: timestamp Unix en milisegundos con la fecha inferior del intervalo de indicios a recuperar.

  • to: timestamp Unix en milisegundos con la fecha superior del intervalo de indicios a recuperar.

  • showExcluded: filtra la recuperación de indicios según su pertenencia o no a una regla de eliminación.

    • True: el indicio pertenece a una regla de eliminación y permanece en la papelera.

    • False: el indicio no pertenece a una regla de eliminación.

  • showDetails: recupera o no los detalles del indicio:

    • true: se envía en el campo Details los detalles del indicio.

    • false: el campo Details se devuelve vacío (null).

Cabeceras

  • Accept: application/json

Formato de la llamada para obtener los indicios generadas

Respuesta

Lista de JSONs con la descripción de los indicios encontrados.

Campo Descripción

id

Identificador del indicio.

MUID

Identificador único del equipo del cliente donde se ha producido el indicio.

timestamp

Fecha en la que se generó el indicio.

clientid

Identificador único del cliente al que pertenece el equipo.

huntingRule

Nombre de la regla de hunting que generó el indicio.

HuntingRuleId

Identificador de la regla de hunting que generó el indicio.

status

Indica si el indicio ha sido asignada a una investigación y el estado de la investigación.

  • 0 (En curso): el indicio está asignada a una investigación y un analista de Nivel 2 la está investigando.

  • 1 (Pendiente): el indicio todavía no ha sido asignada a una investigación.

  • 2 (Cerrada): el indicio fue asignada a una investigación y ésta se resolvió.

details

Descripción del indicio. Junto con a su nombre indica el tipo de eventos sospechosos registrados para que el equipo de Nivel 1 pueda hacer el triaje.

alertDateTime

Fecha en la que se generó el indicio.

lastHourEvidenceCount

Número de veces que Cytomic Orion generó el mismo indicio en la última hora.

severity

Importancia del impacto de la amenaza detectada:

  • 0: NotSet

  • 1: Critical

  • 2: High

  • 3: Medium

  • 4: Low

  • 1000: Unknown

mitre

Categoría de la técnica y táctica de la hunting rule mapeada según la especificación MITRE.

excluded

Indica si Cytomic Orion ha mostrado el indicio en la consola de administración o por el contrario el indicio está excluido.

machineName

Nombre del equipo del cliente involucrado en el indicio.

caseId

Identificador único de la investigación asignada al indicio si fue creada.

caseName

Nombre de la investigación asignada al indicio si fue creada.

directLink

URL para acceder a la página que describe el indicio. Utilizado en integraciones con software de terceros.

Formato del JSON que describe a un indicio

Ejemplo de llamada a la API para listar indicios

El siguiente ejemplo lista todos los indicios generadas en Cytomic Orion desde el 1/11/2019 al 1/12/2019 y que todavía no han sido asignadas a una investigación (estado Pendiente).

#cabeceras para la llamada a la API incluyendo el token de acceso.

h_request_alert = {

'Authorization': f'Bearer {token_access}',

'Accept': 'application/json'}

#fecha de inicio, fecha de final y criterio de filtrado

alert_from='1572595090000'

alert_to='1575187090000'

state='Pending'}

#Objetivo: obtener el listado del indicio entre dos fechas que no han sido asignadas a una investigación

#URL de la llamada

url_alert = f'https://api.orion.cytomic.ai/api/v1/applications/alerts/{alert_from}/{alert_to}?statuses={state}'

r = requests.get(url_alert, headers=h_request_alert, verify=False)

#devuelve una lista de JSONs con información de cada indicio

alerts=r.json()