Técnicas cognitivas para detecção precoce de eventos de cibersegurança
Sandeep Narayanan, Ashwinkumar Ganesan, Karuna Joshi, Tim Oates, Anupam Joshi and Tim Finin |
arXiv:1808.00116v1 [cs.CR] 1 Aug 2018 |
Department of Computer Science & Electrical Engineering University of Maryland, Baltimore County, Baltimore, MD, USA {sand7, gashwin1, kjoshi1, oates, joshi, finin}@umbc.edu |
Resumo
A detecção precoce de eventos de segurança cibernética, como ataques, é um desafio devido ao cenário de ameaças em constante evolução. Mesmo com monitoramento avançado, invasores sofisticados podem passar até 146 dias1 em um sistema antes de serem detectados. Este artigo descreve uma nova estrutura cognitiva que auxilia um analista de segurança explorando o poder do conhecimento de representação semanticamente rico e raciocínio com técnicas de aprendizado de máquina. Nosso sistema de Cibersegurança Cognitiva ingere informações de fontes textuais e vários agentes representando sensores baseados em host e rede e representa essas informações em um gráfico de conhecimento. Este gráfico usa termos de uma versão estendida do Unified Cybersecurity Ontology. O sistema raciocina sobre o gráfico de conhecimento para obter uma melhor inteligência acionável para os administradores de segurança, diminuindo assim sua carga cognitiva e aumentando sua confiança no sistema. Desenvolvemos uma estrutura de prova de conceito para nossa abordagem e demonstramos seus recursos usando uma instância de ransomware personalizada que é semelhante ao WannaCry.
I. INTRODUÇÃO
Ameaças de segurança cibernética e custos associados para as organizações estão surgindo. Cerca de 23.000 [24] novas amostras de malware são produzidas diariamente e o custo médio de uma empresa para uma violação de dados é de cerca de US$ 3,4 milhões (de acordo com a Microsoft [16]). Muitas empresas corporativas foram vítimas de ataques de segurança cibernética devido ao intervalo de tempo entre a exploração se tornar pública e a correção de seus sistemas. Por exemplo, considere a linha do tempo do ransomware wannacry, que usa uma vulnerabilidade SMB em máquinas Windows 7 para obter acesso aos sistemas das vítimas. Em 14 de março de 2017, o Microsoft Security Bulletin [18] e o Cisco NGFW publicaram essa vulnerabilidade. Um grupo de hackers, Shadow Brokers [8], lançou um conjunto de vulnerabilidades, incluindo Eternal Blue e Double Pulsar em 14 de abril de 2017. Em meados de maio, o atual ransomware wannacry, que explora a vulnerabilidade SMB usando Eternal Blue começou a se espalhar2 . Se as empresas tivessem corrigido seus sistemas ou configurado adequadamente seus sistemas de detecção de intrusão para detectar a vulnerabilidade, a disseminação em larga escala desse ransomware, que infectou mais de duzentas mil vítimas, poderia ter sido evitada. Esses incidentes revelam o quão importante é estar ciente das vulnerabilidades e ataques recém-relatados. No entanto, devido à avalanche de informações de inteligência de ameaças de fontes como fóruns de bate-papo, boletins de segurança, blogs e relatórios, os analistas de segurança acham difícil acompanhar todas essas informações.
Variações do mesmo ataque cibernético são outra preocupação para a detecção de ataques. Quando os ataques se tornam populares, as empresas de segurança liberam assinaturas para detectá-los. Para evitar a detecção, os invasores geralmente modificam o ataque ou usam modos diferentes de ataque. Um exemplo é o ataque Petya ransomware3, que foi descoberto em 2016. Ele se espalhou por meio de anexos de e-mail e computadores infectados com Windows, substituindo o Master Boot Record (MBR), instalando um carregador de inicialização personalizado e forçando uma reinicialização. O carregador de inicialização personalizado criptografa todos os registros da Master-File-Table (MFT), tornando o sistema de arquivos completo ilegível. O ataque não teve sucesso em infecções em larga escala. No entanto, outro ataque ressurgiu em 2017, compartilhando um código significativo com o Petya. Em vez de usar anexos de e-mail para se espalhar, o novo ataque, chamado NotPetya, usou o Eternal Blue para se espalhar.
Ameaças Persistentes Avançadas (APTs) são outra classe de ataques que são difíceis de detectar. Os ataques APT tendem a ser sofisticados e os invasores são persistentes por um longo período de tempo [14][25]. Os invasores obtêm acesso ilegal à rede de uma organização e podem passar despercebidos por um período de tempo significativo, com o escopo completo do ataque permanecendo desconhecido. Ao contrário de outras ameaças comuns, como vírus e trojans, os APTs são implementados em vários estágios [25]. Os estágios incluem amplamente um reconhecimento (ou vigilância) da rede de destino ou hosts, obtenção de acesso ilegal e entrega de carga útil e execução de programas maliciosos [7]. Embora essas etapas permaneçam as mesmas, as vulnerabilidades específicas usadas para executá-las podem mudar de um APT para outro. Portanto, um desafio importante ao criar novas abordagens para detectar ameaças (ou APTs) é projetar sistemas que possam se adaptar facilmente ao cenário de ameaças em evolução e detectar ataques precocemente (ou seja, “à esquerda da exploração” na “Cyber Kill Chain”. )
Os sistemas modernos de gerenciamento de eventos e informações de segurança (SIEM) surgiram quando os primeiros sistemas de monitoramento de segurança, como os sistemas de detecção de intrusão (IDS) e os sistemas de detecção e prevenção de intrusão (IDPS), começaram a inundar o analista de segurança com alertas. LogRhythm, Splunk, IBM e AlienVault são apenas alguns dos sistemas SIEM disponíveis comercialmente [9]. Um SIEM típico coleta eventos de log de segurança de uma grande variedade de máquinas em uma grande empresa, agrega esses dados centralmente e faz análises simples para fornecer informações aos analistas de segurança. No entanto, apesar de ingerir grandes volumes de dados de sensores de host/rede, os relatórios do SIEM são difíceis de entender, barulhentos e não acionáveis [28]. O ruído nos relatórios do SIEM incomoda 81% dos usuários, conforme relatado em uma pesquisa [29] sobre a eficiência do SIEM. O que está faltando nesses sistemas é a integração de inteligência de ameaças de fontes diferentes e a interpretação eficiente dos dados usando inteligência conhecida. Isso pode reduzir os falsos positivos e melhorar o estado da arte atual neste domínio. Igualmente importante, reduz a carga cognitiva do analista, porque o sistema pode fundir inteligência de ameaças com dados observados para detectar ataques antecipadamente, de preferência antes do início da exploração.
Neste artigo, descrevemos uma estratégia cognitiva para assimilar e processar informações de uma ampla variedade de fontes tradicionais e não tradicionais. Um desafio importante com fontes textuais, como blogs e boletins de segurança, é sua incompletude inerente. Eles geralmente são escritos para públicos específicos e não explicam ou definem o que cada termo significa. Por exemplo, um trecho do boletim de segurança da Microsoft é “A mais grave das vulnerabilidades pode permitir a execução remota de código se um invasor enviar mensagens especialmente criadas para um servidor Microsoft Server Message Block 1.0 (SMBv1)”. Como isso é destinado a especialistas em ciência da computação, o restante do texto não descreverá o que é uma execução remota de código ou servidor SMB.
Para preencher essa lacuna, usamos a Unified Cybersecurity Ontology [27] para representar o conhecimento do domínio de segurança cibernética. Ele fornece uma ontologia comum para informações de um fluxo díspar de fontes e oferece uma visão combinada/unificada dos dados. Conceitos e padrões de diferentes fontes inteligentes como STIX [5], CVE [17], CCE, CVSS, CAPEC, CYBOX, KillChain e STUCCO podem ser representados diretamente usando UCO.
Desenvolvemos um sistema de prova de conceito que ingere informações de fontes textuais, combinando-as com o conhecimento sobre o estado do sistema observado por sensores de host e de rede, e raciocina sobre eles para detectar ataques conhecidos e potencialmente desconhecidos. Desenvolvemos vários agentes, incluindo um agente de monitoramento de processos, um agente de monitoramento de arquivos e um agente snort, que rodam nas respectivas máquinas e entregam conhecimento ao módulo Cognitive CyberSecurity (CCS). O módulo CCS então raciocina sobre os dados e o conhecimento para detectar eventos de segurança cibernética e os relata ao analista de segurança usando uma interface de painel conforme descrito na seção V. Também desenvolvemos um programa de ransomware personalizado, semelhante ao wannacry, para testar e avaliar os recursos de nosso sistema protótipo. Seu projeto e funcionamento são descritos em detalhes na seção V-B. Nós construímos em nosso trabalho anterior neste domínio [19].
Nas seções a seguir, descrevemos em detalhes as várias abordagens que são semelhantes ao nosso trabalho (seção II), uma descrição detalhada do CCS e como ele funciona (seção III), a arquitetura do sistema (seção IV) e avaliação do nosso sistema usando um ataque de ransomware simulado (seção V) para mostrar a eficácia da abordagem.
II. TRABALHO RELATADO
A. Segurança e Gerenciamento de Eventos
À medida que a complexidade das ameaças e APTs cresceu, várias empresas lançaram plataformas comerciais ou sistemas de gerenciamento de informações e eventos de segurança (SIEM) que integram informações de diferentes fontes. Um SIEM típico possui vários recursos, como gerenciamento de logs de fontes diferentes, análise de correlação de vários eventos e mecanismos para alertar os administradores do sistema [26]. O QRadar da IBM, por exemplo, pode gerenciar logs, detectar anomalias, avaliar vulnerabilidades e realizar análises forenses de incidentes conhecidos [4]. Sua inteligência de ameaças vem do X-Force da IBM [20]. O Talos da Cisco [2] é outro sistema de inteligência de ameaças. Muitos SIEMs4, como LogRhythm, Splunk, AlienVault, Micro Focus, McAfee, LogPoint, Dell Technologies (RSA), Elastic, Rapid 7 e Comodo, existem no mercado com recursos como monitoramento em tempo real, inteligência de ameaças, perfil de comportamento, dados e monitoramento de usuários, monitoramento de aplicativos, gerenciamento de logs e análises.
B. Sistemas baseados em ontologia
Obrst et. al [21] detalham um processo para projetar uma ontologia para o domínio da cibersegurança. O estudo é baseado no modelo diamante que define a atividade maliciosa [12]. Ontologias são construídas em uma arquitetura de três camadas que consiste em uma ontologia específica de domínio na camada mais baixa, uma ontologia de nível médio que agrupa e define vários domínios juntos e uma ontologia de nível superior que é definida para ser o mais universal possível. Várias ontologias projetadas posteriormente usaram o processo mencionado acima. Oltramari et. al [22] criaram o CRATELO como uma ontologia de três camadas para caracterizar diferentes ameaças à segurança de rede. As camadas incluem uma ontologia para operações seguras (OSCO) que combina diferentes ontologias de domínio, uma ontologia intermediária relacionada à segurança (SECCO) que estende os conceitos de segurança e a ontologia DOLCE [15] no nível superior. Em Oltramari et. al [23], uma versão simplificada da ontologia DOLCE (DOLCE-SPRAY) é usada para mostrar como um ataque de injeção de SQL pode ser detectado. Ben-Asher et. para o. [6] projetaram um modelo híbrido baseado em ontologia combinando uma ontologia centrada em pacotes de rede representando o tráfego de rede com um agente cognitivo adaptativo que aprende como os humanos tomam decisões enquanto se defendem contra ataques maliciosos. O agente é baseado na teoria do aprendizado baseado em instâncias, usando aprendizado por reforço para melhorar a tomada de decisão por meio da experiência. Grego et. para o. [10] discute uma ontologia abrangente para definir o comportamento do malware.
Cada um desses sistemas e ontologias analisa um subconjunto estreito de informações, como tráfego de rede ou informações do sistema host, enquanto os produtos SIEM não usam os vastos recursos e benefícios de uma abordagem ontológica e dos sistemas para usá-los. A esse respeito, a Cognitive CyberSecurity (CCS) adota uma visão mais ampla e abrangente das ameaças de segurança, integrando informações de várias ontologias existentes, bem como sensores baseados em rede e host (incluindo informações do sistema) para primeiro criar uma visão representativa única dos dados para administradores de sistema e, em seguida, fornecer uma estrutura para raciocinar entre essas várias fontes de dados.
Este artigo melhora significativamente nosso trabalho anterior [19] neste domínio, onde regras semânticas foram usadas para detectar ataques cibernéticos. O CCS usa a Ontologia de Cibersegurança Unificada (UCO), que é uma Ontologia sofisticada e compatível com STIX para representar o conhecimento neste domínio. As extensões atuais ajudam a vincular as fases padrão da cadeia de morte cibernética a vários comportamentos de host e comportamentos de rede que são detectados por sensores tradicionais, como Snort e agentes de monitoramento. Ao contrário do nosso trabalho anterior, essas extensões permitem que nossa técnica assimile fontes textuais incompletas para detecção de eventos de segurança cibernética de maneira cognitiva
II. ABORDAGEM COGNITIVA À CIBERSEGURANÇA
Esta seção descreve nossa abordagem para detectar ataques cibernéticos que imitam as capacidades cognitivas dos humanos. O dicionário Oxford define cognição [1] como “a ação ou processo mental de adquirir conhecimento e compreensão através do pensamento, experiência e sentidos”. Nossa estratégia cognitiva envolve adquirir conhecimento de várias fontes de inteligência, combiná-los em um gráfico de conhecimento existente (que já é preenchido com informações sobre padrões de ataque, ataques anteriores, ferramentas usadas para ataques etc.) e usar esse gráfico de conhecimento para raciocinar sobre os dados . de vários sensores tradicionais e não tradicionais para detectar eventos de segurança cibernética.
Um novo recurso do nosso framework é sua capacidade de assimilar informações de fontes textuais dinâmicas e combiná-las com informações comportamentais de malware, detectando ataques conhecidos e desconhecidos. O principal desafio com as fontes textuais é que elas são destinadas ao consumo humano e, portanto, a informação pode ser incompleta. Além disso, o texto é escrito para um público específico que já possui algum conhecimento sobre o tema. Por exemplo, se o público-alvo de um artigo for um analista de segurança, a linha “Wannacry is a new ransomware”. carrega mais conhecimento do que a informação textual. Alguns pensamentos prontamente inferidos por um humano que o lê podem ser os seguintes. “wannacry é um ransomware”, “wannacry tenta criptografar arquivos confidenciais”, “ele usa alguma ferramenta de criptografia para criptografar esses arquivos confidenciais”, “um programa baixado pode ter iniciado a criptografia”, “ou chaves baixadas ou chaves geradas aleatoriamente são usadas para criptografia”, “A criptografia pode aumentar o uso do processador na máquina vítima”, “Modifica muitos arquivos confidenciais”, etc. Nossa abordagem cognitiva aborda esse problema lembrando as experiências ou o conhecimento em um gráfico de conhecimento e combinando-o com o conhecimento textual novo e potencialmente incompleto usando técnicas de raciocínio padrão.
A maioria dos eventos de segurança cibernética segue um padrão que chamamos de cadeia de eliminação de intrusão. A Lockheed Martin [11] a define com os sete passos a seguir.
- Reconhecimento: Coleta de informações sobre o alvo e vários ataques existentes (por exemplo, varredura de portas, coleta de informações públicas sobre hardware/software usado, etc.)
- Armamento: Combinando um trojan específico (software para fornecer acesso remoto à máquina vítima) com um exploit (software para obter primeiro acesso não autorizado à máquina vítima, muitas vezes explorando vulnerabilidades). Trojans e exploits são escolhidos levando em consideração o conhecimento do Reconnaissance
- Entrega: Entregue a carga útil armada para a máquina de vítimas. (por exemplo, anexos de e-mail, mídia removível, páginas HTML etc.)
- Exploração: Execução da carga útil armada na máquina da vítima.
- Instalação: Uma vez que a exploração é bem-sucedida, o invasor obtém acesso mais fácil à máquina vítima instalando o trojan anexado.
- Comando e Controle (C2): O trojan instalado na máquina vítima pode se conectar a uma máquina de Comando e Controle e se preparar para receber diversos comandos a serem executados na máquina vítima. Muitas vezes, os APTs usam essa estratégia.
- Ações nos Objetivos: A etapa final é realizar diferentes ações maliciosas na máquina da vítima. Por exemplo, um ransomware começa a pesquisar e criptografar arquivos confidenciais.
Diferentes ataques usam uma ou mais dessas sete etapas durante sua execução. No entanto, muitos ataques têm menos etapas. Por exemplo, alguns ataques são autocontidos de tal forma que não há necessidade de uma configuração de comando e controle. Os ataques geralmente usam as mesmas ferramentas ou técnicas semelhantes durante sua execução. Ataques mais recentes podem ser permutações de ferramentas/técnicas usadas em diferentes estágios em ataques mais antigos. Usamos esse entendimento para detectar ataques conhecidos e potencialmente desconhecidos. Alguns exemplos são invasores usando as mesmas ferramentas de varredura de portas como “nmap” para reconhecimento ou usando o mesmo exploit “Eternal Blue” no estágio de Armamento para diferentes ataques principais como Wannacry, NotPetya, Retefe, etc. Assim, combinar informações sobre diferentes ataques conhecidos, fundi-las com informações textuais incompletas e raciocinar sobre elas nos ajudará a detectar ataques mais recentes.
Considere um exemplo em que um blog relatou um novo ransomware que usa nmap para reconhecimento e Eternal Blue para exploração. Nosso gráfico de conhecimento já está preenchido com informações comuns, incluindo que “Eternal Blue usa pacotes SMB mal formados para exploração”, “um ransomware genérico modifica arquivos confidenciais”, “ransomware aumenta a utilização do processador”, etc. Vamos também considerar que os sensores detectaram modificações de arquivos confidenciais, pacotes SMB mal formados e a varredura de porta nmap. Esses dados sozinhos não podem detectar de forma conclusiva a presença de um ataque de ransomware porque isso também pode acontecer por outros motivos (por exemplo, os arquivos são modificados intencionalmente pelo usuário, pacotes SMB incorretos devido a uma rede ruim etc.). No entanto, quando registramos a informação do blog de que um novo ransomware usa o Eternal Blue para exploração, ele funcionará como a peça que faltava em um quebra-cabeça para indicar a presença de um ataque com mais certeza.
A. Modelo de Ataque
Para restringir o sistema, fazemos algumas suposições sobre o invasor. O invasor não tem conhecimento interno completo do sistema que está sendo atacado, o que implica que ele realizará algum nível de sondagem ou reconhecimento. Outra suposição que fazemos é que nem todos os ataques são novos. Os invasores reutilizarão vulnerabilidades publicadas (em blogs de segurança, dark market, formatos de compartilhamento de inteligência como STIX, etc.) em software/sistemas para executar diferentes atividades maliciosas como DoS (Denial-of-Service), ex-filtragem de dados, acesso não autorizado , etc Finalmente, assumimos que nosso framework terá sensores tradicionais suficientes para detectar comportamentos básicos em uma rede (Snort), host (HIDS), etc.
Nós categorizamos os invasores em script kiddies, atores de estado intermediário e avançado. Muitas vezes, os script kids usam técnicas conhecidas existentes e tentam permutações de ferramentas conhecidas para intrusão. Os invasores intermediários, por outro lado, modificam significativamente os ataques ou ferramentas conhecidas e tentam evitar a detecção direta, mas os comportamentos de ataque permanecem os mesmos. Os atores do estado ou especialistas exploram novas vulnerabilidades e criam novos ataques. Nosso sistema tenta se defender efetivamente contra as duas primeiras categorias, mas será difícil defender a terceira categoria até que as informações sobre esses ataques sejam adicionadas ao gráfico de conhecimento.
4. ARQUITETURA DO SISTEMA
Novas técnicas de ataque são relatadas diariamente. Neste artigo, propomos uma estrutura cognitiva para detectar eventos de segurança cibernética amalgamando informações de sensores tradicionais, informações textuais on-line dinâmicas e gráficos de conhecimento. A arquitetura do sistema para nossa estrutura é descrita na Figura 1. As três principais fontes de entrada para nossa estrutura são as informações dinâmicas de fontes textuais, entradas de sensores tradicionais e entradas de especialistas humanos. O módulo IntelAggregate captura informações dessas fontes, converte-as em representação OWL da web semântica e as entrega ao módulo CCS (Cognitive CyberSecurity). O módulo CCS é o cérebro do nosso framework onde a inteligência acionável será gerada para auxiliar o analista de segurança. Os vários componentes são descritos em detalhes abaixo.
A. CCS Framework Inputs
A primeira entrada é de fontes textuais. Esta entrada pode ser informação estruturada em formatos como STIX, TAXII, etc. (de fontes de inteligência de ameaças como US-CERT, Talos, etc.) ou texto simples de fontes como blogs, twitter, postagens do Reddit e postagens da dark web. Parte de uma amostra de inteligência de ameaças no formato STIX compartilhada pelo US-CERT no wannacry é apresentada na Figura 2. Usamos um Reconhecedor de Entidade Nomeada (NER) pronto para uso treinado em texto de segurança cibernética de Joshi et al. [13] para extrair entidades de texto simples. A próxima entrada é de sensores de rede tradicionais (Snort, Bro, etc.) e sensores de host (sistemas de detecção de intrusão de host, módulos de monitoramento de arquivos, módulos de monitoramento de processos, firewalls, etc.). Usamos os logs desses sensores como entrada para nosso sistema. Finalmente, especialistas humanos podem definir regras específicas para detectar comportamentos complexos
Fig. 1. Cognitive CyberSecurity Architecture
ou ataques complexos. A contribuição de especialistas humanos é vital porque a maioria das organizações mantém políticas ou padrões para as atividades em suas redes. Por exemplo, as organizações podem usar uma política de lista branca para conexões IP de entrada (ou seja, somente endereços IP de uma lista específica são aceitos por padrão). Nesses casos, uma regra simples de firewall bloqueará acessos não autorizados. No entanto, agregaria valor para um analista de segurança saber se há um pico repentino nos acessos de entrada de endereços IP ilegais, mesmo que estejam bloqueados (técnicas simples de bloqueio não podem parar um invasor motivado e ele encontrará uma maneira de entrar. analista considera tais atividades como precursoras). Além disso, hoje as intuições de um analista são usadas para identificar potenciais intrusões. Portanto, se pudermos capturar essas intuições, podemos melhorar nossa estrutura. Todas essas entradas são enviadas ao módulo Intel-Aggregate para processamento adicional.
B. Módulo Cognitivo de Segurança Cibernética
Fig. 2. STIX for Wannacry Ransomware
O módulo Cognitive CyberSecurity (CCS) é o cérebro da nossa estrutura que gera inteligência acionável a partir dos dados de entrada. O núcleo deste módulo é a representação do conhecimento. Usamos uma extensão do UCO (Unified CyberSecurity Ontology) usando um formato OWL padrão W3C para representar o conhecimento no domínio. Estendemos o UCO de forma que ele possa raciocinar sobre as entradas de vários sensores de rede, como Snort, IDS, etc. e informações da cadeia de morte cibernética. Também usamos SWRL (Semantic Web Rule Language) para especificar regras entre entidades. Por exemplo, as regras SWRL são usadas para especificar que um ataque seria detectado se diferentes estágios na cadeia de eliminação fossem identificados para um endereço IP específico. As informações no gráfico de conhecimento geralmente são tais que os especialistas podem facilmente adicionar novos conhecimentos a ele. Os especialistas podem usar diretamente diferentes técnicas conhecidas como indicadores porque como os indicadores podem ser detectados (diretamente de sensores ou usando análises complexas desses sensores) já está presente no gráfico de conhecimento. Por exemplo, se um especialista menciona a varredura de porta como um indicador, o raciocinador inferirá automaticamente que o Snort pode detectá-lo e procurará por alertas do Snort. O submódulo de análise estatística e o submódulo de análise de gráfico verificam atividades anômalas usando técnicas padrão, como análise de frequência, técnicas de agrupamento, etc. Qualquer técnica padrão pode ser utilizada para gerar indicadores, desde que gerem trigêmeos OWL padrão para serem alimentados no gráfico de conhecimento do CCS. Um raciocinador padrão também faz parte do módulo CCS que raciocinará sobre o gráfico de conhecimento gerando inteligência acionável. Uma implementação concreta de prova de conceito para este modelo é descrita na Seção V.
C. Módulo Intel-Aggregate
O Módulo Intel-Aggregate (IA) é responsável pela conversão de várias entradas de sensores de rede tradicionais e não tradicionais para o formato OWL da web semântica padrão. Várias entradas para o nosso sistema são mencionadas na Seção IV-A. No entanto, eles produzirão saídas em formatos diferentes e serão incompatíveis com o gráfico de conhecimento do nosso framework (representado usando UCO). A UCO definiu várias entidades, classes, etc. e, para ser consistente com esse gráfico de conhecimento, essas entradas precisam ser transformadas. Este módulo assimila todas as entradas para a estrutura cognitiva, mapeia-as para classes e entidades UCO e gera suas correspondentes declarações OWL bem formadas. O módulo IA fará parte de todos os sensores que estão ligados ao framework
Fig. 3. Prova de Conceito da Arquitetura CCS
V. E AVALIAÇÃO
A avaliação de um sistema detectando ataques reais é difícil. Vários desafios envolvem obter acesso a um malware real, encontrar um ambiente de execução seguro dentro das leis existentes, etc. Por isso, desenvolvemos um ransomware de amostra que é seguro, mas exibe comportamentos maliciosos típicos
Nesta seção, descrevemos a implementação de prova de conceito de nossa abordagem, uma rede de avaliação na qual executamos o ransomware personalizado e discutimos a eficácia de nossa abordagem cognitiva usando a rede simulada.
A. Prova de Conceito Sistema Cognitivo de Segurança Cibernética
Nossa implementação de prova de conceito tem uma arquitetura semelhante a alguns sistemas do mundo real, como Symantec Data Center Security e Crowd Strike. Nosso sistema possui um módulo CCS (o nó mestre) que detecta vários eventos de segurança cibernética e um conjunto configurável de agentes cognitivos que são executados em sistemas host coletando várias estatísticas, conforme mostrado na Figura 3.
- 1) Agentes Cognitivos: Um agente completo é uma combinação do módulo Intel-Aggregator e um sensor tradicional. O módulo Intel Aggregator é desenvolvido de forma que possa ser personalizado para trabalhar com vários sensores tradicionais coletando e enviando informações para o módulo CCS (no formato OWL) para processamento posterior. Em nossa prova de conceito para detectar ataques de ransomware, usamos um agente de monitoramento de processos, um agente de monitoramento de arquivos e um agente Snort conforme enumerado abaixo.
- Agente de Monitoramento de Processo: Este agente combina um monitor de processo customizado e um módulo IA. Ele será executado em todas as máquinas host na rede e monitorará diferentes processos na máquina, sua hierarquia pai e várias estatísticas, como uso de memória, uso de CPU, etc. O agente converte todas essas informações no formato OWL usando o módulo IA e as reporta ao módulo CCS.
- Agente de monitoramento de arquivo: Um monitor de arquivo personalizado é anexado a um módulo IA para desenvolver esse agente. Semelhante a um agente de monitoramento de processos, o agente de monitoramento de arquivos também é executado em todas as máquinas host agregando várias estatísticas relacionadas a arquivos. Monitorar todos os arquivos é uma tarefa complicada. Portanto, mantemos uma lista de arquivos confidenciais, localizações de arquivos e arquivos suspeitos. Os suspeitos são todos aqueles novos arquivos gerados por um novo processo, arquivos grandes baixados da Internet, arquivos copiados de dispositivos de armazenamento em massa, etc. Várias estatísticas que são enviadas para o módulo CCS incluem o processo que modificou o arquivo, tamanho, como foi criado, etc.
- Agente Snort: Como o nome sugere, este agente é uma combinação de um módulo tradicional de snort e IA. Este agente lerá o arquivo de log de saída de um snort e gerará OWL consistente com o gráfico de conhecimento do módulo CCS
Fig. 4. CCS Dashboard
- 2) Módulo CCS: O módulo CCS é o cérebro da nossa abordagem, que usa análises cognitivas para detectar ataques usando informações de agentes cognitivos. Implementamos usando um servidor Apache Fuseki configurado com um SWRL e um raciocinador Jena. Este módulo obterá entradas de todos os agentes enumerados, raciocinará sobre eles e alimentará a saída para um painel cognitivo (um site personalizado). O painel exibirá dinamicamente várias estatísticas, informações de IP, atividades detectadas, etc. Na detecção de um ataque em grande escala, o painel exibirá alertas de ataque, conforme mostrado na Figura 4 (captura de tela do painel).
B.Design de Ransomware Personalizado
Nosso ransomware personalizado tem como alvo máquinas Windows 7 que possuem vulnerabilidade CVE-2017-0143 [3] (estouro de buffer relacionado ao protocolo SMB). Usamos o exploit do metasploit (para este CVE) para obter acesso à máquina vítima. Depois que o ransomware personalizado obtém acesso à máquina da vítima, ele baixa o script do malware da máquina do invasor para a máquina da vítima. O script de malware baixado executa as seguintes funções.
- 1) Baixe um executável para criptografar arquivos
- 2) Baixe uma chave pública da máquina do invasor
- 3) O script enumera os arquivos/pastas confidenciais na máquina da vítima. O script de malware contém uma lista compilada de possíveis locais (por exemplo, local de armazenamento padrão do cliente de e-mail Thunderbird, local padrão do Outlook, pasta de documentos, pasta de downloads padrão, etc.). Nosso ransomware evita arquivos do sistema porque dificulta o processo de inicialização.
- 4) Todos os arquivos selecionados são divididos em partes e uma chave aleatória é gerada para cada parte
- 5) Os arquivos de cada bloco são criptografados usando o algoritmo AES e a chave aleatória correspondente. (AES é usado porque as implementações RSA normalmente não são usadas para criptografar arquivos grandes).
- 6) Os arquivos de dados brutos correspondentes são excluídos com segurança
- 7) Um arquivo é criado com todos os locais de arquivos criptografados e as chaves aleatórias correspondentes usadas para sua criptografia AES.
- 8) Este arquivo recém-gerado é criptografado usando RSA e a chave pública do invasor baixada.
- 9) O arquivo de texto bruto com informações do bloco é excluído.