Neste artigo, Daniil Volkov, importante especialista na área de negócios de Data Science da Neoflex, fala sobre métodos de detecção de anomalias de rede a partir do uso de entropia - principal característica dos sistemas do ponto de vista da teoria da informação. Ele também observa algumas maneiras de detectar anomalias nas séries temporais.
Na última década, uma grande quantidade de pesquisas se concentrou na entropia como uma medida do "caos" inerente a várias características do tráfego de rede. Em particular, a série temporal de entropia provou ser um método relativamente bom para detectar anomalias no tráfego da rede. As vantagens desta abordagem incluem:
- . (, Netflow), .
- . , , , packets rate (rps) (.., packets rate).
- . , zero-day.
Assim, os sistemas propostos para detecção de anomalias baseados no conceito de "entropia" analisam fluxos de rede, e não pacotes de rede individuais. Vamos definir fluxos de rede (doravante simplesmente fluxos) como metadados unidirecionais sobre pacotes de rede que têm os mesmos endereços e portas IP de origem e destino, bem como o tipo de protocolo IP. É importante notar que toda a atividade de rede na camada OSI 3 e superior é reduzida a fluxos, ou seja, não são apenas conexões TCP, mas também protocolos sem estado, como UDP e ICMP. Benefícios de usar o conceito de streams:
- Eles são muito fáceis de usar e armazenam informações, o que facilita a análise;
- Causam menos problemas de privacidade e dados pessoais;
- É fácil estabelecer o acesso às informações necessárias na rede, por exemplo, na forma de Cisco NetFlow, sflow ou mesmo IPFIX (ao seu gosto).
Entropia
Os conceitos de entropia na física estatística e na teoria da informação são bastante próximos um do outro. Além disso, para nós será um fato de pouca importância ao usar a entropia como medida da distribuição das características do tráfego - que a entropia também serve como medida da proximidade do estado do sistema ao equilíbrio (na teoria de processos de não-equilíbrio, que também podem incluir a troca de tráfego de rede). Como muitos lembram, a entropia de Shannon clássica é definida como:
Onde - probabilidade -ésimo estado do sistema, - o número de todos os estados possíveis do sistema. Para facilitar a interpretação do resultado e excluir a influência de fatores sazonais que mudam n, usaremos a entropia de Shannon normalizada a seguir.
Atributos de tráfego de rede e séries temporais de entropia
Agora resta explicar exatamente como vamos calcular para várias características de tráfego de rede e, o mais importante - para quais. Vários autores sugerem o uso de uma grande variedade de características, no entanto, em quase todas as obras, permanece o seguinte conjunto básico:
- IP fonte
- IP de destino
- Porta de origem
- Porto de destino.
Às vezes, é sugerido que seja estendido com outros recursos, como registros de fluxo ou IP para fluxos de backbone.
Usaremos uma série temporal de magnitude calculado para essas características de tráfego, dentro de janelas de tempo de comprimento finito. Os comprimentos de janela típicos (sobreposição, deslizamento podem ser usados) são cerca de 5 a 10 minutos, considerando que a duração típica de um ataque em uma infraestrutura de rede é de dezenas de minutos. E também essa é a necessidade de uma quantidade bastante grande de estatísticas acumuladas. Então, se estivermos interessados na entropia do IP de origem, então é igual ao número de endereços IP únicos na janela, e quanto ao cálculo de probabilidades, a grande maioria dos autores usa o número de pacotes com esta característica como medida da probabilidade de tal pacote na rede (que, em geral , é lógico, mas você pode usar o número de bytes e o número de fluxos). Por exemplo, se tivéssemos 100 pacotes para 1.1.1.1, 100 pacotes para 1.1.1.2 e 300 pacotes para 2.2.2.2, então:
A seguir, discutiremos os atributos e quando faz sentido considerá-los para os tipos de ataques de interesse.
Na maioria dos estudos relacionados à entropia e anomalias de rede, os pesquisadores se concentraram no endereço IP de origem e, por extensão, em sua distribuição e entropia. É uma escolha muito boa.
Em um estudo [Sharma et al. (2015)] os autores experimentaram diferentes tipos de ataques e analisaram a utilidade de diferentes atributos para detectar esses ataques usando uma abordagem de entropia. A saber, o conjunto de dados NUST foi usado, os tipos de ataques: inundação TCP-SYN, inundação UDP e Smurf. Para a análise, foram retirados cerca de 100 mil pacotes de tráfego normal e 10 mil pacotes de tráfego atacado. Os atributos foram Source IP, Destination IP, Source Port e Destination Port (padrão), mas também foram considerados Flags (distribuição por flags TCP), Length (distribuição por comprimentos de pacote), Protocolo (por protocolos).
Como resultado, descobriu-se que é útil usar em sistemas de detecção de anomalias baseados na abordagem de entropia também os já mencionados adicionais aos atributos padrão, como o comprimento do pacote (resultados muito bons no caso de ataques TCP-SYN). É relativamente útil usar entropia por protocolos, uma vez que produziu resultados significativos apenas em casos específicos como inundações UDP, mas esses tipos de ataques podem ser facilmente detectados por métodos completamente tradicionais de monitoramento de tráfego.
Um algoritmo para detectar anomalias de rede com base em séries temporais de entropia
Este método é uma generalização do proposto pelos autores [Winter (2011)]. As generalizações referem-se principalmente a quais atributos usar para construir um sistema de série temporal, bem como métodos para identificar anomalias em séries temporais específicas.
Algoritmo
- , - . [Winter (2011)] : Src-Dst IP/Port, flow records (1 flow records = Src IP + Dst IP + Src Port + Dst Port + IP Protocol);
- ! , . . ;
- ( ). , . – -ésima série temporal de ;
- A ideia principal por trás da detecção de mudanças repentinas é fazer continuamente previsões de curto prazo e determinar a diferença entre a previsão e o valor real. Winter (2011) propõe um método de suavização exponencial simples, mas você pode usar algo mais complexo (e preciso), de redes ARIMA a LSTM.
Para cada nós determinamos o erro de previsão para o momento de nosso interesse :
5. No entanto, certos erros de previsão não são iguais em significância, porque as séries temporais de base têm variâncias diferentes. Por esse motivo, normalizamos os erros de previsão com relação à variância da respectiva série temporal, multiplicando pelo fator de ponderação:
6. Para simplificar o processo de detecção de anomalias, apresentamos a característica agregada "pontuação de anomalia":
7. Se dizemos que uma certa anomalia de tráfego de rede foi registrada.
Valor limite é determinado empiricamente, dependendo do número de séries temporais de base , bem como requisitos para a sensibilidade do detector.
Sobre a configuração de parâmetros
Para nosso algoritmo, precisamos definir vários parâmetros. Cada combinação de parâmetros está associada a uma compensação: uma alta taxa de detecção devido a muitos falsos positivos ou vice-versa.
- . , . , , , – . , . 5 10 ;
- . . , 80%;
- O tamanho da janela deslizante para calcular as variações . Decidimos definir o tamanho da janela deslizante para calcular o desvio padrão em até 24 horas. Na maioria das vezes, essa janela deslizante cobre todo o ciclo sazonal. Em outros casos, recomendamos escolher janelas múltiplas de 24 horas. Uma escolha natural alternativa seria 7 dias.
Outras modificações
Bhuyan et al. (2014) investigou um conjunto de métricas de informação para adequação para detecção de anomalias usando métodos semelhantes. Além da já mencionada e conhecida entropia de Shannon, foram testadas a entropia de Hartley, a entropia de Renyi e a entropia generalizada de Renyi. Estas são generalizações da entropia de Shannon, definidas pela seguinte fórmula:
Aqui ... Como exercício, o leitor tem a oportunidade de se certificar de que quando tende à entropia de Shannon. Entre outras coisas, os autores usaram a suposição generalizada de que o tráfego malicioso obedece a uma distribuição Poisson e o tráfego legítimo obedece a uma distribuição Gaussiana.
Os autores chegaram às seguintes conclusões:
- é importante usar o número mínimo de atributos de tráfego. Na maioria das vezes, esses serão endereços IP ou comprimentos de pacote;
- entropia de informação dá o melhor resultado na detecção de ataques de baixa velocidade para grandes valores ...
resultados
Como Winter (2011) não tinha dados reais para validar, eles modelaram e injetaram anomalias sintéticas no conjunto de dados original. Para isso, uma versão modificada da ferramenta FLAME por Brauckhoff et al. (2008), o que facilita a introdução de anomalias artificiais em dados de streaming. Os autores implementaram dois desses "geradores de fluxo":
- HTTP-flood: HTTP-. 11 500 «». -. , , . - HTTP-. 220,000 , ();
- : , . IP- /16-, 65 534 IP-. TCP- 21, FTP. , . 67000 . , (D).
A figura abaixo mostra a análise de entropia para todo o dia 28 de outubro. O gráfico superior é o conjunto de dados original, enquanto o gráfico inferior contém nossas anomalias adicionadas (C e D). Novamente, os dois gráficos contêm séries temporais para todos os cinco atributos. Séries temporais pretas para é o mais interessante. Em ambos os gráficos, destacamos anomalias particularmente fortes e as rotulamos de A a D. A e B representam anomalias “naturais” que já estavam presentes no conjunto de dados original.
Para ilustrar como tudo isso pode passar despercebido pelas ferramentas de monitoramento tradicionais, a figura abaixo mostra três estatísticas de tráfego populares: bytes, pacotes e fluxos por minuto para o mesmo tráfego do exemplo anterior. As anomalias (marcadas de A a D) desaparecem no ruído.
Um experimento semelhante foi realizado na Neoflex, apenas as anomalias são "naturais", ou seja, já estavam nos dados do cliente.
Para comparação: painéis de tráfego de rede padrão para roteadores no mesmo período:
podemos ver que desvios bastante sérios na distribuição das características de tráfego de rede permaneceram invisíveis por meio das métricas padrão. Como, com base nas informações recebidas, identificar as causas dessas anomalias deve ser discutido em uma conversa separada. Citemos que a busca de um conjunto de valores de características que alterem significativamente a entropia se reduz ao estudo da dinâmica da distribuição dessas mesmas características, podendo em casos simples ser realizada por ordenação ordinária por probabilidades. ...
Resumindo
Assim, implementamos e testamos um algoritmo para detectar uma ampla classe de anomalias na rede por meio de séries temporais de entropia. Ataques como inundações, worms e varreduras geralmente levam a esses tipos de anomalias. A ideia principal do algoritmo é fazer previsões de curto prazo constantemente e determinar a diferença entre as previsões e o valor de entropia realmente observado. A entropia serve como um indicador do equilíbrio do processo. Assim, mudanças abruptas na entropia indicam uma mudança qualitativa na estrutura (por meio de mudanças na distribuição das características) do sistema. É importante notar que os ataques ainda devem atingir uma determinada escala para serem detectados. Ataques em pequena escala podem ser invisíveis em uma conexão de rede de alta velocidade. Nós acreditamos,que algoritmos desse tipo são uma ferramenta valiosa para operadores de rede e departamentos de segurança da informação de vários tipos de empresas. Ele pode ser facilmente configurado, implantado rapidamente e não requer dados de treinamento.
Fontes de informação
Philipp Winter, Harald Lampesberger, Markus Zeilinger e Eckehard Hermann 2011 . “On Detecting Abrupt Changes in Network Entropy Time Series”
Sidharth Sharma, Santosh Kumar Sahu, Sanjay Kumar Jena 2015 . “On Selection of Attributes for Entropy Based Detection of DDoS”
Monowar H. Bhuyan, DK Bhattacharyya, JK Kalita . “Métricas de informação para detecção de ataque DDoS de baixa taxa: uma avaliação comparativa”
Brauckhoff, D., Wagner, A., maio, M.: “FLAME: A Flow-Level Anomaly Modeling Engine”. In: Proc. da conferência sobre experimentação e teste de segurança cibernética. pp. 1 - 6. USENIX Association, Berkeley, CA, EUA (2008)