This repository presents the source code for the paper Demo Abstract- CUDDoS: Correlation-aware Ubiquitous Detection of DDoS in IoT Systems.
Executing the code requires sudo access on both the Client Node and the Control Server. After cloning the repository, navigate to the respective directory and install the necessary libraries to run the code.
cd ./MiniTest
sudo pip3 install -r requirements.txt
If you fail to install scapy or pcapy, please run the following command.
sudo ./install_lib.sh
It should be noted that the Tensorflow and shap are required but are not included in the requirements.txt, and it is necessary to run the inference script on the Client nodes. The version information is shown below:
virtualenv==20.24.2
shap==0.42.1
tensorflow==2.13.0
On the client IoT node, execute the following command prior to initiating the Control Server.
sudo ./main_client.py
Once the client IoT node is operational, proceed to execute the corresponding command on the Control Server side.
sudo ./main.py
To detect botnet with our LSTM/MM-WC model, please use the following command to run the inference.py:
source tftest/bin/activate
cd ./MiniTest
./inference.py
Before executing the script, ensure that the requisite model is located in the folder /Source Code/MiniTest/model. By default, model 138 is employed. Should you wish to utilize alternative models, execute the following command:
./inference.py --model {}
Please make sure that the tensorflow environment is correctly installed and activated before running the inference script.
The LSTM/MM-WC model extends from our previous work, Correlation Aware DDoS Detection In IoT Systems, The codebase for model training is publicly available in the repository here. A pre-print version of the original paper can be accessed here .
The code necessary for training the LSTM/MM-WC model is located in the folder /Source Code/MiniTest/inference/source_code. For further details on model training, please consult the repository documentation in our prior work.