GithubHelp home page GithubHelp logo

hollake / classification-of-encrypted-traffic Goto Github PK

View Code? Open in Web Editor NEW

This project forked from saliklp/classification-of-encrypted-traffic

0.0 1.0 0.0 21.48 MB

This repository contains the code used and developed during a master thesis at DTU Compute in 2018

License: MIT License

Python 100.00%

classification-of-encrypted-traffic's Introduction

Classification of encrypted traffic using deep learning

This repository contains the code used and developed during a master thesis at DTU Compute in 2018.
Professor Ole Winther has been supervisor for this master thesis.
Alex Omø Agerholm from Napatech has been co-supervisor for this project.

In this thesis we examined and evaluated different ways of classifying encrypted network traffic by use of neural networks. For this purpose we created a dataset with a streaming/non-streaming focus. The dataset comprises seven different classes, five streaming and two non-streaming. The thesis serves as a preliminary proof-of-concept for Napatech A/S.

We propose a novel approach where the unencrypted parts of network traffic, namely the headers are utilized. This is done by concatenating the initial headers from a session thus forming a signature datapoint as shown in the following figure:

Header datapoint

The datasets created by use of the first 8 and 16 headers are available in the datasets folder in this repository. We explored the dataset by running t-SNE on the concatenated headers dataset. As can be seen in the t-SNE plot below, which shows all the individual datasets merged, it seems possible to perform classification of individual classes.

t-SNE plot

In experiments using the header-based approach we achieve very promising results, showing that a simple neural network with a single hidden layer of less than 50 units, can predict the individual classes with an accuracy of 96.4% and an AUC of 0.99 to 1.00 for the individual classes, as shown in the following figures.

Confusion matrix of all 7 classes ROC Plot

The thesis hereby provides a solution to network traffic classification using the unencrypted headers.

classification-of-encrypted-traffic's People

Contributors

arhjorth avatar saliklp avatar

Watchers

 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.