This experimental project aims to filter DoS attacks on ESP32 applications using a deep learning model to detect malicious packets. The project closely adheres to the structure established by T800.
- Install ESP-IDF and set up the environment variables
- Run
idf.py menuconfig
, go to Example Connection Configuration and set up your WiFi SSID and password - Run
idf.py set-target esp32
, thenidf.py build
and finallyidf.py -p PORT flash monitor
; if you're on linux you can usels /dev/tty*
to find the serial USB port name - To send traffic to the server run the
legitimate_udp_traffic.py
or themalicious_udp_traffic.py
scripts
-
Add the components folder to the
set()
of your CMakeLists.txt file -
On the main .c file add the dosguard32 configuration
#include "dosguard32.h" ... dosguard32_config_t config = { .dense_nn = nn, .mode = UDP };
dosguard32_init(config);
[1] Fernandes, Gabriel Victor C., et al. “Implementaçao de um filtro de pacotes inteligente para dispositivos de Internet das Coisas.” Anais do XL Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos. SBC, 2022.
[2] Sajjad Dadkhah, Hassan Mahdikhani, Priscilla Kyei Danso, Alireza Zohourian, Kevin Anh Truong, Ali A. Ghorbani, “Towards the development of a realistic multidimensional IoT profiling dataset”, Submitted to: The 19th Annual International Conference on Privacy, Security & Trust (PST2022) August 22–24, 2022, Fredericton, Canada.
[3] Yuan, Xiaoyong, Chuanhuang Li, and Xiaolin Li. “DeepDefense: identifying DDoS attack via deep learning.” 2017 IEEE international conference on smart computing (SMARTCOMP). IEEE, 2017.
[4] Hamza, Ayyoob, Hassan Habibi Gharakheili, and Vijay Sivaraman. “IoT network security: requirements, threats, and countermeasures.” arXiv preprint arXiv:2008.09339 (2020).