ES2968622T3 - Detección de anomalías y sus causas en entornos informáticos - Google Patents

Detección de anomalías y sus causas en entornos informáticos Download PDF

Info

Publication number
ES2968622T3
ES2968622T3 ES18791513T ES18791513T ES2968622T3 ES 2968622 T3 ES2968622 T3 ES 2968622T3 ES 18791513 T ES18791513 T ES 18791513T ES 18791513 T ES18791513 T ES 18791513T ES 2968622 T3 ES2968622 T3 ES 2968622T3
Authority
ES
Spain
Prior art keywords
anomaly
data instances
data
segments
tokenized
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES18791513T
Other languages
English (en)
Inventor
Stephen Dodson
Thomas Veasey
David Mark Roberts
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Elasticsearch Bv
Elasticsearch Inc
Original Assignee
Elasticsearch Bv
Elasticsearch Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US15/498,406 external-priority patent/US10986110B2/en
Application filed by Elasticsearch Bv, Elasticsearch Inc filed Critical Elasticsearch Bv
Application granted granted Critical
Publication of ES2968622T3 publication Critical patent/ES2968622T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

En el presente documento se divulga la detección de anomalías en entornos informáticos. Un método de ejemplo incluye recibir un flujo de entrada no estructurado de instancias de datos desde el entorno informático, estando el flujo de entrada no estructurado una marca de tiempo; categorizar las instancias de datos del flujo de entrada no estructurado de instancias de datos, comprendiendo las instancias de datos al menos un valor principal y un conjunto de atributos categóricos determinados mediante aprendizaje automático; generar puntuaciones de anomalía para cada una de las instancias de datos recopiladas durante un período de tiempo; y detectar un cambio en el atributo categórico que es indicativo de una anomalía. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Detección de anomalías y sus causas en entornos informáticos
CAMPO DE LA PRESENTE TECNOLOGÍA
La presente tecnología se refiere en general a la seguridad digital, y más particularmente, pero sin limitación, a sistemas y métodos que detectan anomalías en entornos informáticos que son indicativos de comportamiento malicioso o no deseado dentro del entorno informático o realizado por él. Este proceso de detección de anomalías se mejora utilizando metodologías para detectar y aislar fuentes de anomalías. Estos métodos y sistemas incluyen procesos para utilizar archivos de registro no estructurados para detectar anomalías en el entorno informático. ANTECEDENTES DE LA INVENCIÓN
En la patente estadounidense 9.516.053, una plataforma de seguridad emplea una variedad de técnicas y mecanismos para detectar anomalías y amenazas relacionadas con la seguridad en un entorno de red informática. La plataforma de seguridad se basa en"big data"y emplea aprendizaje automático para realizar análisis de seguridad. La plataforma de seguridad realiza análisis de comportamiento de usuario/entidad (UEBA) para detectar anomalías y amenazas relacionadas con la seguridad, independientemente de si dichas anomalías/amenazas se conocían previamente. La plataforma de seguridad puede incluir rutas/modos tanto en tiempo real como por lotes para detectar anomalías y amenazas. Al presentar visualmente resultados analíticos puntuados con calificaciones de riesgo y evidencias de respaldo, la plataforma de seguridad permite a los administradores de seguridad de red responder a una anomalía o amenaza detectada y tomar medidas con prontitud.
La publicación de solicitud de patente estadounidense n° US 2006/167917 A1 propone un sistema que automatiza la autoorganización de colectivos de entidades computacionales.
Una variante de la solución propuesta proporciona una arquitectura de sistema multiagente con una pluralidad de capas de sistema interconectadas, incluidos componentes estructurales, funciones analíticas, funciones activas y aplicaciones funcionales. Específicamente, estas capas del sistema consisten en una red informática y de comunicaciones distribuida de Agentes de Software Móviles Inteligentes (IMSA) multifuncionales en un sistema multiagente. En capas adicionales se organizan los métodos analíticos de IMSA y los procesos de aprendizaje en grupo. En otras capas posteriores se organizan el modelado activo de simulación de IMSA y procesos de generación de escenarios grupales y de toma de decisiones. La cooperación de IMSA para los procesos de agregación y reagregación se organiza en una capa adicional. La rivalidad entre equipos de IMSA y la formación y evolución de coaliciones se organizan en una capa adicional.
La combinación de estos complejos procesos permite la plasticidad activa de la red y la funcionalidad de programación automatizada de capas posteriores. Finalmente, las aplicaciones funcionales se encuentran en la capa final.
En la publicación de solicitud de patente estadounidense n.° US 2013/0238476 A1, se divulga un dispositivo electrónico que realiza pruebas contrafactuales. Durante la operación, el dispositivo electrónico accede a una representación funcional de un historial financiero de un usuario, donde la representación funcional especifica un valor financiero de salida basado en valores de entrada y un patrón de comportamiento, y el patrón de comportamiento especifica una relación entre al menos un par de las variables asociadas a una dimensión del historial financiero. Luego, el dispositivo electrónico modifica la representación funcional basándose en una circunstancia financiera que es diferente a las circunstancias financieras en el historial financiero. Además, el dispositivo electrónico calcula el valor de salida financiera usando la representación funcional y los valores de entrada, y un valor financiero de salida modificado usando la representación funcional modificada y los valores de entrada. A continuación, el dispositivo electrónico compara el valor financiero de salida y el valor financiero de salida modificado. A partir de la comparación y de una métrica de prueba, el dispositivo electrónico determina el resultado de la prueba contrafactual.
Además, en el artículo científico con el título «Combinación de métodos estadísticos y de filtrado para la detección de anomalías» de Souleet al.se describe un enfoque para la detección de anomalías para redes a gran escala o un proveedor de servicios de Internet.
RESUMEN
La invención está definida en las reivindicaciones independientes. Se establecen realizaciones particulares en las reivindicaciones dependientes.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
Ciertas realizaciones de la presente tecnología se ilustran en las figuras adjuntas. Se entenderá que las cifras no están necesariamente a escala y que se podrán omitir detalles que no sean necesarios para la comprensión de la tecnología o que hagan que otros detalles sean difíciles de percibir. Se entenderá que la tecnología no se limita necesariamente a las realizaciones particulares aquí ilustradas.
La FIG. 1 es un diagrama esquemático de alto nivel de la arquitectura informática para poner en practicar aspectos de la tecnología actual.
La FIG. 2 es un diagrama de flujo de un método de ejemplo para detectar actividad anómala en un entorno informático y determinar una o más causas de la misma.
La FIG. 3 es un diagrama de flujo de un método de ejemplo de análisis contrafactual para determinar una causa o causas de una actividad anómala.
La FIG. 4 es un diagrama de flujo de otro método de ejemplo de detección de anomalías y causas.
La FIG. 5 es un diagrama de flujo de un ejemplo de método para categorizar el contenido de un archivo de registro no estructurado y la utilización del mismo para la detección de anomalías en un entorno informático. La FIG. 6 ilustra un proceso para convertir un mensaje/segmento de archivo de registro no estructurado en un segmentotokenizadoy luego en un segmentotokenizadoy filtrado.
La FIG. 7 ilustra un proceso de ejemplo para calcular y aplicar un peso a lostokensen dos segmentostokenizadosy filtrados.
La FIG. 8 ilustra un método para comparar mensajes/segmentos de archivos de registro no estructurados y sus correspondientes segmentostokenizadosy filtrados.
La FIG. 9 es un diagrama de flujo de un método de ejemplo que clasifica un mensaje/segmento de un archivo de registro no estructurado en combinación con un método de detección de anomalías.
La FIG. 10 ilustra un ejemplo de conjunto de datos de selección de mejor coincidencia ponderada.
La FIG. 11 es un diagrama esquemático de un sistema informático que se utiliza para implementar realizaciones según la presente tecnología.
DESCRIPCIÓN DETALLADA
La presente divulgación está dirigida a diversas realizaciones de sistemas y métodos que utilizan aprendizaje automático no supervisado para detectar actividad anómala y aislar una fuente o fuentes de la misma. Más detalladamente, se recibe un flujo de entrada de instancias de datos. El flujo de entrada puede incluir instancias de datos de comportamiento o actividad de un entorno informático. Generalmente, un entorno informático puede incluir un sistema informático individual así como una pluralidad de ordenadores u otros dispositivos informáticos tales como una red. El flujo de entrada se puede obtener mediante cualquier método conocido por un experto en la técnica.
En diversas realizaciones, las instancias de datos se obtienen durante un período de tiempo y cada una de las instancias de datos tiene una marca de tiempo. Varios análisis descritos en el presente documento examinan las instancias de datos durante todo o una parte del período de tiempo durante el cual se recopila el flujo de entrada. Las anomalías se pueden detectar dentro de este flujo de entrada examinando y comparando los valores principales (o al menos un valor principal) y sus atributos categóricos correspondientes a medida que cambiaron con el tiempo. Estos cambios se identifican como anomalías, según diversas realizaciones. Una inspección posterior de las anomalías puede confirmar o eliminar las anomalías como indicativas de comportamientos maliciosos u otros problemas del entorno informático.
De acuerdo con diversas realizaciones de la presente divulgación, cuando se detecta una anomalía, se localiza una causa o causas de la anomalía a través de un proceso de procesamiento contrafactual. Un proceso de ejemplo de procesamiento contrafactual utiliza el reduccionismo y la eliminación para aislar valores principales y/o atributos categóricos correspondientes que contribuyen a la anomalía. En diversas realizaciones, estos valores principales anómalos y/o atributos categóricos correspondientes se rastrean luego hasta una fuente tal como un usuario, un sistema informático, un componente de red o similar (generalmente denominado punto de origen). Este punto de origen puede entonces identificarse y marcarse para su posterior revisión. En algunas realizaciones, el punto de origen se repara automáticamente. Por ejemplo, si el punto de origen es un sistema informático y la anomalía que se detecta es un pico en el tráfico entre el sistema informático y un servidor externo, la solución puede consistir en bloquear automáticamente el acceso a la red para el sistema informático hasta que se haya realizado una revisión completa del sistema informático.
Estas y otras ventajas de la presente tecnología se proporcionan a continuación con referencia a los dibujos colectivos.
La FIG. 1 es un diagrama esquemático de alto nivel de una arquitectura informática de ejemplo (en adelante arquitectura 100) de la presente tecnología. La arquitectura de ejemplo 100 comprende un sistema de ejemplo de detección de anomalías y detección de causa 105 (en lo sucesivo también denominado sistema de ejemplo 105 o sistema 105 para abreviar), que en algunas realizaciones comprende un servidor o dispositivo informático basado en la nube configurado específicamente para realizar los análisis descritos aquí. Es decir, el sistema 105 en algunas realizaciones es un dispositivo informático de propósito particular que está específicamente diseñado y programado (por ejemplo, configurado o adaptado) para realizar cualquiera de los métodos descritos en el presente documento. El sistema 105 también puede comprender una pluralidad de sistemas informáticos distribuidos que proporcionan cooperativamente las características del sistema 105. Por ejemplo, los individuales de la pluralidad de sistemas informáticos distribuidos pueden proporcionar una o más funciones o servicios únicos. En algunas realizaciones, el sistema 105 puede comprender un entorno informático en la nube u otro sistema informático en red similar.
El sistema 105 puede acoplarse con una fuente de entrada 110 que proporciona un flujo de entrada al sistema 105. Una fuente de entrada 110 puede comprender, por ejemplo, un sistema informático, una red empresarial, una pluralidad de sistemas informáticos dispuestos en red, máquinas virtuales, aplicaciones,tapsde red, servicios, una nube, contenedores u otro entorno informático similar que cree instancias de datos. En algunas realizaciones, la fuente de entrada 110 comprende una base de datos o almacén de datos que almacena datos obtenidos previamente de cualquiera de las fuentes antes mencionadas para su uso de acuerdo con la presente divulgación.
En una realización, el sistema 105 comprende un procesador 115 y una memoria 120 para almacenar instrucciones.
La memoria 120 puede incluir un módulo de interfaz de flujo de entrada 125, un módulo analizador de flujo de entrada 130, un módulo de detección de anomalías 135, un módulo de procesamiento contrafactual 140 y un módulo de remedio 145.
Tal como se utiliza en este documento, los términos «módulo» también pueden referirse a un circuito integrado de aplicación específica («ASIC»), un circuito electrónico, un procesador (compartido, dedicado o en grupo) que ejecuta uno o más programas desoftwareofirmware,un circuito lógico combinacional y/u otros componentes adecuados que proporcionen la funcionalidad descrita.
En algunas realizaciones, el sistema 105 recibe un flujo de entrada desde la fuente de entrada 110 a través del módulo de interfaz de flujo de entrada 125. Un flujo de entrada puede incluir una pluralidad de instancias de datos que se recopilan durante un período de tiempo. Las instancias de datos individuales (o componentes de las mismas) pueden tener una marca de tiempo para que se pueda mantener un orden cronológico para las instancias de datos.
En algunas realizaciones, utilizando aprendizaje automático no supervisado, el sistema de ejemplo 105 puede evaluar las instancias de datos a lo largo del tiempo para detectar comportamientos anómalos. En general, el comportamiento anómalo puede incluir cualquier desviación en las instancias de datos vistas a lo largo del tiempo. Por ejemplo, si las instancias de datos se recopilan para una red como una nube, los cambios en la utilización de recursos de un servicio dentro de la nube pueden identificarse como anómalos. En otro ejemplo, un breve aumento en las tasas de transferencia de archivos entre un dispositivo informático y otro dispositivo informático (posiblemente en un país extranjero) puede considerarse anómalo. La presente divulgación no pretende limitarse al aprendizaje automático no supervisado y en algunas realizaciones puede incorporar otros métodos de aprendizaje automático.
En una realización, la retroalimentación del usuario se puede incorporar en una puntuación de anomalía a través de técnicas de aprendizaje automático supervisadas, o al menos parcialmente supervisadas o una combinación que se basa en qué tan inusual es la desviación/anomalía en relación con los modelos de comportamiento histórico del sistema 105, así como en cómo se compara con otros casos de anomalías que se han indicado como importantes.
El uso de aprendizaje automático no supervisado en diversas realizaciones permite que el sistema 105 evalúe solo las instancias de datos disponibles y examine estas instancias de datos en busca de comportamiento anómalo de una manera autorreferencial. Es decir, en diversas realizaciones, las instancias de datos se modelan para el período de tiempo para el cual se recopilan las instancias de datos y estas instancias de datos se utilizan sin hacer referencia a perfiles de comportamiento generados previamente u otros perfiles similares. El uso de perfiles de comportamiento pregenerados puede ser ventajoso en algunas realizaciones, si están disponibles, pero estos perfiles no son necesarios.
Los cambios en instancias de datos a lo largo del tiempo pueden marcarse como anómalos si los cambios tienen una magnitud inesperada. El sistema de ejemplo 105 no necesita depender de umbrales o reglas rígidas para determinar si los cambios en las instancias de datos son anómalos, pero dicha información puede usarse para confirmar o validar la anomalía. En algunas realizaciones, el sistema 105 puede calcular la probabilidad de un comportamiento actual basándose en el comportamiento histórico, donde los eventos de baja probabilidad se clasifican como anomalías. Nuevamente, el uso de umbrales o reglas no es obligatorio, pero tampoco está prohibido.
En diversas realizaciones, cada instancia de datos se compone de al menos un valor principal que representa un aspecto u objeto del entorno informático que se va a medir para detectar anomalías. Ejemplos no limitantes de valores principales incluyen volumen de tráfico de red, acceso y/o uso de memoria, tasas de uso del procesador, transferencia de archivos, acceso a archivos, acceso a dispositivos, etc. En diversas realizaciones, el «al menos» un valor principal seleccionado puede ser un subconjunto de todos los valores principales disponibles en las instancias de datos. Los valores principales seleccionados para las instancias de datos pueden ser seleccionados o definidos por el usuario, o pueden basarse en conocimientos previos, como instancias anteriores de actividad anómala de la red. Por ejemplo, si anomalías anteriores en el aumento del uso de la CPU en una nube estuvieran relacionadas con un comportamiento malicioso, los valores principales podrían incluir aspectos del uso de la CPU.
En otras realizaciones, las instancias de datos se pueden seleccionar basándose en la comprensión predefinida del tipo de datos, o automáticamente por el sistema 105 basándose en las características de los datos.
En algunas realizaciones, un valor principal comprende atributos categóricos correspondientes y sus valores. En un ejemplo, si el valor principal es «tiempo de inicio de sesión», los atributos categóricos podrían incluir usuarios, ID del sistema, ubicaciones de inicio de sesión, etc.
Cuando se recibe el flujo de entrada, el módulo analizador de flujo de entrada 130 de ejemplo, mostrado en el ejemplo de la FIG. 1, se puede ejecutar para separar o analizar el flujo de entrada en instancias de datos ordenadas en el tiempo. Es decir, en diversas realizaciones, las instancias de datos se recopilan durante un período de tiempo y se marcan con la hora como se indicó anteriormente. El módulo analizador de flujo de entrada 130 puede determinar la influencia que tienen las instancias de los datos recopilados en el entorno informático utilizando los valores principalesv(o al menos un valor principal) y el conjunto correspondiente de atributos categóricos [aj]. En diversas realizaciones, el módulo analizador de flujo de entrada 130 considera los datos como una colección
{di=(vi, a1 i , a2i , ani)}, donde los datos representados por {} incluyen un conjunto. Nuevamente, usando el ejemplo anterior, un valor principalves el tiempo de inicio de sesión y dos atributos categóricos,a1j e{jim, jill, greg},que son indicativos de los usuarios ya2j e {casa, trabajo},que son indicativos de una ubicación. Se pueden considerar atributos categóricos adicionales o menos. En diversas realizaciones, el módulo analizador de flujo de entrada 130 convierte el valor principal y los atributos categóricos en una colección de conjuntos(8:50 am, jim, trabajo); (7:40 am, jill, trabajo);y(6:45 pm greg, casa).Se pueden crear otras tuplas similares para otros tipos de conjuntos de datos y pueden incluir una combinación de valores no numéricos y/o no numéricos.
En algunas realizaciones, la influencia de la anomalía tiene como objetivo comprender la forma en que los atributos categóricos influyen en las anomalías que se localizan analizando el valor principal v.
La detección de anomalías como se describe en diversas realizaciones en el presente documento implica la comparación y evaluación de al menos un valor principal que cambia con el tiempo.
Según algunas realizaciones, una vez que se crean conjuntos a partir de las instancias de datos, el módulo de detección de anomalías 135 se ejecuta para detectar anomalías en los datos,D= {(ti , di )}.
En diversas realizaciones, el módulo de detección de anomalías 135 crea características para realizar la detección de anomalías mediantebucketing(por ejemplo, agrupando) las instancias de datos en intervalos de tiempo continuos, donde un k-ésimo grupo o depósito se define según la ecuación:
Bk ={(ti, d i)eD: ti >kL, t¡ <(k+1)L}
dondeLes la longitud delbucket(por ejemplo, período de tiempo o porción del tiempo total durante el cual se recopilaron instancias de datos).
El módulo de detección de anomalías 135 aplica entonces una o más funciones de conjunto f:U ^ Rdonde
Uc {y, :(ti, (vi, ...)) e D} para generar un conjunto de características. El valor de una característica para el k-ésimo segmento es, por tanto,f(Bk).En un ejemplo, siv,son numéricos, la función de conjunto es una media que se calcula usando:f= 1/|U| £u vi ; mientras que siv,son categóricas, la función de conjunto seleccionada es un conteof= |U| ; y alternativamente siv¡son categóricas, la función de conjunto es un recuento distinto f = |{[vi ]}|, donde [*] denota su clase de equivalencia de argumentos. Por lo tanto, el valor principal puede incluir cualquiera de los valores numéricos, valores categóricos, combinaciones de los mismos u otros tipos de valores principales similares que serían conocidos por un experto en la técnica con la presente divulgación ante ellos. Los ejemplos de valores principales numéricos proporcionados anteriormente incluirían 8:50 (am), 100 (gigabits de datos), 3o (operaciones de acceso a memoria), 80% (uso de CPU), etc. Ejemplos de valores principales categóricos incluyen nombres, ubicaciones u otros datos no numéricos.
El módulo de detección de anomalías 135, en el ejemplo anterior, aplica entonces un algoritmo de detección de anomalías adecuado a las instancias de datos agrupados.
En diversas realizaciones, el algoritmo de detección de anomalías adecuado tomará como entradas características debucket {f(B¡)} parabuckets
cronológicamente anteriores en el tiempo que un depósito actualj, es decir, para i<j, y luego generará una puntuación de anomalía que corresponde a qué tan anómalo es el valorf(Bj) para el depósito j actual. La operación para el algoritmo de ejemplo se puede expresar como (f (Bj ), {f (Bi : i < j})^ sdonde s es la puntuación anómala.
En diversas realizaciones, un algoritmo de detección de anomalías de ejemplo intenta predecir una distribución para un nuevo valor de una característica basado en datos históricos relevantes y el momento en que ocurre el valor de la característica. El algoritmo de detección de anomalías de ejemplo puede tener en cuenta múltiples efectos, tales como niveles que cambian lentamente, patrones periódicos, diferencias entre días laborables y fines de semana y patrones recurrentes que se relacionan con el calendario. Por ejemplo, si se realiza una predicción para las 10 a.m. del lunes por la mañana, el algoritmo de distribución de anomalías estimará la distribución de probabilidad de los valores de la característica basándose en el comportamiento histórico de los lunes por la mañana alrededor de esa hora y también puede tener en cuenta las diferencias entre los días del mes o los lunes. En algunas realizaciones, se realiza una prueba para comprobar si existe una sobreocurrencia estadísticamente significativa de grandes errores de predicción que coinciden con una característica particular del calendario. Por ejemplo, se espera que, en promedio, haya errores de predicción percentil "n" x "p"/100 "p" dadas "n" predicciones. Además, (asumiendo independencia), esto debe seguir una distribución binomial. Por lo tanto, el algoritmo de ejemplo puede calcular la probabilidad de ver un recuento determinado (o superior) de grandes errores de predicción para un día del mes, día de la semana y semana del mes en particular, digamos el segundo lunes de cada mes, y así sucesivamente. En diversas realizaciones, si esta probabilidad es pequeña entonces típicamente es apropiado estimar una corrección a la distribución predicha que depende de esta característica, es decir, corregir las predicciones con información sobre el día calendario anterior del mismo tipo.
Para comprender cuál es el impacto de uno de los atributos categóricos en una anomalía, se observa que los distintos valores del atributo crean una partición de las instancias de datos en elbucket,es decir, las instancias de datos, es decir, las instancias de datos para las cuales el i-ésimo atributo categórico esajes una clase de equivalencia definida por:
[aj ] k = {(ti ,d, ) , (v¡, a1*, a j,..., an*)}
Por ejemplo,a1*denota cualquier valor del conjunto de valores posibles para el primer tipo de atributo categórico. Ejemplos del tipo de atributo categórico incluyen usuario y ubicación.
Usando los algoritmos antes mencionados y la separación de instancias de datos por sus atributos categóricos, el módulo de procesamiento contrafactual de ejemplo 140 puede eliminar selectivamente porciones de las instancias de datos correspondientes a cada atributo categórico, volver a calcular las puntuaciones de anomalía y determinar si la eliminación de los atributos categóricos reduce o elimina la anomalía. Si la eliminación reduce o elimina la anomalía, se puede determinar que el objeto del entorno informático responsable de producir los atributos categóricos eliminados es probablemente una fuente (podría ser una de muchas) de la anomalía. Este proceso, en diversas realizaciones, no categoriza la detección de una anomalía como un evento malicioso o nefasto, sino que detecta la anomalía y marca partes asociadas del entorno informático para su posterior consideración o revisión. En diversas realizaciones, el módulo de procesamiento contrafactual 140 puede proporcionar un mecanismo para hacer y responder preguntas tales como, por ejemplo, cómo sería la situación si todos los datos etiquetados con un atributo determinado fueran eliminados, o cómo sería si se eliminaran todos los datos excepto los etiquetados con un atributo determinado.
En diversas realizaciones, este procesamiento contrafactual se puede ejecutar de manera muy eficiente dependiendo de la función. Por ejemplo, para realizar este proceso para una media (por ejemplo, valor principal numérico), no se requiere que el sistema 105 almacene todos los datos en unbucket,sino que solo mantenga adicionalmente un recuento y una media de valores para cada valor distinto de cada atributo categórico. Específicamente, para cada clase de equivalencia necesitamos
Este enfoque contrafáctual para comprender la causalidad, según diversas realizaciones, cae dentro de los principios lógicos de «si B no sucede, C no sucede» y, por lo tanto, «B causa C» por extensión lógica. Específicamente, para ciertos tipos de funciones de conjunto (por ejemplo, funciones contablemente aditivas) se entiende que el atributoajinfluye en una anomalía para elbucket Bksi la salida del algoritmo de detección de anomalías (por ejemplo, una puntuación delbucket),es que elbucketes menos anómalo en el mundo alternativo en el que lo único que cambió es que todas las instancias de datos etiquetadas conajse eliminan. Dicho de otra manera, varias realizaciones preguntan si las puntuaciones de anomalía son más bajas cuando una parte de las instancias de datos con atributos categóricos específicos se eliminan y las instancias de datos restantes se vuelven a puntuar. En caso afirmativo, los atributos categóricos específicos cuyas instancias de datos se eliminaron probablemente contribuyeron a la puntuación de anomalía discrepante.
En general, el razonamiento contrafactual concuerda con el conocimiento disponible para funciones contablemente aditivas como el recuento o suma. Por ejemplo, si primero se observa que el recuento es inusualmente alto y luego se observa que, si una categoría particular no hubiera ocurrido, el recuento es normal.
En este ejemplo, parece razonable concluir que el «comportamiento» de esa categoría en particular causó la puntuación anómala.
Para otros tipos de funciones de conjunto, por ejemplo, donde la presencia de una única instancia de datos de ejemplo puede causar una anomalía de una puntuación similar, entonces el sistema 105 puede usar un enfoque de regularidad para comprender la causalidad (es decir, «B causa C» si «cuando ocurre B ocurre C»). Más específicamente, se sabe que el atributo categóricoa'jinfluye en la puntuación de anomalía de unbucket Bksi la salida de un algoritmo de detección de anomalías (es decir, la puntuación delbucket)es aproximadamente la misma en todos los mundos alternativos (como eliminar cualquier subconjunto de las instancias de datos que no están etiquetadas conaj) en las que todas las instancias de datos etiquetadasajexisten (por ejemplo, siempre que ocurrió B, también ocurrió C).
Ejemplos de tales funciones de conjunto incluyen la determinación de valores máximos o mínimos de los valores principales en el grupo, es decir,
m axfo : (tj .O j,...) ) e Bjc}
y
Por ejemplo, el sistema 105 puede determinar que un mínimo delbucketes inusualmente bajo y que el mínimo de delbucketcoincide con un atributo categórico particular. En ese caso, parece razonable concluir que el «comportamiento» de ese atributo categórico causó la puntuación anormalmente baja en este ejemplo.
Estos procesos ejemplares anteriores pueden denominarse generalmente como un proceso para crear y utilizar un perfil de comportamiento de un entorno informático. En diversas realizaciones, los comportamientos del entorno informático se evalúan en busca de actividad/comportamientos anómalos.
Una vez que se ha detectado una anomalía y se ha aislado una causa o causas, el módulo de remedio 145 puede ejecutarse para remediar la causa o causas en algunas realizaciones. En diversas realizaciones, los métodos específicos mediante los cuales el módulo de remedio 145 soluciona una causa dependen en gran medida del tipo de anomalía detectada. Por ejemplo, si la anomalía incluye una alta tasa de acceso a una base de datos particular, el módulo de remedio 145 puede restringir los privilegios de acceso a la base de datos hasta que se revise la anomalía. Si la anomalía son transferencias de archivos inusualmente frecuentes (por ejemplo, exfiltración) de grandes volúmenes de datos fuera de una red protegida, el módulo de remedio 145 puede restringir las transferencias de archivos por máquinas específicamente identificadas en la red. Esto podría ocurrir cambiando las políticas de cortafuegos o impidiendo el acceso de las máquinas a cualquier red externa.
En resumen, la presente divulgación proporciona varias realizaciones de sistemas y métodos para detectar anomalías dentro de entornos informáticos y deducir la causa o causas de esas anomalías. Los sistemas y métodos pueden detectar eventos, tasas, métricas, etc. inusuales para cualquier entorno informático. En algunas realizaciones, pueden estar presentes múltiples anomalías y ser detectadas por los sistemas y métodos aquí descritos. Por ejemplo, los sistemas y métodos pueden detectar tanto la filtración de datos como los intentos excesivos de inicio de sesión.
La FIG. 2 es un diagrama de flujo de un método de ejemplo 200 para detectar actividad anómala en un entorno informático y determinar una o más causas de la actividad anómala. El método de ejemplo 200 comprende un paso 205 para recibir un flujo de entrada de instancias de datos para una serie de tiempo. Por ejemplo, se puede recibir un flujo de entrada desde un entorno informático. La serie temporal puede incluir cualquier lapso de tiempo deseado. El método incluye evaluar el flujo de entrada que incluye datos que abarcan un período de tiempo. El método de ejemplo 200 puede implicar el uso de aprendizaje automático no supervisado, en la medida en que los datos utilizados sean los que se incluyen únicamente en el flujo de entrada. Es decir, la totalidad del análisis, en algunas realizaciones, implica el flujo de entrada sin utilizar métricas predeterminadas o preconfiguradas para evaluar las instancias de datos del flujo de entrada.
En algunas realizaciones, las instancias de datos del flujo de entrada tienen una marca de tiempo. Las instancias de datos también comprenden al menos un valor principal, y cada valor principal comprende un conjunto de atributos categóricos.
Después de recibir el flujo de entrada, el método de ejemplo 200 incluye un paso 210 para generar puntuaciones de anomalía para cada una de las instancias de datos a lo largo de intervalos de tiempo continuos. Es decir, las instancias de datos pueden calificarse de manera cronológica de manera que se calculen las puntuaciones de anomalías a lo largo de la línea de tiempo. El método de ejemplo 200 incluye luego un paso 215 para detectar un cambio en las puntuaciones de anomalía a lo largo de los intervalos de tiempo continuos para las instancias de datos. Dicho de otra manera, el método de ejemplo 200 examina las puntuaciones calculadas para los depósitos de instancias de datos (como se describe anteriormente) y localiza variaciones en las puntuaciones que son indicativas de una anomalía.
En algunas realizaciones, el usuario puede especificar cuánto pueden desviarse las puntuaciones con el tiempo antes de que las desviaciones se marquen como una anomalía. Por ejemplo, si el valor principal es el volumen de tráfico de la red y las tasas del volumen de tráfico de la red cambian sólo ligeramente (por ejemplo, /- 5%), estas discrepancias en el volumen del tráfico de la red no son anómalas, mientras que un cambio de más del 10% puede ser marcado como anómalo.
En diversas realizaciones, una puntuación de anomalía es una medida normalizada de qué tan grande es la desviación, y cuanto mayor es la puntuación, más inusual es la desviación. En algunas realizaciones, el sistema 105 caracteriza las desviaciones históricas usando una función de densidad, es decir, una probabilidad f(x) de ver una desviación x en el valor de la función establecida.
La puntuación de anomalía, en algunas realizaciones, está relacionada con la posibilidad de ver una desviación que es al menos igual de improbable, es decir, la probabilidad total de ver cualquier valor y para el cual f(y) < f(x). Se puede utilizar un límite fijo en la puntuación de la anomalía, es decir, una anomalía es algo que rara vez debería ocurrir según datos históricos, por lo que tiene una puntuación mayor que un umbral fijo. Por lo tanto, la puntuación puede equivaler a un umbral dinámico, ya que se basa en las características de los datos. En diversas realizaciones, el sistema 105 controla por separado y con precisión la velocidad a la que el sistema 105 genera alertas con una gravedad específica en función de la puntuación de anomalía, es decir, el sistema 105 no permite que esto exceda (durante un marco de tiempo muy largo, aunque puede superarlo en períodos de tiempo más cortos) más de un valor determinado. Las alertas de mayor gravedad se permiten con menos frecuencia, según algunas realizaciones. El método de ejemplo 200 incluye un paso 220 para identificar cuál del conjunto de atributos categóricos de las instancias de datos causó el cambio en las puntuaciones de anomalía usando un análisis contrafactual. La Figura 3 ilustra un método de ejemplo 300 de análisis contrafactual.
En algunas realizaciones, el método de ejemplo 200 puede incluir un paso opcional 225 de generar recomendaciones para remediar el conjunto de atributos categóricos para remediar un comportamiento malicioso u otra causa subyacente de la anomalía. Por ejemplo, el sistema puede sugerir que no se permita a los usuarios iniciar sesión desde ubicaciones remotas si los atributos categóricos indican que los usuarios inician sesión después de las horas permitidas de inicio de sesión cuando son remotos.
En otro ejemplo, el sistema puede sugerir que todos los dispositivos que se utilizan para acceder a una base de datos en particular utilicen un mayor nivel de autenticación en respuesta a la detección de actividad anómala (por ejemplo, alto nivel de solicitudes de acceso) con respecto a la base de datos.
La Figura 3 es un diagrama de flujo de un método de ejemplo 300 de análisis contrafactual, que es una realización de ejemplo del paso de identificación 220 en la Figura 2. El método de ejemplo 300 comprende un paso 305 de eliminar al menos una parte de las instancias de datos. Por ejemplo, se pueden eliminar instancias de datos asociadas a un dispositivo en una red. A continuación, el método de ejemplo 300 incluye un paso 310 para regenerar puntuaciones de anomalías para cada una de las instancias de datos a lo largo de intervalos de tiempo continuos. A continuación, se realiza una determinación en el paso 315 sobre si las puntuaciones de anomalías regeneradas mejoran (por ejemplo, mediante la eliminación que utilizó procesamiento «contrafactual») en comparación con las puntuaciones de anomalías. Si se mejoran las puntuaciones de anomalías (por ejemplo, se eliminan las variaciones en las puntuaciones de anomalías y las puntuaciones de anomalías son sustancialmente consistentes entre sí), entonces al menos una parte de los atributos categóricos se identifican como atributos categóricos anómalos y una causa de la actividad anómala en el paso 320 del ejemplo de la Figura 3. Dicho de otra manera, una mejora en una puntuación de anomalías es una puntuación más baja (por ejemplo, la desviación es menos inusual), según diversas realizaciones.
Si las puntuaciones de anomalía no mejoran, el método de ejemplo 300 vuelve al paso 305 y se elimina una segunda parte de los atributos categóricos y se repiten los pasos 310 y 315. Este proceso puede continuar hasta que se determine una o varias causas de una anomalía.
En diversas realizaciones, el sistema 105 permite múltiples causas de una anomalía, es decir, es posible que dos atributos categóricos distintos contribuyan a la anomalía, y el sistema 105 informará de cada causa. El sistema 105 puede ordenar los atributos de tal manera que las pruebas pueda finalizar cuando el sistema 105 localice un atributo que no «cause» una anomalía. El sistema 105 puede calcular una puntuación positiva sobre cuán influyente es un atributo categórico, donde cero significa que no es influyente en absoluto.
El procesamiento contrafactual, en diversas realizaciones, por ejemplo, como se usa en el paso 220 y el método 300, comprende restar eficientemente componentes de un perfil de comportamiento (por ejemplo, análisis del flujo de entrada) hasta que el componente que contribuye al comportamiento inusual esté aislado y situado.
En algunas realizaciones, los sistemas y métodos pueden utilizar un análisis de regularidad en lugar de un análisis contrafactual. En diversas realizaciones, el análisis de regularidad comprende identificar cuándo un atributo categórico específico del conjunto de atributos categóricos influye en la puntuación de anomalía para las instancias de datos si una salida de un algoritmo de detección de anomalías es aproximadamente idéntica para casos alternativos en los que todas las instancias de datos con ese atributo categórico específico existen.
La Figura. 4 es un diagrama de flujo de otro método de ejemplo, método de ejemplo 400, de detección de anomalías y causas según diversas realizaciones. El método de ejemplo 400 incluye un paso 405 para recibir un flujo de entrada de instancias de datos. En diversas realizaciones, las instancias de datos en el flujo de entrada tienen una marca de tiempo. El método de ejemplo 400 incluye un paso 410 para separar las instancias de datos en al menos un valor principal y un conjunto de atributos categóricos, así como un paso 415 para agrupar las instancias de datos en grupos basados en intervalos de tiempo continuos. Se entenderá que, en diversas realizaciones, cada uno de los intervalos de tiempo continuos tiene una longitud que representa una duración del intervalo.
A continuación, el método de ejemplo 400 incluye un paso 420 para aplicar funciones de conjunto a cada uno de los grupos para generar características relacionadas con el valor principal para ese intervalo, y un paso 425 para generar una puntuación de anomalía para cada uno de los grupos usando un algoritmo de detección de anomalías.
En algunas realizaciones, el método de ejemplo 400 comprende ya sea (o ambos) un paso 430 para aplicar un análisis contrafactual para identificar cuál de los conjuntos de atributos categóricos específicos para un grupo está influyendo en una o más anomalías en los grupos que son indicativos de la actividad anómala en el entorno informático: o un paso 435 para realizar un análisis de regularidad para identificar cuál del conjunto de atributos categóricos específicos para un grupo está influyendo en una o más anomalías en los grupos.
Algunas realizaciones descritas en el presente documento pueden implementar, aunque no es necesario, un procesamiento contrafactual. Además, algunas realizaciones, como las siguientes realizaciones, contemplan el uso de archivos de registro no estructurados en la detección de anomalías. Más detalladamente, el flujo de entrada de instancias de datos utilizados en un análisis puede incluir archivos de registro no estructurados o flujos de datos. Estos archivos de registro no estructurados y/o instancias de datos individuales tienen una marca de tiempo; es posible que la clasificación o composición exacta de las instancias de datos no se pueda determinar fácilmente sin información o análisis adicionales. La presente divulgación proporciona un medio para tomar estos archivos de registro no estructurados y convertirlos en un flujo de entrada que sea útil para la detección de anomalías.
Además, se apreciará que si bien la clasificación de archivos de registro no estructurados es útil para la detección de anomalías, los sistemas y métodos divulgados en el presente documento también son útiles para para métodos de análisis de series temporales más generales. Por ejemplo, se puede utilizar para realizar pronósticos en dispositivos informáticos, tales como predecir la aparición de datos de registro durante la próxima semana, o realizar resúmenes, como proporcionar una vista clara y condensada de los tipos de datos que existen en un archivo de registro.
La presente divulgación incluye realizaciones que están configuradas para obtener los archivos de registro no estructurados y convertirlos en entradas que son valiosas para la detección de anomalías. La presente divulgación proporciona métodos y sistemas para clasificar y agrupar instancias de datos no estructurados para convertir las instancias de datos no estructurados en un formato que sea utilizable para la detección de anomalías.
Por contexto, un gran porcentaje de la salida monitorizada (por ejemplo, flujo de entrada de instancias de datos) que se recibe desde un entorno informático se recibirá como datos no estructurados. De manera general, los datos no estructurados se definen como datos que se obtienen de un entorno informático, donde los datos no estructurados no están en un formato que sea utilizable en la detección de anomalías. Si los datos monitorizados de un entorno informático no están estructurados, es posible que datos relevantes (por ejemplo, datos que serían indicativos de una anomalía) en el flujo de entrada no se detecten. Los procesos de detección de anomalías resultantes que utilizan estos flujos de entrada erróneos pueden tener efectos nocivos, como aumentos en la distribución de malware o un rendimiento deficiente del entorno informático.
Además, exigir a los administradores de sistemas y/o desarrolladores de aplicaciones que generen datos del entorno informático en un formato que sea aceptable para la detección de anomalías puede ser oneroso o realizarse de forma incorrecta.
El problema de los archivos de registro no estructurados es exclusivo de las tecnologías informáticas. Cada sistema informático tiene una permutación única desoftware, firmware, hardware,configuraciones de red, etc., que generan archivos de registro no estructurados (por ejemplo, flujos de entrada). Incluso las variaciones entre entornos informáticos individuales pueden dar lugar a que los entornos informáticos creen archivos de registro no estructurados que sean diferentes. Por lo tanto, existe una necesidad de sistemas y métodos que puedan utilizar el aprendizaje automático para convertir estos archivos de registro no estructurados a un formato que sea aceptable para la detección de anomalías. Una vez más, una gran proporción de los datos de registro de los entornos informáticos no está estructurada. Los registros no estructurados son difíciles, si no imposibles, de comprender, resumir, visualizar o analizar sin un posprocesamiento. Los procesos genéricos para agregar estructura mediante análisis requieren mucho tiempo y son propensos a errores. En respuesta, los sistemas y métodos aquí descritos utilizan la extracción de búsqueda en tiempo de campo y la visualización de la interfaz de usuario basada en el aprendizaje automático como herramienta convincente para administrar y convertir archivos de registro no estructurados. Estos sistemas y métodos pueden realizar ingeniería inversa y categorizar el contenido de un archivo de registro no estructurado. En general, estos sistemas y métodos aprovechan una propiedad inherente de muchos archivos de registro no estructurados, que es que el orden de las palabras en los archivos de registro es generalmente una métrica predictiva y repetible. Por ejemplo, un registro de tráfico de red presentará los mismos tipos de campos de contenido en un orden particular según la aplicación que genera el registro de tráfico de red. Es decir, los archivos de registro normalmente poseen patrones de datos repetidos, aunque los valores de estos patrones de datos pueden variar.
En general, estos métodos comprenden una fase de análisis que se realiza en archivos recibidos de registro no estructurados. En algunas realizaciones, los archivos de registro no estructurados comprenden una marca de tiempo y texto no estructurado. El aprendizaje automático se utiliza para clasificar el texto no estructurado antes de la detección de anomalías. En diversas realizaciones, el proceso de clasificación comprende agrupar y caracterizar los datos de prueba no estructurados para proporcionar la estructura necesaria para la detección de anomalías. Según las clasificaciones, se realizan algoritmos de detección de anomalías sobre los archivos de registro estructurados o convertidos. En algunas realizaciones, también se proporciona un panel al usuario para proporcionar comprensión y visualización del archivo de registros no estructurados para la identificación de archivos de registros no estructurados anómalos.
En algunas realizaciones, los procesos de clasificación basados en aprendizaje automático divulgados en el presente documento pueden ayudar a admitir herramientas de filtrado y análisis de datos adicionales, como el filtrogrok.Por lo tanto, la clasificación de aprendizaje automático se puede utilizar para inicializar y mantener la entrada a un filtrogrok.En algunas realizaciones, las capacidades de aprendizaje automático descritas en el presente documento para clasificar archivos de registro no estructurados proporcionan un conjunto de patrones candidatos para mensajes categóricos. Sin embargo, el aprendizaje automático no sabrá qué entidad está representada por untoken.Por ejemplo, untokenpuede ser un usuario o unhost.Así, algunas realizaciones contemplan la intervención manual para añadir este contexto. Por lo tanto, el resultado clasificado del aprendizaje automático en esta divulgación se puede utilizar para «sembrar» la creación de patronesgrokdonde los usuarios pueden aumentar y editar los patrones de aprendizaje automático.
En términos generales, la presente divulgación permite la conversión de archivos de registro no estructurados mediante procesos de aprendizaje automático que incluyen, entre otros, clasificación de datos no estructurados que también incluye agrupación y caracterización de contenido. Una vez que los datos no estructurados se han convertido a un formato estructurado, se pueden utilizar los métodos de detección de anomalías descritos anteriormente, con o sin procesamiento contrafactual, para determinar anomalías.
Si bien algunas realizaciones se utilizan para la detección y predicción de anomalías de series temporales, algunas realizaciones descritas en el presente documento también se pueden utilizar para operaciones tales como detección de datos atípicos, análisis de imputación de datos, agrupación de datos y otras operaciones similares.
La Figura 5 ilustra un método de ejemplo para procesar un archivo de registro no estructurado en un formato que se pueda utilizar para la detección de anomalías.
Según algunas realizaciones, los procesos de conversión de archivos de registro no estructurados descritos en el presente documento permiten agrupar mensajes «similares» en categorías. Se implementan procesos de aprendizaje automático esencialmente por ingeniería inversa de declaraciones de registro no estructuradas, que permite la agrupación y clasificación. Ventajosamente, se permite el uso de un conjunto de datos de entrenamiento pero no es necesario ya que el aprendizaje automático se utiliza en todo el archivo de registro no estructurado.
En términos generales, la conversión de un archivo de registro no estructurado a una representación estructurada que pueda ser utilizada para la detección de anomalías puede incluir pasos tales comotokenización,filtrado, ponderación, comparación, asignación de categorías y definición de categorías, solo por nombrar algunos. Para estar seguros, no es necesario convertir o transformar el archivo de registro no estructurado en un archivo de registro estructuradoper se,pero el contenido del archivo de registro no estructurado se procesa mediante categorización y/o agrupación para que se pueda utilizar en un proceso de detección de anomalías.
Además, se entenderá que incluso sin una categorización de archivos de registro no estructurados, los sistemas y métodos divulgados en el presente documento se pueden configurar para realizar la detección de anomalías sobre una tasa general de eventos. La categorización de archivos de registro no estructurados permite una mayor granularidad en términos de determinar los tipos de mensajes que son anómalos y también identificar anomalías como mensajes raros que pueden perderse en la detección general.
Inicialmente, en el paso 502 se recibe un archivo de registro no estructurado que pertenece a un entorno informático. En general, el archivo de registro no estructurado incluye la salida de un proceso informático. Los ejemplos incluyen un archivo de registro desoftwareen tiempo de ejecución, un archivo de registro dehardware,tráfico de red o cualquier otro archivo de registro que se generaría en o por un entorno informático o un componente del mismo. Se entenderá que el archivo de registro no estructurado tiene una marca de tiempo. En algunos procesos, las instancias de datos dentro del archivo de registro no estructurado tienen una marca de tiempo individual. En otras realizaciones, a cada instancia de datos en el archivo de registro no estructurado se le asigna o se le atribuye la marca de tiempo del archivo de registro no estructurado. En general, el archivo de registro no estructurado está asociado con datos temporales que son indicativos de un período de tiempo para las instancias de datos dentro del archivo de registro.
A continuación, setokenizansegmentos de un archivo de registro no estructurado en el paso 504. Con respecto a latokenización,se implementa un conjunto de reglas detokenizaciónpara identificar inicialmente conjuntos de caracteres en el archivo de registro no estructurado. En una realización, las reglas detokenizaciónimplican dividir un mensaje en segmentos o palabras. Un mensaje podría incluir un archivo de registro no estructurado completo o una parte de un archivo de registro no estructurado. En algunas realizaciones, sólo setokenizanciertos componentes de un mensaje. Por ejemplo, las letras y los números setokenizan,mientras que los espacios en blanco o las entradas en blanco no setokenizan.Otros caracteres como guiones bajos, puntos, guiones y puntuación se evalúan individualmente. Los guiones bajos no setokenizansi están al principio o al final de un mensaje, pero sí setokenizansi están presentes en otro lugar. Los puntos no setokenizansi están al principio o al final de un mensaje, pero sí setokenizansi están presentes en otro lugar. Se aplican las mismas reglas para los guiones que para los guiones bajos y los puntos. Otros tipos de puntuación no estántokenizados.
Los siguientes ejemplos son segmentos que se tokenizarían en función de las reglas:started; starting;David;packets_sent;www.prelert.com; gb030976; y prelert-solaris. Nuevamente, las configuraciones y reglas detokenizaciónse pueden ajustar según se desee o se pueden adaptar en función de la retroalimentación en el sistema. Por ejemplo, si cierta información no estátokenizadao se excluye, las reglas se pueden ajustar para garantizar que estos datos se identifiquen correctamente.
Además, en algunas realizaciones, una vez que se identifican lostokens,el método incluye un paso 506 de filtrar o eliminar una porción de lostokensen función de un conjunto de criterios de filtrado. En algunas realizaciones, las reglas de filtrado eliminarán de la consideración una parte de lostokensgenerados en los pasos anteriores. Si bien latokenizaciónelimina una parte de los datos no deseados del archivo de registro no estructurado, el proceso de filtrado puede refinar o eliminar aún más los datos. En una realización, se filtran lostokenscorrespondientes a números (hasta la base 16 inclusive; incluidos los puntos). Además, se filtrantokenscorrespondientes a palabras de fecha tales como enero, febrero, miércoles, etc. A continuación, se filtran lostokenscorrespondientes a números con unidades finales, como 10214K.
En algunas realizaciones, el filtro se puede ajustar para excluir o eliminar otros nombres de campos en función de la entrada definida por el usuario. En diversas realizaciones, se pueden utilizar mejoras de filtro que tengan en cuenta esquemas de codificación de binario a texto tales como base 64 o una heurística de longitud más frecuencias de caracteres. Otras mejoras permiten declaraciones SQL truncadas, nombres de usuario y/o nombres dehost,o filtrado configurable y definido por el usuario.
Las heurísticas se aplican caso por caso o por tipo. En un ejemplo de uso que considera datos de bloques codificados en Base 64, se entenderá que lostokensprobablemente serán largos y usarán un conjunto específico de caracteres. Por lo tanto, para detectartokensque son cadenas codificadas, el sistema está configurado para excluir cadenas con menos de cierta cantidad de caracteres y para verificar cadenas que solo contengan caracteres de un conjunto apropiado.
Además, los histogramas de frecuencia de caracteres son un vector de características útil para identificar una variedad de tipos de datos. Al incorporar esto en el proceso de filtrado, el sistema utilizará clasificadores preentrenados para tipos de datos que el sistema pretende identificar. Estos se proporcionarían al usuario con el producto y el usuario seleccionaría uno (o más) de una lista para agregarlo a una especificación de filtrado dada, según su comprensión de los tipos de datos presentes en sus archivos de registro.
En algunas realizaciones, debido a que el sistema puede no poseer, a priori, la lista completa de posibles tipos de datos, no se trata de elegir entre un conjunto de alternativas. Como tal, el sistema puede permitir la posibilidad de que untokenno sea uno de los tipos definidos o sea ambiguo. Los falsos positivos son particularmente perjudiciales para este caso (ya que eltokensería eliminado) y esto se reflejaría en el objetivo de entrenamiento del sistema.
El plan es, utilizando un corpus de datos de entrenamiento que comprende un conjunto diverso de archivos de registro de ejemplo, entrenar una colección de clasificadores binarios que identifiquen si untokenpertenece a un tipo determinado, por ejemplo, fragmento de SQL, blob codificado en Base 64, y así sucesivamente. Estos estarían entrenados para penalizar fuertemente a FP a expensas de FN, es decir, un clasificador determinado solo sugerirá una categoría si tiene confianza. Luego, el sistema probará cadatokencon la colección de clasificadores seleccionados e identificará que tiene un tipo determinado solo si no es ambiguo.
Como parte de este proceso, el sistema evaluará la viabilidad de este enfoque examinando qué tan bien se generaliza el clasificador en nuestro corpus. Solo se proporcionarán a los usuarios finales clasificadores para tipos de datos que tengan buenas características de error en el conjunto de pruebas. Como posible refinamiento, el sistema se puede configurar para entrenar clasificadores de margen en combinaciones de posibles tipos de datos y utilizarlos (si el margen es grande) para decidir entre los tipos ambiguos sugeridos anteriormente.
La Figura 6 ilustra un ejemplo de segmento de datos no estructurados 600 de un archivo de registro no estructurado que estátokenizado602 y filtrado 604.
A continuación, el método puede incluir un paso 508 para aplicar un peso a uno o más de los segmentostokenizadosy filtrados. Es decir, los segmentos de los archivos de registro no estructurados se hantokenizadoy luego filtrado para producir los segmentostokenizadosy filtrados. En general, se supone que los tokens/palabras que se pueden encontrar en un diccionario tienen más probabilidades de definir una categoría que lostokensque no están en el diccionario. También se supone que partes del discurso, como los verbos, son más importantes para la categorización que otras partes del discurso. Un diccionario puede incluir cualquier colección de términos definidos, como un diccionario tradicional, un diccionario técnico como un manual de usuario u otra base de conocimientos o autoridad de definición similar.
La Figura 7 ilustra un ejemplo de ponderación de segmentostokenizadosy filtrados 702 y 704. En este ejemplo, las ponderaciones se aplican de la siguiente manera:infotiene una ponderación de (3) tres; servicio(service)tiene una ponderación de (3) tres; IA_FTSPOS tiene una ponderación de (1) uno; comenzando(starting)tiene una ponderación de (6) seis; y comenzado(started)tiene una ponderación de (6) seis.
A continuación, el método incluye un paso 510 para comparar segmentos entre sí para determinar si existe una coincidencia. La Figura 8 ilustra una comparación de ejemplo entre dos segmentos 802 y 804. Lostokensfiltrados 806 y 808 se crean usando reglas de ejemplo establecidas anteriormente. Si bien es similar en apariencia, la única comparación por posición es el carácter «A» cuando se comparan lostokensfiltrados 806 y 808.
En algunas realizaciones, el análisis de segmentos se puede mejorar utilizando técnicas de coincidencia de distancias tales como distancias de Levenshtein. En general, estas «distancias» representan cuántos cambios se requieren para transformar un conjunto de caracteres en una coincidencia para un segundo conjunto de caracteres. Por ejemplo, solo se requiere un cambio o transposición de carácter para convertir «cat» en «mat».
Usando el principio de distancias de Levenshtein, los sistemas y métodos se pueden adaptar para calcular la distancia de Levenshtein con un «alfabeto» que consiste entokensen lugar de letras. Este proceso incluye determinar cuántas ediciones detokensindividuales se necesitan para cambiar una secuencia detokenspor otra. Por ejemplo, el segmento «servicio comenzando» se transpone a «servicio comenzado» por una sustitución de un token. Por lo tanto, utilizando lostokensfiltrados 806 y 808 anteriores, «Un TCPCOM2 AJBSVC2 conectado a remoto» se convierte o transpone a «Un AJBSVC4 conectado a remoto» mediante dos operaciones (una operación de eliminación; una operación de reemplazo).
En general, cada operación de inserción o eliminación cuesta el peso deltoken.Además, cada reemplazo cuesta el mayor entre los pesos deltokenreemplazado y el de reemplazo. Por ejemplo, «servicio comenzando» se transpone a «servicio comenzado» con una puntuación de seis, ya que se reemplazó un verbo. En otro ejemplo, «A TCPCOM2 AJBSVC2 conectado a remoto» se transpone a «A AUBSVC4 conectado a remoto» mediante dos operaciones: una eliminación de una palabra que no está en el diccionario y una sustitución de una palabra que no está en el diccionario.
En general, si la «distancia» entre dos segmentos es pequeña, se puede inferir que estos segmentostokenizadosy filtrados están lo suficientemente cerca entre sí para considerarlos una coincidencia, a pesar de las diferencias/distancias.
En algunas realizaciones, los sistemas se configurarán para agrupar cadenas utilizando una métrica de distancia que se adapta para mensajes de registro y luego extraer automáticamente expresiones regulares que coincidan de forma única con cada grupo. En algunas realizaciones, una distancia de Levenshtein se calcula sobre el alfabeto de tokens T={t_i}. En algunos casos, se aplican ponderaciones personalizadas a los verbos, ya que estas partes del discurso son las más importantes. En algunas realizaciones, se puede utilizar una técnica de muestreo que intenta maximizar la probabilidad de muestrear cada clase de mensaje distinta con un espacio máximo fijo. En particular, los sistemas muestrean un mensaje con una probabilidad proporcional a su distancia al mensaje más cercano en el conjunto de muestras y lo desalojan con una probabilidad inversamente proporcional a su distancia al mensaje más cercano.
En algunas realizaciones, se utiliza una técnica de agrupamiento que es adecuada para aplicar a distancias por pares. Además, a un usuario se le permite escribir expresiones regulares personalizadas para particionar los datos, que se conservan mediante la agrupación realizada por los sistemas de la presente divulgación. En algunas realizaciones, los sistemas divulgados en el presente documento pueden extraer automáticamente una secuencia detokens{(t_1A((i)),t_2A((i)),...,t_nA((i)))} que identifica de forma única cada grupo i y asignarlos a expresiones regulares {t_1A((i)).*t_2A((i)).*...*t_nA((i))}.
Después de los pasos descritos anteriormente, el método puede iniciar un proceso de categorización en el paso 512 del método de la Figura 6. En algunas realizaciones, este proceso puede incluir la búsqueda a través de un corpus o base de datos de categorías conocidas. Esto se puede hacertokenportoken.En una o más realizaciones, la búsqueda de una categoría puede terminar si se encuentra una categoría en la que la distancia ponderada de edición sea inferior al 15 % del peso total deltoken.Se puede aceptar una coincidencia como la «mejor coincidencia» entre categorías cuando la distancia ponderada de edición sea inferior al 30 % del peso total deltoken.La Figura 10 ilustra un ejemplo de conjunto de datos de selección de ponderación de mejor coincidencia. Las instancias de datos iniciales 1002 se definen en categorías 1004 basándose en la ponderación.
Si bien estos umbrales se basan en datos empíricos, estos umbrales se pueden ajustar según se desee y/o como retroalimentación en el sistema cuando se utiliza una heurística coincidente dentro del aprendizaje automático. Se entenderá que los umbrales seleccionados no deben dar como resultado que todos los tokens, segmentos o mensajes se coloquen en una sola categoría. Cuando una coincidencia no se encuentra dentro de los umbrales especificados, se puede crear una nueva categoría. En algunas realizaciones, las categorías que están disponibles para hacer coincidir se basan en ejemplos proporcionados al sistema, ingeniería inversa del contenido del segmento/mensaje original, expresiones regulares, y así sucesivamente.
Nuevamente, estos métodos proporcionan ventajas. Por ejemplo, no se requieren datos de entrenamiento para clasificar el contenido de un archivo de registro no estructurado. La heurística y la retroalimentación en el aprendizaje automático del sistema garantizan que el sistema aprenda con el tiempo para mejorar la clasificación y otros procesos como la tokenización, la ponderación, la coincidencia, etc. Además, el sistema permite análisis en tiempo real en determinados escenarios. Por ejemplo, un evento como la detección de una categoría completamente nueva puede considerarse una anomalía que desencadenaría una notificación en tiempo real y/o un ajuste de un modelo de clasificación utilizado por el sistema. En otro ejemplo, la detección de una tasa alta de eventos de una categoría es considerada una anomalía. Por ejemplo, si el archivo de registro no estructurado se procesa según los métodos anteriores y el archivo de registro no estructurado está relacionado con datos de tráfico de red, un gran aumento en los datos de tráfico de red se puede marcar como una anomalía. El archivo de registro no estructurado podría ser datos de tráfico de red sin procesar obtenidos de un recurso de red, como un servidor DNS, un conmutador de red o una nube.
La Figura 9 es un método de detección de anomalías que emplea el análisis de archivos de registro no estructurados descrito anteriormente. El método incluye un paso 902 para recibir un flujo de entrada no estructurado de instancias de datos desde el entorno informático. De nuevo, el flujo de entrada no estructurado tiene una marca de tiempo o el contenido del mismo tiene una marca de tiempo individual.
A continuación, el método incluye una etapa 904 para categorizar las instancias de datos del flujo de entrada no estructurado de instancias de datos. Como se señaló anteriormente, las instancias de datos comprenden cualquiera de «al menos» un valor principal o el atributo categórico. En algunas realizaciones, se determina que el valor principal es un atributo categórico. Con respecto a la categorización de archivos de registro no estructurados, un valor principal puede ser un atributo categórico determinado mediante aprendizaje automático. En algunas realizaciones, múltiples valores principales y/o atributos categóricos asociados pueden estar presentes en un archivo de registro no estructurado y determinarse mediante aprendizaje automático.
Las categorizaciones se determinan mediante técnicas de aprendizaje automático.
El método incluye un paso 906 para generar puntuaciones de anomalía para cada una de las instancias de datos recopiladas durante un período de tiempo. Esto puede incluir cualquiera de los procesos de generación de puntuación de anomalías descritos en el presente documento. Cuando se evalúan las puntuaciones de anomalía y se producen cambios, se puede activar el sistema para que comience un proceso o método para determinar cuál de uno o más atributos categóricos está causando el cambio en las puntuaciones de anomalía. Como se señaló anteriormente, este proceso puede incluir un procesamiento contrafactual o cualquier otra evaluación como se describe en el presente documento.
Por tanto, el método incluye una etapa 908 para detectar un cambio en el atributo categórico que es indicativo de una anomalía.
Con más detalle, los sistemas y métodos divulgados en el presente documento pueden generar puntuaciones de anomalías para instancias de datos en un grupo temporal (por ejemplo, una ventana de cinco minutos u otro período de tiempo seleccionable), y luego evaluar el/los atributo/s categórico/s con influencia en la anomalía. Se pueden encontrar detalles adicionales sobre la detección de anomalías en la solicitud de patente estadounidense número de serie 15/498406.
En algunas realizaciones, además de la detección de anomalías descrita en la Solicitud '406, los sistemas y métodos aquí descritos pueden aumentar las instancias de datos con un nuevo atributo categórico debido a la clasificación de los datos no estructurados en categorías.
Nuevamente, la divulgación anterior se relaciona colectivamente con las Figuras. 5-9 se puede aplicar igualmente a cualquiera de los métodos para la detección de anomalías divulgados en el presente documento. Es decir, mientras que algunas realizaciones comprenden un flujo de entrada que tiene una marca de tiempo y el flujo de entrada puede comprender datos estructurados, otras realizaciones permiten el uso de datos no estructurados tales como un archivo de registro no estructurado. Antes de la evaluación de los valores y atributos incluidos en el archivo de registro no estructurado, el contenido del archivo de registro no estructurado se clasifica y extrae utilizando los métodos descritos anteriormente. Por lo tanto, después de procesar el archivo de registro no estructurado para categorizar el contenido incluido en el mismo (por ejemplo, instancias de datos), este contenido categorizado puede evaluarse como se proporcionó anteriormente para determinar valores, atributos y similares. Estos valores se pueden comparar con respecto a un período de tiempo para determinar anomalías en los datos incluidos en el archivo de registro no estructurado, lo que a su vez es indicativo de anomalías en el entorno informático.
La Figura 11 es una representación esquemática de una máquina de ejemplo en forma de un sistema informático 1, dentro del cual se puede ejecutar un conjunto de instrucciones para hacer que la máquina realice una cualquiera o más de las metodologías analizadas en el presente documento. En diversas realizaciones de ejemplo, la máquina funciona como un dispositivo independiente o puede estar conectada (por ejemplo, en red) a otras máquinas. En una implementación en red, la máquina puede operar en la capacidad de un servidor o una máquina cliente en un entorno de red servidor-cliente, o como una máquina par en un entorno de redpeer-to-peer(o distribuida). La máquina puede ser un ordenador personal (PC), una tableta, un decodificador (STB), un asistente digital personal (PDA), un teléfono celular, un reproductor de música portátil (por ejemplo, un dispositivo de audio con disco duro portátil, tal como como un reproductor de audio de capa 3 (MP3) del Grupo de Expertos de Imagen en Movimiento -Moving Picture Experts Group),un dispositivo web, un enrutador, conmutador o puente de red, o cualquier máquina capaz de ejecutar un conjunto de instrucciones (secuenciales o de otro tipo) que especifiquen las acciones que debe tomar ese máquina. Además, aunque solo se ilustra una sola máquina, el término «máquina» también se considerará para incluir cualquier conjunto de máquinas que ejecutan individual o conjuntamente un conjunto (o múltiples conjuntos) de instrucciones para realizar una o más de las metodologías analizadas en este documento.
El sistema informático de ejemplo 1 incluye un procesador o múltiples procesadores 5 (por ejemplo, una unidad central de procesamiento (CPU), una unidad de procesamiento de gráficos (GPU), o ambas), y una memoria principal 10 y una memoria estática 15, que se comunican entre sí a través de un bus 20. El sistema informático 1 puede incluir además una pantalla de vídeo 35 (por ejemplo, una pantalla de cristal líquido (LCD)). El sistema informático 1 también puede incluir dispositivo(s) de entrada 30 (también denominado(s) dispositivo(s) de entrada alfanumérico, por ejemplo, un teclado), un dispositivo de control del cursor (por ejemplo, un ratón), un sistema de reconocimiento de voz o unidad de verificación biométrica (no mostrada), una unidad de accionamiento 37 (también denominada unidad de disco), un dispositivo de generación de señales 40 (por ejemplo, un altavoz) y un dispositivo de interfaz de red 45. El sistema informático 1 puede incluir además una unidad de datos módulo de cifrado (no mostrado) para cifrar datos.
La unidad de disco 37 incluye un medio legible por máquina 50 (que puede ser un medio legible por ordenador) en el que se almacena uno o más conjuntos de instrucciones y estructuras de datos (por ejemplo, instrucciones 55) que incorporan o utilizan uno o más de las metodologías o funciones aquí descritas. Las instrucciones 55 también pueden residir, completa o al menos parcialmente, dentro de la memoria principal 10 y/o dentro del procesador(es) 5 durante la ejecución de las mismas por el sistema informático 1. La memoria principal 10 y el/los procesador(es) 5 también pueden constituir medios legibles por máquina.
Las instrucciones 55 pueden transmitirse o recibirse además a través de una red (por ejemplo, red 150 o red 520, véanse la Figura. 1 y la Figura 5, respectivamente) a través del dispositivo de interfaz de red 45 utilizando cualquiera de varios protocolos de transferencia conocidos (por ejemplo, Protocolo de transferencia de hipertexto (HTTP)). Aunque en una realización de ejemplo se muestra que el medio legible por máquina 50 es un medio único, el término «medio legible por ordenador» debe considerarse para incluir un medio único o múltiples medios (por ejemplo, una base de datos centralizada o distribuida y/o cachés y servidores asociados) que almacenan uno o más conjuntos de instrucciones. El término «medio legible por ordenador» también se considerará para incluir cualquier medio que sea capaz de almacenar, codificar o transportar un conjunto de instrucciones para su ejecución por la máquina y que haga que la máquina realice una o más de las metodologías de la presente solicitud, o que sea capaz de almacenar, codificar o transportar estructuras de datos utilizadas por o asociadas con dicho conjunto de instrucciones. En consecuencia, se considerará que el término «medio legible por ordenador» incluye, entre otros, memorias de estado sólido, medios ópticos y magnéticos y señales de ondas portadoras. Dichos medios también pueden incluir, entre otros, discos duros, disquetes, tarjetas de memoria flash, discos de vídeo digitales, memoria de acceso aleatorio (RAM), memoria de sólo lectura (ROM) y similares.
Las realizaciones de ejemplo descritas en el presente documento se pueden implementar en un entorno operativo que comprende softwaresoftwareinstalado en un ordenador, enhardwareo en una combinación desoftwareyhardware.
Un experto en la técnica reconocerá que el servicio de Internet puede configurarse para proporcionar acceso a Internet a uno o más dispositivos informáticos que están acoplados al servicio de Internet, y que los dispositivos informáticos pueden incluir uno o más procesadores, buses, dispositivos de memoria, dispositivos de visualización, dispositivos de entrada/salida y similares. Además, los expertos en la técnica pueden apreciar que el servicio de Internet puede acoplarse a una o más bases de datos, repositorios, servidores y similares, que pueden utilizarse para implementar cualquiera de las realizaciones de la divulgación como se describe en el presente documento. Las correspondientes estructuras, materiales, actos y equivalentes de todos los medios o elementos de paso más elementos de función en las reivindicaciones siguientes pretenden incluir cualquier estructura, material o acto para realizar la función en combinación con otros elementos reivindicados como se reivindica específicamente. La descripción de la presente tecnología se ha presentado con fines de ilustración y descripción, pero no pretende ser exhaustiva ni limitarse a la presente tecnología en la forma divulgada. Muchas modificaciones y variaciones resultarán evidentes para los expertos en la técnica sin apartarse del alcance de la presente tecnología, tal como se define en las reivindicaciones adjuntas. Se eligieron y describieron realizaciones de ejemplo para explicar mejor los principios de la presente tecnología y su aplicación práctica, y para permitir que otros expertos en la técnica comprendan la presente tecnología para diversas realizaciones con diversas modificaciones que sean adecuadas para el uso particular contemplado.
Los aspectos de la presente tecnología se describen anteriormente con referencia a ilustraciones de diagramas de flujo y/o diagramas de bloques de métodos, aparatos (sistemas) y productos de programas informáticos según realizaciones de la presente tecnología. Se entenderá que cada bloque de las ilustraciones del diagrama de flujo y/o diagramas de bloques, y las combinaciones de bloques en las ilustraciones del diagrama de flujo y/o diagramas de bloques, pueden implementarse mediante instrucciones de programas informáticos. Estas instrucciones de programa informáticos pueden proporcionarse a un procesador de un ordenador de propósito general, ordenador de propósito especial u otro aparato de procesamiento de datos programable para producir una máquina, de manera que las instrucciones, que se ejecutan a través del procesador del ordenador u otro aparato de procesamiento de datos programable, creen medios para implementar las funciones/actos especificados en el diagrama de flujo y/o bloque o bloques del diagrama de bloques.
Estas instrucciones de programa de ordenador también pueden almacenarse en un medio legible por ordenador que puede dirigir un ordenador, otros aparatos de procesamiento de datos programables u otros dispositivos para que funcionen de una manera particular, de modo que las instrucciones almacenadas en el medio legible por computadora produzcan una artículo de fabricación que incluye instrucciones que implementan la función/acto especificado en el diagrama de flujo y/o bloque o bloques del diagrama de bloques.
Las instrucciones del programa de ordenador también se pueden cargar en un ordenador, otro aparato de procesamiento de datos programable u otros dispositivos para provocar que se realice una serie de pasos operativos en el ordenador, otro aparato programable u otros dispositivos para producir un proceso implementado por ordenador de tal manera que las instrucciones que se ejecutan en el ordenador u otro aparato programable proporcionen procesos para implementar las funciones/actos especificados en el diagrama de flujo y/o bloque o bloques del diagrama de bloques.
El diagrama de flujo y los diagramas de bloques en las Figuras ilustran la arquitectura, funcionalidad y operación de posibles implementaciones de sistemas, métodos y productos de programas informáticos según diversas realizaciones de la presente tecnología. A este respecto, cada bloque en el diagrama de flujo o diagramas de bloques puede representar un módulo, segmento o porción de código, que comprende una o más instrucciones ejecutables para implementar la(s) función(es) lógica(s) especificada(s). También cabe señalar que, en algunas implementaciones alternativas, las funciones indicadas en el bloque pueden ocurrir fuera del orden indicado en las figuras.
Por ejemplo, dos bloques mostrados en sucesión pueden, de hecho, ejecutarse sustancialmente al mismo tiempo, o los bloques a veces pueden ejecutarse en orden inverso, dependiendo de la funcionalidad involucrada. También se observará que cada bloque de los diagramas de bloques y/o la ilustración del diagrama de flujo, y las combinaciones de bloques en los diagramas de bloques y/o la ilustración del diagrama de flujo, pueden implementarse mediante sistemas basados enhardwarede propósito especial que realizan las funciones o actos especificados, o combinaciones dehardwarede propósito especial e instrucciones de ordenador.
En la siguiente descripción, con fines explicativos y no limitativos, se exponen detalles específicos, tales como realizaciones, procedimientos, técnicas, etc. particulares, con el fin de proporcionar una comprensión profunda de la presente invención. Sin embargo, será evidente para un experto en la técnica que la presente invención se puede poner en práctica en otras realizaciones que se aparten de estos detalles específicos.
La referencia a lo largo de esta especificación a «una realización» significa que una característica, estructura o característica particular descrita en relación con la realización se incluye en al menos una realización de la presente invención. Por lo tanto, las apariciones de las frases «en una realización» o «según una realización» (u otras frases que tengan un significado similar) en varios lugares a lo largo de esta especificación no necesariamente se refieren todas a la misma realización. Además, los rasgos, estructuras o características particulares se pueden combinar de cualquier manera adecuada en una o más realizaciones. Además, dependiendo del contexto de discusión en el presente documento, un término singular puede incluir sus formas plurales y un término plural puede incluir su forma singular. De manera similar, un término con guion (por ejemplo, "On-demand") puede ocasionalmente usarse de manera intercambiable con su versión sin guion (por ejemplo, "Ondemand"),una entrada en mayúscula (por ejemplo,"Software")puede usarse de manera intercambiable con su versión sin mayúscula (p. ej.,‘‘software"),un término plural puede indicarse con o sin un apóstrofe (p. ej., PE's o Pes), y un término en cursiva (p. ej., "N+1”) puede usarse indistintamente con su versión sin cursiva (por ejemplo, "N+1”). Dichos usos ocasionales intercambiables no se considerarán inconsistentes entre sí.
Además, algunas realizaciones pueden describirse en términos de «medios para» realizar una tarea o conjunto de tareas. Se entenderá que unos «medios para» pueden expresarse en el presente documento en términos de una estructura, tal como un procesador, una memoria, un dispositivo de E/S tal como una cámara, o combinaciones de los mismos. Alternativamente, los "medios para" pueden incluir un algoritmo que es descriptivo de una función o paso del método, mientras que en otras realizaciones, los "medios para" se expresan en términos de una fórmula matemática, prosa o como un diagrama de flujo o diagrama de señales.
La terminología utilizada en el presente documento tiene el propósito de describir realizaciones particulares únicamente y no pretende ser limitante de la invención. Tal como se utilizan en este documento, las formas singulares «un», «una» y «el» pretenden incluir también las formas plurales, a menos que el contexto indique claramente lo contrario. Se entenderá además que los términos «comprende» y/o «que comprende», cuando se usan en esta especificación, especifican la presencia de características, números enteros, pasos, operaciones, elementos y/o componentes indicados, pero no excluyen la presencia o adición de una o más características, números enteros, pasos, operaciones, elementos, componentes y/o grupos de los mismos.
Se observa desde el principio que los términos «acoplado», «conectado», «conectando», «conectado eléctricamente», etc., se usan indistintamente en el presente documento para referirse en general a la condición de estar conectado eléctrica/electrónicamente.
De manera similar, se considera que una primera entidad está en «comunicación» con una segunda entidad (o entidades) cuando la primera entidad envía y/o recibe eléctricamente (ya sea a través de medios alámbricos o inalámbricos) señales de información (ya sea que contengan información de datos o no-datos/de control) a la segunda entidad independientemente del tipo (analógico o digital) de esas señales. Cabe señalar además que varias figuras (incluidos los diagramas de componentes) que se muestran y analizan en este documento tienen fines ilustrativos únicamente y no están dibujadas a escala.
Si bien realizaciones específicas y ejemplos del sistema se describen anteriormente con fines ilustrativos, son posibles varias modificaciones equivalentes dentro del alcance del sistema, como reconocerán los expertos en la técnica relevante. Por ejemplo, mientras los procesos o pasos se presentan en un orden determinado, realizaciones alternativas pueden realizar rutinas que tienen pasos en un orden diferente, y algunos procesos o pasos pueden eliminarse, moverse, agregarse, subdividirse, combinarse y/o modificarse para proporcionar alternativas o subcombinaciones. Cada uno de estos procesos o pasos se pueden implementar de diferentes maneras. Además, aunque en ocasiones se muestra que los procesos o pasos se realizan en serie, estos procesos o pasos pueden realizarse en paralelo o pueden realizarse en momentos diferentes.

Claims (15)

REIVINDICACIONES
1. Un método implementado por ordenador para detectar actividad anómala en un entorno informático (100), comprendiendo el método:
recibir (205, 902) un flujo de entrada no estructurado de instancias de datos desde el entorno informático (100), estando marcado el flujo de entrada no estructurado con una marca de tiempo;
categorizar (904) las instancias de datos del flujo de entrada no estructurado de instancias de datos, comprendiendo las instancias de datos un atributo categórico determinado mediante aprendizaje automático; generar (210, 906) puntuaciones de anomalía para cada una de las instancias de datos recopiladas durante un período de tiempo; y
examinar las puntuaciones de anomalía y localizar variaciones en las puntuaciones de anomalía que son indicativas de una anomalía detectando (215, 908) un cambio en las puntuaciones de anomalía a lo largo del tiempo para las instancias de datos.
2. El método de la reivindicación 1, que comprende además identificar (220, 910) cuál de los atributos categóricos de las instancias de datos causó el cambio en las puntuaciones de anomalía usando un análisis contrafactual (220), y en el que el análisis contrafactual comprende:
eliminar (305) al menos una parte de las instancias de datos;
regenerar (310) las puntuaciones de anomalía para cada una de las instancias de datos que quedan después de la eliminación a lo largo de intervalos de tiempo continuos; y en el que si las puntuaciones de anomalías regeneradas mejoran en comparación con las puntuaciones de anomalías, al menos una parte de los atributos categóricos se identifican (320) como atributos categóricos anómalos y una causa de la actividad anómala.
3. El método de la reivindicación 1 o 2, en el que categorizar (904) las instancias de datos del flujo de entrada no estructurado de instancias de datos comprende:
tokenizar(504) segmentos (600, 802, 804) dentro del flujo de entrada no estructurado;
filtrar o eliminar (506) una parte de los segmentostokenizados(602) basándose en un conjunto de criterios de filtrado;
aplicar (508) un peso a uno o más de los segmentostokenizadosfiltrados (604, 702, 704, 806, 808); comparar (510) los segmentostokenizadosy filtrados (604, 702, 704, 806, 808) entre sí para determinar si existe una coincidencia entre ellos; y categorizar (512) los segmentostokenizadosfiltrados (604, 702, 704, 806, 808) en función de la comparación.
4. El método de la reivindicación 3, en el que cuando no existe una coincidencia, se crea una nueva categoría y se atribuye a uno o más de los segmentostokenizadosfiltrados (604, 702, 704, 806, 808).
5. El método de la reivindicación 3 o 4, que comprende además aplicar reglas de tokenización para excluir al menos una parte de los segmentos (600, 802, 804) del archivo de registro no estructurado.
6. El método de la reivindicación 3, 4 o 5, que comprende además aplicar reglas de filtrado para eliminar segmentostokenizados(602) que corresponden solo a valores numéricos o segmentostokenizados(602) correspondientes a palabras relacionadas con fechas, o segmentostokenizados(602) correspondientes a números con unidades finales.
7. El método de la reivindicación 3, 4, 5 ó 6, en el que comparar (510) los segmentostokenizadosfiltrados (604, 702, 704, 806, 808) entre sí comprende además determinar distancias entre los segmentostokenizadosfiltrados (604, 702, 704, 806, 808) en base a eliminaciones y reemplazos, donde además las distancias entre los segmentostokenizadosfiltrados (604, 702, 704, 806, 808) indican si están lo suficientemente cerca como para coincidir.
8. El método de cualquiera de las reivindicaciones anteriores, en el que generar (210, 906) las puntuaciones de anomalía comprenden:
crear características para un grupo actual de instancias de datos;
aplicar un algoritmo de detección de anomalías que toma como entradas las características del grupo actual y las características del grupo calculadas usando funciones de conjunto para grupos anteriores al grupo actual; y generar las puntuaciones de anomalía, siendo las puntuaciones de anomalía indicativas de cuán anómalas son las características para el grupo actual.
9. El método de cualquiera de las reivindicaciones anteriores, que comprende además implementar (225) cambios en el entorno informático (100) en relación con al menos una parte de los atributos categóricos para evitar futuras instancias de actividad anómala.
10. El método de cualquiera de las reivindicaciones anteriores, en el que el flujo de entrada no estructurado es un archivo de registro no estructurado del entorno informático (100), comprendiendo el archivo de registro no estructurado datos temporales.
11. El método de cualquiera de las reivindicaciones anteriores, en el que las instancias de datos comprenden además al menos un valor principal y un conjunto de atributos categóricos; y en donde el método comprende además:
agrupar (415) las instancias de datos en grupos basados en intervalos de tiempo continuos, teniendo cada uno de los intervalos de tiempo continuos una longitud;
aplicar (420) funciones de conjunto a cada uno de los grupos;
generar (425) una puntuación de anomalía para cada uno de los grupos usando las funciones de conjunto; y aplicar (430, 435) un análisis contrafactual o un análisis de regularidad para identificar cuál del conjunto de atributos categóricos para un grupo está influyendo en una o más anomalías en los grupos que son indicativos de la actividad anómala en el entorno informático (100).
12. El método de la reivindicación 11, en el que generar (425) la puntuación de anomalía comprende además aplicar un algoritmo de detección de anomalías a los valores generados usando la función establecida para detectar cambios en los grupos a lo largo de intervalos de tiempo continuos.
13. El método de la reivindicación 11, en el que el análisis de regularidad comprende además identificar cuándo un atributo categórico del conjunto de atributos categóricos influye en la puntuación de anomalía para el conjunto de atributos categóricos si una salida de un algoritmo de detección de anomalías es aproximadamente idéntica a instancias alternativas en las que el existe un conjunto de atributos categóricos.
14. Un sistema que comprende un procesador (115) configurado para realizar el método de cualquiera de las reivindicaciones 1 a 13.
15. Un medio de almacenamiento legible por computadora que comprende instrucciones que, cuando son ejecutadas por un ordenador, hacen que el ordenador lleve a cabo el método de cualquiera de las reivindicaciones 1 a 13.
ES18791513T 2017-04-26 2018-03-27 Detección de anomalías y sus causas en entornos informáticos Active ES2968622T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/498,406 US10986110B2 (en) 2017-04-26 2017-04-26 Anomaly and causation detection in computing environments using counterfactual processing
US15/855,748 US11783046B2 (en) 2017-04-26 2017-12-27 Anomaly and causation detection in computing environments
PCT/US2018/024671 WO2018200113A1 (en) 2017-04-26 2018-03-27 Anomaly and causation detection in computing environments

Publications (1)

Publication Number Publication Date
ES2968622T3 true ES2968622T3 (es) 2024-05-13

Family

ID=63916724

Family Applications (1)

Application Number Title Priority Date Filing Date
ES18791513T Active ES2968622T3 (es) 2017-04-26 2018-03-27 Detección de anomalías y sus causas en entornos informáticos

Country Status (4)

Country Link
US (1) US11783046B2 (es)
EP (1) EP3616096B8 (es)
ES (1) ES2968622T3 (es)
WO (1) WO2018200113A1 (es)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11017330B2 (en) 2014-05-20 2021-05-25 Elasticsearch B.V. Method and system for analysing data
US10986110B2 (en) 2017-04-26 2021-04-20 Elasticsearch B.V. Anomaly and causation detection in computing environments using counterfactual processing
US11783046B2 (en) 2017-04-26 2023-10-10 Elasticsearch B.V. Anomaly and causation detection in computing environments
US11621969B2 (en) 2017-04-26 2023-04-04 Elasticsearch B.V. Clustering and outlier detection in anomaly and causation detection for computing environments
US10726128B2 (en) * 2017-07-24 2020-07-28 Crowdstrike, Inc. Malware detection using local computational models
US10043036B1 (en) * 2017-08-22 2018-08-07 TokenEx, LLC Systems and methods for tokenization to support pseudononymization of sensitive data
JP7067612B2 (ja) * 2018-03-15 2022-05-16 日本電気株式会社 分析装置、分析方法、及び、プログラム
US11575688B2 (en) * 2018-05-02 2023-02-07 Sri International Method of malware characterization and prediction
WO2020043267A1 (en) * 2018-08-27 2020-03-05 Huawei Technologies Co., Ltd. Device and method for anomaly detection on an input stream of events
US10878018B1 (en) * 2018-09-13 2020-12-29 Architecture Technology Corporation Systems and methods for classification of data streams
US11652841B2 (en) * 2018-09-21 2023-05-16 Kaalbi Technologies Private Limited System and method for detecting bots based on iterative clustering and feedback-driven adaptive learning techniques
WO2020180300A1 (en) * 2019-03-05 2020-09-10 Mentor Graphics Corporation Machine learning-based anomaly detections for embedded software applications
US11580442B2 (en) * 2019-04-30 2023-02-14 Cylance Inc. Machine learning model score obfuscation using time-based score oscillations
US11762950B1 (en) * 2019-05-27 2023-09-19 ExSano, Inc. Automatic and blind segmentation of diverse data
US11341581B2 (en) * 2019-07-09 2022-05-24 Digits Financial, Inc. System and method for regular expression generation for improved data transfer
US20210027167A1 (en) * 2019-07-26 2021-01-28 Cisco Technology, Inc. Model structure extraction for analyzing unstructured text data
US10691728B1 (en) * 2019-08-13 2020-06-23 Datadog, Inc. Transforming a data stream into structured data
US11675910B2 (en) 2020-01-22 2023-06-13 Forcepoint Llc Using an entity behavior catalog when performing security operations
US11636202B2 (en) 2020-02-21 2023-04-25 Cylance Inc. Projected vector overflow penalty as mitigation for machine learning model string stuffing
US11604871B2 (en) * 2020-03-27 2023-03-14 Cylance Inc. Projected vector modification as mitigation for machine learning model string stuffing
US11210775B1 (en) 2020-09-18 2021-12-28 International Business Machines Corporation Gradient-embedded video anomaly detection
US20220129794A1 (en) * 2020-10-27 2022-04-28 Accenture Global Solutions Limited Generation of counterfactual explanations using artificial intelligence and machine learning techniques
US11755590B2 (en) 2020-11-04 2023-09-12 Netapp, Inc. Data connector component for implementing integrity checking, anomaly detection, and file system metadata analysis
US20220138151A1 (en) * 2020-11-04 2022-05-05 Netapp Inc. Sibling object generation for storing results of operations performed upon base objects
US11625306B2 (en) 2020-11-04 2023-04-11 Netapp, Inc. Data connector component for implementing data requests
US20220253733A1 (en) * 2021-02-05 2022-08-11 Mingming Zuo Abnormality detection based on causal graphs representing causal relationships of abnormalities
US20220318118A1 (en) * 2021-03-31 2022-10-06 Hewlett Packard Enterprise Development Lp Detecting changes in application behavior using anomaly corroboration
US11847111B2 (en) * 2021-04-09 2023-12-19 Bitdefender IPR Management Ltd. Anomaly detection systems and methods
US11856014B2 (en) * 2021-04-23 2023-12-26 Capital One Services, Llc Anomaly detection in computing computing system events
US11640387B2 (en) * 2021-04-23 2023-05-02 Capital One Services, Llc Anomaly detection data workflow for time series data
CN113824725B (zh) * 2021-09-24 2023-04-07 中国人民解放军国防科技大学 一种基于因果机器学习的网络安全监测分析方法与系统
CN116185752A (zh) * 2021-11-26 2023-05-30 中兴通讯股份有限公司 一种基于日志的异常监测方法、系统、装置及存储介质
US11741486B1 (en) * 2022-05-31 2023-08-29 Intuit, Inc. Machine learning technique with targeted feature sets for categorical anomaly detection
CN117914954B (zh) * 2024-03-20 2024-06-21 南通阳鸿石化储运有限公司 一种危险化学品储运过程中数据传输方法及系统

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6012152A (en) 1996-11-27 2000-01-04 Telefonaktiebolaget Lm Ericsson (Publ) Software fault management system
US8126779B2 (en) 1999-04-11 2012-02-28 William Paul Wanker Machine implemented methods of ranking merchants
US6260041B1 (en) 1999-09-30 2001-07-10 Netcurrents, Inc. Apparatus and method of implementing fast internet real-time search technology (first)
US20030065409A1 (en) 2001-09-28 2003-04-03 Raeth Peter G. Adaptively detecting an event of interest
US20030101076A1 (en) 2001-10-02 2003-05-29 Zaleski John R. System for supporting clinical decision making through the modeling of acquired patient medical information
US9306966B2 (en) 2001-12-14 2016-04-05 The Trustees Of Columbia University In The City Of New York Methods of unsupervised anomaly detection using a geometric framework
WO2003054704A1 (en) 2001-12-19 2003-07-03 Netuitive Inc. Method and system for analyzing and predicting the behavior of systems
US7089250B2 (en) 2003-10-08 2006-08-08 International Business Machines Corporation Method and system for associating events
US7451210B2 (en) 2003-11-24 2008-11-11 International Business Machines Corporation Hybrid method for event prediction and system control
US20060020923A1 (en) 2004-06-15 2006-01-26 K5 Systems Inc. System and method for monitoring performance of arbitrary groupings of network infrastructure and applications
CA2618935C (en) 2004-08-13 2014-04-29 Remasys Pty Ltd Monitoring and management of distributed information systems
US20060167917A1 (en) 2005-01-21 2006-07-27 Solomon Research Llc System, methods and apparatus for complex behaviors of collectives of intelligent mobile software agents
US7881535B1 (en) 2006-06-29 2011-02-01 Capital One Financial Corporation System and method for managing statistical models
US8027439B2 (en) 2006-09-18 2011-09-27 Fair Isaac Corporation Self-calibrating fraud detection
US8326819B2 (en) 2006-11-13 2012-12-04 Exegy Incorporated Method and system for high performance data metatagging and data indexing using coprocessors
US7310590B1 (en) 2006-11-15 2007-12-18 Computer Associates Think, Inc. Time series anomaly detection using multiple statistical models
US7539593B2 (en) 2007-04-27 2009-05-26 Invensys Systems, Inc. Self-validated measurement systems
US20090077663A1 (en) 2007-09-17 2009-03-19 Alcatel Lucent Score-based intrusion prevention system
US8214308B2 (en) 2007-10-23 2012-07-03 Sas Institute Inc. Computer-implemented systems and methods for updating predictive models
US20090177692A1 (en) 2008-01-04 2009-07-09 Byran Christopher Chagoly Dynamic correlation of service oriented architecture resource relationship and metrics to isolate problem sources
EP2260385A4 (en) 2008-02-27 2017-08-30 Wurldtech Security Technologies Testing framework for control devices
US10031829B2 (en) 2009-09-30 2018-07-24 International Business Machines Corporation Method and system for it resources performance analysis
US20120137367A1 (en) 2009-11-06 2012-05-31 Cataphora, Inc. Continuous anomaly detection based on behavior modeling and heterogeneous information analysis
EP2360590A3 (en) 2009-12-10 2011-10-26 Prelert Ltd. Apparatus and method for analysing a computer infrastructure
US8654655B2 (en) * 2009-12-17 2014-02-18 Thomson Licensing Detecting and classifying anomalies in communication networks
US20150235312A1 (en) 2014-02-14 2015-08-20 Stephen Dodson Method and Apparatus for Detecting Rogue Trading Activity
US20130031130A1 (en) 2010-12-30 2013-01-31 Charles Wilbur Hahm System and method for interactive querying and analysis of data
US9038172B2 (en) 2011-05-06 2015-05-19 The Penn State Research Foundation Robust anomaly detection and regularized domain adaptation of classifiers with application to internet packet-flows
US20130096170A1 (en) 2011-10-14 2013-04-18 Hospira, Inc. Methods of treating pediatric patients using dexmedetomidine
US9224067B1 (en) 2012-01-23 2015-12-29 Hrl Laboratories, Llc System and methods for digital artifact genetic modeling and forensic analysis
US8832120B2 (en) 2012-01-30 2014-09-09 Mastercard International Incorporated Methods and systems for analyzing weirdness of variables
US8650110B2 (en) * 2012-03-12 2014-02-11 Intuit Inc. Counterfactual testing of finances using financial objects
US20150047026A1 (en) 2012-03-22 2015-02-12 Los Alamos National Security, Llc Anomaly detection to identify coordinated group attacks in computer networks
EP2645257A3 (en) 2012-03-29 2014-06-18 Prelert Ltd. System and method for visualisation of behaviour within computer infrastructure
US20130325584A1 (en) 2012-06-04 2013-12-05 David Taylor Bogaty Methods and systems for attributing changes in an advertising metric of interest to other advertising metrics
US8914317B2 (en) * 2012-06-28 2014-12-16 International Business Machines Corporation Detecting anomalies in real-time in multiple time series data with automated thresholding
US9197511B2 (en) 2012-10-12 2015-11-24 Adobe Systems Incorporated Anomaly detection in network-site metrics using predictive modeling
US20150302310A1 (en) 2013-03-15 2015-10-22 Nordic Technology Group Methods for data collection and analysis for event detection
US9215240B2 (en) 2013-07-25 2015-12-15 Splunk Inc. Investigative and dynamic detection of potential security-threat indicators from events in big data
GB2519941B (en) 2013-09-13 2021-08-25 Elasticsearch Bv Method and apparatus for detecting irregularities on device
US9210183B2 (en) * 2013-12-19 2015-12-08 Microsoft Technology Licensing, Llc Detecting anomalous activity from accounts of an online service
US11017330B2 (en) 2014-05-20 2021-05-25 Elasticsearch B.V. Method and system for analysing data
US9269162B1 (en) * 2014-08-25 2016-02-23 Raytheon Company Rapid anomaly detection (RAND)
US9565203B2 (en) 2014-11-13 2017-02-07 Cyber-Ark Software Ltd. Systems and methods for detection of anomalous network behavior
US9544321B2 (en) 2015-01-30 2017-01-10 Securonix, Inc. Anomaly detection using adaptive behavioral profiles
US9699205B2 (en) * 2015-08-31 2017-07-04 Splunk Inc. Network security system
US10679008B2 (en) * 2016-12-16 2020-06-09 Microsoft Technology Licensing, Llc Knowledge base for analysis of text
US10986110B2 (en) 2017-04-26 2021-04-20 Elasticsearch B.V. Anomaly and causation detection in computing environments using counterfactual processing
US11783046B2 (en) 2017-04-26 2023-10-10 Elasticsearch B.V. Anomaly and causation detection in computing environments
US11621969B2 (en) 2017-04-26 2023-04-04 Elasticsearch B.V. Clustering and outlier detection in anomaly and causation detection for computing environments

Also Published As

Publication number Publication date
EP3616096B8 (en) 2024-01-17
EP3616096A4 (en) 2020-10-14
EP3616096B1 (en) 2023-11-15
EP3616096A1 (en) 2020-03-04
US11783046B2 (en) 2023-10-10
US20180314835A1 (en) 2018-11-01
WO2018200113A1 (en) 2018-11-01

Similar Documents

Publication Publication Date Title
ES2968622T3 (es) Detección de anomalías y sus causas en entornos informáticos
ES2953489T3 (es) Detección de anomalías y causalidad en entornos informáticos usando procesamiento contrafactual
US20210157913A1 (en) Model development and application to identify and halt malware
US11645388B1 (en) Systems and methods for detecting non-malicious faults when processing source codes
US11386343B2 (en) Real time detection of cyber threats using behavioral analytics
Costante et al. A white-box anomaly-based framework for database leakage detection
Elsayed et al. PredictDeep: security analytics as a service for anomaly detection and prediction
US20220327541A1 (en) Systems and methods of generating risk scores and predictive fraud modeling
US11841941B2 (en) Systems and methods for accelerated detection and replacement of anomalous machine learning-based ensembles and intelligent generation of anomalous artifacts for anomalous ensembles
US11645310B2 (en) System, method, and computer-accessible medium to verify data compliance by iterative learning
Al-Utaibi et al. Intrusion detection taxonomy and data preprocessing mechanisms
AlSlaiman et al. Enhancing false negative and positive rates for efficient insider threat detection
Alenezi et al. Machine learning approach to predict computer operating systems vulnerabilities
Wurzenberger et al. Analysis of statistical properties of variables in log data for advanced anomaly detection in cyber security
Seh et al. An analysis of integrating machine learning in healthcare for ensuring confidentiality of the electronic records
Roy Towards modeling host-based data for cyber-psychological assessment in cyber threat detection
Shivaji Efficient bug prediction and fix suggestions
Toms et al. Profiling Suspected Chinese Cyber Attacks by Classification Techniques
Sridhar et al. Machine learning algorithms to detect deepfakes fine tuned for anomaly detection of IoT
Cabri Quantum inspired approach for early classification of time series.
Parveen Evolving insider threat detection using stream analytics and big data
CN118280602A (zh) 一种药物不良反应痕迹管理方法与系统
Arul et al. Improved Classification Model in Handling Insider Threat through Supervised Machine Learning Techniques
Svandova et al. Internet of Medical Things Security Frameworks for Risk Assessment and Management: A Scoping Review
Azeroual et al. Apache Spark and MLlib-Based Intrusion Detection System or How the Big Data Technologies Can Secure the Data. Information 2022, 13, 58