Coder Social home page Coder Social logo

pocinnovation / sharkticon Goto Github PK

View Code? Open in Web Editor NEW
25.0 4.0 4.0 287.12 MB

Sharkticon is an anomaly detection system, it analyzes your network using a Transformers model adapted to the anomaly detection.

Python 55.28% Jupyter Notebook 44.72%
ids transformers tensorflow network ips anomaly-detection attention-mechanism http udp ai

sharkticon's Introduction

Sharkticon ๐Ÿฆˆ

Description ๐Ÿญ

Sharkticon is an intrusion detection system.

Its specificity is that it uses an anomaly detection system and machine learning, notably the transformers architecture.

Indeed, currently the most known IDS (intrusion detection system) use database of attack signatures to detect attacks.

Obviously a problem arises, if these systems face new attacks. This is not the case with our IDS, which is able to detect attacks that it has never seen thanks to anomaly detection.

See below a schema of the current architecture

Schema

Our software consists of two parts.
A first configuration window that will ask you the number of packets you want to see on the graph
then in the future the protocol or protocols on which you want to focus the analysis

Configuration window

Then a loading time will take place while the model is being trained on your network,
then a real time graph will be displayed where you can see the stability of your network.
If an anomaly is detected it will be displayed and saved in the log files.

graph

Here is the list of supported protocols :

Protocols Operational
HTTP โœ”๏ธ
UDP โŒ
TCP โŒ

Installation ๐Ÿ› ๏ธ

 git clone https://github.com/PoCInnovation/Sharkticon.git
 cd Sharkticon
 pip3 install -r requirements.txt

Quick Start ๐Ÿ

python3 Sharkticon

If you use the CLI, you will have less information
but the essentials like alerts will be available.

Explanation ๐Ÿ”

Sharkticon uses Wireshark to retrieve the network stream. is then processed by a python script to render it in the format of our model.

For our model we use the transformers architecture, being the state of the art in NLP, we have adapted it and used it in our project. That's why we have focused on the HTTP protocol which is more verbose and therefore where the transformers exploits its qualities at best.




Our model makes a prediction of the next packet from the previous ones, we then use our anomaly detection algorithm to detect if the packet is malicious, if X packets are malicious in a Y time frame then we raise an alert.

Modules ๐Ÿ“ฆ

Our software is divided into two main parts, training and analysis. Here is the list of features

Current

Features Description
Training First, the software proposes to train the model for your network flow
Analyze Networks Then, the model will analyze your network by displaying a graph that will show you the stability of your network
Anomalie Detection Packet predictions will be processed by our anomaly detection algorithm, an alert will be displayed if an anomaly is detected
Logs Manager All your alerts will be grouped in a log folder with the date and time of the anomaly

Maintainers ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘

sharkticon's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  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.