BR112021000558B1 - Método, meios legíveis não transitórios e sistema de diferenciação para ciência forense digital - Google Patents

Método, meios legíveis não transitórios e sistema de diferenciação para ciência forense digital Download PDF

Info

Publication number
BR112021000558B1
BR112021000558B1 BR112021000558-7A BR112021000558A BR112021000558B1 BR 112021000558 B1 BR112021000558 B1 BR 112021000558B1 BR 112021000558 A BR112021000558 A BR 112021000558A BR 112021000558 B1 BR112021000558 B1 BR 112021000558B1
Authority
BR
Brazil
Prior art keywords
instances
host
instance
group
baseline
Prior art date
Application number
BR112021000558-7A
Other languages
English (en)
Other versions
BR112021000558A2 (pt
Inventor
Forest MONSEN
Kevin Glisson
Original Assignee
Netflix, 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 Netflix, Inc filed Critical Netflix, Inc
Publication of BR112021000558A2 publication Critical patent/BR112021000558A2/pt
Publication of BR112021000558B1 publication Critical patent/BR112021000558B1/pt

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
    • 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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • 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/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • 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/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)

Abstract

em várias modalidades, uma aplicação de escopo forense analisa as instâncias de hospedeiro para detectar anomalias. a aplicação de escopo forense adquire um instantâneo para cada instância de hospedeiro incluída em um grupo de instâncias. cada instantâneo representa um estado operacional atual da instância de hospedeiro associada. posteriormente, a aplicação de escopo forense realiza operação (ões) de agrupamento com base nos instantâneos para gerar um conjunto de agrupamentos. a aplicação de escopo forense determina que um primeiro agrupamento no conjunto de agrupamentos está associado a menos instâncias de hospedeiro do que pelo menos um segundo agrupamento no conjunto de agrupamentos. com base no primeiro agrupamento, a aplicação de escopo forense determina que uma primeira instância de hospedeiro incluída no grupo de instâncias está operando de maneira anômala. vantajosamente, determinar com eficiência as instâncias de hospedeiro que estão operando de maneira anômala durante um ataque de segurança pode reduzir a quantidade de danos causados pelo ataque de segurança.

Description

REFERÊNCIA CRUZADA PARA PEDIDOS RELACIONADOS
[001] Este pedido reivindica o benefício de prioridade do Pedido de Patente Provisório dos Estados Unidos tendo o Número de Série 62 / 699.711 (Número de Arquivo de Procurador NETF0199USL) e depositado em 17 de julho de 2018. O assunto deste pedido relacionado é aqui incorporado por referência.
FUNDAMENTOS Campo das várias modalidades
[002] As modalidades se referem geralmente à ciência da computação e ciência forense digital e, mais especificamente, a um mecanismo de diferenciação para ciência forense digital.
Descrição da Técnica Relacionada
[003] Quando um ataque de segurança é detectado em um ambiente de computação que inclui múltiplas instâncias de hospedeiro (por exemplo, computadores, servidores, instâncias de nuvem, máquinas virtuais, etc.), determinar quais instâncias de hospedeiro foram comprometidas é fundamental para ser capaz de mitigar quaisquer danos decorrentes do ataque. Por exemplo, se um ataque de malware de roubo de identidade visasse com sucesso um mercado online baseado em nuvem, então os usuários do mercado on-line estariam em risco até que todas as instâncias de hospedeiro comprometidas implementadas no mercado on-line pudessem ser identificadas e o malware injetado pudesse ser completamente erradicado.
[004] Uma maneira de identificar instâncias de hospedeiro comprometidas é uma equipe de segurança inspecionar manualmente cada instância de hospedeiro em busca de sinais de ataque ou invasor. Nessa abordagem, ao identificar sinais de um ataque ou invasor em uma das instâncias de hospedeiro, a equipe de segurança inspeciona manualmente as outras instâncias de hospedeiro para identificar instâncias de hospedeiro adicionais que exibem os sinais identificados. Ao inspecionar as múltiplas instâncias de hospedeiro em busca dos sinais identificados, a equipe de segurança pode descobrir sinais adicionais do ataque ou invasor. Em tais situações, a equipe de segurança também deve inspecionar diferentes instâncias de hospedeiro para identificar quaisquer instâncias de hospedeiro que exibam os sinais adicionais do ataque ou invasor. A equipe de segurança inspeciona manualmente as instâncias de hospedeiro neste tipo de forma iterativa até que a equipe de segurança não consiga detectar nenhum sinal adicional do ataque ou invasor. Uma desvantagem desse tipo de processo de inspeção iterativa é que, quando o número de instâncias de hospedeiro que requerem inspeção é relativamente grande (por exemplo, 300), a identificação de instâncias de hospedeiro comprometidas pode levar várias horas ou até dias. Durante um processo de inspeção prolongado, um ataque ou invasor geralmente é capaz de continuar roubando informações, prejudicando as operações de negócios, danificando software, etc.
[005] Para reduzir o tempo necessário para detectar instâncias de hospedeiro comprometidas, uma aplicação de monitoramento de integridade de arquivo pode ser implantada preventivamente em cada instância de hospedeiro em um determinado ambiente de computação. Em operação, a aplicação de monitoramento de integridade de arquivo típica compara o estado atual de uma determinada instância de hospedeiro a um estado “bom” previamente capturado e conhecido para essa instância de hospedeiro e emite um alerta quando uma incompatibilidade é detectada entre os dois estados. Uma desvantagem das aplicações de monitoramento de integridade de arquivo é que o mecanismo de avaliação implementado em tais aplicações é relativamente inflexível. Em particular, as aplicações de monitoramento de integridade de arquivo requerem o conhecimento prévio de cada instância de hospedeiro (por exemplo, um bom estado conhecido). Como resultado, as aplicações de monitoramento de integridade de arquivo geralmente requerem um ajuste extensivo e manutenção contínua para detectar com eficácia as instâncias de hospedeiro comprometidas.
[006] Como ilustrado acima, o que é necessário na técnica são técnicas mais eficazes para analisar instâncias de hospedeiro em ambientes de computação, a fim de mitigar ataques de segurança.
SUMÁRIO
[007] Uma modalidade apresenta um método para analisar uma ou mais instâncias de hospedeiro em um ambiente de computação, a fim de mitigar um ataque de segurança. O método inclui adquirir um primeiro conjunto de instantâneos para um primeiro grupo de instâncias, onde cada instantâneo representa um estado operacional atual de uma instância de hospedeiro diferente incluída no primeiro grupo de instâncias; realizar uma ou mais operações de agrupamento com base no primeiro conjunto de instantâneos para gerar um primeiro conjunto de agrupamentos; e determinar que uma primeira instância de hospedeiro incluída no primeiro grupo de instâncias está operando de uma forma anômala com base em um primeiro agrupamento incluído no primeiro conjunto de agrupamentos que está associado a menos instâncias de hospedeiro do que pelo menos um segundo agrupamento incluído no primeiro conjunto de agrupamentos.
[008] Pelo menos uma vantagem técnica das técnicas divulgadas em relação à técnica anterior é que, com as técnicas divulgadas, as instâncias de hospedeiro que exibem comportamento relevante a segurança anômalo podem ser identificadas de forma mais eficiente e eficaz. A esse respeito, porque as técnicas divulgadas permitem que os instantâneos das instâncias de hospedeiro sejam automaticamente coletados e avaliados para identificar anomalias, o tempo necessário para identificar instâncias de hospedeiro comprometidas pode ser reduzido em relação às abordagens da técnica anterior. Reduzir o tempo necessário para identificar instâncias de hospedeiro que são comprometidas durante um ataque de segurança normalmente pode reduzir a quantidade de danos causados pelo ataque. Além disso, ao contrário de algumas abordagens da técnica anterior, as consultas usadas para gerar os instantâneos podem ser modificadas de forma flexível durante um ataque de segurança para aumentar a eficácia da detecção de instâncias de hospedeiro comprometidas. Estas vantagens técnicas representam um ou mais avanços tecnológicos em relação às abordagens da técnica anterior.
BREVE DESCRIÇÃO DOS DESENHOS
[009] Para que a maneira pela qual os recursos recitados acima das várias modalidades possam ser entendidos em detalhes, uma descrição mais particular dos conceitos inventivos, brevemente resumidos acima, pode ser feita por referência a várias modalidades, algumas das quais são ilustradas nos desenhos anexos. Deve ser notado, no entanto, que os desenhos anexos ilustram apenas modalidades típicas dos conceitos inventivos e, portanto, não devem ser considerados limitantes do escopo de qualquer forma, e que existem outras modalidades igualmente eficazes.
[0010] A Figura 1 é uma ilustração conceitual de um sistema configurado para implementar um ou mais aspectos das várias modalidades; a Figura 2 é uma ilustração mais detalhada do mecanismo de análise de linha de base da Figura 1, de acordo com várias modalidades; a Figura 3 é uma ilustração mais detalhada do mecanismo de análise de agrupamento da Figura 1, de acordo com várias modalidades; e as Figuras 4A-4B estabelecem um fluxograma de passos de método para analisar instâncias de hospedeiro em um ambiente de computação a fim de mitigar um ataque de segurança, de acordo com várias modalidades.
DESCRIÇÃO DETALHADA
[0011] Na descrição a seguir, vários detalhes específicos são apresentados para fornecer uma compreensão mais completa das várias modalidades. No entanto, será evidente para um versado na técnica que os conceitos inventivos podem ser praticados sem um ou mais desses detalhes específicos.
[0012] Alguns provedores de serviços de grande escala implantam aplicações e serviços em múltiplas regiões e / ou múltiplas nuvens por meio de imagens de máquina virtual ("VM"). Uma imagem de VM inclui as informações necessárias para iniciar uma VM na nuvem e permite que o provedor de serviço lance com eficiência centenas, ou mesmo milhares, de VMs configuradas de forma semelhante como instâncias de hospedeiro em qualquer número de nuvens. Um desafio associado à implantação de um grande número de instâncias de hospedeiro em qualquer ambiente de computação é que, quando um ataque de segurança é detectado no ambiente de computação, pode ser problemático determinar quais instâncias de hospedeiro foram comprometidas. E, até que todas as imagens de hospedeiro comprometidas sejam identificadas, um ataque ou invasor geralmente é capaz de continuar roubando informações, prejudicando operações de negócios, danificando software, etc.
[0013] Uma maneira de identificar instâncias de hospedeiro comprometidas é uma equipe de segurança inspecionar manualmente e iterativamente cada instância de hospedeiro em busca de sinais de um ataque ou invasor até que a equipe de segurança seja incapaz de detectar quaisquer sinais adicionais do ataque ou invasor. Uma desvantagem desse tipo de processo de inspeção iterativa é que, quando centenas ou milhares de instâncias de hospedeiro exigem inspeção, a identificação de instâncias de hospedeiro comprometidas pode levar várias horas ou até dias.
[0014] Para reduzir o tempo necessário para detectar instâncias de hospedeiro comprometidas, uma aplicação de monitoramento de integridade de arquivo pode ser implantada preventivamente em cada instância de hospedeiro em um determinado ambiente de computação. Uma desvantagem das aplicações de monitoramento de integridade de arquivo é que o mecanismo de avaliação implementado em tais aplicações é relativamente inflexível. Em particular, as aplicações de monitoramento de integridade de arquivo requerem o conhecimento prévio de cada instância de hospedeiro (por exemplo, um estado bom conhecido). Como resultado, as aplicações de monitoramento de integridade de arquivo geralmente requerem um amplo ajuste e manutenção contínua para detectar com eficácia as instâncias de hospedeiro comprometidas.
[0015] Com as técnicas divulgadas, no entanto, uma aplicação de escopo forense pode avaliar grupos de instâncias de instâncias de hospedeiro com comportamento semelhante com base em comandos forenses que configuram o comportamento de um mecanismo de análise de linha de base e um mecanismo de análise de agrupamento. Antes de um ataque de segurança, o mecanismo de análise de linha de base pode ser configurado para gerar um instantâneo de linha de base de observações relevantes a segurança para uma instância de hospedeiro recém-implantada incluída em um grupo de instâncias alvo. Durante o ataque de segurança, o mecanismo de análise de linha de base pode ser configurado para gerar instantâneos para cada uma das instâncias de hospedeiro incluídas em um grupo de instâncias alvos para o qual existe um instantâneo de linha de base. O mecanismo de análise de linha de base compara cada um dos instantâneos com o instantâneo de linha de base para detectar quaisquer anomalias relevantes a segurança. O mecanismo de análise de linha de base então gera um conjunto de dados de anomalias especificando anomalias significativas.
[0016] Durante o mesmo ataque de segurança, o mecanismo de análise de agrupamento pode ser configurado para avaliar o mesmo ou outros grupos de instâncias, sem usar nenhum dado gerado anteriormente. Em operação, o mecanismo de análise de agrupamento gera instantâneos para cada uma das instâncias de hospedeiro incluídas em um grupo de instâncias alvo. Subsequentemente, o mecanismo de análise de agrupamento realiza operações de agrupamento com base nos instantâneos para detectar quaisquer valores discrepantes com relação aos recursos relevantes a segurança. O mecanismo de análise de agrupamento, então, gera um conjunto de dados de anomalias que especifica valores discrepantes significativos. Os conjuntos de dados de anomalias gerados pelo mecanismo de análise de linha de base e pelo mecanismo de análise de agrupamento podem ser usados posteriormente para identificar e corrigir instâncias de hospedeiro comprometidas.
[0017] Pelo menos uma vantagem técnica das técnicas divulgadas em relação à técnica anterior é que a aplicação de escopo forense pode ser usada para identificar de forma eficiente e eficaz instâncias de hospedeiro que exibem comportamento anômalo durante ataques de segurança. A esse respeito, porque a aplicação de escopo forense coleta e avalia automaticamente os instantâneos, o tempo necessário para identificar instâncias de hospedeiro comprometidas durante um ataque de segurança pode ser reduzido em relação às abordagens da técnica anterior. Reduzir o tempo necessário para identificar instâncias de hospedeiro que são comprometidas durante um ataque de segurança normalmente pode reduzir a quantidade de danos causados pelo ataque. Além disso, ao contrário de algumas abordagens da técnica anterior, as consultas usadas para gerar os instantâneos podem ser modificadas de forma flexível durante um ataque de segurança para aumentar a eficácia da detecção de instâncias de hospedeiro comprometidas. Notavelmente, usar o mecanismo de escopo forense é especialmente conveniente para provedores de serviços que já implantam instâncias de hospedeiro em grupos de instâncias de hospedeiro relacionadas (por exemplo, um grupo de VMs derivadas da mesma imagem de VM). Estas vantagens técnicas representam um ou mais avanços tecnológicos em relação às abordagens da técnica anterior.
Visão geral do sistema
[0018] A Figura 1 é uma ilustração conceitual de um sistema 100 configurado para implementar um ou mais aspectos das várias modalidades. Como mostrado, o sistema 100 inclui, sem limitação, uma instância de computação 110, uma nuvem 102, uma infraestrutura de gerenciamento de hospedeiro 134 e uma infraestrutura de consulta / monitor 172. Em modalidades alternativas, o sistema 100 pode incluir qualquer número e tipos de instâncias de computação 110 e qualquer número e tipo de nuvens 102. A nuvem 102 também é referida neste documento como um "ambiente de computação baseado em nuvem". Para fins explicativos, múltiplas instâncias de objetos semelhantes são denotadas com números de referência identificando o objeto e números entre parênteses identificando a instância onde necessário.
[0019] Qualquer número dos componentes do sistema 100 pode ser distribuído em múltiplas localizações geográficas. Em modalidades alternativas, qualquer número da instância de computação 110, a infraestrutura de gerenciamento de hospedeiro 134 e / ou a infraestrutura de consulta / monitor 172 pode ser implementado em qualquer número e tipo de nuvens (incluindo a nuvem 102) e qualquer número de ambientes de computação distribuídos em qualquer combinação.
[0020] Como mostrado, a instância de computação 110 inclui, sem limitação, um processador 112 e uma memória 116. O processador 112 pode ser qualquer sistema, aparelho ou dispositivo de execução de instrução capaz de executar instruções. Por exemplo, o processador 112 pode compreender uma unidade central de processamento ("CPU"), uma unidade de processamento gráfico ("GPU"), um controlador, um microcontrolador, uma máquina de estado ou qualquer combinação dos mesmos. A memória 116 armazena conteúdo, como aplicações de software e dados, para uso pelo processador 112 da instância de computação 110. Em modalidades alternativas, cada uma de qualquer número de instâncias de computação 110 pode incluir qualquer número de processadores 112 e qualquer número de memórias 116 em qualquer combinação. Em particular, qualquer número de instâncias de computação 110 (incluindo uma) pode fornecer um ambiente de multiprocessamento de qualquer forma tecnicamente viável.
[0021] A memória 116 pode ser uma ou mais de uma memória prontamente disponível, como memória de acesso aleatório ("RAM"), memória somente de leitura ("ROM"), disquete, disco rígido ou qualquer outra forma de armazenamento digital, local ou remoto. Em algumas modalidades, um armazenamento (não mostrado) pode complementar ou substituir a memória 116. O armazenamento pode incluir qualquer número e tipo de memórias externas que são acessíveis ao processador 112. Por exemplo, e sem limitação, o armazenamento pode incluir um Cartão Digital Seguro, uma memória Flash externa, uma memória somente de leitura de disco compacto portátil (CD-ROM), um dispositivo de armazenamento ótico, um dispositivo de armazenamento magnético ou qualquer combinação adequada dos anteriores.
[0022] A instância de computação 110 é configurada para implementar uma ou mais aplicações ou subsistemas de aplicações. Apenas para fins explicativos, cada aplicação é descrita como residindo na memória 116 de uma única instância de computação 110 e executando em um processador 112 da única instância de computação 110. No entanto, em modalidades alternativas, a funcionalidade de cada aplicação pode ser distribuída em qualquer número de outras aplicações que residem nas memórias 116 de qualquer número de instâncias de computação 110 e executam nos processadores 112 de qualquer número de instâncias de computação 110 em qualquer combinação. Além disso, a funcionalidade de qualquer número de aplicações ou subsistemas pode ser consolidada em uma única aplicação ou subsistema.
[0023] Em particular, a instância de computação 110 é configurada para mitigar qualquer dano decorrente de ataques de segurança em instâncias de hospedeiro 122 incluídas em ambientes de computação que incluem múltiplas instâncias de hospedeiro 122, como a nuvem 102. Exemplos de ataques de segurança incluem, sem limitação, ataques de criptomineração, violações de dados, ataques de negação de serviço ("DoS"), sequestro de conta ou serviço, injeções de malware, etc. Cada uma das instâncias de hospedeiro 122 pode ser uma instância de qualquer tipo de ambiente de execução independente que pode ser usado para executar aplicações de software. Por exemplo, cada uma das instâncias de hospedeiro 120 pode ser uma instância de computação 110, uma máquina virtual, um contêiner, etc.
[0024] Quando um ataque de segurança é detectado em um ambiente de computação que inclui múltiplas instâncias de hospedeiro 120, determinar quais das instâncias de hospedeiro 122 foram comprometidas é fundamental para ser capaz de mitigar qualquer dano decorrente do ataque. Uma maneira de identificar instâncias de hospedeiro comprometidas é uma equipe de segurança inspecionar manual e iterativamente as instâncias de hospedeiro 122 em busca de sinais de um ataque ou invasor. Uma desvantagem desse tipo de processo de inspeção iterativa é que, quando o número de instâncias de hospedeiro 122 que requerem inspeção é relativamente grande (por exemplo, 300), a identificação de instâncias de hospedeiro comprometidas 122 pode levar várias horas ou até dias. Durante um processo de inspeção prolongado, um ataque ou invasor geralmente é capaz de continuar roubando informações, prejudicando as operações de negócios, danificando software, etc.
[0025] Para reduzir o tempo necessário para detectar instâncias de hospedeiro comprometidas 122, uma aplicação de monitoramento de integridade de arquivo pode ser implantada preventivamente em cada uma das instâncias de hospedeiro 122. Em operação, a aplicação de monitoramento de integridade de arquivo típica compara o estado atual de uma determinada instância de hospedeiro 122 para um estado "bom" previamente capturado e conhecido para essa instância de hospedeiro 122 e emite um alerta quando uma incompatibilidade é detectada entre os dois estados. Uma desvantagem das aplicações de monitoramento de integridade de arquivo é que o mecanismo de avaliação implementado em tais aplicações é relativamente inflexível.
Fluxo de trabalho configurável para detectar instâncias de hospedeiro anômalas
[0026] Para resolver os problemas acima, a instância de computação 110 implementa uma aplicação de escopo forense 150 que analisa automaticamente as instâncias de hospedeiro 122 para identificar valores discrepantes com relação ao comportamento de segurança relevante. Como mostrado, a aplicação de escopo forense 150 reside na memória 116 da instância de computação 110 e é executada no processador 112 da instância de computação 110. Em modalidades alternativas, a aplicação de escopo forense 150 pode residir em qualquer tipo de memória e executar em qualquer dispositivo que é capaz de acessar a memória e executar instruções. Vantajosamente, a aplicação de escopo forense 150 não reside nem é executado em qualquer uma das instâncias de hospedeiro 122 que a aplicação de escopo forense 150 analisa.
[0027] Observe que as técnicas descritas neste documento são ilustrativas, em vez de restritivas, e podem ser alteradas sem se afastar do espírito e escopo mais amplos das modalidades. Muitas modificações e variações serão evidentes para aqueles versados na técnica sem se afastar do escopo e do espírito das modalidades e técnicas descritas. Além disso, em várias modalidades, qualquer número das técnicas divulgadas neste documento pode ser implementado, enquanto outras técnicas podem ser omitidas de qualquer forma tecnicamente viável.
[0028] Em particular e para fins explicativos, a funcionalidade da aplicação de escopo forense 150 é descrita neste documento no contexto das instâncias de hospedeiro 122 que estão incluídas na nuvem 102. No entanto, as técnicas descritas neste documento são aplicáveis para identificar comportamento relevante a segurança discrepante para qualquer número e tipo de instâncias de hospedeiro 122 incluídas em qualquer número e tipo de ambientes de hospedeiro (por exemplo, centros de dados no local, ambientes de computação distribuídos, centros de dados distribuídos, etc.).
[0029] Em geral, a nuvem 102 encapsula qualquer quantidade e tipo de recursos compartilhados, software, dados, etc., em qualquer número de localizações geográficas de qualquer forma tecnicamente viável. Como mostrado, a nuvem 102 inclui, sem limitação, qualquer número de instâncias de armazenamento 130 e qualquer número de grupos de instâncias 120. Cada uma das instâncias de armazenamento 130 inclui, sem limitação, qualquer quantidade de memória encapsulada que pode ser acessível a qualquer número de instâncias de hospedeiro 122 e qualquer número de instâncias de computação externa 110.
[0030] Cada um dos grupos de instâncias 120 inclui, sem limitação, qualquer número e tipo de instâncias de hospedeiro 122 para as quais um ou mais comportamentos e / ou configurações relevantes a segurança devem ser semelhantes (por exemplo, ouvir na mesma porta (s), executar processos semelhantes, etc.). Por exemplo, em algumas modalidades, cada um dos grupos de instâncias 120 é uma coleta de instâncias de hospedeiro 122 que são configuradas de maneira semelhante para executar aplicações de software semelhantes (por exemplo, aplicações de codificação). Na mesma ou em outras modalidades, cada um dos grupos de instâncias 120 pode ser um grupo de escalonamento automático que está sujeito a escalonamento automático e gerenciamento como uma entidade consolidada. Os grupos de instâncias 120 podem ser gerados de qualquer forma tecnicamente viável.
[0031] Como mostrado, a aplicação de escopo forense 150 interage com as instâncias de hospedeiro 122 usando a infraestrutura de gerenciamento de hospedeiro 134 e a infraestrutura de consulta / monitor 172. A infraestrutura de gerenciamento de hospedeiro 134 inclui, sem limitação, qualquer número de aplicações de software que permitem a aplicação de escopo forense 150 configurar, implantar e gerenciar as instâncias de hospedeiro 122 e os grupos de instâncias 120. De uma forma complementar, a infraestrutura de consulta / monitor 172 inclui, sem limitação, qualquer número de aplicações de software que permitem que a aplicação de escopo forense 150 consulte e monitore as atividades de sistema das instâncias de hospedeiro 122.
[0032] Por exemplo, em algumas modalidades, a infraestrutura de consulta / monitor 172 pode incluir uma aplicação na Web de origem aberta que gerencia uma frota de instâncias de hospedeiro 122 executando osquery. Osquery é um software de agente que expõe um sistema operacional como um banco de dados relacional de alto desempenho. Uma vez que o osquery é implantado em uma determinada instância de hospedeiro 122 (x), a instância de hospedeiro 122 (x) pode ser configurada, gerenciada, consultada, monitorada, etc., por meio de consultas escritas na Linguagem de Consulta Estruturada ("SQL"). Osquery pode ser implantado em muitos tipos de instâncias de hospedeiro 122, como instâncias de computação físicas, contêineres e máquinas virtuais. A infraestrutura de consulta / monitor 172 pode usar qualquer tipo de método de transporte para se comunicar com as instâncias de hospedeiro 122. Por exemplo, em algumas modalidades, a infraestrutura de consulta / monitor 172 usa Gerenciador de Sistema Simples ("SSM") para se comunicar com as instâncias de hospedeiro 122.
[0033] Em várias modalidades, qualquer quantidade da funcionalidade da infraestrutura de gerenciamento de hospedeiro 134 e a infraestrutura de consulta / monitor 172 podem se sobrepor. Em modalidades alternativas, a infraestrutura de gerenciamento de hospedeiro 134 e / ou a infraestrutura de consulta / monitor 172 podem ser substituídas ou complementadas com qualquer número (incluindo um) de outras aplicações de software e / ou outras infraestruturas. A topologia de conexão do sistema 100 pode ser modificada em conformidade.
[0034] Apenas para fins explicativos, a infraestrutura de gerenciamento de hospedeiro 134 e a infraestrutura de consulta / monitor 172 são representadas independentemente da aplicação de escopo forense 150 e das instâncias de hospedeiro 122. No entanto, como os versados na técnica reconhecerão, a qualquer momento, qualquer porção (incluindo todas) da funcionalidade da infraestrutura de gerenciamento de hospedeiro 134 e / ou a infraestrutura de consulta / monitor 172 pode ser implementada dentro da aplicação de escopo forense 150 e / ou qualquer número de instâncias de hospedeiro 122.
[0035] Como mostrado, a aplicação de escopo forense 150 inclui, sem limitação, um mecanismo de fluxo de trabalho 152, um mecanismo de coleta 170, um mecanismo de análise de linha de base 160 e um mecanismo de análise de agrupamento 180. O mecanismo de fluxo de trabalho 152 fornece um fluxo de trabalho configurável na granularidade do grupo de instâncias 120. Mais precisamente, durante cada execução do mecanismo de fluxo de trabalho 152, o mecanismo de fluxo de trabalho 152 realiza qualquer número de operações que visam um dos grupos de hospedeiro 120. Analisar cada um dos grupos de instâncias 120 (1) - 120 (M) requer M execuções configuráveis individualmente do mecanismo de fluxo de trabalho 152, onde as M execuções podem ocorrer em série, em paralelo ou em qualquer combinação dos mesmos.
[0036] O mecanismo de fluxo de trabalho 152 inclui, sem limitação, um modo 132, um identificador de grupo alvo ("ID") 158 e uma lista de IDs de instância alvos 156. O modo 132 especifica um modo de execução atual associado ao mecanismo de escopo forense 150. Em algumas modalidades, o modo 132 especifica um de um modo de geração de linha de base associado ao mecanismo de análise de linha de base 160, um modo de análise de linha de base associado ao mecanismo de análise de linha de base 170 e um modo de análise de agrupamento no qual o mecanismo de análise de agrupamento 180 opera.
[0037] A execução atual da aplicação de escopo forense 150 está associada ao grupo de instâncias 120 especificado por meio do ID de grupo alvo 158 e as instâncias de hospedeiro 122 especificadas por meio da lista de IDs de instância alvos 156. Apenas para fins explicativos, o grupo de instâncias 120 que é especificado por meio do identificador de grupo alvo 158 também é referido aqui como o grupo de instâncias "alvo" 120. Quando o modo 132 especifica o modo de geração de linha de base, a lista de IDs de instância alvos 156 inclui, sem limitação, uma única entrada que especifica uma instância de hospedeiro recém- implementada 122 (y) incluída no grupo de instâncias alvos 120. Caso contrário, a lista de IDs de instância alvos 156 especifica todas as instâncias de hospedeiro 122 que estão incluídas no grupo de instâncias alvos 120.
[0038] O mecanismo de fluxo de trabalho 152 determina o modo 132, o identificador de grupo alvo 158 e a lista de identificadores de instância alvos 156 com base em uma ou mais solicitações forenses 154 e, opcionalmente, os resultados obtidos ao responder às solicitações forenses 154. Cada solicitação forense 154 pode solicitar que o mecanismo de fluxo de trabalho 152 execute operações de detecção de anomalias e / ou pode especificar qualquer quantidade e tipo de informação de configuração que é aplicável a um ou mais dos grupos de instâncias 120.
[0039] O mecanismo de fluxo de trabalho 152 pode implementar qualquer número e tipo de interfaces para adquirir as solicitações forenses 154 e, subsequentemente, fornecer quaisquer resultados associados a qualquer número e tipo de clientes de qualquer forma tecnicamente viável. Por exemplo, em algumas modalidades, o mecanismo de fluxo de trabalho 152 pode implementar qualquer número de interfaces gráficas de usuário ("GUIs") e / ou qualquer número de interfaces de linha de comando ("CLIs") para fazer interface com os usuários (por exemplo, membros da equipe de resposta de segurança). Na mesma ou em outras modalidades, o mecanismo de fluxo de trabalho 152 pode implementar qualquer número e tipo de interfaces de programação de aplicação ("APIs") para fazer interface com outras aplicações de software, como um mecanismo de detecção de ataque (não mostrado na Figura 1). Em várias modalidades, o mecanismo de fluxo de trabalho 152 pode fornecer uma interface baseada na web por meio de uma API de Transferência de Estado Representacional ("REST").
[0040] Em algumas modalidades, o mecanismo de fluxo de trabalho 150 configura a aplicação de consulta / monitor 172 direta ou indiretamente por meio de uma ou mais das solicitações forenses 152. Em particular, o mecanismo de fluxo de trabalho 150 permite a personalização de um conjunto de consultas 194 na granularidade do grupo de instâncias 120. O conjunto de consultas 194 pode especificar qualquer número e tipo de consultas e / ou comandos que sejam consistentes com os recursos da aplicação de consulta / monitor 172. Em geral, o conjunto de consultas 194 é projetado para, quando executado pela instância de hospedeiro 122 (x), fornece observações relevantes a segurança em relação à instância de hospedeiro 122 (x). As observações relevantes a segurança para cada instância de hospedeiro 122 são encapsuladas em um instantâneo diferente 198.
[0041] Por exemplo, o conjunto de consultas 194 pode incluir comandos que registram quais portas a instância de hospedeiro 122 está escutando, os processos que a instância de hospedeiro 122 está executando, as entradas de tabela de comando executado em ("cron"), inserções de módulo de kernel, módulos de kernel, etc. Quando executado pela instância de hospedeiro 122 (x), o instantâneo 198 (x) incluiria uma lista de processos, uma lista de entradas de tabela de cron, uma lista de inserções de módulo de kernel, e uma lista de módulos de kernel.
[0042] Em algumas modalidades, a aplicação de consulta / monitor 172 é uma ferramenta de gerenciamento remoto, como Secure Shell ("SSH"), que é capaz de executar cadeias de comandos. Consequentemente, o conjunto de consultas 194 pode ser adaptado para fornecer observações relativamente para cenários relativamente complexos. Por exemplo, o conjunto de consultas 194 pode incluir uma cadeia de comandos que desabilita a Camada 6 da Versão de Protocolo de Internet (“IPv6”), determina se algum processo muda ou não e, em seguida, reabilita a IPv6. Quando o conjunto de consultas 194 é executado nas instâncias de hospedeiro 122, as observações resultantes podem fornecer um insight sobre se uma ou mais das instâncias de hospedeiro 122 foram comprometidas durante um ataque de criptomineração.
[0043] Em operação, o mecanismo de coleta 170 configura a infraestrutura de consulta / monitor 172 para executar a solicitação de consulta 194 nas instâncias de hospedeiro 122 especificadas na lista de IDs de hospedeiro alvos 156 em nome do mecanismo de análise de linha de base 160 e o mecanismo de análise de agrupamento 180. Como mostrado, o mecanismo de coleta 170 gera uma solicitação de coleta 190 que inclui, sem limitação, a lista de IDs de hospedeiro alvos 156 e o conjunto de consultas 194. Observe que o mecanismo de coleta 170 gera a solicitação de coleta 190 em um formato que é compatível com a infraestrutura de consulta / monitor 172.
[0044] Antes de transmitir a solicitação de coleta 190 para a infraestrutura de consulta / monitor 172, o mecanismo de coleta 170 pode realizar qualquer número e tipo de operações para configurar adequadamente as instâncias de hospedeiro 122 especificadas na lista de IDs de hospedeiro alvos 156. Por exemplo, se a infraestrutura de consulta / monitor 172 é baseada em osquery, então o mecanismo de coleta 170 pode instalar o agente de osquery em cada uma das instâncias de hospedeiro 122 especificadas na lista de IDs de hospedeiro alvos 156 para a qual o agente de osquery ainda não está instalado. Em várias modalidades, a infraestrutura de consulta / monitor 172 compreende um agente de software (por exemplo, um agente de osquery) e, depois de instalar o agente de software em cada uma das instâncias de hospedeiro 122, o mecanismo de coleta 170 transmite a solicitação de coleta 190 diretamente para os agentes de software instalados.
[0045] A infraestrutura de consulta / monitor 172 retransmite o conjunto de consultas 194 para cada uma das instâncias de hospedeiro 122 especificadas na lista de IDs de hospedeiro alvos 156 por meio de qualquer mecanismo de transferência compatível (por exemplo, SSH). Em resposta à recepção do conjunto de consultas 194, cada uma das instâncias de hospedeiro 122 executa o conjunto de consultas 194 para gerar um instantâneo diferente 198 que encapsula as observações geradas durante a execução no conjunto de consultas 194. O conteúdo e formato de cada um dos instantâneos 198 dependem do conjunto de consultas 194 e da infraestrutura de consulta / monitor 172. Por exemplo, em algumas modalidades, cada um dos instantâneos 198 pode incluir qualquer número de arquivos de Notação de Objeto JavaScript "JSON". Na mesma ou em outras modalidades, cada um dos instantâneos 198 pode incluir uma saída tabular que representa o estado operacional atual.
[0046] Apenas para fins explicativos, a operação do mecanismo de coleta 170, o formato da solicitação de coleta 190 e a operação da infraestrutura de consulta / monitor 172 são descritos para uma infraestrutura de consulta / monitor exemplar 172 que é capaz de gerenciar múltiplas instâncias de hospedeiro 122 em paralelo. Em modalidades alternativas, o mecanismo de coleta 170 pode gerar uma solicitação de coleta separada 190 para cada uma das instâncias de hospedeiro 122 especificadas na lista de IDs de hospedeiro alvos 156 e retransmitir cada uma das solicitações de coleta 190 para a infraestrutura de consulta / monitor 172. A infraestrutura de consulta / monitor 172 pode executar as solicitações de coleta 190 nas diferentes instâncias de hospedeiro 122 sequencialmente, simultaneamente ou em qualquer combinação dos mesmos.
[0047] Em operação, o mecanismo de fluxo de trabalho 150 configura o mecanismo de análise de linha de base 160 e / ou o mecanismo de análise de agrupamento 180 para executar em resposta a cada um dos seguintes tipos de solicitações forenses 152: uma solicitação de geração de linha de base, uma solicitação de análise de linha de base, uma solicitação de análise de agrupamento e uma solicitação de análise genérica. Como parte da configuração do mecanismo de análise de linha de base 160 e do mecanismo de análise de agrupamento 180, o mecanismo de fluxo de trabalho 152 faz interface com a infraestrutura de gerenciamento de hospedeiro 134 para determinar associações entre as instâncias de hospedeiro 122 e os grupos de instâncias 120. Em modalidades alternativas, o mecanismo de fluxo de trabalho 152 pode determinar associações entre as instâncias de hospedeiro 122 e os grupos de instâncias 120 de qualquer maneira tecnicamente viável.
[0048] Uma solicitação de geração de linha de base especifica a instância de hospedeiro 122 (y) e, opcionalmente, o conjunto de consultas 194. Ao receber a solicitação de geração de linha de base, o mecanismo de fluxo de trabalho 152 define o modo 132 para especificar o modo de geração de linha de base, a lista de identificadores de instância alvos 156 para especificar a instância de hospedeiro 122 (y) e o identificador de grupo alvo 158 para especificar o grupo de instâncias 120 (x) ao qual a instância de hospedeiro 122 (y) pertence. O mecanismo de fluxo de trabalho 152, então, configura o mecanismo de análise de linha de base 160 para executar no modo de geração de linha de base com base no identificador de grupo alvo 158, a lista de identificadores de instância alvos 156, e o conjunto de consultas 194.
[0049] No modo de geração de linha de base, o mecanismo de análise de linha de base 160 gera um conjunto de dados de linha de base 142 que está associado ao grupo de instâncias alvos 120. Para gerar o conjunto de dados de linha de base 142, o mecanismo de análise de linha de base 160 configura o mecanismo de coleta 170 para gerar o instantâneo 198 para uma instância de hospedeiro recém-implementada 122 que é especificada por meio da lista de identificadores de instância alvos 156 usando o conjunto de consultas 194. O mecanismo de análise de linha de base 160 pode adquirir o conjunto de consultas 194 de qualquer maneira tecnicamente viável. Por exemplo, em algumas modalidades, o conjunto de consultas 194 é especificado por meio da solicitação de geração de linha de base. Em várias modalidades, o mecanismo de análise de linha de base 160 ou o mecanismo de fluxo de trabalho 152 implementam um conjunto de consultas padrão 194.
[0050] Posteriormente, o mecanismo de análise de linha de base 160 gera um conjunto de dados de linha de base 142 que especifica o instantâneo 198, o conjunto de consultas especificado 194 e o grupo de instâncias alvos 120. O mecanismo de análise de linha de base 160 armazena o conjunto de dados de linha de base 142 em um banco de dados de linha de base 140 que reside em uma das instâncias de armazenamento 130 (1) incluídas na nuvem 102. Observe que, para manter a integridade do banco de dados de linha de base 140, a instância de armazenamento 130 (1) não é acessível às instâncias de hospedeiro 122. Em modalidades alternativas, o banco de dados de linha de base 140 pode residir em qualquer memória que seja acessível ao mecanismo de análise de linha de base 160.
[0051] Uma solicitação de análise de linha de base especifica o grupo de instâncias 120 (x). Ao receber uma solicitação de análise de linha de base, o mecanismo de fluxo de trabalho 152 configura o modo 132 para especificar o modo de análise de linha de base, o identificador de grupo alvo 158 para especificar o grupo de instâncias 120 (x), e a lista de identificadores de instância alvos 156 para especificar todas as instâncias de hospedeiro 122 que estão incluídas no grupo de instâncias alvos 120 (x). O mecanismo de fluxo de trabalho 152 então configura o mecanismo de análise de linha de base 160 para executar no modo de análise de linha de base com base no identificador de grupo alvo 158 e na lista de identificadores de instância alvos 156.
[0052] No modo de análise de linha de base para o grupo de instâncias alvos 120, o mecanismo de análise de linha de base 160 detecta anomalias nas instâncias de hospedeiro 122 incluídas no grupo de instâncias alvos 120 usando o conjunto de consultas de "linha de base" 142 associado ao grupo de instâncias alvos 120 e armazenado no banco de dados de linha de base 140. Mais precisamente, para cada uma das instâncias de hospedeiro 122 (y) incluídas no grupo de instâncias alvos 120, o mecanismo de análise de linha de base 160 configura o mecanismo de coleta 170 para gerar o instantâneo 198 (y) usando o conjunto de consultas de linha de base 142. O mecanismo de análise de linha de base 160 compara cada um dos instantâneos recém-adquiridos 198 com o instantâneo de "linha de base" 198 para determinar anomalias no comportamento das instâncias de hospedeiro 122. O instantâneo de "linha de base" 198 está associado ao grupo de instâncias alvos 120 e é armazenado no banco de dados de linha de base 140.
[0053] Normalmente, antes de um ataque de segurança, para cada um dos grupos de instâncias 120, o mecanismo de análise de linha de base 160 é executado preventivamente no modo de geração de linha de base para gerar o conjunto de dados de linha de base associado 142. Subsequentemente, durante um ataque de segurança, o mecanismo de análise de linha de base 160 é executado no modo de análise de linha de base para detectar anomalias nas instâncias de hospedeiro 122 incluídas em cada um dos grupos de instâncias 120. Um exemplo do modo de geração de linha de base é descrito abaixo e um exemplo do modo de análise de linha de base é descrito em conjunto com a Figura 2.
[0054] Com base nos resultados gerados pelo mecanismo de análise de linha de base 160 em resposta a uma solicitação de análise de linha de base, o mecanismo de fluxo de trabalho 152 pode subsequentemente realizar qualquer número de operações de acompanhamento. Por exemplo, em algumas modalidades, se o mecanismo de análise de linha de base 160 não for capaz de recuperar o conjunto de dados de linha de base 142 (x) associado ao grupo de instâncias alvos 120 (x), então o mecanismo de fluxo de trabalho 152 altera o modo 132 para especificar o modo de análise de agrupamento. O mecanismo de fluxo de trabalho 152, então, configura o mecanismo de análise de agrupamento 180 para executar com base no identificador de grupo alvo 158 e na lista de identificadores de instância alvos 156.
[0055] Em outras modalidades, se o mecanismo de análise de linha de base 152 é incapaz de recuperar um instantâneo de linha de base 198 para o grupo de instâncias 120 (x), então o mecanismo de fluxo de trabalho 152 interage com um usuário e a infraestrutura de gerenciamento de hospedeiro 132 para implantar uma nova instância de hospedeiro 122 (z) que está incluída no grupo de instâncias 120 (x). A instância de hospedeiro 122 (z) pode ser configurada para ser um exemplo representativo de uma instância de hospedeiro executando adequadamente 122 incluída no grupo de instâncias 120 (x) com base em qualquer quantidade de dados de configuração. Um exemplo de tais dados de configuração é uma imagem de contêiner associada ao grupo de instâncias 120 (x). Posteriormente, o mecanismo de fluxo de trabalho 152 configura o mecanismo de análise de linha de base 152 para gerar o instantâneo de linha de base 198 para o grupo de instâncias 120 (x) com base na nova instância de hospedeiro 122 (z). O mecanismo de fluxo de trabalho 152 então configura o mecanismo de análise de linha de base 152 para reexecutar a solicitação de análise de linha de base.
[0056] Na mesma ou em outras modalidades, se o mecanismo de análise de linha de base 160 não identificar quaisquer anomalias, então o mecanismo de fluxo de trabalho 152 altera o modo 132 para especificar o modo de análise de agrupamento. O mecanismo de fluxo de trabalho 152, então, configura o mecanismo de análise de agrupamento 180 para executar com base no identificador de grupo alvo 158 e na lista de identificadores de instância alvos 156.
[0057] Uma solicitação de análise de agrupamento especifica o grupo de instâncias 120 (x) e, opcionalmente, o conjunto de consultas 194 (x). Ao receber a solicitação de análise de agrupamento, o mecanismo de fluxo de trabalho 152 configura o modo 132 para especificar o modo de geração de linha de base, o identificador de grupo alvo 158 para especificar o grupo de instâncias 120 (x), e a lista de identificadores de instância alvos 156 para especificar todas as instâncias de hospedeiro 122 (y) incluídas no grupo de instâncias 120 (x). O mecanismo de fluxo de trabalho 152, então, configura o mecanismo de análise de agrupamento 180 para identificar anomalias associadas às instâncias de hospedeiro 122 incluídas no grupo de instâncias alvos 120 com base no identificador de grupo alvo 158, a lista de identificadores de instância alvos 156 e o conjunto de consultas 194 (x).
[0058] O mecanismo de análise de agrupamento 180 executa uma ou mais operações de agrupamento para detectar anomalias associadas às instâncias de hospedeiro 122 incluídas no grupo de instâncias alvos 120. Vantajosamente, o mecanismo de análise de agrupamento 180 não depende de quaisquer observações geradas anteriormente. Por esse motivo, durante um ataque de segurança, o mecanismo de análise de agrupamento 180 é normalmente configurado para detectar anomalias para os grupos de instâncias 120 que não possuem um conjunto de dados de linha de base associado 142.
[0059] Em operação, para cada uma das instâncias de hospedeiro 122 (y) incluídas no grupo de instâncias alvos 120 (x), o mecanismo de análise de agrupamento 180 configura o mecanismo de coleta 170 para adquirir o instantâneo 198 (y) com base no conjunto de consultas 194 (x). O mecanismo de análise de agrupamento 180 pode gerar e / ou adquirir o conjunto de consultas 194 (x) de qualquer forma tecnicamente viável. Por exemplo, em algumas modalidades, o conjunto de consultas 194 (x) é especificado por meio da solicitação de análise de agrupamento. Em várias modalidades, o mecanismo de análise de agrupamento 180 inclui, sem limitação, um mecanismo de direcionamento (não mostrado na Figura 1) que personaliza o conjunto de consultas 194 (x) para obter observações que são particularmente relevantes para o grupo de instâncias alvos 120 e / ou um ataque de segurança atual.
[0060] O mecanismo de análise de agrupamento 180 então realiza qualquer número e tipo de operações de agrupamento com base nos instantâneos recém-adquiridos 198 para gerar um ou mais agrupamentos. O mecanismo de análise de agrupamento 180 identifica qualquer número de anomalias no comportamento das instâncias de hospedeiro 122 com base nos agrupamentos. O mecanismo de análise de agrupamento 180 pode identificar as anomalias de qualquer forma tecnicamente viável. O mecanismo de análise de agrupamento 180 é descrito em mais detalhes em conjunto com a Figura 3.
[0061] Uma solicitação de análise genérica especifica o grupo de instâncias 120 (x) e, opcionalmente, o conjunto de consultas 194 (x). Ao receber a solicitação de análise genérica, o mecanismo de fluxo de trabalho 152 determina se deve configurar o mecanismo de análise de linha de base 160 e / ou o mecanismo de análise de agrupamento 180 para identificar anomalias associadas ao grupo de instâncias 120 (x) de qualquer forma tecnicamente viável. Por exemplo, se o conjunto de dados de linha de base 140 (x) não existir ou o número de instâncias de hospedeiro 122 incluídas no grupo de instâncias 120 (x) exceder um limiar especificado, o mecanismo de fluxo de trabalho 152 pode configurar o mecanismo de análise de agrupamento 180 para analisar o grupo de instâncias 120 (x). Caso contrário, o mecanismo de fluxo de trabalho 152 poderia configurar o mecanismo de análise de linha de base 160 para analisar o grupo de instâncias 120 (x).
[0062] Como os vários fluxos de trabalho descritos acima ilustram, a capacidade da aplicação de escopo forense 150 de realizar operações de detecção de anomalias baseadas em linha de base, operações de detecção de anomalias baseadas em agrupamento, e executar uma ampla variedade de conjuntos de consulta diferentes 194 fornece uma estrutura flexível que facilita a identificação eficiente e eficaz de instâncias de hospedeiro comprometidas 122.
[0063] Em várias modalidades, a aplicação de escopo forense 150 implementa uma arquitetura de plug-in, o mecanismo de coleta 180 pode ser implementado como um plugin de coleta, e o mecanismo de análise de linha de base 160 e o mecanismo de análise de agrupamento 160 podem ser implementados como plug-ins de análise. Em modalidades alternativas, a aplicação de escopo forense 150 pode incluir qualquer número e tipo de plug-ins de coleta e qualquer número e tipo de plug-ins de análise em qualquer combinação.
[0064] Apenas para fins explicativos, uma série de ações que a aplicação de escopo forense 150 executa em resposta a uma solicitação de geração de linha de base exemplar é representada como uma série de bolhas numeradas. Os valores exemplares estão representados em itálico. Conforme representado com a bolha numerada como 1, o mecanismo de fluxo de trabalho 152 recebe a solicitação de geração de linha de base especificando a instância de hospedeiro 122 (1) A1. Em resposta, o mecanismo de fluxo de trabalho 152 configura o modo 132 para geração de linha de base, a lista de identificadores de instância alvos 156 para especificar a instância de hospedeiro 122 (1) A1 e o identificador de grupo alvo 158 para especificar o grupo de instâncias 120 (1) ao qual a instância de hospedeiro 122 (1) A1 pertence.
[0065] Conforme representado com a bolha numerada 2, o mecanismo de fluxo de trabalho 152 configura o mecanismo de análise de linha de base 160 para executar no modo de geração de linha de base para a instância de hospedeiro 122 (1) A1 e o grupo de instâncias alvos 120. O mecanismo de análise de linha de base 160 define o conjunto de consultas 194 igual a um conjunto de consultas de linha de base padrão e, em seguida, configura o mecanismo de coleta 170 para executar com base na lista de identificadores de instância alvos 156 e o conjunto de consultas 194 (bolha numerada 3).
[0066] Conforme representado com a bolha numerada 4, o mecanismo de coleta 170 gera a solicitação de coleta 190 e transmite a solicitação de coleta 190 para a infraestrutura de consulta / monitor 172. A infraestrutura de consulta / monitor 172 transmite o conjunto de consultas 194 para a instância de hospedeiro 122 (1) A1 (representado com a bolha numerada 5). Em resposta, e conforme representado com a bolha numerada 6, a instância de hospedeiro 122 (1) A1 gera o instantâneo 198 (1) e transmite o instantâneo 198 (1) para o mecanismo de coleta 170. Conforme representado com a bolha numerada 7, o mecanismo de coleta 170 transmite o instantâneo 190 (1) para o mecanismo de análise de linha de base 160. Conforme representado com a bolha numerada 8, o mecanismo de análise de linha de base 160 gera e armazena o conjunto de dados de linha de base 142 (1) que especifica o conjunto de consultas 194, o instantâneo 198 (1), e o ID de grupo alvo 156.
Detectar Anomalias Automaticamente Durante Ataques de Segurança
[0067] A Figura 2 é uma ilustração mais detalhada do mecanismo de análise de linha de base 160 da Figura 1, de acordo com várias modalidades. Apenas para fins explicativos, o mecanismo de análise de linha de base 160 é descrito no contexto de execução de uma solicitação de análise de linha de base exemplar seguindo a solicitação de geração de linha de base exemplar representada na Figura 1, porque uma série de ações associadas com a solicitação de geração de linha de base exemplar é representada na Figura 1 como uma série de bolhas numeradas de 1 a 8, uma série de ações que a aplicação de escopo forense 150 executa em resposta à solicitação de análise de linha de base é representada como uma série de bolhas numeradas de 9 a 16 na Figura 2. Valores exemplares são representados em itálico.
[0068] Conforme representado com a bolha numerada 9, um mecanismo de detecção de ataque 210 detecta um ataque de segurança e, como resultado, o mecanismo de fluxo de trabalho 150 recebe a solicitação forense 154 para realizar uma análise de linha de base para o grupo de instâncias 120 (1) A. Em resposta, o mecanismo de fluxo de trabalho 152 configura o modo 132 para análise de linha de base, o identificador de grupo alvo 158 para especificar o grupo de instâncias 120 (1) A e a lista de identificadores de instância alvos 156 para especificar as instâncias de hospedeiro 122 (1)- 122 (N) A1-AN que estão incluídas no grupo de instâncias 120 (1) A. Conforme representado com a bolha numerada 10, o mecanismo de fluxo de trabalho 152 configura o mecanismo de análise de linha de base 160 para executar no modo de análise de linha de base para o grupo de instâncias 120 (1) A.
[0069] O mecanismo de análise de linha de base 160 pesquisa o banco de dados de linha de base 140 (representado por meio da bolha numerada 11) para identificar o conjunto de dados de linha de base 142 (1) associado ao grupo de instâncias 120 (1) A. Como mostrado, o conjunto de dados de linha de base 142 (1) inclui, sem limitação, um ID de grupo de linha de base 252, um instantâneo de linha de base 220 e um conjunto de consultas de linha de base 294. O ID de grupo de linha de base 252 especifica o ID de grupo de instâncias 120 (1) A que está associado ao conjunto de dados de linha de base 142 (1). O instantâneo de linha de base 220 especifica o instantâneo 198 que o mecanismo de análise de linha de base 160 adquiriu anteriormente para uma instância de hospedeiro recém-implantada 122 incluída no grupo de instâncias 120 (1) A. A instância de hospedeiro 122 da qual o instantâneo de linha de base 220 é adquirido também é referida aqui como uma instância de hospedeiro de "linha de base" 122. O instantâneo de linha de base 220 representa um estado operacional nominal para a instância de hospedeiro de linha de base 122.
[0070] O conjunto de consultas de linha de base 294 especifica o conjunto de consultas 194 que o mecanismo de análise de linha de base 160 usou para gerar o instantâneo de linha de base 220 (1). Observe que se o mecanismo de análise de linha de base 160 não tivesse gerado anteriormente o conjunto de dados de linha de base 142 (1) para o grupo de instâncias 120 (1) A, então o mecanismo de análise de linha de base 160 indicaria uma condição de erro para o mecanismo de análise de linha de base 160 e abortaria o processo de análise de linha de base para o grupo de instâncias 120 (1) A.
[0071] Como mostrado, o mecanismo de análise de linha de base 160 inclui, sem limitação, o instantâneo de linha de base 220, o conjunto de consultas de linha de base 294, um mecanismo de comparação 260 e um conjunto de dados de anomalias 290. Conforme representado com a bolha numerada 12, o mecanismo de análise de linha de base 160 copia o instantâneo de linha de base 220 e o conjunto de consultas de linha de base 294 do conjunto de dados de linha de base 142 (1) associado ao grupo de instâncias 120 (1) para o mecanismo de análise de linha de base 160.
[0072] Conforme representado por meio da bolha numerada 13, o mecanismo de análise de linha de base 160 configura o mecanismo de coleta 170 para executar com base na lista de identificadores de instância alvos 156 e o conjunto de consultas de linha de base 294. O mecanismo de coleta 170 gera a solicitação de coleta 190 que especifica a lista de identificadores de instância alvos 156 e o conjunto de consultas de linha de base 294 (bolha numerada 14) e transmite a solicitação de coleta 190 para a infraestrutura de consulta / monitor 172.
[0073] A infraestrutura de consulta / monitor transmite o conjunto de consultas de linha de base 294 para cada uma das instâncias de hospedeiro 122 (1) - 122 (N) incluídas no grupo de instâncias 120 (1) A, representado como bolha numerada 15. As instâncias de hospedeiro 221 (1) - 222 (N) incluídas no grupo de instâncias 120 (1) A geram, respectivamente, os instantâneos 198 (1) - 198 (N). Conforme representado com a bolha numerada 16, as instâncias de hospedeiro 122 (1) - 122 (N) incluídas no grupo de instâncias 120 (1) A então transmitem, respectivamente, os instantâneos 198 (1) - 198 (N) para o mecanismo de coleta 170. O mecanismo de coleta 170 transmite os instantâneos 198 (1) - 198 (N) para o mecanismo de comparação 260 (representado via bolha numerada 17).
[0074] O mecanismo de comparação 260 inclui, sem limitação, qualquer número de comparadores 262 e uma lista de limiares 264. Apenas para fins explicativos, o número de comparadores 262 é igual ao número de instâncias de hospedeiro 122 incluídas no grupo de instâncias 120 (1) A. Em modalidades alternativas, o número de comparadores 262 pode diferir do número de instâncias de hospedeiro 122 incluídas no grupo de instâncias alvos 120 (1) A. Como uma questão geral, qualquer número de comparadores 262 pode operar sequencialmente, simultaneamente, ou em qualquer combinação dos mesmos.
[0075] A lista de margens 264 especifica qualquer número de margens associadas aos instantâneos 198. Cada margem pode ser associada a qualquer número e tipo de observações incluídas nos instantâneos 198 de qualquer forma tecnicamente viável. Por exemplo, em algumas modalidades, uma margem diferente é especificada para diferentes tipos de observações. Cada um dos comparadores 262 (i) realiza operações de comparação entre o instantâneo 198 (i) e o instantâneo de linha de base 220 para determinar quaisquer diferenças de instantâneo (não mostradas) que excedem as margens associadas especificadas na lista de margens 264.
[0076] Em modalidades alternativas, o mecanismo de comparação 260 pode determinar diferenças de instantâneos entre cada um dos instantâneos 198 (1) - 198 (N) e o instantâneo de linha de base 220 de qualquer forma tecnicamente viável. Com base nas diferenças de instantâneo calculadas pelos comparadores 262 (e conforme representado com a bolha numerada 18), o mecanismo de comparação 260 gera o conjunto de dados de anomalias 290.
[0077] O mecanismo de comparação 260 pode gerar o conjunto de dados de anomalias 290 de qualquer forma tecnicamente viável com base nas diferenças de instantâneo. Em várias modalidades, o mecanismo de comparação 260 filtra e / ou classifica as diferenças de instantâneo em uma ordem de importância relativa com base em qualquer número de definições de configuração (não mostradas). Por exemplo, o mecanismo de comparação 260 poderia filtrar diferenças de instantâneo que não estão relacionadas a observações relevantes a segurança. Posteriormente, o mecanismo de comparação 260 poderia classificar as diferenças de instantâneo restantes com base na magnitude ou tipo de observação.
[0078] Conforme representado com a bolha numerada 19, o mecanismo de análise de linha de base 160 transmite o conjunto de dados de anomalias 190 para o mecanismo de fluxo de trabalho 152. Finalmente (bolha numerada 20), o mecanismo de fluxo de trabalho 152 transmite o conjunto de dados de anomalias 190 para qualquer número de aplicações de software para uso na mitigação da ameaça de segurança detectada pelo mecanismo de detecção de ataque 210.
[0079] A Figura 3 é uma ilustração mais detalhada do mecanismo de análise de agrupamento 180 da Figura 1, de acordo com várias modalidades. Apenas para fins explicativos, o mecanismo de análise de agrupamento 180 é descrito no contexto da execução de uma solicitação de análise de agrupamento exemplar. Além disso, uma série de ações que a aplicação de escopo forense 150 executa em resposta à solicitação de análise de agrupamento é representada como uma série de bolhas numeradas de 1 a 12. Os valores exemplares estão representados em itálico.
[0080] Conforme representado com a bolha numerada 1, o mecanismo de detecção de ataque 210 detecta um ataque de segurança e, como resultado, o mecanismo de fluxo de trabalho 150 recebe a solicitação forense 154 para realizar uma análise de agrupamento para o grupo de instâncias 120 (M) M. Em resposta, o mecanismo de fluxo de trabalho 152 configura o modo 132 para análise de agrupamento, o identificador de grupo alvo 158 para especificar o grupo de instâncias 120 (M) M, e a lista de identificadores de instância alvos 156 para especificar as instâncias de hospedeiro 122 (1) - 122 (M) M1-MP que estão incluídas no grupo de instâncias 120 (M) M. Conforme representado por meio da bolha numerada 2, o mecanismo de fluxo de trabalho 152 configura o mecanismo de análise de agrupamento 180 para detectar anomalias associadas às instâncias de hospedeiro 122 (1) - 122 (M) M1- MP incluídas no grupo de instâncias 120 (M).
[0081] O mecanismo de análise de agrupamento 180 inclui, sem limitação, um mecanismo de direcionamento 310, um conjunto de consultas direcionadas 394, um mecanismo de agrupamento 320, qualquer número de agrupamentos 330 e o conjunto de dados de anomalias 290. Conforme representado com a bolha numerada 3, o mecanismo de direcionamento 310 gera o conjunto de consultas direcionadas 394 com base no grupo de instâncias 120 (M) M. O conjunto de consultas direcionadas 392 é uma versão personalizada do conjunto de consultas 194 descrito anteriormente neste documento.
[0082] O mecanismo de direcionamento 310 pode gerar o conjunto de consultas direcionadas 394 de qualquer forma tecnicamente viável e com base em qualquer quantidade e tipo de dados relevantes a segurança. Por exemplo, em algumas modalidades, o mecanismo de direcionamento 310 pode incluir diferentes consultas no conjunto de consultas direcionadas 394 com base no tipo de aplicações de software que normalmente são executadas dentro do grupo de instâncias 120 (M) M. Na mesma ou em outras modalidades, o mecanismo de segmentação 310 pode incluir consultas diferentes no conjunto de consultas direcionadas 394 com base no tipo de ataque de segurança atual.
[0083] Conforme representado com a bolha numerada 4, o mecanismo de análise de agrupamento 180 configura o mecanismo de coleta 170 para executar com base na lista de identificadores de instância alvos 156 e o conjunto de consultas direcionadas 394. O mecanismo de coleta 170 gera a solicitação de coleta 190 que especifica a lista de identificadores de instância alvos 156 e o conjunto de consultas direcionadas 394 (bolha numerada 5) e transmite a solicitação de coleta 190 para a infraestrutura de consulta / monitor 172.
[0084] A infraestrutura de consulta / monitor 172 transmite o conjunto de consultas direcionadas 394 para cada uma das instâncias de hospedeiro 122 (1) - 122 (P) incluídas no grupo de instâncias 120 (M) M (representado por meio da bolha numerada 6). As instâncias de hospedeiro 122 (1) - 122 (P) incluídas no grupo de instâncias 120 (M) geram, respectivamente, os instantâneos 198 (1) - 198 (M). Conforme representado com a bolha numerada 7, as instâncias de hospedeiro 221 (1) - 222 (P) incluídas no grupo de instâncias 120 (M) então transmitem, respectivamente, os instantâneos 198 (1) - 198 (P) para o mecanismo de coleta 170. O mecanismo de coleta 170 então retransmite os instantâneos 198 (1) - 198 (N) para o mecanismo de agrupamento 320 (representado como a bolha numerada 8).
[0085] O mecanismo de agrupamento 320 inclui, sem limitação, uma lista de pesos 322. A lista de pesos 322 especifica qualquer número de pesos, onde cada peso indica um nível de relevância para segurança para qualquer número de recursos relevantes a segurança derivados de observações incluídas nos instantâneos 198. Exemplos de recursos incluem, sem limitação, o número de processos, o número de processos exclusivos, o número de processos com um nome inesperado, o número de inserções de módulo de kernel, etc. Por exemplo, o peso associado ao número de inserções de módulos de kernel normalmente seria maior do que o peso associado ao número de processos exclusivos. O mecanismo de agrupamento 320 pode extrair qualquer número de recursos das observações incluídas nos instantâneos 198 de qualquer forma tecnicamente viável.
[0086] O mecanismo de agrupamento 320 então realiza qualquer número e tipo de algoritmos de agrupamento (por exemplo, k agrupamento médio, k vizinhos mais próximos, etc.) com base em diferentes recursos e / ou subconjuntos de recursos entre os diferentes instantâneos 198 para gerar os agrupamentos 330. O mecanismo de agrupamento 320 então avalia os agrupamentos 330 para determinar quais dos recursos são menos comuns. Por exemplo, com base nos dois agrupamentos 330 ilustrados na Figura 3, o mecanismo de agrupamento 320 determina que o recurso associado ao agrupamento menor é relativamente incomum. O mecanismo de agrupamento 320 identifica então o agrupamento menor como um agrupamento anômalo 340. Em várias modalidades, o mecanismo de agrupamento 320 pode identificar o agrupamento 330 que está associado ao maior número de instâncias de hospedeiro 122 como um agrupamento primário (não mostrado) e todos os outros agrupamentos 330 como agrupamentos anômalos 340.
[0087] Subsequentemente, o mecanismo de agrupamento 320 pondera os recursos menos comuns com base na lista de pesos 322 para determinar uma classificação de prioridade geral para os recursos. A classificação prioritária para um recurso estima a probabilidade relativa de que as diferenças observadas associadas ao recurso sejam sinais de um ataque de segurança. Conforme representado com a bolha numerada de 10, o mecanismo de agrupamento 320 gera o conjunto de dados de anomalias 290 com base nas diferenças para os recursos com as classificações de prioridade mais alta. Como parte da geração do conjunto de dados de anomalias 290, o mecanismo de agrupamento 320 pode realizar qualquer número de operações de filtragem e / ou classificação adicionais com base nos agrupamentos 330. Conforme representado com a bolha numerada 11, o mecanismo de análise de linha de base 160 transmite o conjunto de dados de anomalias 190 para o mecanismo de fluxo de trabalho 152. Conforme representado através da bolha numerada 20, o mecanismo de fluxo de trabalho transmite o conjunto de dados de anomalias 190 para qualquer número de aplicações de software para uso na mitigação da ameaça de segurança detectada pelo mecanismo de detecção de ataque 210.
[0088] Em modalidades alternativas, o mecanismo de agrupamento 320 pode realizar qualquer número e tipo de operações de agrupamento direta ou indiretamente em qualquer quantidade e tipo de observações incluídas nos instantâneos 198 para gerar qualquer número e tipo de agrupamentos 330 de qualquer forma tecnicamente viável. Na mesma ou em outras modalidades, o mecanismo de agrupamento 320 pode determinar qualquer número de agrupamentos anômalos 330 de qualquer forma tecnicamente viável. Em várias modalidades, o mecanismo de agrupamento 320 pode omitir a lista de pesos 322 e pode realizar qualquer tipo de filtragem, classificação, ordenamento, etc., operações com base nos agrupamentos 330 e / ou instantâneos 198 para gerar o conjunto de dados de anomalias 290.
[0089] As Figuras 4A-4B estabelecem um fluxograma dos passos de método para analisar instâncias de hospedeiro em um ambiente de computação a fim de mitigar um ataque de segurança, de acordo com várias modalidades. Embora os passos de método sejam descritos com referência aos sistemas das Figuras 1-3, os versados na técnica entenderão que qualquer sistema configurado para implementar os passos de método, em qualquer ordem, cai dentro do escopo das várias modalidades.
[0090] Como mostrado, um método 400 começa no passo 402, onde o mecanismo de fluxo de trabalho 152 recebe a solicitação forense 154. No passo 404, o mecanismo de fluxo de trabalho 152 determina se a solicitação forense 154 é uma solicitação de geração de linha de base. Se, no passo 404, o mecanismo de fluxo de trabalho 152 determina que a solicitação forense 154 é uma solicitação de geração de linha de base, o método 400 segue para o passo 406.
[0091] No passo 406, o mecanismo de análise de linha de base 160 adquire o instantâneo de linha de base 220 para a instância de hospedeiro 122 especificada na solicitação forense 154 usando o conjunto de consultas de linha de base 294. No passo 408, o mecanismo de análise de linha de base 160 armazena o instantâneo de linha de base 220, o conjunto de consultas de linha de base 294 e o ID de grupo de linha de base 242 especificando o grupo de instâncias 120 ao qual a instância de hospedeiro 122 pertence como um novo conjunto de dados de linha de base 142 no banco de dados de linha de base 140. O método 408 então prossegue diretamente para o passo 438.
[0092] Se, no entanto, no passo 404, o mecanismo de fluxo de trabalho 152 determina que a solicitação forense 154 não é uma solicitação de geração de linha de base, então o método 400 segue diretamente para o passo 410. No passo 410, o mecanismo de fluxo de trabalho 152 determina o modo 132 com base na solicitação forense 154. No passo 412, o mecanismo de fluxo de trabalho 152 determina se o modo 132 é o modo de análise de linha de base. Se, no passo 412, o mecanismo de fluxo de trabalho 152 determina que o modo 132 é o modo de análise de linha de base, então o método 400 segue para o passo 414.
[0093] No passo 414, o mecanismo de análise de linha de base 160 tenta recuperar, a partir do banco de dados de linha de base 140, o instantâneo de linha de base 220 e o conjunto de consultas de linha de base 294 associado ao grupo de instâncias alvos 120 especificado na solicitação forense 154. No passo 416, o mecanismo de análise de linha de base 160 determina se o mecanismo de análise de linha de base 160 recuperou com sucesso o instantâneo de linha de base 220 e o conjunto de consultas de linha de base 294. Se, no passo 416, o mecanismo de análise de linha de base 160 determina que o mecanismo de análise de linha de base 160 recuperou com sucesso o instantâneo de linha de base 220 e o conjunto de consultas de linha de base 294, então o método segue para o passo 418.
[0094] No passo 418, o mecanismo de análise de linha de base 160 adquire o instantâneo 198 para cada uma das instâncias de hospedeiro 122 incluídas no grupo de instâncias alvos 120 usando o conjunto de consultas de linha de base 294. No passo 420, para cada uma das instâncias de hospedeiro 122 incluídas no grupo de instâncias alvos 120, o mecanismo de comparação 260 compara o instantâneo associado 198 ao instantâneo de linha de base 220 para determinar as diferenças de instantâneo. No passo 422, o mecanismo de análise de linha de base 160 gera o conjunto de dados de anomalias 290 com base nas diferenças de instantâneo.
[0095] No passo 424, o mecanismo de fluxo de trabalho 152 determina se o conjunto de dados de anomalias 290 especifica quaisquer anomalias. Se, no passo 424, o mecanismo de fluxo de trabalho 152 determinar que o conjunto de dados de anomalias 290 especifica anomalias, então o método 400 segue para o passo 426. No passo 426, o mecanismo de fluxo de trabalho 152 fornece o conjunto de dados de anomalias 290 para uma ou mais aplicações de software para uso na mitigação de um ataque de segurança. O método 400 então segue diretamente para o passo 438.
[0096] Voltando agora para o passo 412, se o mecanismo de fluxo de trabalho 152 determina que o modo 132 não é o modo de análise de linha de base, então o método 400 segue diretamente para o passo 428.
[0097] Voltando agora para o passo 416, se o mecanismo de análise de linha de base 160 determina que o mecanismo de análise de linha de base 160 não recuperou com sucesso o instantâneo de linha de base 220 e o conjunto de consultas de linha de base 294, então o método 400 segue diretamente para o passo 428.
[0098] Voltando agora para o passo 424, se o mecanismo de fluxo de trabalho 152 determina que o conjunto de dados de anomalias 290 não especifica nenhuma anomalia, então o método 400 segue diretamente para o passo 428.
[0099] No passo 428, o mecanismo de direcionamento 310 adquire o conjunto de consultas direcionadas 394. No passo 430, o mecanismo de análise de agrupamento 180 adquire um instantâneo diferente 198 para cada uma das instâncias de hospedeiro 122 incluídas no grupo de instâncias alvos 120 usando o conjunto de consultas direcionadas 394. No passo 432, o mecanismo de agrupamento 320 realiza operações de agrupamento com base nos instantâneos 198 associados ao grupo de instâncias alvos 120 para gerar o conjunto de dados de anomalias 290.
[00100] No passo 434, o mecanismo de fluxo de trabalho 152 determina se o conjunto de dados de anomalias 290 especifica quaisquer anomalias. Se, no passo 434, o mecanismo de fluxo de trabalho 152 determina que o conjunto de dados de anomalias 290 especifica anomalias, então o método 400 segue para o passo 436. No passo 436, o mecanismo de fluxo de trabalho 152 fornece o conjunto de dados de anomalias 290 para uma ou mais aplicações de software para uso na mitigação de um ataque de segurança. Se, no entanto, no passo 434, o mecanismo de fluxo de trabalho 152 determina que o conjunto de dados de anomalias 290 não especifica quaisquer anomalias, então o método 400 segue diretamente para o passo 438.
[00101] No passo 438, o mecanismo de fluxo de trabalho 152 determina se deve continuar operando. Se, no passo 438, o mecanismo de fluxo de trabalho 152 determina continuar operando, então o método 400 retorna para o passo 402, onde o mecanismo de fluxo de trabalho 152 recebe uma nova solicitação forense 154. Se, no entanto, no passo 438, o mecanismo de fluxo de trabalho 152 determina cessar a operação, então o método 400 termina.
[00102] Observe que em algumas modalidades e durante um único ataque de segurança, as solicitações forenses 154 (1) e 154 (2) podem configurar, respectivamente, o mecanismo de análise de linha de base 160 e o mecanismo de análise de agrupamento 180 para realizar operações de análise para um único grupo de instâncias 120 (x). Na mesma ou em outras modalidades, a solicitação forense 154 (1) para uma análise de linha de base pode configurar diretamente o mecanismo de análise de linha de base 160 para realizar operações de análise para o grupo de instâncias 120 (x). Se nenhuma anomalia for incluída no conjunto de dados de anomalias resultante 290, então (no passo 624) o mecanismo de fluxo de trabalho 152 pode configurar o mecanismo de análise de agrupamento 180 para realizar operações de análise para o grupo de instâncias 120 (x) para gerar um novo conjunto de dados de anomalias 290.
[00103] Em suma, as técnicas divulgadas podem ser usadas para mitigar ataques de segurança em instâncias de hospedeiro de forma eficiente e confiável. Uma aplicação de escopo forense avalia grupos de instâncias de instâncias de hospedeiro com comportamento semelhante com base em comandos forenses que configuram o comportamento de um mecanismo de análise de linha de base e um mecanismo de análise de agrupamento. Antes de um ataque de segurança, o mecanismo de análise de linha de base pode ser configurado para operar em um modo de geração de linha de base. No modo de geração de linha de base, o mecanismo de análise de linha de base gera um instantâneo de linha de base de observações relevantes a segurança para uma instância de hospedeiro recém- implementada incluída em um grupo de instâncias alvo.
[00104] Durante um ataque de segurança, o mecanismo de análise de linha de base pode ser configurado para operar em um modo de análise de linha de base. No modo de análise de linha de base, o mecanismo de análise de linha de base gera instantâneos para cada uma das instâncias de hospedeiro incluídas em um grupo de instâncias alvos para o qual um instantâneo de linha de base existe. O mecanismo de análise de linha de base compara cada um dos instantâneos com o instantâneo de linha de base para detectar quaisquer anomalias relevantes a segurança. O mecanismo de análise de linha de base então gera um conjunto de dados de anomalias especificando anomalias significativas. Durante o mesmo ataque de segurança, o mecanismo de análise de agrupamento pode ser configurado para avaliar o mesmo ou outros grupos de instâncias. Em operação, o mecanismo de análise de agrupamento gera instantâneos para cada uma das instâncias de hospedeiro incluídas em um grupo de instâncias alvo. O mecanismo de análise de agrupamento, então, realiza operações de agrupamento com base nos instantâneos para detectar quaisquer valores discrepantes com relação aos recursos relevantes a segurança. O mecanismo de análise de agrupamento, então, gera um conjunto de dados de anomalias que especifica valores discrepantes significativos. Os conjuntos de dados de anomalias gerados pelo mecanismo de análise de linha de base e pelo mecanismo de análise de agrupamento podem ser usados posteriormente para identificar e corrigir instâncias de hospedeiro comprometidas.
[00105] Pelo menos uma vantagem técnica das técnicas divulgadas em relação à técnica anterior é que a aplicação de escopo forense pode ser usada para identificar de forma eficiente e eficaz instâncias de hospedeiro que exibem comportamento anômalo durante ataques de segurança. A esse respeito, porque a aplicação de escopo forense coleta e avalia automaticamente os instantâneos, o tempo necessário para identificar instâncias de hospedeiro comprometidas durante um ataque de segurança pode ser reduzido em relação às abordagens da técnica anterior. Reduzir o tempo necessário para identificar instâncias de hospedeiro que são comprometidas durante um ataque de segurança normalmente pode reduzir a quantidade de danos causados pelo ataque. Além disso, ao contrário das abordagens da técnica anterior que requerem implantação preventiva de aplicações de software para cada instância de hospedeiro, a aplicação de escopo forense pode avaliar externamente instâncias de hospedeiro sem quaisquer dados gerados anteriormente. Consequentemente, ao contrário de algumas abordagens da técnica anterior, as consultas usadas para gerar os instantâneos podem ser modificadas de forma flexível durante um ataque de segurança para aumentar a eficácia da detecção de instâncias de hospedeiro comprometidas. Estas vantagens técnicas representam um ou mais avanços tecnológicos em relação às abordagens da técnica anterior.
[00106] 1. Em algumas modalidades, um método compreende adquirir uma primeira pluralidade de instantâneos para um primeiro grupo de instâncias, em que cada instantâneo representa um estado operacional atual de uma instância de hospedeiro diferente incluída no primeiro grupo de instâncias; realizar uma ou mais operações de agrupamento com base na primeira pluralidade de instantâneos para gerar uma primeira pluralidade de agrupamentos; e determinar que uma primeira instância de hospedeiro incluída no primeiro grupo de instâncias está operando de uma forma anômala com base em um primeiro agrupamento incluído na primeira pluralidade de agrupamentos que está associado a menos instâncias de hospedeiro do que pelo menos um segundo agrupamento incluído na primeira pluralidade de agrupamentos.
[00107] 2. O método da cláusula 1, onde cada instância de hospedeiro compreende um ambiente de execução independente.
[00108] 3. O método das cláusulas 1 ou 2, em que o primeiro grupo de instâncias está associado a um ambiente de computação baseado em nuvem, um centro de dados no local, um ambiente de computação distribuído ou um centro de dados distribuído.
[00109] 4. O método de qualquer uma das cláusulas 1 a 3, em que o primeiro grupo de instâncias é configurado como uma entidade consolidada para realizar operações de escalonamento automático e gerenciamento.
[00110] 5. O método de qualquer uma das cláusulas 1 a 4, em que adquirir a primeira pluralidade de instantâneos compreende, para cada instância de hospedeiro incluída no primeiro grupo de instâncias, transmitir um conjunto de consultas para a instância de hospedeiro e, em resposta, receber um instantâneo de um estado atual da instância de hospedeiro.
[00111] 6. O método de qualquer uma das cláusulas 1 a 5, em que cada instantâneo incluído na primeira pluralidade de instantâneos inclui pelo menos um de uma lista de processos, uma lista de comandos executados em entradas de tabela, uma lista de inserções de módulo de kernel, e uma lista de módulos de kernel.
[00112] 7. O método de qualquer uma das cláusulas 1 a 6, em que a primeira pluralidade de instantâneos está associada a um primeiro conjunto de consultas, e compreendendo ainda, antes de adquirir a primeira pluralidade de instantâneos, adquirir uma segunda pluralidade de instantâneos para o primeiro grupo de instâncias usando um conjunto de consultas de linha de base; e comparar cada instantâneo incluído na segunda pluralidade de instantâneos para um instantâneo de linha de base de um estado operacional nominal de uma instância de hospedeiro de linha de base incluída no primeiro grupo de instâncias para determinar que a segunda pluralidade de instantâneos não indica quaisquer anomalias associadas ao primeiro grupo de instâncias.
[00113] 8. O método de qualquer uma das cláusulas 1 a 7, em que um primeiro instantâneo incluído na primeira pluralidade de instantâneos inclui respostas da primeira instância de hospedeiro para o primeiro conjunto de consultas e um segundo instantâneo incluído na segunda pluralidade de instantâneos inclui respostas da primeira instância de hospedeiro ao conjunto de consultas de linha de base.
[00114] 9. O método de qualquer uma das cláusulas 1 a 8, compreendendo ainda a aquisição de uma segunda pluralidade de instantâneos para um segundo grupo de instância; comparar cada instantâneo incluído na segunda pluralidade de instantâneos para um instantâneo de linha de base de um estado operacional nominal de uma instância de hospedeiro de linha de base incluída no segundo grupo de instâncias para determinar um conjunto de diferenças de instantâneo; e determinar que uma segunda instância de hospedeiro incluída no segundo grupo de instâncias está operando de forma anômala com base no conjunto de diferenças de instantâneo.
[00115] 10. O método de qualquer uma das cláusulas 1 a 9, em que a primeira instância de hospedeiro está operando de forma anômala devido a pelo menos um de um ataque de criptomoeda, uma violação de dados, um ataque de negação de serviço, um sequestro de conta ou serviço, e uma injeção de malware.
[00116] 11. Em algumas modalidades, um ou mais meios legíveis por computador não transitórios incluem instruções que, quando executadas por um ou mais processadores, fazem com que um ou mais processadores realizem os passos de aquisição de uma primeira pluralidade de instantâneos para um primeiro grupo de instâncias usando um primeiro conjunto de consultas, em que cada instantâneo representa um estado operacional atual de uma instância de hospedeiro diferente incluída no primeiro grupo de instâncias; executar um algoritmo de agrupamento com base na primeira pluralidade de instantâneos para gerar uma primeira pluralidade de agrupamentos; e determinar que uma primeira instância de hospedeiro incluída no primeiro grupo de instâncias está operando de uma forma anômala com base em um primeiro agrupamento incluído na primeira pluralidade de agrupamentos que está associado a menos instâncias de hospedeiro do que pelo menos um segundo agrupamento incluído na primeira pluralidade de agrupamentos.
[00117] 12. O um ou mais meios legíveis por computador não transitórios da cláusula 11, em que cada instância de hospedeiro compreende uma instância de computação física, uma máquina virtual ou um contêiner.
[00118] 13. A um ou mais meios legíveis por computador não transitórios das cláusulas 11 ou 12, em que o primeiro grupo de instâncias está associado a um ambiente de computação baseado em nuvem, um centro de dados no local, um ambiente de computação distribuído ou um centro de dados distribuído.
[00119] 14. O um ou mais meios legíveis por computador não transitórios de qualquer uma das cláusulas 11 a 13, em que o primeiro grupo de instâncias é configurado como uma entidade consolidada para realizar operações de escalonamento automático e gerenciamento.
[00120] 15. O um ou mais meios legíveis por computador não transitórios de qualquer uma das cláusulas 11 a 14, em que adquirir a primeira pluralidade de instantâneos compreende instalar software de agente em cada instância de hospedeiro incluída no primeiro grupo de instâncias; e para cada instância de hospedeiro incluída no primeiro grupo de instâncias, transmitir o primeiro conjunto de consultas para o software de agente instalado na instância de hospedeiro e, em resposta, receber um instantâneo de um estado atual da instância de hospedeiro.
[00121] 16. O um ou mais meios legíveis por computador não transitórios de qualquer uma das cláusulas 11 a 15, em que cada instantâneo incluído na primeira pluralidade de instantâneos inclui pelo menos um de uma lista de processos, uma lista de comandos executados nas entradas de tabela, uma lista de inserções de módulo de kernel, e uma lista de módulos de kernel.
[00122] 17. O um ou mais meios legíveis por computador não transitórios de qualquer uma das cláusulas 11 a 16, compreendendo ainda, antes de adquirir a primeira pluralidade de instantâneos, adquirir uma segunda pluralidade de instantâneos para o primeiro grupo de instâncias usando um conjunto de consultas de linha de base; e comparar cada instantâneo incluído na segunda pluralidade de instantâneos para um instantâneo de linha de base de um estado operacional nominal de uma instância de hospedeiro de linha de base incluída no primeiro grupo de instâncias para determinar que a segunda pluralidade de instantâneos não indica quaisquer anomalias associadas ao primeiro grupo de instâncias.
[00123] 18. O um ou mais meios legíveis por computador não transitórios de qualquer uma das cláusulas 11 a 17, compreendendo ainda transmitir o conjunto de consultas de linha de base para uma instância de hospedeiro recém- implantada incluída no primeiro grupo de instâncias e, em resposta, receber o instantâneo de linha de base do estado operacional nominal da instância de hospedeiro recém- implementada.
[00124] 19. O um ou mais meios legíveis por computador não transitórios de qualquer uma das cláusulas 11 a 18, em que o algoritmo de agrupamento compreende um algoritmo de k agrupamentos médios ou um algoritmo de k vizinhos mais próximos.
[00125] 20. Em algumas modalidades, um sistema compreende uma ou mais memórias armazenando instruções; e um ou mais processadores que são acoplados a uma ou mais memórias e, ao executar as instruções, são configurados para adquirir uma pluralidade de instantâneos para um grupo de instâncias, em que cada instantâneo inclui respostas a partir de uma instância de hospedeiro diferente incluída no grupo de instâncias para uma ou mais consultas; realizar uma ou mais operações de agrupamento com base na pluralidade de instantâneos para gerar uma pluralidade de agrupamentos; e determinar que uma primeira instância de hospedeiro incluída no grupo de instâncias está operando de uma forma anômala com base em um primeiro agrupamento incluído na pluralidade de agrupamentos que está associado a menos instâncias de hospedeiro do que pelo menos um segundo agrupamento incluído na pluralidade de agrupamentos.
[00126] Toda e qualquer combinação de qualquer um dos elementos de reivindicação citados em qualquer uma das reivindicações e / ou quaisquer elementos descritos neste pedido, de qualquer forma, cai dentro do escopo contemplado das presentes modalidades e proteção.
[00127] As descrições das várias modalidades foram apresentadas para fins de ilustração, mas não se destinam a ser exaustivas ou limitadas às modalidades divulgadas. Muitas modificações e variações serão evidentes para aqueles versados na técnica sem se afastar do escopo e do espírito das modalidades descritas.
[00128] Aspectos das presentes modalidades podem ser incorporados como um sistema, método ou produto de programa de computador. Consequentemente, os aspectos da presente divulgação podem assumir a forma de uma modalidade inteiramente de hardware, uma modalidade inteiramente de software (incluindo firmware, software residente, microcódigo, etc.) ou uma modalidade combinando aspectos de software e hardware que podem ser geralmente referidos aqui como um "módulo" ou "sistema". Além disso, qualquer técnica, processo, função, componente, mecanismo, módulo ou sistema de hardware e / ou software descrito na presente divulgação pode ser implementado como um circuito ou conjunto de circuitos. Além disso, os aspectos da presente divulgação podem assumir a forma de um produto de programa de computador incorporado em um ou mais meios legíveis por computador tendo código de programa legível por computador incorporado no mesmo.
[00129] Qualquer combinação de um ou mais meios legíveis por computador pode ser utilizada. O meio legível por computador pode ser um meio de sinal legível por computador ou um meio de armazenamento legível por computador. Um meio de armazenamento legível por computador pode ser, por exemplo, mas não limitado a, um sistema, aparelho ou dispositivo eletrônico, magnético, ótico, eletromagnético, infravermelho ou semicondutor ou qualquer combinação adequada dos anteriores. Exemplos mais específicos (uma lista não exaustiva) do meio de armazenamento legível por computador que incluem o seguinte: uma conexão elétrica com um ou mais fios, uma disquete de computador portátil, um disco rígido, uma memória de acesso aleatório (RAM), a memória somente de leitura (ROM), uma memória somente de leitura programável apagável (EPROM ou memória Flash), uma fibra ótica, uma memória somente de leitura de disco compacto portátil (CD-ROM), um dispositivo de armazenamento ótico, um dispositivo de armazenamento magnético ou qualquer combinação adequada dos anteriores. No contexto deste documento, um meio de armazenamento legível por computador pode ser qualquer meio tangível que pode conter ou armazenar um programa para uso por ou em conexão com um sistema, aparelho ou dispositivo de execução de instruções.
[00130] Aspectos da presente divulgação são descritos acima com referência às ilustrações de fluxograma e / ou diagramas de blocos de métodos, aparelhos (sistemas) e produtos de programa de computador de acordo com modalidades da divulgação. Será entendido que cada bloco das ilustrações de fluxograma e / ou diagramas de bloco e combinações de blocos nas ilustrações de fluxograma e / ou diagramas de bloco podem ser implementados por instruções de programa de computador. Estas instruções de programa de computador podem ser fornecidas a um processador de um computador de propósito geral, computador de propósito especial ou outro aparelho de processamento de dados programável para produzir uma máquina. As instruções, quando executadas através do processador do computador ou outro aparelho de processamento de dados programável, permitem a implementação das funções / atos especificados no fluxograma e / ou bloco ou blocos de diagrama de blocos. Esses processadores podem ser, sem limitação, processadores de propósito geral, processadores de propósito especial, processadores de aplicação específica ou arranjos de portas programáveis em campo.
[00131] O fluxograma e os diagramas de bloco nas figuras ilustram a arquitetura, funcionalidade e operação de possíveis implementações de sistemas, métodos e produtos de programa de computador de acordo com várias modalidades da presente divulgação. A este respeito, cada bloco no fluxograma ou diagramas de bloco pode representar um módulo, segmento ou porção do código, que compreende uma ou mais instruções executáveis para implementar a (s) função (ões) lógica (s) especificada (s). Também deve ser observado que, em algumas implementações alternativas, as funções observadas no bloco podem ocorrer fora da ordem observada nas figuras. Por exemplo, dois blocos mostrados em sucessão podem, de fato, ser executados substancialmente simultaneamente, ou os blocos podem às vezes ser executados na ordem inversa, dependendo da funcionalidade envolvida. Também será notado que cada bloco dos diagramas de bloco e / ou ilustração do fluxograma e combinações de blocos nos diagramas de bloco e / ou ilustração do fluxograma podem ser implementados por sistemas baseados em hardware de propósito especial que executam as funções ou atos especificados, ou combinações de hardware para fins especiais e instruções de computador. Embora o anterior seja direcionado a modalidades da presente divulgação, outras e outras modalidades da divulgação podem ser concebidas sem se afastar do escopo básico da mesma, e o escopo da mesma é determinado pelas reivindicações que seguem.

Claims (19)

1. Método caracterizado pelo fato de que compreende: adquirir (430) uma primeira pluralidade de instantâneos (198) para um primeiro grupo de instâncias (120) que compreende uma pluralidade de instâncias de hospedeiro que dividem um ou mais comportamentos de segurança, em que cada instantâneo representa um estado operacional atual de uma instância de hospedeiro diferente (122) incluída na pluralidade de instâncias de hospedeiro; realizar (432) uma ou mais operações de agrupamento com base na primeira pluralidade de instantâneos para gerar uma primeira pluralidade de agrupamentos (330); e determinar (434) que uma primeira instância de hospedeiro incluída no primeiro grupo de instâncias está operando de uma forma anômala com base em um primeiro agrupamento incluído na primeira pluralidade de agrupamentos que está associado a menos instâncias de hospedeiro do que pelo menos um segundo agrupamento incluído na primeira pluralidade de agrupamentos.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que cada instância de hospedeiro compreende um ambiente de execução independente.
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o primeiro grupo de instâncias está associado a um ambiente de computação baseado em nuvem (102), um centro de dados no local, um ambiente de computação distribuído, ou um centro de dados distribuído.
4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o primeiro grupo de instâncias é configurado como uma entidade consolidada para realizar operações de escalonamento automático e gerenciamento.
5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que cada instantâneo incluído na primeira pluralidade de instantâneos inclui pelo menos uma de uma lista de processos, uma lista de comandos executados em entradas de tabela, uma lista de inserções de módulo de kernel, e uma lista de módulos de kernel.
6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a primeira pluralidade de instantâneos está associada a um primeiro conjunto de consultas e compreende ainda, antes de adquirir a primeira pluralidade de instantâneos: adquirir (406) uma segunda pluralidade de instantâneos para o primeiro grupo de instâncias usando um conjunto de consultas de linha de base; e comparar cada instantâneo incluído na segunda pluralidade de instantâneos para um instantâneo de linha de base (198) de um estado operacional nominal de uma instância de hospedeiro de linha de base incluída no primeiro grupo de instâncias para determinar que a segunda pluralidade de instantâneos não indica quaisquer anomalias associadas ao primeiro grupo de instâncias.
7. Método, de acordo com a reivindicação 6, caracterizado pelo fato de que um primeiro instantâneo incluído na primeira pluralidade de instantâneos inclui respostas da primeira instância de hospedeiro para o primeiro conjunto de consultas, e um segundo instantâneo incluído na segunda pluralidade de instantâneos inclui respostas da primeira instância de hospedeiro ao conjunto de consultas de linha de base.
8. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende ainda: adquirir (418) uma segunda pluralidade de instantâneos para um segundo grupo de instâncias; comparar (420) cada instantâneo incluído na segunda pluralidade de instantâneos para um instantâneo de linha de base (198) de um estado operacional nominal de uma instância de hospedeiro de linha de base incluída no segundo grupo de instâncias para determinar um conjunto de diferenças de instantâneo; e determinar (424) que uma segunda instância de hospedeiro incluída no segundo grupo de instâncias está operando de uma forma anômala com base no conjunto de diferenças de instantâneo.
9. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a primeira instância de hospedeiro está operando de forma anômala devido a pelo menos um de um ataque de criptomineração, uma violação de dados, um ataque de negação de serviço, um sequestro de conta ou serviço, e uma injeção de malware.
10. Um ou mais meios legíveis por computador não transitórios, caracterizados pelo fato de que incluem instruções que, quando executadas por um ou mais processadores, fazem com que os um ou mais processadores executem as etapas do método conforme definido em qualquer uma das reivindicações 1 a 9, de: adquirir (430) uma primeira pluralidade de instantâneos (198) para um primeiro grupo de instâncias (120) que compreende uma pluralidade de instâncias de hospedeiro que dividem um ou mais comportamentos de segurança, em que cada instantâneo representa um estado operacional atual de uma instância de hospedeiro diferente (122) incluída na pluralidade de instâncias de hospedeiro; executar (432) uma ou mais operações de agrupamento com base na primeira pluralidade de instantâneos para gerar uma primeira pluralidade de agrupamentos (330); e determinar (434) que uma primeira instância de hospedeiro incluída no primeiro grupo de instâncias está operando de uma forma anômala com base em um primeiro agrupamento incluído na primeira pluralidade de agrupamentos que está associado a menos instâncias de hospedeiro do que pelo menos um segundo agrupamento incluído na primeira pluralidade de agrupamentos.
11. Um ou mais meios legíveis por computador não transitórios, de acordo com a reivindicação 10, caracterizados pelo fato de que cada instância de hospedeiro compreende uma instância de computação física, uma máquina virtual, ou um contêiner.
12. Um ou mais meios legíveis por computador não transitórios, de acordo com a reivindicação 10, caracterizados pelo fato de que o primeiro grupo de instâncias está associado a um ambiente de computação baseado em nuvem, um centro de dados no local, um ambiente de computação distribuído, ou um centro de dados distribuído.
13. Um ou mais meios legíveis por computador não transitórios, de acordo com a reivindicação 10, caracterizados pelo fato de que o primeiro grupo de instâncias é configurado como uma entidade consolidada para realizar operações de escalonamento automático e gerenciamento.
14. Um ou mais meios legíveis por computador não transitórios, de acordo com a reivindicação 10, caracterizados pelo fato de que adquirir a primeira pluralidade de instantâneos compreende: instalar instruções de agente em cada instância de hospedeiro incluída no primeiro grupo de instâncias; e para cada instância de hospedeiro incluída no primeiro grupo de instâncias, transmitir o primeiro conjunto de consultas para as instruções de agente instaladas na instância de hospedeiro e, em resposta, receber um instantâneo de um estado atual da instância de hospedeiro.
15. Um ou mais meios legíveis por computador não transitórios, de acordo com a reivindicação 10, caracterizados pelo fato de que cada instantâneo incluído na primeira pluralidade de instantâneos inclui pelo menos um de uma lista de processos, uma lista de comandos executados em entradas de tabela, uma lista de inserções de módulo de kernel, e uma lista de módulos de kernel.
16. Um ou mais meios legíveis por computador não transitórios, de acordo com a reivindicação 10, caracterizados pelo fato de que compreendem ainda, antes de adquirir a primeira pluralidade de instantâneos: adquirir uma segunda pluralidade de instantâneos para o primeiro grupo de instâncias usando um conjunto de consultas de linha de base; e comparar cada instantâneo incluído na segunda pluralidade de instantâneos para um instantâneo de linha de base de um estado operacional nominal de uma instância de hospedeiro de linha de base incluída no primeiro grupo de instâncias para determinar que a segunda pluralidade de instantâneos não indica quaisquer anomalias associadas ao primeiro grupo de instâncias.
17. Um ou mais meios legíveis por computador não transitórios, de acordo com a reivindicação 16, caracterizados pelo fato de que compreendem ainda transmitir o conjunto de consultas de linha de base para uma instância de hospedeiro recém-implantada incluída no primeiro grupo de instâncias e, em resposta, receber o instantâneo de linha de base do estado de operação nominal da instância de hospedeiro recém-implementada.
18. Um ou mais meios legíveis por computador não transitórios, de acordo com a reivindicação 10, caracterizados pelo fato de que as instruções de agrupamento compreendem instruções de k agrupamentos médios ou instruções de k vizinhos mais próximos.
19. Sistema caracterizado pelo fato de que compreende: uma ou mais memórias armazenando instruções; e um ou mais processadores que são acoplados a uma ou mais memórias e, ao executar as instruções, são configurados para: adquirir (430) uma pluralidade de instantâneos (198) para um primeiro grupo de instâncias (120) que compreende uma pluralidade de instâncias de hospedeiro que divide um ou mais comportamentos de segurança, em que cada instantâneo representa um estado operacional atual de uma instância de hospedeiro diferente (122) incluída na pluralidade de instâncias de hospedeiro; realizar (432) uma ou mais operações de agrupamento com base na primeira pluralidade de instantâneos para gerar uma primeira pluralidade de agrupamentos (330); e determinar (434) que uma primeira instância de hospedeiro incluída no primeiro grupo de instâncias está operando de uma forma anômala com base em um primeiro agrupamento incluído na primeira pluralidade de agrupamentos que está associado a menos instâncias de hospedeiro do que pelo menos um segundo agrupamento incluído na primeira pluralidade de agrupamentos.
BR112021000558-7A 2018-07-17 2019-07-17 Método, meios legíveis não transitórios e sistema de diferenciação para ciência forense digital BR112021000558B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862699711P 2018-07-17 2018-07-17
US62/699,711 2018-07-17
PCT/US2019/042285 WO2020018719A1 (en) 2018-07-17 2019-07-17 Differencing engine for digital forensics

Publications (2)

Publication Number Publication Date
BR112021000558A2 BR112021000558A2 (pt) 2021-04-06
BR112021000558B1 true BR112021000558B1 (pt) 2023-11-07

Family

ID=67480481

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112021000558-7A BR112021000558B1 (pt) 2018-07-17 2019-07-17 Método, meios legíveis não transitórios e sistema de diferenciação para ciência forense digital

Country Status (7)

Country Link
US (1) US11483325B2 (pt)
EP (1) EP3824401A1 (pt)
AU (1) AU2019306246B2 (pt)
BR (1) BR112021000558B1 (pt)
CA (1) CA3105888C (pt)
MX (1) MX2021000598A (pt)
WO (1) WO2020018719A1 (pt)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102059808B1 (ko) * 2018-06-11 2019-12-27 주식회사 티맥스오에스 컨테이너 기반 통합 관리 시스템
US11184373B2 (en) * 2018-08-09 2021-11-23 Mcafee, Llc Cryptojacking detection
US11656769B2 (en) * 2020-07-08 2023-05-23 EMC IP Holding Company LLC Autonomous data protection
WO2023249577A1 (en) * 2022-06-24 2023-12-28 Binalyze Yazilim A.S. Systems and methods for detection of advanced persistent threats in an information network

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070142055A1 (en) * 2005-12-21 2007-06-21 Nokia Corporation Method, mobile device and computer program product for automatically fetching local area radio channels
US8255926B2 (en) * 2007-11-06 2012-08-28 International Business Machines Corporation Virus notification based on social groups
US8707427B2 (en) 2010-04-06 2014-04-22 Triumfant, Inc. Automated malware detection and remediation
US9020535B2 (en) * 2010-11-01 2015-04-28 Verizon Patent And Licensing Inc. Method and system for providing a radio station locator service
US9215244B2 (en) * 2010-11-18 2015-12-15 The Boeing Company Context aware network security monitoring for threat detection
US9747325B2 (en) * 2013-07-30 2017-08-29 Harman International Industries, Incorporated Duplicate station detection system
US9519775B2 (en) * 2013-10-03 2016-12-13 Qualcomm Incorporated Pre-identifying probable malicious behavior based on configuration pathways
US9348742B1 (en) * 2013-12-18 2016-05-24 Amazon Technologies, Inc. Detecting code alteration based on memory allocation
US9817971B2 (en) * 2015-10-29 2017-11-14 International Business Machines Corporation Using call stack snapshots to detect anomalous computer behavior
US10530749B1 (en) * 2016-10-24 2020-01-07 Mission Secure, Inc. Security system, device, and method for operational technology networks
US11651075B2 (en) * 2019-11-22 2023-05-16 Pure Storage, Inc. Extensible attack monitoring by a storage system
US11418526B2 (en) * 2019-12-20 2022-08-16 Microsoft Technology Licensing, Llc Detecting anomalous network activity

Also Published As

Publication number Publication date
AU2019306246A1 (en) 2021-01-28
US11483325B2 (en) 2022-10-25
EP3824401A1 (en) 2021-05-26
AU2019306246B2 (en) 2022-01-27
CA3105888C (en) 2023-12-19
BR112021000558A2 (pt) 2021-04-06
CA3105888A1 (en) 2020-01-23
WO2020018719A1 (en) 2020-01-23
US20200028867A1 (en) 2020-01-23
MX2021000598A (es) 2021-04-13

Similar Documents

Publication Publication Date Title
BR112021000558B1 (pt) Método, meios legíveis não transitórios e sistema de diferenciação para ciência forense digital
US11797684B2 (en) Methods and systems for hardware and firmware security monitoring
Bayer et al. Scalable, behavior-based malware clustering.
US9639693B2 (en) Techniques for detecting a security vulnerability
US9756070B1 (en) Scanning machine images to identify potential risks
JP2018073423A (ja) ファイル変更マルウェア検出
US11108793B2 (en) Preemptive alerts in a connected environment
US9178904B1 (en) Systems and methods for detecting malicious browser-based scripts
US20180052720A1 (en) Tracing System Operations Across Remote Procedure Linkages to Identify Request Originators
US10949532B2 (en) System and method for monitoring file integrity of multiple containers using one agent
JP2014038596A (ja) 悪意ある実行ファイルの識別方法
US20190147163A1 (en) Inferential exploit attempt detection
US20090172816A1 (en) Detecting rootkits over a storage area network
US20210286877A1 (en) Cloud-based method to increase integrity of a next generation antivirus (ngav) security solution in a virtualized computing environment
US9792436B1 (en) Techniques for remediating an infected file
US9805190B1 (en) Monitoring execution environments for approved configurations
US20140215616A1 (en) Attack notification
US9501649B2 (en) Systems and methods for determining potential impacts of applications on the security of computing systems
US11811803B2 (en) Method of threat detection
US11636204B2 (en) Systems and methods for countering removal of digital forensics information by malicious software
US11050766B2 (en) Generating unique virtual process identifiers for use in network security mechanisms
US10185823B1 (en) Examining memory of execution environments to identify potential anomalies
US9231969B1 (en) Determining file risk based on security reputation of associated objects
US20180219884A1 (en) Changing the deployment status of a pre-processor or analytic
Cui et al. A less resource-consumed security architecture on cloud platform

Legal Events

Date Code Title Description
B15V Prolongation of time limit allowed

Free format text: TENDO EM VISTA A PORTARIA INPI PR NO 120 DE 16/03/2020, PORTARIA INPI PR NO 161 DE 13/04/2020; PORTARIA INPI PR NO 166 DE 27/04/2020 E PORTARIA INPI PR NO 179 DE 11/05/2020, QUANTO A SUSPENSAO DOS PRAZOS VENCIDOS ENTRE 16/03/2020 A 31/05/2020, E PORTARIA INPI NO 334 DE 24/09/2020, QUANTO AOS PRAZOS VENCIDOS ENTRE 16/09/2020 A 25/09/2020, DEVOLVE-SE O PRAZO NESSE PEDIDO COM RELACAO A SOLICITACAO DO PEDIDO DE EXAME.

B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 17/07/2019, OBSERVADAS AS CONDICOES LEGAIS