ES2953489T3 - Detección de anomalías y causalidad en entornos informáticos usando procesamiento contrafactual - Google Patents

Detección de anomalías y causalidad en entornos informáticos usando procesamiento contrafactual Download PDF

Info

Publication number
ES2953489T3
ES2953489T3 ES18790780T ES18790780T ES2953489T3 ES 2953489 T3 ES2953489 T3 ES 2953489T3 ES 18790780 T ES18790780 T ES 18790780T ES 18790780 T ES18790780 T ES 18790780T ES 2953489 T3 ES2953489 T3 ES 2953489T3
Authority
ES
Spain
Prior art keywords
anomaly
data instances
categorical
data
anomaly scores
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
ES18790780T
Other languages
English (en)
Inventor
Stephen Dodson
Thomas Veasey
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
Application filed by Elasticsearch Bv, Elasticsearch Inc filed Critical Elasticsearch Bv
Application granted granted Critical
Publication of ES2953489T3 publication Critical patent/ES2953489T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp

Landscapes

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

Abstract

Se divulga la detección de anomalías y causas en entornos informáticos. Un método de ejemplo incluye recibir un flujo de entrada de instancias de datos para una serie temporal, cada una de las instancias de datos tiene una marca de tiempo e incluye al menos un valor principal y un conjunto de atributos categóricos; generar puntuaciones de anomalía para cada una de las instancias de datos durante intervalos de tiempo continuos; detectar un cambio en las puntuaciones de anomalía durante los intervalos de tiempo continuos para las instancias de datos; e identificar cuál del conjunto de atributos categóricos de las instancias de datos causó el cambio en las puntuaciones de anomalía utilizando un análisis contrafactual. El análisis contrafáctico puede comprender eliminar una parte de las instancias de datos; regenerar las puntuaciones de anomalía para cada una de las instancias de datos restantes durante los intervalos de tiempo continuos; y si se mejoran las puntuaciones de anomalía, identificar la porción como causa de actividad anómala. Se pueden generar recomendaciones para remediar la causa. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Detección de anomalías y causalidad en entornos informáticos usando procesamiento contrafactual
CAMPO DE LA PRESENTE TECNOLOGIA
La presente tecnología se relaciona en general con la seguridad digital y, más particularmente, pero sin limitación, con sistemas y métodos que detectan anomalías en entornos informáticos que son indicativos de comportamiento malicioso o de otro modo de comportamiento no deseado dentro de, o realizado por el entorno informático. Este proceso de detección de anomalías es mejorado utilizando metodologías para detectar y aislar fuentes de anomalías.
ANTECEDENTES DE LA INVENCIÓN
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 (Intelligent Mobile Software Agents, IMSA) multifuncionales en un sistema multiagente. Los métodos analíticos de IMSA y los procesos de aprendizaje grupal son organizados en capas adicionales. En capas posteriores son organizados el modelado activo de simulación IMSA y la generación de escenarios grupales y procesos de toma de decisiones. La cooperación de IMSA para los procesos de agregación y reagregación es organizada 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 procesos complejos 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úmero US 2013/0238476 A1 se divulga un dispositivo electrónico que realiza pruebas contrafactuales. Durante el funcionamiento, 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 de salida financiera 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.
Entonces, 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 de salida financiero modificado usando la representación funcional modificada y los valores de entrada. A continuación, el dispositivo electrónico compara el valor de producción financiera y el valor de producción financiera 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.
RESUMEN
La invención es definida en las reivindicaciones independientes. Realizaciones particulares se establecen 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 figuras 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 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 varias 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 unas 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ía y causalidad.
La FIG. 5 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 de máquina 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. La corriente 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 tienen 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. Se pueden detectar anomalías 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 comportamiento malicioso 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 ilustrativo 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 es reparado 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 ilustrativa (en adelante arquitectura 100) de la presente tecnología. La arquitectura ilustrativa 100 comprende un sistema ilustrativo de detección de anomalía y detección de causalidad 105 (en lo sucesivo también denominado sistema ilustrativo 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. 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, elementos 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 como una red, máquinas virtuales, aplicación/es, monitorizadores de 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 mencionadas con anterioridad 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 solucionador 145. Tal como se utiliza en este documento, los términos «módulo» también pueden referirse a cualquiera de un circuito integrado de aplicación específica (application-specific integrated circuit, "ASIC"), un circuito electrónico, un procesador (compartido, dedicado o en grupo) que ejecuta uno o más programas de software o firmware. 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 de máquina no supervisado, el sistema ilustrativo 105 puede evaluar las instancias de datos a lo largo del tiempo para detectar comportamiento anómalo. 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 pico en las tasas de transferencia de archivos entre un dispositivo informático y otro dispositivo informático (posiblemente en un país extranjero) puede ser señalado como anómalo. La presente divulgación no pretende limitarse al aprendizaje de máquina no supervisado y en algunas realizaciones puede incorporar otros métodos de aprendizaje de máquina. En una realización, la retroalimentación del usuario se puede incorporar a una puntuación de anomalía a través de técnicas de aprendizaje de máquina supervisado, o al menos parcialmente supervisada o una combinación que se basa en cuan inusual es la desviación/anomalía en relación con los modelos de comportamiento histórico del sistema 105, además de cómo se compara con otras instancias de anomalía que se hayan indicado como importantes.
El uso de aprendizaje de máquina 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 pregenerados 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 requeridos.
Los cambios en las instancias de datos a lo largo del tiempo se pueden señalar como anómalos si los cambios tienen una magnitud inesperada. El sistema ilustrativo 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 una probabilidad de un comportamiento actual basándose en el comportamiento histórico, donde los eventos de baja probabilidad se clasifican como anomalías. De nuevo, el uso de umbrales o reglas no es requerido, aunque 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 limitativos 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, los «al menos unos» valores principales seleccionados pueden 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 pueden seleccionarse basándose en una 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 ilustrativo analizador de flujo de entrada 130, 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 principales u (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, a1i, a2i, ..., ani)}, donde los datos representados por {} incluyen un conjunto. Nuevamente, usando el ejemplo anterior, un valor principal u es el tiempo de inicio de sesión y dos atributos categóricos a1j e {jim, jill, greg}, que son indicativos de los usuarios y a2j e {casa, trabajo} que son indicativos de una ubicación. Se pueden considerar menos o adicionales atributos categóricos. 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 μm greg, casa). Se pueden crear otras tuplas similares para otros tipos de conjuntos de datos y pueden incluir una combinación de valores numéricos y/o no numéricos.
En algunas realizaciones, la influencia de anomalía tiene como objetivo comprender la forma en que los atributos categóricos están influenciando en las anomalías que se localizan analizando el valor principal u.
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 = {(t,,d,)}.
En diversas realizaciones, el módulo de detección de anomalías 135 crea características para realizar la detección de anomalías mediante cubización (bucketing) (por ejemplo, agrupando) las instancias de datos en intervalos de tiempo continuos, donde un k-ésimo cubo (bucket) o grupo se define según la ecuación: Bk = {(t,,d,) e D: ti > kL, t¡ < (k+1) L} dónde L es una duración del cubo (bucket) (por ejemplo, período de tiempo o porción del tiempo total durante el cual se recopilaron las instancias de datos).
El módulo de detección de anomalías 135 aplica entonces una o más funciones de conjunto f: U ^ R donde U c {vi : (ti, (vi, . . . )) e D} para generar un conjunto de características. El valor de una característica para el k-ésimo cubo (bucket) es, por tanto, f(Bk). En un ejemplo, si vi son numéricos, la función establecida es una media que se calcula usando: f = 1^U Yu v; donde si v¡son categóricos, la función establecida seleccionada es un recuento
f = |U|; y alternativamente, si vi son categóricos, la función establecida es un recuento distinto f = |{[v,]}|, 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), 30 (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 cubos (buckets).
En diversas realizaciones, el algoritmo de detección de anomalías adecuado tomará como características de cubos (bucket) de entrada [ f(Bi ] } para cubos ( buckets) cronológicamente anteriores en el tiempo que un cubo ( bucket) j actual, es decir, para i < j, y luego generará una puntuación de anomalía que corresponde a qué tan anómalo es el valor f(Bi) para el cubo ( bucket) actual j. La operación del algoritmo ilustrativo se puede expresar como ( f(Bi), [ f(B¡ : i<j} ) ^ s donde s es la puntuación de la anomalía.
En diversas realizaciones, un algoritmo de detección de anomalías ilustrativo intenta predecir una distribución para un nuevo valor de característica basándose en datos históricos relevantes y el tiempo en que ocurre el valor de característica. El algoritmo de detección de anomalías ilustrativo puede tener en cuenta múltiples efectos, como cambios lentos de nivel, patrones periódicos, diferencias entre días laborables y fines de semana y patrones recurrentes relacionados 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 del mes. En algunas realizaciones, se realiza una prueba para comprobar si hay 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, un día de la semana y una semana del mes en particular, digamos el segundo lunes de cada mes, etc. En diversas realizaciones, si esta probabilidad es pequeña, entonces normalmente es apropiado estimar una corrección de la distribución predecida que depende de esta característica, es decir, corregir las predicciones con información sobre el día anterior del mismo tipo de calendario.
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 el cubo ( bucket), es decir, las instancias de datos para las cuales el iésimo atributo categórico aj es una clase de equivalencia definida por:
[aj]k = { ( ti,di) e Bk : d = (v, a1*, a2 *, ..., 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 ilustrativo 140 puede eliminar selectivamente porciones de las instancias de datos correspondientes a cada atributo categórico, recalcular 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 nefario, sino que detecta la anomalía y señala 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 todos los datos excepto los etiquetados con un atributo determinado fueran eliminados.
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 un cubo ( bucket), 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 |[aj]k| y 1/|[aj]k| Y( t d ) e j v.
Este enfoque contrafactual para comprender la causalidad, según diversas realizaciones, se enmarca en 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 atributo aj influye en una anomalía para el cubo ( bucket) Bk si la salida del algoritmo de detección de anomalías (por ejemplo, una puntuación del cubo ( bucket) es que el cubo (bucket) es menos anómalo en el mundo alternativo en el que lo único que cambió es que se eliminan todas las instancias de datos etiquetadas con aj. 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 la 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 «siempre que B ocurre C ocurre»). Más específicamente, se sabe que el atributo categórico aj influye en la puntuación de anomalía de un cubo (bucket) Bk si la salida de un algoritmo de detección de anomalías (es decir, la puntuación del cubo (bucket)) es aproximadamente la misma en todos los mundos alternativos (como eliminar cualquier subconjunto de instancias de datos que no estén etiquetados con aj) en las que todas las instancias de datos etiquetadas aj existen (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 cubo ( bucket), es decir, max {vi : (ti, (vi, ...)) e Bk} y min {vi : (ti, (vi, ...)) e Bk}. Por ejemplo, el sistema 105 puede determinar que un cubo (bucket) mínimo de depósito es inusualmente bajo y que el cubo (bucket), mínimo coincide 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 ilustrativos 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 solucionador 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 solucionador145 remedia 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 solucionador 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, filtración no autorizada) de grandes volúmenes de datos fuera de una red protegida, el módulo solucionador 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 firewall 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 inusuales y demás para cualquier entorno informático. En algunas realizaciones, pueden estar presentes múltiples anomalías y ser detectadas por los sistemas y métodos del presente documento. Por ejemplo, los sistemas y métodos pueden detectar tanto la filtración no autorizada 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 de 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 de máquina no supervisado, ya que los datos utilizados son los que están incluidos ú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 de generar puntuaciones de anomalía para cada una de las instancias de datos durante intervalos de tiempo continuos. Es decir, las instancias de datos pueden puntuarse en una 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 de 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 cubos (buckets) 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 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 se exceda (durante un período de tiempo muy largo, aunque puede superarlo durante periodos 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 FIG. 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 particular utilicen un nivel más alto de autenticación en respuesta a la detección de actividad anómala (por ejemplo, un alto nivel de solicitudes de acceso) con respecto a la base de datos.
La FIG. 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 FIG. 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 con un dispositivo en una red. A continuación, el método de ejemplo 300 incluye un paso 310 de 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 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 FIG. 3. Dicho de otra manera, una mejora en un almacé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 causa o 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 la prueba 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 se aísle y localice el componente que contribuye al comportamiento inusual.
Los sistemas y métodos pueden utilizar un análisis de regularidad en lugar de un análisis contrafactual. El análisis de regularidad comprende 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 existe el conjunto de atributos categóricos.
La FIG. 4 es un diagrama de flujo de otro método de ejemplo, método de ejemplo 400, de detección de anomalías y causalidad según diversas realizaciones. El método de ejemplo 400 incluye un paso 405 de 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 de separar las instancias de datos en al menos un valor principal y un conjunto de atributos categóricos, así como un paso 415 de 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 de aplicar funciones establecidas a cada uno de los grupos para generar características relacionadas con el valor principal para ese intervalo, y un paso 425 de generar una puntuación de anomalía para cada uno de los grupos usando un algoritmo de detección de anomalía.
En algunas realizaciones, el método de ejemplo 400 comprende o (o ambos) un paso 430 de aplicar un análisis contrafactual 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 que son indicativos de la actividad anómala en el entorno informático; o un paso 435 de 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.
La FIG. 5 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 cliente-servidor, o como una máquina par en un entorno de red par a par (peer-to-peer) (o distribuida).
La máquina puede ser un ordenador personal (personal Computer, PC), una tableta, un decodificador (set-top box, STB), una asistente personal digital (personal digital assistant, 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, MPEG), un dispositivo web, un enrutador, un 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 esa 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 (central processing unit, CPU), una unidad de procesamiento de gráficos (graphics processing unit, GPU, o ambos), 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 (liquid crystal display, 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(s), (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 un módulo de cifrado de datos (no se muestra) para cifrar datos.
La unidad de accionamiento 37 incluye un medio legible por máquina 50 (que puede ser un medio legible por computadora) en el que se almacena uno o más conjuntos de instrucciones y estructuras de datos (por ejemplo, instrucciones 55) que incorporan o utilizan una cualquiera 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(de los) 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 residir, completa o al menos parcialmente, dentro de la memoria principal 10 y/o dentro del(los) procesador(es) 5 constituyen medios legibles por las máquinas.
Las instrucciones 55 pueden transmitirse o recibirse además a través de una red (por ejemplo, la red 150 o la red 520, véanse la FIG. 1 y la FIG. 5, respectivamente) a través del dispositivo de interfaz de red 45 utilizando cualquiera de varios protocolos de transferencia bien conocidos (por ejemplo, el Protocolo de Transferencia de Hipertexto (Hyper Text Transfer Protocol, HTTP)). Aunque en una realización de ejemplo se muestra que el medio legible por la máquina 50 es un medio único, el término «medio legible por computadora» 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 computadora» 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. El término «medio legible por computadora» se considerará consecuentemente que incluirá de manera no limitativa 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 (random access memory, RAM), memoria de sólo lectura (read only memory, ROM) y similares.
Las realizaciones de ejemplo descritas en el presente documento pueden implementarse en un entorno operativo que comprende software instalado en una computadora, en hardware o en una combinación de software y hardware. 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 pantalla, 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 los 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. Se eligieron y describieron realizaciones ilustrativas 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 de computadora pueden proporcionarse a un procesador de una computadora de propósito general, computadora 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 de la computadora u otro aparato de procesamiento de datos programable, cree medios para implementar las funciones/actos especificados en el diagrama de flujo y/o bloque o bloques del diagrama de bloques.
Estas instrucciones de programas de computadora también pueden almacenarse en un medio legible por computadora que puede hacer que una computadora, otros aparatos de procesamiento de datos programables u otros dispositivos funcionen de una manera particular, de modo que las instrucciones almacenadas en el medio legible por computadora produzcan un artículo de fabricación incluyendo instrucciones que implementen la función/acto especificado en el diagrama de flujo y/o bloque o bloques del diagrama de bloques.
Las instrucciones del programa de computadora también pueden cargarse en una computadora, otro aparato de procesamiento de datos programable u otros dispositivos para provocar que se realicen una serie de pasos operativos en la computadora, otros aparatos programables u otros dispositivos para producir un proceso implementado por computadora de manera que las instrucciones que se ejecutan en la computadora 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 ¡mplementaciones 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 en hardware de propósito especial que realizan las funciones o actos especificados o combinaciones de hardware de propósito especial e instrucciones de computadora.
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 un aspecto, estructura o característica particular descrita en relación con la realización está incluida 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 aspectos, 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", «bajo demanda») puede ocasionalmente usarse de manera intercambiable con su versión sin guion (por ejemplo, “on demand", «bajo demanda»), 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 incompatibles 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 sea descriptivo de una función o paso del método, mientras que en otras realizaciones adicionales 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 limitativa 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 «comprendiendo», 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.
Cabe señalar desde el principio que los términos «acoplado», «conectado», «conectando», «eléctricamente conectado», 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 que no sean datos). /información 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, 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 puede implementar en una variedad 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 (13)

REIVINDICACIONES
1. Un método implementado por computadora para detectar actividad anómala en un entorno informático (100), comprendiendo el método:
recibir (205) un flujo de entrada de instancias de datos para una serie de tiempo, donde las instancias de datos en el flujo de entrada tienen una marca de tiempo, cada una de las instancias de datos comprenden al menos un valor principal y un conjunto de atributos categóricos;
generar (210) puntuaciones de anomalía para cada una de las instancias de datos durante intervalos de tiempo continuos;
detectar (215) un cambio en las puntuaciones de anomalía durante los intervalos de tiempo continuos para las instancias de datos; y
identificar (220) cuál del conjunto de atributos categóricos de las instancias de datos causó el cambio en las puntuaciones de anomalía; en donde la identificación (220) utiliza un análisis contrafactual que 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 quedaron después de la eliminación (305), durante los intervalos de tiempo continuos; y
donde en el caso de que 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; o en el que la identificación (220) utiliza un análisis de regularidad que comprende:
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 conjunto de atributos categóricos existe.
2. El método de la reivindicación 1, en el que el cambio en las puntuaciones de anomalía es indicativo de un comportamiento malicioso en el entorno informático (100).
3. El método de la reivindicación 1 o 2, que comprende además el generar (225) recomendaciones para tratar el conjunto de atributos categóricos para remediar el comportamiento malicioso.
4. El método de cualquiera de las reivindicaciones anteriores, en el que el conjunto de atributos categóricos comprende una tupla creada a partir de al menos dos atributos categóricos.
5. El método de cualquiera de las reivindicaciones anteriores, que comprende además agrupar (415) las instancias de datos en grupos basados en los intervalos de tiempo continuos, teniendo cada uno de los grupos una duración de tiempo para su correspondiente intervalo de tiempo continuo.
6. El método de cualquiera de las reivindicaciones anteriores, en el que al menos un valor principal es categórico o numérico, en el que, para el valor principal numérico, se aplica una función establecida para calcular un valor medio, y en el que, para el valor principal categórico, se aplica una función establecida para calcular cualquier recuento de clase de equivalencia o un recuento distinto.
7. El método de cualquiera de las reivindicaciones anteriores, en el que generar (210) las puntuaciones de anomalía comprende:
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 establecidas 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.
8. El método de cualquiera de las reivindicaciones anteriores, que comprende además implementar cambios en el entorno informático (100) en relación con al menos una parte de los atributos categóricos para evitar futuros casos de actividad anómala.
9. El método de cualquiera de las reivindicaciones anteriores, en el que las instancias de datos corresponden a características seleccionadas que se analizarán en busca de comportamiento anómalo.
10. El método de cualquiera de las reivindicaciones anteriores, que comprende además:
separar (410) las instancias de datos en al menos un valor principal y el conjunto de atributos categóricos; 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 funciones establecidas a cada uno de los grupos;
generar una puntuación de anomalía para cada uno de los grupos utilizando las funciones establecidas;
y aplicar el análisis contrafactual o el 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).
11. El método de la reivindicación 10, en el que generar 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 durante los intervalos de tiempo continuos.
12. Un sistema para detectar actividad anómala en un entorno informático (100), que comprende:
un procesador (115); y
una memoria (120) para almacenar instrucciones ejecutables, ejecutando el procesador (115) las instrucciones para realizar el método de cualquiera de las reivindicaciones 1 a 11.
13. Un medio de almacenamiento legible por computadora que comprende instrucciones que, cuando se ejecutan por una computadora, hacen que la computadora lleve a cabo el método de cualquiera de las reivindicaciones 1-11.
ES18790780T 2017-04-26 2018-03-27 Detección de anomalías y causalidad en entornos informáticos usando procesamiento contrafactual Active ES2953489T3 (es)

Applications Claiming Priority (2)

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
PCT/US2018/024613 WO2018200111A1 (en) 2017-04-26 2018-03-27 Anomaly and causation detection in computing environments using counterfactual processing

Publications (1)

Publication Number Publication Date
ES2953489T3 true ES2953489T3 (es) 2023-11-13

Family

ID=63917297

Family Applications (1)

Application Number Title Priority Date Filing Date
ES18790780T Active ES2953489T3 (es) 2017-04-26 2018-03-27 Detección de anomalías y causalidad en entornos informáticos usando procesamiento contrafactual

Country Status (4)

Country Link
US (2) US10986110B2 (es)
EP (1) EP3616062B1 (es)
ES (1) ES2953489T3 (es)
WO (1) WO2018200111A1 (es)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11783046B2 (en) 2017-04-26 2023-10-10 Elasticsearch B.V. Anomaly and causation detection in computing environments
US10986110B2 (en) 2017-04-26 2021-04-20 Elasticsearch B.V. Anomaly and causation detection in computing environments using counterfactual processing
US11621969B2 (en) 2017-04-26 2023-04-04 Elasticsearch B.V. Clustering and outlier detection in anomaly and causation detection for computing environments
US10225275B1 (en) * 2017-06-29 2019-03-05 Syniverse Technologies, Llc Method for computationally detecting anomalies of digital device behavior on a communications network
US11122063B2 (en) * 2017-11-17 2021-09-14 Accenture Global Solutions Limited Malicious domain scoping recommendation system
US11587073B1 (en) * 2017-12-15 2023-02-21 Worldpay, Llc Systems and methods for encryption and decryption service for electronic transaction monitoring and reporting
WO2020043267A1 (en) * 2018-08-27 2020-03-05 Huawei Technologies Co., Ltd. Device and method for anomaly detection on an input stream of events
CN113095340B (zh) * 2019-12-23 2024-04-16 神讯电脑(昆山)有限公司 生产机台的异常预警方法以及物件的量产方法
US20220129794A1 (en) * 2020-10-27 2022-04-28 Accenture Global Solutions Limited Generation of counterfactual explanations using artificial intelligence and machine learning techniques
US20220253733A1 (en) * 2021-02-05 2022-08-11 Mingming Zuo Abnormality detection based on causal graphs representing causal relationships of abnormalities
CN113609388B (zh) * 2021-07-27 2024-02-06 浙江大学 基于反事实用户行为序列生成的序列推荐方法
TWI782645B (zh) * 2021-07-29 2022-11-01 中華電信股份有限公司 基於行動網路的評估網路元件之品質劣化的系統和方法
US11930000B2 (en) * 2021-08-02 2024-03-12 Cisco Technology, Inc. Detection of anomalous authentications
CN113824725B (zh) * 2021-09-24 2023-04-07 中国人民解放军国防科技大学 一种基于因果机器学习的网络安全监测分析方法与系统
TWI802413B (zh) * 2022-05-17 2023-05-11 中華電信股份有限公司 在電信網路中偵測異常通訊設備的電子裝置和方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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
US8326819B2 (en) 2006-11-13 2012-12-04 Exegy Incorporated Method and system for high performance data metatagging and data indexing using coprocessors
US20090077663A1 (en) 2007-09-17 2009-03-19 Alcatel Lucent Score-based intrusion prevention system
US20120137367A1 (en) 2009-11-06 2012-05-31 Cataphora, Inc. Continuous anomaly detection based on behavior modeling and heterogeneous information analysis
US8606608B2 (en) * 2010-12-17 2013-12-10 Microsoft Corporation Offline counterfactual analysis
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
US9224067B1 (en) 2012-01-23 2015-12-29 Hrl Laboratories, Llc System and methods for digital artifact genetic modeling and forensic analysis
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
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
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
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
US11621969B2 (en) 2017-04-26 2023-04-04 Elasticsearch B.V. Clustering and outlier detection in anomaly and causation detection for computing environments
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

Also Published As

Publication number Publication date
US20210194910A1 (en) 2021-06-24
US10986110B2 (en) 2021-04-20
US20180314965A1 (en) 2018-11-01
WO2018200111A1 (en) 2018-11-01
EP3616062A4 (en) 2020-10-14
EP3616062A1 (en) 2020-03-04
EP3616062B1 (en) 2023-06-28

Similar Documents

Publication Publication Date Title
ES2953489T3 (es) Detección de anomalías y causalidad en entornos informáticos usando procesamiento contrafactual
ES2968622T3 (es) Detección de anomalías y sus causas en entornos informáticos
ES2950039T3 (es) Identificación automatizada del estado de un dispositivo y modificación dinámica resultante de las operaciones del dispositivo
US11526614B2 (en) Continuous vulnerability management system for blockchain smart contract based digital asset using sandbox and artificial intelligence
US11237898B2 (en) Automatic model-based computing environment performance monitoring
US20190332769A1 (en) Model development and application to identify and halt malware
US9129108B2 (en) Systems, methods and computer programs providing impact mitigation of cyber-security failures
US20170262353A1 (en) Event correlation
WO2020046261A1 (en) Systematic prognostic analysis with dynamic causal model
US11502930B2 (en) Method and system for generating alerts using parameter based network monitoring for alert conditions
US11609838B2 (en) System to track and measure machine learning model efficacy
US20210104326A1 (en) Detecting prescription drug abuse using a distributed ledger and machine learning
Wong et al. Blockchain in manufacturing quality control: A computer simulation study
US20240086736A1 (en) Fault detection and mitigation for aggregate models using artificial intelligence
Fonseca et al. Setting the right expectations: Algorithmic recourse over time
CN114402301B (zh) 在共享检测模型系统中维护数据隐私的系统和方法
US20240080332A1 (en) System and method for gathering, analyzing, and reporting global cybersecurity threats
US20100010776A1 (en) Probabilistic modeling of collaborative monitoring of policy violations
US11868855B2 (en) Resiliency for machine learning workloads
Sachdeva et al. User profiling and vulnerability introduction prediction in social coding repositories: A dynamic graph embedding approach: Vulnerability introduction prediction in social coding repositories
Yadav et al. RETRACTED ARTICLE: Securing Diagnosed Parkinson’s Disease Data by Blockchain Technology using 2E2C Algorithm
US11500985B1 (en) Static and dynamic correlation of software development pipeline events
KR102583052B1 (ko) 대용량 데이터 실시간 필터링을 위한 과부하 방지 자가보호 방법 및 이를 위한 장치
US20240220790A1 (en) System and method for preventing introduction of poisoned training data to artificial intelligence models
CHENGJIE Availability and reliability analysis of computer software systems considering maintenance and security issues