DNN-Ensemble IDS is a machine learning based classification model for intrusion detection exploiting ensembles of classifiers. Multiple base models are trained on data gathered in different time windows where different types of attacks can occur (Data Chunks). These base classifiers take the form of Deep Neural Networks (DNNs) sharing all the same architecture, but trained against different samples of the given training data. Finally, an incremental learning scheme is adopted to cope with different problems such as Large high-speed datastream and rare attacks.
The code is developed and maintained by Massimo Guarascio and Gianluigi Folino (massimo.guarascio@icar.cnr.it , gianluigi.folino@icar.cnr.it)
First, download this repo:
- You need to have 'python3' installed.
- You also need to install 'numpy', 'pandas==1.0.3', and 'sklearn <=0.21', 'imbalanced-learn==0.5.0', 'Keras==2.2.4' and 'tensorflow==1.14.0'.
Then, you can run:
python <file_output> [<paramter_file>]
if the parameter file is not specified, the file named 'default.ini' in the current directory is used.
[1] F. Folino, G. Folino, M. Guarascio, F.S. Pisani, L. Pontieri. On learning effective ensembles of deep neural networks for intrusion detection. Information Fusion, 2021. doi: https://doi.org/10.1016/j.inffus.2021.02.007