Giter Site home page Giter Site logo

botnet-detection's Introduction

Herramienta Detección de Botnets

La herramienta busca ayudar a disminuir la cantidad de computadoras infectadas por botnets a través del análisis de los paquetes de red entrantes y salientes desde el dispositivo y buscando algunos comportamientos comunes entre los botnets más conocidos. La identificación se hace a traves de distintos parámetros en cierto periodo de tiempo como lo son número de conexiones fallidas, aumento de tráfico, aumento de tráfico en puertos específicos y conexiones a IPs registradas como servidores de C&C de Botnets de acuerdo a páginas como IBM X-Force Exchange.

Motivación

En años recientes, el riesgo de las botnets ha incrementado ya que los botmasters pueden llegar a control desde cientos, hasta miles de millones de computadoras. Esto representa un riesgo mayúsculo para la infraestructura económica, informática y de comunicación.

¿Cómo funciona?

Se hace un escaneo de la red de forma constante cada cierto periodo de tiempo previamente configurado, se realiza un análisis de la información de la red. Estos datos son guardados en un dataframe de pandas para su procesamiento, se llaman los métodos del analizador el cual identifica a posibles amenazas de botnets de acuerdo a cuatro parámetros: número de conexiones fallidas, aumento de tráfico, aumento de conexiones en ciertos puertos, y conexiones a IPs maliciosas. Una vez identificadas las posibles amenazas, se hace obtención de información de las IPs a través de la conexión con IP-API, esta información es enviada a una base de datos en Firebase y desplegada para su visualización en la aplicación web.

Tecnología utilizada

  • Python (3.6)
  • Pandas
  • Pyrebase
  • React
  • Firebase
  • IP-API

Instalación

Analizador de red

Instalar las siguientes librerías de pyhton, se recomienda usar Python 3.6

    $ pip install pandas
    $ pip install pyrebase

Aplicación web

Dirigirse a la carpeta de la aplicación web e instalar los paquetes con el comando:

    $ npm install

Configuración

  • Ingresar credenciales de firebase en variable config del archivo pypacket.py y analizer.py
    config = {
        "apiKey": "",
        "authDomain": "",
        "databaseURL": "",
        "storageBucket": "",
    }
  • Ingresar credenciales de firebase en variable config del archivo botnet-app-web/src/components/Fire/Fire.js
  • Si se desean agregar IPs a la base de datos, modificar archivo ip_database.csv
  • Cualquier cambio en los parámetros para el análisis se deberán hacer en el archivo analize.py

Uso

Dirigirse a la carpeta del analizador y ejecutar el comando

    $ sudo python pypacket.py

Para la aplicación web dirigirse a la cerpeta de botnet-app-web y ejecutar el comando

    $ cd botnet-app-web
    $ npm start

Para poder ver la aplicación en ejecución, abrir navegador e ingresar la dirección http://localhost:3000

Contribuidores

botnet-detection's People

Contributors

allanloji avatar

Stargazers

 avatar

Watchers

 avatar  avatar

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.