• Nenhum resultado encontrado

5.3 Módulo de Detecção de Anomalias

5.3.1 Caracterização do Tráfego

O diagnóstico de anomalia de tráfego constitui um aspecto importante na ges- tão de redes para torná-las resilientes, uma vez que permite a identificação e classificação de comportamentos que possam vir a comprometer o funcionamento correto da rede [119]. Entre as diferentes metodologias destinadas a esse propósito, destaca-se a criação de um perfil de comportamento normal da rede que proporciona monitoramento contínuo do trá- fego [24, 123]. Esse perfil, também chamado de assinatura, tem como propósito demarcar os limites em que uma amostra coletada do tráfego deixa de ser usual e passa a apresentar características anômalas.

O uso cotidiano da rede é identificado por ciclos diários de onde se extraem características de comportamento, de acordo com o período do dia ou dia da semana [124]. O mecanismo responsável pela caracterização do comportamento deve ser capaz de reconhecer tais peculiaridades e de lidar com elas para criação do padrão normal. A abordagem desse projeto reconhece esses comportamentos e suas características para criar um perfil de tráfego normal, denominado assinatura digital do tráfego. A assinatura de normalidade é ajustada automaticamente ao comportamento do tráfego, introduzindo novos comportamentos à medida que eles ocorrem. Assumindo que um dado evento esteja presente em grande parte do histórico e se mantém regularmente, ele será adicionado ao perfil normal. Caso contrário, poderia ser reconhecido como um evento esporádico e sua inclusão na assinatura implicaria em inúmeros falsos alarmes durante a detecção de anomalias.

Capítulo 5. Ecossistema Proposto 70

O tráfego histórico de cada switch OpenFlow é analisado a fim de se realizar a caracterização do comportamento usual da rede. Esse processo acontece para cada um dos atributos de fluxos apresentados na Tabela 5.1, e o resultado é um perfil de tráfego representado pelo vetor d:

d = ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ d1 d2 .. . d𝑛 ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ,

em que variável 𝑛 indica o total de períodos de análise de um dia. Cada elemento do vetor contém as estatíticas do tráfego de um intervalo de análise, calculadas para cada atributo do fluxo. Portanto, durante o intervalo 𝑡, o valor esperado dos atributos é descrito por:

bits pacotes H(srcIP) H(dstIP) H(srcPort) H(dstPort)

d𝑡 = [𝑑1 𝑑2 𝑑3 𝑑4 𝑑5 𝑑6]

Após garantir que todos os atributos do fluxo coletados sejam representados por valores quantitativos, a extração do comportamento normal é iniciada. A criação do perfil de tráfego, que fornece a base para a detecção de anomalias, baseia-se na técnica de clusterização (agrupamento). A clusterização é uma ferramenta de mineração de dados utilizada para descobrir e quantificar semelhanças entre amostras de uma base de dados. Por meio da aplicação de um critério bem definido, procura-se agrupar as amostras de tal forma a minimizar a variância entre os elementos de um conjunto, denominado cluster, e maximizá-la em relação aos demais grupos. Como resultado do agrupamento, tem-se como resposta as amostras da base de dados dispostas em grupos, em que cada amostra é mais semelhante aos demais elementos do seu grupo do que qualquer outro.

5.3.1.1 Clusterização

Em relação à estrutura final do agrupamento gerado, a categorização dos al- goritmos de clusterização pode ser dividida entre: agrupamento exclusivo e não-exclusivo. Um agrupamento exclusivo gera uma partição única do conjunto de dados. O termo parti- ção remete à teoria de conjuntos e pode ser definida como uma divisão de um determinado conjunto em outros subconjuntos menores. Para que o agrupamento exclusivo seja efetivo, algumas regras devem ser respeitadas. Dado o conjunto de dados X = {x1, x2, . . . , x𝑛}, uma partição de X em 𝐾 clusters pode ser definida como 𝒞 = {C1, C2, . . . , C𝐾} com

Capítulo 5. Ecossistema Proposto 71 𝐾 ≤ 𝑛, tal que [125]: 𝐾 ⋃︁ 𝑗=1 = X (5.2) C𝑗 ̸= ∅ (5.3) C𝑗 ⋂︁ C = ∅, ℎ ≤ 𝐾 e 𝑗 ̸= ℎ. (5.4)

A equação (5.2) indica que todos os elementos do conjunto de dados partici- pam do processo de agrupamento. A equação (5.3) determina que nenhum cluster deve ser vazio, ou seja, cada subconjunto gerado deve conter pelo menos uma amostra da base de dados. Por fim, a última regra ressalta que cada amostra pertença exclusivamente a um grupo, como mostra a equação (5.4). Essa característica também faz com que os agrupamentos do tipo exclusivo sejam conhecidos como hard, devido à inflexibilidade de uma amostra pertencer a dois ou mais subconjuntos diferentes. Um agrupamento não exclusivo, por sua vez, pode associar um mesmo objeto a vários clusters ou pode atribuir a cada um dos objetos um grau de pertinência em relação a cada um dos clusters. Como o intuito desse trabalho é utilizar a clusterização para minerar o tráfego histórico a fim de reconhecer padrões e tendências que indiquem o comportamento usual do tráfego, a abordagem de agrupamento exclusivo é mais apropriada. Dessa maneira, pequenas flu- tuações em relação ao tráfego normal, como anomalias pontuais e coletivas, podem ser reconhecidas e excluídas da assinatura gerada, evitando erros de classificação quando a assinatura estiver sendo utilizada para detecção.

Respeitando as três regras do agrupamento exclusivo, a clusterização ajuda a promover o conhecimento sobre o conjunto de dados utilizando aprendizado não- supervisionado, ou seja, a extração de padrões, comportamentos e características dos dados é realizada sem a necessidade de conhecimento prévio como, por exemplo, rótulos das amostras (e.g., anômalo ou normal) [126].

Devido à importância da estratégia de agrupamento em vários campos de pes- quisas, diversos algoritmos foram propostos na literatura para resolver o problema de clusterização [127, 128]. A criação de uma partição dos dados pode apresentar complexi- dade exponencial quando o número de clusters é grande e o encontro de uma solução viável torna-se um problema NP-difícil. Para solucionar essa inconveniência, modelos heurísticos têm se tornado cada vez mais populares dentre as técnicas de clusterização. Abordagens baseadas em métodos heurísticos utilizam mecanismos que exploram amplamente o espaço de soluções, fazendo com que as chances do encontro de um resultado ótimo sejam maiores [120]. Outro aspecto importante dos modelos heurísticos é a capacidade de convergência

Capítulo 5. Ecossistema Proposto 72

dos resultados mais rápida do que por métodos convencionais, por exemplo, algoritmos determinísticos. Essa propriedade é mais evidente ao passo que o problema analisado se torna mais complexo computacionalmente.

Para a criação da assinatura do tráfego normal, o processo de clusterização utiliza-se de uma modificação da metaheurística Ant Colony Optimization [129]. As alte- rações ao algoritmo tradicional produziram a técnica chamada Ant Colony Optimization

for Digital Signature (ACODS) [130], a qual cria partições das amostras do tráfego histó-

rico em cada intervalo de análise para a descoberta do comportamento usual. De acordo com Jiang e Papavassiliou [100], o hábito das formigas de viver em grupos é essencialmente similar ao agrupamento de dados. Algoritmos baseados em comportamento de formigas têm vantagens naturais na aplicação da análise de cluster, tais como auto-organização, flexibilidade, robustez, ausência de necessidade de informação prévia e descentralização. Além desses benefícios, o ACODS possui mecanismos que dificultam a construção de soluções de ótimo local, que representam um grande problema em vários algoritmos de clusterização.