Giter Site home page Giter Site logo

tcc2's Introduction

Trabalho de Conclusão de Curso 2

Trabalho realizado como requisito parcial para a obtenção do grau de Bacharel em Engenharia de Computação.

Todos os arquivos dentro da pasta script foram desenvolvidos para atingir os objetivos deste trabalho.

Este trabalho mostra a esquematização e motivações por trás da construção de um sistema de detecção de anomalias em redes de computadores. Para tal foi utilizada a linguagem Python para a criação de todos os códigos de manipulação e criação de dados e a linguagem e plataforma MatLab para a análise destes dados e criação de gráficos.

Requisitos

Cada arquivo Python deve ser executado pela linha de comando e chamado a partir da raíz do diretório ao qual pertence.

Para o arquivo data_rw.py é necessária a instalação da ferramente de linha de comando nfdump.

Para todos os outros arquivos Python é necessária a instalação da biblioteca pandas.

Pasta script

data_rw.py

Realiza a leitura dos arquivos no formato nfcapd e grava os dados extraídos em formato csv.

probability.py

Realiza a leitura dos dados no formato csv gerados pelo script data_rw.py e calcula a entropia do IP de origem, porta de origem, ip de destino, porta de destino e as médias de bytes por segundo e pacotes por segundo para intervalos de 1, 2, 3, 4 e 5 segundos. Os resultados são gravados em novos arquivos no formato csv.

pso.m

Script na linguagem MatLab que contém o algoritmo do PSO utilizado pelo script script.m.

script.m

Realiza a leitura dos dados gerados pelo script probability.py e calcula o baseline para intervalos de 2, 3 e 4 semanas para cada um dos ntervalos de minutos para os quais as entropias e médias foram calculadas. Gráficos do baseline também são gerados.

script_anomaly.m

Realiza a geração de gráficos contendo as entropias e as médias dos resultados da injeção de anomalias em cima dos gráficos gerados pelo script script.m.

Pasta injection

main.py

Realiza a injeção de dados anômalos simulando ataques DoS ou DDoS dentro dos arquivos csv gerados pelo script data_rw.py e grava os resultados em novos arquivos csv.

probability.py

Executa a mesma função de probability.py da raíz da pasta script, porém para os dados gerados pelo script main.py da pasta injection.

Pasta conclusions

errors.py

Realiza o cálculo dos erros entre as entropias e médias de cada dia com medições da rede e seu baseline correspondente. Salva os resultados no formato xlsx.

errors_anomalias.py

Realiza o cálculo dos erros entre as entropias e médias dos dias com anomalias injetadas e seu baseline correspondente. Salva os resultados no formato xlsx.

errors_conclusions.py

Realiza o cálculo da média aritmética simples entre todos os dias para cada intervalo de semana e minutos a partir dos dados gerados pelo script errors.py e imprime no console os menores resultados de cada dimensão no console.

errors_anomalies_conclusions.py

Realiza o cálculo da média aritmética simples entre todos os dias para cada intervalo de semana e minutos a partir dos dados gerados pelo script errors_anomalies.py e imprime no console os menores resultados de cada dimensão no console.

difference.py

Realiza o cálculo da diferença de resultados entre o baseline para os 7 dias da semana no intervalo de horas escolhido na combinação de intervalo de minutos e de semanas. Salva os resultados no formato xlsx.

tcc2's People

Contributors

brunoanken avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

jhordangarcia

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.