Skip to content

AI/ML: Testing the effectiveness of Transfer Learning for Intrusion Detection against Botnet Attacks on IoT devices.

Notifications You must be signed in to change notification settings

ZafirProjects/FinalYearProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FinalYearProject

This project builds upon the research done by Meidan et. Al and uses the N-BaloT dataset which they created from their experiments. The title of this project is 'Exploring the effectiveness of transfer learning on autoencoders for botnet attack detection.' This project tries to answer whether or not a Machine Learning technique called Trasfer Learning is useful for the development of IoT intrusion detection systems, specifically for botnet attacks.

The submission branch of this repository uses a subset of the N-BaloT dataset. It is also the brach that has the most development done on it and so should be the branch used when running this project.

Setup

  1. clone the repository
git clone --branch submission https://github.com/ZafirProjects/FinalYearProject.git
  1. Download the N-BaloT dataset
  2. Unzip it and put the folder into the cloned project
  3. Seperate the following files from the dataset folder (optionally put it in a folder called metadataset):
    data_summary.csv
    device_info.csv
    features.csv
    README.md
  4. Add the following folders (might be created automatically by running the program)
    logs/fit
    metrics
    neuralnetworks
    statistics

Your project should look like this:
/dataset (should contain the N-Balot dataset without the metadata)
/logs
/metadaset (contains the metadata for the N-BaloT dataset)
/metrics
/neuralnetworks
/statistics
conv_autoencoder_attempt.py (useless)
deep_autoencoder.py
metric_processor.py
tensorboard.ipynb
transfer_learning_autoencoder.py

Running the project

Your best bet would be to run the following files in order:

  1. deep_autoencoder.py
  2. transfer_learning_autoencoder.py
  3. tensorboard.ipynb
  4. metric_processor.py

About

AI/ML: Testing the effectiveness of Transfer Learning for Intrusion Detection against Botnet Attacks on IoT devices.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages