Next Article in Journal
Insights into How Vietnamese Retailers Utilize Social Media to Facilitate Knowledge Creation through the Process of Value Co-Creation
Previous Article in Journal
PVPBC: Privacy and Verifiability Preserving E-Voting Based on Permissioned Blockchain
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A DNN Architecture Generation Method for DDoS Detection via Genetic Alogrithm

1
School of Cyberspace, Hangzhou Dianzi University, Hangzhou 310018, China
2
School of Information Engineering, Hangzhou Vocational & Technical College, Hangzhou 310018, China
*
Author to whom correspondence should be addressed.
Future Internet 2023, 15(4), 122; https://doi.org/10.3390/fi15040122
Submission received: 1 March 2023 / Revised: 22 March 2023 / Accepted: 24 March 2023 / Published: 26 March 2023

Abstract

:
Nowdays, DNNs (Deep Neural Networks) are widely used in the field of DDoS attack detection. However, designing a good DNN architecture relies on the designer’s experience and requires considerable work. In this paper, a GA (genetic algorithm) is used to automatically generate the DNN architecture for DDoS detection to minimize human intervention in the design process. Furthermore, given the complexity of contemporary networks and the diversity of DDoS attacks, the objective of this paper is to generate a DNN model that boasts superior performance, real-time capability, and generalization ability to tackle intricate network scenarios. This paper presents a fitness function that guarantees the best model generated possesses a specific level of real-time capability. Additionally, the proposed method employs multiple datasets to joint models generated, thereby enhancing the model’s generalization performance. This paper conducts several experiments to validate the viability of the proposed method. Firstly, the best model generated with one dataset is compared with existing DNN models on the CICDDoS2019 dataset. The experimental results indicate that the model generated with one dataset has higher precision and F1-score than the existing DNN models. Secondly, model generation experiments are conducted on the CICIDS2017 and CICIDS2018 datasets, and the best model generated still performs well. Finally, this paper conducts comparative experiments on multiple datasets using the best model generated with six datasets and the best model generated by existing methods. The experimental results demonstrate that the best model generated with six datasets has better generalization ability and real-time capability.

1. Introduction

Recently, many researchers have used machine learning and deep-learning methods to detect DDoS attacks [1,2,3,4,5]. In research related to machine learning, researchers use data extracted by professionals to train and test the model and make it perform better. Whereas in deep learning based studies, models are typically allowed to select features automatically, some authors train and test models directly using the original network flow data, letting the model constantly update the feature selection method during training. Compared with machine learning, deep learning works better with large volumes of data and in complex situations [6,7,8]; deep learning can also fine-tune models according to the new data [9]. Although deep learning performs well in DDoS attack detection methods, the following problems remain:
  • With the access of various devices to the network and the emergence of more network services [10,11,12], DDoS attacks are becoming more secretive and changeable and can cause more significant losses [13,14,15,16,17]. For some networks, it is necessary to select a particular model to prevent DDoS attacks [18,19] and constantly adjust the model to identify new DDoS attack types or even reconstruct the model to detect rapidly changing DDoS attack patterns [20]. In these scenarios, the model’s construction needs experienced researchers. Frequent model construcution will consume many resources [21].
In certain scenarios where resources and researchers are scarce, there is a need for a method to automatically generate DDoS detection models to minimize the cost of model construction. Therefore, this paper proposes a DNN model generation method based on GA, which automatically adapts to different scenarios, minimizes human intervention during the model generation process and the method generation model has a certain degree of generalization, making it a better choice for the current diverse network environment to defend DDoS attacks. Compared with the previous research, using GA to adjust the network hyperparameters [22,23,24,25,26], this paper pays more attention to the architecture of the DNN model and proposes a DNN model architecture generation method based on a GA. Although some existing methods use GAs to adjust the DNN structure to optimize the performance of the model in DDoS detection, these existing methods fix the number of layers of the DNN model and only use the full connection layer to build the DNN model, so the search space of the GA is small. In the model evaluation stage, the number of DNN model training rounds is not dynamically adjusted, and the resource consumption is large. In terms of the fitness function, only the DDoS detection rate of the DNN model is considered, and the model’s running time is not considered. In terms of generalization, previous methods only used one data set to generate the model. The generated DNN model does not have a generalization and is prone to over-fitting problems [27]. The methods proposed in this paper solve these problems. Firstly, this paper expands the search space of the GA, and the generated DNN model can cope with more DDoS attack scenarios. Secondly, this paper dynamically adjusts the number of model training rounds in the model evaluation stage to reduce resource consumption. Thirdly, the fitness function designed in this paper is to take into account the running time of the model and, to some extent, ensure the ability of the DNN model to detect DDoS in real time [28]. Fourthly, this paper ensures that the generated model has a certain generalization ability through a simultaneous model generation experiment on multiple datasets [29]. This paper finds that the model generated by the proposed method has good performance in terms of accuracy, precision, recall and F1-score. The main contributions of this article cover the following points:
  • This paper uses the GA to generate a model architecture while minimizing human intervention. In some scenarios, the proposed method can find a model with good performance in a limited time to deal with the problem of DDoS detection.
  • This paper uses the model generated, some existing advanced DNN models and some advanced machine learning models to experiment on the same dataset. This paper evaluates theses models in terms of precision, recall, F1-score and accuracy. The analysis results show that the models generated by the proposed method have better performance than the existing methods studied in this paper.
  • In addition to the CICDDoS2019 dataset, this article also conducted experiments on two other datasets, and the models generated by the proposed method still perform well.
  • Six datasets are used to evaluate the best model generated by the method proposed in this paper and the best model generated by existing methods. The results show that the model generated in this paper has stronger generalization.
  • After generating about 200,000 models, this paper analyzed the architecture of models with good performance and found that some combinations of architecture patterns frequently appeared in models with good performance. This paper conducted a t-SNE dimension reduction analysis on the model architecture sequences and found that the architecture sequences of models with good performance would also produce aggregation in the low-dimensional space; this shows that the models with good performance have some commonalities, and these results can provide a certain reference for future researchers in model design.
The rest of the paper is structured as follows: Section 2 introduces the existing DDoS detection model optimization method; Section 3 presents the methods proposed in this paper; Section 4 presents the experiment and evaluation methods in this paper; and Section 5 concludes and suggests some future work.

2. Previous Works

This section will introduce some existing methods of applying the GA to model optimization. Most of these use the GA to select data features or optimize a model’s hyperparameters.
Ankit Agrawal et al. used M-DBNN to detect DDoS attacks and to continuously adjust the model’s weights through the chimpanzee optimization algorithm. The loss between the output of the model and the tag as the fitness was used to evaluate the weight selection method. After the evaluation of the model’s weight selection method, there is a 50% probability of updating the currently selected weights and a 50% probability of randomly selecting another group of weights. After several rounds of experiments, the accuracy of the model reached 87% [23].
Hasan Kamel et al. believe that selecting model hyperparameters is highly resource-intensive. The model may fall into a locally optimal solution when trained under the set hyperparameters. Because of the different performances of individuals within the population, the GA can make more choices for the model. Through continuous iteration, the individuals within the population can gradually tend to the optimal solution. The author uses GA to adjust the data division method and the depth of the decision tree. The author uses accuracy as a measure of fitness to evaluate the model’s performance. After multiple iterations, the model’s accuracy reached 99.46% [25].
Sriparna Saha et al. believe that selecting data features significantly impacts the model’s performance. The authors argue that the feature selection method is conducive to reducing the impact of the dimension curse, enhancing the model’s generalization ability, accelerating the model’s learning process and improving the model’s interpretability. Before that, some researchers selected data features through information gain sorting and PCA. Still, the authors believe both these methods have limitations and that the GA is better qualified for this job. The authors use binary coding to represent the selected features, update the feature selection method with the GA and finally use the selected features to train and test the model. The experimental results on the KDD CUP99 dataset show that GA performs well in data feature selection [24].
Amin Erfan et al. used GAs to select the features of the KDDCUP99 dataset. A binary string represented the feature selection method, and the accuracy was used as the fitness measure to evaluate the selected features. The authors compare the DNN and other models trained with all features with the DNN and others selected with the GA as input. The experimental results on DDoS detection show that the model trained with the features selected by the GA is superior to the model trained with all features regarding accuracy, precision and recall [26].
Yesi Novaria Kunang et al. adjusted the number of hidden layers, the number of hidden layer neurons, the learning rate and the epoch of the DNN training through grid search and random search and evaluated the quality of the selected relevant hyperparameters on the NSL-KDD and CICIDS2018 datasets. Because the search space selected by the author is too large, HPO was used to select excellent hyperparameters automatically. Through the experiment, the author found that the second and third hidden layers play a crucial role in the performance of the model, the epoch has almost no effect on the performance of the model and the lower the learning rate, the better the performance of the model, but the longer the training time of the model [30].
Zouhir Chiba et al. use an optimized GA to automatically select the data processing mode and a DNN architecture for cloud network intrusion detection. The authors believe that the main factors affecting the results are the data normalization method, the activation function in the DNN, the number of hidden layers in the DNN, the learning rate and the momentum term. The authors use binary coding to represent an instance of a solution and uses the AUC as the fitness measure to evaluate the instances; the CICIDS2017 dataset was used to evaluate the best performance instance, and the accuracy reached 99.86%. It can be seen that the GA can select instances with good performance in a limited time [27].
The limitation of the existing research is that only the GA is used to optimize the model’s hyperparameters or select the data features [31,32]. These are not the main factors that determine the performance of the model [33,34]. The main factor that determines the performance of the model is the architecture of the model [35]. Although, in previous works, some researchers have used GAs to adjust the architecture of the model, the search space of the GA needs to be bigger and the fitness function needs to consider the model’s running time. The method proposed in this paper solves these problems.

3. Methodology

3.1. Definition of Proposed Method

The method proposed in this paper is mainly divided into three parts: dataset preparation, model generation and model evaluation. The purpose of data preparation is to reduce the time consumed by the model and ensure the evaluation’s objectivity. The model generation part randomly generates a DNN population at the beginning and it improves the performance of the DNN population through continuous iteration of the GA until the qualified model appears or the number of iteration rounds reaches the set value. The model evaluation part decodes the corresponding sequence of the model architecture generated by the GA and trains the model after decoding. To reduce the resources consumed by the model evaluation, the model training is stopped early according to the model performance changes. Finally, the model is evaluated and the model’s fitness is recorded. A flowchart of the proposed method is shown in Figure 1. The flowchart has three parts from left to right: the first part shows the process of dataset preparation, the second part shows the process of the model generation method proposed in this paper and the third part shows the evaluation process of the generated model.

3.2. Dataset Preparation

The method proposed in this paper needs to generate and evaluate many models and the evaluation result of the generated model depends on the selected data, so how to choose data is always a difficult problem [36,37]. To objectively assess the performance of the models generated and reduce the consumption of resources in the model generation stage, this paper divides the dataset into several sub-datasets with the same label and containing the same amount of data and randomly selects the same amount of sub-datasets each time to train and test the generated model.

3.3. Model Generation

To prevent a single large-scale population from producing a large number of models with poor performance at a certain stage, resulting in poor performance of the final generated model, this paper uses several small-scale populations to conduct model generation experiments under the condition that the total number of generated models remains unchanged [38] so that the GA has more choices in the process of model generation. After the DNN models in all populations are trained, tested and evaluated, the next-generation populations are generated by the GA. The model architectures with good performance are recorded in this process, and the above operation is repeated until the number of iteration rounds reaches the set value.

3.3.1. Introduction of the GA

The GA is a simple version of Darwinian evolution [12] and simulates natural evolution to find the best solution. A simple flowchart of the GA is shown in Figure 2. Its main principles are as follows [39]:
  • Selection: individuals in the population compete for survival resources, and the better individuals survive.
  • Crossover: some characteristics of the previous generation can be passed on to the progeny so that the progeny and parents have a certain degree of similarity.
  • Mutation: the newly generated individuals in the population will mutate, which leads to the introduction of some new characteristics in the population.
The individual in this paper is a sequence corresponding to the DNN architecture, or more accurately, a list containing strings and numbers, where the strings and numbers in the list represent the characteristics of the corresponding individual and multiple sequences constitute a population [40]. Selection operation refers to randomly selecting two individuals from the population to produce a new individual. The crossover operation between individuals is carried out to form a new sequence with the characteristics of two previous sequences. The individual mutation operation randomly replaces a segment in a new sequence. The above operations are based on the survival ability of individuals, which, in this paper, refers to individual fitness. Table 1 shows some symbols that will be used when introducing the GA.
The following subsection introduces the GA used in this paper from five aspects: Coding Model Architecture, Fitness Function, Solution Selection, Crossover and Mutation. In the following, the solution will be used to refer to an individual in the population.

3.3.2. Coding Model Architecture

In this paper, strings are used to represent the architecture of a DNN, the activation function, the loss function and the optimizer [41] and numbers are used to represent the learning rate. Table 2 shows the DNN layer used in this paper, the parameters related to the DNN layer and their coding methods. Table 3 shows the activation function, loss function, optimizer and corresponding codes used in this article. In addition, this paper uses unequal-length coding to represent the architecture of the model. To ensure the performance of the model, the number of layers of the model is limited to 3–12 layers. To more clearly show the DNN architecture and its related parameters after coding, Table 4 shows the sequence corresponding to a five-layer DNN. It corresponds to a list containing strings and numbers.

3.3.3. Fitness Function

The performance of the model is evaluated from two aspects: one is the detection rate of the model for DDoS traffic and the other is the running time of the model. The accuracy of the model after the test and the average time of the model processing a single sample on the test set are therefore selected to calculate its fitness [39]. The specific calculation formulas are as follows:
A C C = T P + T N T P + F P + T N + F N
F I T N E S S = α 1 × A C C 1.01 A C C + α 2 T ¯
Here, ACC is the accuracy, while T ¯ refers to the average time (ms) for processing a piece of data in the model classification stage. α 1 and α 2 represent the weight and are taken as 0.8 and 0.001, respectively, in this paper. By setting the weight of accuracy and running time in this way, the impact of accuracy and running time on the fitness calculation can be the same order of magnitude, and the final generated model has better performance in accuracy and running.
There may be many poor performance solutions in the current population. Taking accuracy as the evaluation standard will make the probability of selecting excellent individuals very low. Therefore, fitness will be dynamically amplified to improve the probability of selecting an ideal solution. From the fitness calculation formula, the closer the accuracy is to 1.0, the faster the fitness increases, which can better highlight the probability of selecting an excellent solution.

3.3.4. Solution Selection

In the process of population iteration, the parent solution in the population needs to be selected randomly according to fitness to generate the child solution. The specific operation is as follows:
The set P of problem solutions is as follows:
P = { p 1 , p 2 , , p n }
Each solution in the set is trained and tested to calculate fitness. The fitness set F corresponding to the solution set P is as follows:
F = { f i t n e s s p 1 , f i t n e s s p 2 , , f i t n e s s p n }
Then, the probability q p x that a solution will be selected is as follows:
q p x = f i t n e s s p x i = 1 n f i t n e s s p i
where f i t n e s s p x represents the fitness of solution p x and i = 0 n f i t n e s s p i represents the sum of fitness of solutions within the population.
A random value n r a n d o m ∈ [0, 1] is generated each time a solution is selected. Assuming that n r a n d o m falls within the cumulative probability interval [ l o w e r p x , u p p e r p x ] corresponding to solution p x , p x is selected to crossover, and the cumulative probability interval is calculated as follows:
l o w e r p x = i = 1 x 1 q p i
u p p e r p x = i = 1 x q p i

3.3.5. Crossover

The crossover operation in this paper randomly fills the gene fragments of two parent solutions into the child solution, the length of the child solution is a random number in the interval composed of two parent solutions length, and only one new solution is generated each time. The specific operation is as follows: Select two parent solutions, p x and p y . The length of p x is l p x and the length of p y is l p y . Then, randomly select a number l p z from [min( l p x , l p y ), max( l p x , l p y )] as the length of the child solution p z and calculate the probability that the gene fragments of parent solutions p x and p y fill the child solution p z , where the probability that p x is selected is calculated as follows (the probability of p y being selected is calculated in the same way as p x ):
q ˜ p x = f i t n e s s p x f i t n e s s p x + f i t n e s s p y
where f i t n e s s p x refers to the fitness of the parent solution p x and f i t n e s s p y refers to the fitness of the parent solution p y . In Figure 3, the red sequence on the left represents the solution p x , the green sequence on the right represents the solution p y and the middle sequence represents the new solution p z generated by the crossover of p x and p y .

3.3.6. Mutation

Since the random mutation may cause the average fitness of the population to decrease, this paper sets up a GEN (Gene) LRU (Least Recently Used) to alleviate this situation. After each solution in the set calculates the fitness, the solution with the top 20% of the fitness is selected and its gene fragments are shuffled and stored in the GEN LRU. Before the start of each solution’s mutation operation, a random value n r a n d o m ∈ [0,1] is generated. If the randomly generated number n r a n d o m is lower than the preset threshold value β 1 = 0.5 ( β 1 can be set in this way to ensure the stability of the average performance of the population), the child solution randomly selects a fragment from the GEN LRU as a replacement and the child solution performs a random mutation. The GEN LRU is shown in Figure 4, where different colors represent different gene fragments. A mutation of one solution is shown in Figure 5.

3.4. Model Evaluation

In this paper, evaluating the generated model is a critical link. First, the model sequence is decoded, and the code is used to build a runnable model. Next, the same amount of data is randomly selected to train the model. Because model training is highly resource-consuming, this paper stops the model training early by evaluating the change in the model’s performance. The evaluation indicators of the change in model performance are as follows:
v a r p c = μ 1 × A C C v a r A C C m e a n + μ 2 × A C C m a x A C C m i n A C C m a x + A C C m i n
v a r p c represents the value used to evaluate the change trend of the model’s performance; μ 1 and μ 2 represent the weights selected in this paper, which are 0.4 and 0.6, respectively; A C C v a r represents the variance of model accuracy in five consecutive rounds; A C C m e a n represents the mean of model accuracy in five consecutive rounds; A C C m a x represents the maximum value of model accuracy in five consecutive rounds and A C C m i n represents the minimum value of model accuracy in five consecutive rounds. The model stops training when v a r p c is less than 0.01. Under the weight set in this paper, the model can stop training when it almost reaches convergence, significantly reducing resource use. Finally, the model is tested and the fitness of the model is calculated and recorded.

4. Experiment and Evaluation

4.1. Dataset Selection

The CICDDoS2019 dataset, released by the Canadian Web Security Institute, was used as the primary training and testing dataset in the experiments. Most previous datasets have often had attack flows lacking diversity, but the CICDDoS2019 dataset is generated using more advanced tools and contains more diverse DDoS attack traffic. A more realistic and comprehensive attack flow dataset has a significant impact on the implementation of deep learning networks as well as the examination of learning outcomes, so this paper chose to use the recently updated CICDDoS2019 dataset that utilizes the B_Profile and M_Profile methods during its generation to simulate the behavior of human use of the network in practice and generate more natural attack flow data and that covers 13 different types of DDoS attacks [10,42]. The CICDDoS2019 dataset simulates an attack network as well as a defense network. Method B_Profile is responsible for analyzing the abstraction behavior of human interactions and encapsulating user-generated network events using machine learning and statistical analysis techniques to simulate benign traffic in the real world. Method M_Profile is used to describe and execute attack scenarios, execute attack scenarios in the real world and generate malicious traffic. Therefore, this paper chose the CICDDOS2019 dataset as the primary dataset in our experiments. In addition, to show that the model generation method presented in this paper can perform well under different scenarios, this paper also used five other datasets for experiments.

4.2. Data Preprocessing

The CICDDoS2019 dataset provides the network traffic data of pcap. However, this paper did not directly apply these data to the DNN. The CIC flowmeter tool is available from the Canadian Web Security Institute and uses this tool to process flow data from pcap files, extract the feature information of 87 of these data points, apply the processed feature information to the DNN and improve the efficiency of DNN updates. The other five datasets in this paper used the same method to extract features as input to the DNN. In addition to applying the tools mentioned above to process the data, experiments in this paper normalize and widen the data to enhance performance.
  • Remove invalid information from the input data: Some of the 87 features extracted by the CIC flowmeter tool should not be used as input features in the DNN. These are flow ID, time stamp, source IP, source port, target IP and target port. These features would all have different distributions in different application contexts and should not be taken as features to discern the abnormal flow of DDoS, which could otherwise cause overfitting problems in the DNN. Therefore, this paper removed these features in the data processing stage and chose other flow features as inputs to the DNN [43].
  • Cleaning of datasets: This paper complemented the large number of NAN and INF in the raw data with the mean values of the other data.
  • Transform labels in the manner of one-hot code: What was addressed in the experiment was a 2-Classification problem, so 1 × 2 one-hot coding was used to indicate the category of a piece of data [44].
  • Data normalization processing: The normalization of the data can avoid numerically undesirable effects on the results because of the large difference in the orders of magnitude of the input data and is also convenient for the initialization of the DNN weights. Additionally, the data can be normalized to improve the speed of the gradient descent method for solving the optimal solution. This paper used the maximum–minimum Fmethod in the experiments to normalize the input data. The maximum–minimum method’s formula is as follows:
    X n o r m = X X m i n X m a x X m i n
    where X n o r m is the normalized data, X is the original data and X m a x and X m i n are the maximum and minimum values of the original dataset, respectively.
  • Data expansion to solve the problem of uneven sample distribution: In the CICDDoS2019 dataset, there is a problem of an uneven distribution of sample data, in which the proportion of TFTP, SNMP and DNS traffic is significantly higher than other traffic. In the case of uneven data distribution in the dataset, the training and testing of the model are not objective [36,37,45]. In this paper, the dataset is expanded by the smote method. The smote method generates data through one piece of data and N pieces of data with the same category and the most similar features to avoid the over-fitting problem [46]. The formula generated by the smote method is as follows:
    S n e w = S o l d + R A M D O M ( 0 , 1 ) × ( S n e i g h b o r S o l d )
    where S n e w represents the expanded data, S o l d represents the original data in the dataset and S n e i g h b o r represents a piece of data with the same category and similar features as S o l d . Table 5 shows the proportion of each type before and after smote method processing.

4.3. Evaluation

In the model generation stage, this paper divides the dataset into several sub-datasets of equal size, and each sub-dataset contains the same category of data. Each sub-dataset includes 1000 pieces of data. During each evaluation of the generated model, 50 sub-datasets having normal traffic and 50 sub-datasets having DDoS traffic will be randomly selected. A total of 100,000 pieces of data will be used to test and train the generated model. The data will be divided into the training set and testing set at a ratio of 6:4, the epoch is 20 and the data batch size is 32.
In the subsequent comparison experiment, the model generated and the comparison model will be trained and tested using a complete dataset. To more objectively compare the performance of the model generated and the comparison model, 10-fold cross-validation will be used with an epoch of 20 and a data batch size of 32.
The evaluation indicators used in the experiment phase and their formulas are as follows.
P R E = T P T P + F P
R E C = T P T P + F N
F 1 _ S C O R E = 2 × P R E × R E C P R E + R E C
where T P = true positives; T N = true negatives; F P = false positives; and F N = false negatives.

4.4. Hyperparameter Tuning

In this paper, a total of 10 populations are used for experiments. The crossovers of solutions within the population are independent of each other, but the same GEN LRU is used for mutation. In each experiment, the total number of solutions generated by each population is fixed at 20,000. This paper generates the model with the best performance by adjusting the number of solutions in the population and the number of iteration rounds. Through experiments, it is found that when the number of solutions in the population is 200 and the number of iteration rounds is 100, the model generated by this method has the best performance. Table 6 shows the performance of the best model generated under some representative parameters.

4.5. Model Generation

Table 7 and Table 8 show the complexity range and average value of the model generated in this paper. The total complexity of this method is equal to the total number of model generation times the average complexity of a single model. Flops represent the time complexity of DNN model and parms represent the space complexity of DNN model.
The abscissa represents the number of rounds of iteration and the ordinate represents the model’s average performance or average fitness changes with the number of rounds. Figure 6 shows the average performance of the population in the iteration process. Figure 7 shows that the normalized average fitness continues to improve in the iterative process, indicating that the model is making continuous progress in accuracy and running time. Since the growth speed of the fitness function set in this paper will increase with the increase in accuracy, the curve in Figure 7 does not show a trend of slower growth. Moreover, under the condition that the accuracy is almost constant in the later stage, the continuous reduction in the running time of the model also greatly affects the change in the average fitness of the population.

4.6. Evaluation of Models Generated

This paper selected the best model generated and used the KS (Kolmogorov–Smirnov) curve to evaluate it. The KS curve combines the TPR and FPR to comprehensively assess the model. The yellow curve represents the difference between the TPR and FPR under different thresholds, and the KS value is the maximum value of the difference. As shown in Figure 8, the KS value is 0.624, which means that the model’s performance is good. The abscissa represents the confidence level and the ordinate represents the TPR and FPR under different confidence levels. The green curve represents the changing trend of the TPR under different confidence levels, the red curve represents the changing trend of the FPR under different confidence levels and the yellow curve represents the changing trend of the difference between the TPR and FPR under different confidence levels.
To accurately describe the model’s classification performance, this paper uses a confusion matrix to show the classification results of the model. As shown in Table 9, the normal flow detection rate reached 0.9994 and the DDoS attack detection rate reached 0.9881, indicating that the model can distinguish between attack traffic and normal traffic well.

4.7. Comparative Experiment

Additionally, this paper compares the best model generated using the proposed method tp the models of Mahmoud Said Elsayed, Duy-Cat Can, Abdullah Emir Ci, Shalaka S. Mahadik and Aman Rangapur. This paper also selects some classical machine learning algorithms as the baseline, including decision tree, random forest, SVM, logistic regression and naive Bayes. The evaluation results of each model are obtained through 10-fold cross-validation. To objectively evaluate the model’s performance, this paper uses the processed data to train, test and evaluate the model. Table 10 shows that the generated model is superior to the other models in terms of accuracy and F1-score.
To evaluate the availability of our proposed generation method, this paper generates models on the CICIDS2017 and CICIDS2018 datasets. Table 11 shows that the proposed method can generate models with good performance in different datasets.
A DNN model generated on only one dataset may have over-fitting problems, so this paper conducts model generation experiments on six data sets at the same time to avoid this issue. (The six datasets selected in this paper are the CICDDoS2019 dataset, the CICIDS2017 dataset, the CICIDS2018 dataset, the KDD_CUP99 dataset, the NSL-KDD dataset and the UNSW dataset.) All generation experiments share a GEN LRU, and there is a 10% probability to select individuals generated on different datasets for crossover operation; only individuals within the top 20% in terms of fitness are used for the crossover operation.
Table 12 represents the average complexity of the method proposed in this paper and the existing methods. The second column represents the time complexity, and the third column represents the space complexity. It can be seen that the method proposed in this paper has lower complexity in terms of time and space.
This paper uses the best model generated with six datasets, the best model generated with one dataset and the best model generated by Chiba Z et al. to carry out comparative experiments on the CICDDoS2019 dataset. According to Table 13, the best model generated with one dataset has the best performance, and the best model generated with six datasets has a slightly lower performance than best model generated with one dataset. The sixth column in Table 13 shows the time it takes for the generated model processes a single piece of data in the test phase, and the seventh column in the table represents the KS value of the generated model. However, considering that best model generated with one dataset may have an over-fitting problem, this paper uses the best model generated with six datasets, the best model generated with one dataset and the best model generated by Chiba Z et al. to carry out comparative experiments on the six datasets selected in this paper.
Table 14 shows the performance of best model generated with six datasets, the best model generated with one dataset and the best model generated by Chiba Z et al. on the six datasets selected in this paper. The best model generated with one dataset has the best performance on the CICDDoS2019 dataset but has poor performance on other datasets. The best model generated with six dataset shows good generalization, and it can be seen that using multiple datasets to conduct model generation experiments at the same time can alleviate the over-fitting problem to a certain extent.

5. Discussion

This paper selected the models within the top 20% in terms of fitness and analyzed their architecture. Table 15 shows that the Full Connected Layer and the Softplus activation function appear most frequently, followed by the Residual Layer and finally the Maxpool2d and Relu activation function. This shows that compared with other activation functions, choosing to use the Softplus activation function can provide a better nonlinear fitting ability to a DNN in data analysis. The wide use of the Residual Layer means that the dataset selected makes the general model converge faster, while the Residual Layer allows the model to have more choices and evolve in a better direction.
Table 16 shows that this paper has limited the depth of the model. Most of the same topology layers in the model only appear 1–2 times, which indicates that too many repeated topology layers may not improve the model performance, but may increase the model’s running cost. Through the fitness function set in this paper, the GA adjusts the model architecture well, making the model better adapted to the dataset selected.
The innovation in this paper reflects the potential of the GA in model generation. This paper proposes a DNN generation method based on a GA. The method is aimed at generating a DDoS detection model, which classifies input traffic into normal traffic and DDoS traffic. This generation method generated models through population iteration. Compared with existing models, the models generated achieved better results in accuracy, precision, recall and F1-score. This paper also generated models on multiple datasets, and the best model selected also showed better performance. Therefore, the method can generate a model with better performance in a limited time under the condition of changeable DDoS attacks. The results of this paper can provide certain reference significance for researchers, minimize the consumption of resources, realize the automation of model construction and facilitate the related work of DDoS detection to a certain extent.
This paper also found that models with similar performance have a certain architectural similarity. Figure 9 shows that the coding corresponding to the DNN architecture is reduced to two dimensions by t-SNE. The abscissa and ordinate correspond to the distribution of the coding corresponding to the DNN architecture in two-dimensional space. In this paper, the model’s fitness is normalized and the legend in the upper left corner shows the colors corresponding to the low-dimensional mapping of DNN architecture coding in different fitness ranges. It can be found that the low-dimensional maps of the DNN architecture’s coding have a fitness between 0.9 and 1.0 and are clustered together, indicating that DNN models with good performance may have similar architectures.

6. Conclusions and Future Work

Through observing the generated models, this paper can summarize the paradigms of several models so that future researchers can easily find a suitable model for the DDoS detection problem. This paper observed that models were most commonly generated with a depth of nine layers, and the best models were those containing multiple MaxPool2d and Residual layers. DDoS traffic has some characteristics that need to be amplified compared with ordinary traffic and some key information is hidden under the noise. The Relu and Tanh activation functions are widely used in models with good performance as these two activation functions can sufficiently express the nonlinear parts of the data. Moreover, the Relu activation function always appears after the maximum pool, while the Tanh activation function and the Residual Layer have a high probability of appearing together. The combination of this activation function and the specific structure makes it easier for the DNN to reach the convergence state in the iterative process.
The limitations of this paper lie in the following points. Firstly, there are too few layer types used when building the DNNs, and more kinds of layers need to be introduced to build DNN models for specific problems. Secondly, this paper only carries out model generation for binary classification problems. For model generation for multi-classification problems, more operators will need to be introduced to improve the search ability of the GA. Thirdly, the datasets used in the model generation in this paper contain similar attack types. In the future, we will need to conduct model generation experiments on multiple datasets with different similarities at the same time and summarize which dataset combination method is more conducive to model generation.

Author Contributions

Conceptualization, J.Z. and M.X.; methodology, J.Z. and M.X.; software, J.Z.; validation, J.Z. and M.X.; formal analysis, J.Z.; investigation, J.Z.; resources, J.Z.; data curation, J.Z.; writing—original draft preparation, J.Z. and M.X.; writing—review and editing, J.Z., M.X., Y.C. and G.X.; visualization, J.Z. and M.X.; supervision, M.X.; project administration, M.X. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Acknowledgments

Our highest recognition goes to the School of Cyberspace, Hangzhou Dianzi University, Hangzhou.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Sharifi, A.; Zad, F.F.; Farokhmanesh, F.; Noorollahi, A.; Sharif, J. An overview of intrusion detection and prevention systems (IDPS) and security issues. IOSR J. Comput. Eng. 2014, 16, 47–52. [Google Scholar] [CrossRef]
  2. Alshamrani, A.; Chowdhary, A.; Pisharody, S.; Lu, D.; Huang, D. A defense system for defeating DDoS attacks in SDN based networks. In Proceedings of the 15th ACM International Symposium on Mobility Management and Wireless Access, Miami, FL, USA, 21–25 November 2017; pp. 83–92. [Google Scholar]
  3. Bawany, N.Z.; Shamsi, J.A.; Salah, K. DDoS attack detection and mitigation using SDN: Methods, practices, and solutions. Arab. J. Sci. Eng. 2017, 42, 425–441. [Google Scholar] [CrossRef]
  4. Yaser, A.L.; Mousa, H.M.; Hussein, M. Improved DDoS Detection Utilizing Deep Neural Networks and Feedforward Neural Networks as Autoencoder. Future Internet 2022, 14, 240. [Google Scholar] [CrossRef]
  5. Thapa, N.; Liu, Z.; Kc, D.B.; Gokaraju, B.; Roy, K. Comparison of machine learning and deep learning models for network intrusion detection systems. Future Internet 2020, 12, 167. [Google Scholar] [CrossRef]
  6. Dong, S.; Abbas, K.; Jain, R. A survey on distributed denial of service (DDoS) attacks in SDN and cloud computing environments. IEEE Access 2019, 7, 80813–80828. [Google Scholar] [CrossRef]
  7. Sridaran, R. An Overview of DDoS Attacks in Cloud Environment. Available online: https://www.researchgate.net/profile/R-Sridaran/publication/273776292_An_Overview_of_DDoS_Attacks_in_Cloud_Environment/links/550d4d5e0cf275261098523d/An-Overview-of-DDoS-Attacks-in-Cloud-Environment.pdf (accessed on 25 November 2022).
  8. Swe, Y.M.; Aung, P.P.; Hlaing, A.S. A slow ddos attack detection mechanism using feature weighing and ranking. Int. Conf. Ind. Eng. Oper. Manag. 2021, 3, 4500–4509. [Google Scholar]
  9. Glorot, X.; Bengio, Y. Understanding the difficulty of training deep feedforward neural networks. In Proceedings of the Thirteenth International Conference on Artificial Intelligence and Statistics JMLR Workshop and Conference Proceedings, Chia Laguna Resort, Sardinia, Italy, 13–15 May 2010; pp. 249–256. [Google Scholar]
  10. Prasad, K.M.; Reddy, A.R.M.; Rao, K.V. DoS and DDoS attacks: Defense, detection and traceback mechanisms—A survey. Glob. J. Comput. Sci. Technol. 2014, 14, 15–32. [Google Scholar]
  11. Mohammed, S.S.; Hussain, R.; Senko, O.; Bimaganbetov, B.; Lee, J.; Hussain, F.; Kerrache, C.A.; Barka, E.; Bhuiyan, M.Z.A. A new machine learning-based collaborative DDoS mitigation mechanism in software-defined network. In Proceedings of the 14th International Conference on Wireless and Mobile Computing, Networking and Communications (WiMob), Limassol, Cyprus, 15–17 October 2018; pp. 1–8. [Google Scholar]
  12. Alotaibi, A.; Rassam, M.A. Adversarial Machine Learning Attacks against Intrusion Detection Systems: A Survey on Strategies and Defense. Future Internet 2023, 15, 62. [Google Scholar] [CrossRef]
  13. Said Elsayed, M.; Le-Khac, N.A.; Dev, S.; Jurcut, A.D. Machine-Learning Techniques for Detecting Attacks in SDN. arXiv 2019, arXiv:1910.00817. [Google Scholar]
  14. Zargar, S.T.; Joshi, J.; Tipper, D. A survey of defense mechanisms against distributed denial of service (DDoS) flooding attacks. IEEE Commun. Surv. Tutor. 2013, 15, 2046–2069. [Google Scholar] [CrossRef] [Green Version]
  15. Salim, M.M.; Rathore, S.; Park, J.H. Distributed denial of service attacks and its defenses in IoT: A survey. J. Supercomput. 2020, 76, 5320–5363. [Google Scholar] [CrossRef]
  16. Wang, H.; Li, W. DDosTC: A transformer-based network attack detection hybrid mechanism in SDN. Sensors 2021, 21, 5047. [Google Scholar] [CrossRef] [PubMed]
  17. Javeed, D.; Gao, T.; Khan, M.T. SDN-enabled hybrid DL-driven framework for the detection of emerging cyber threats in IoT. Electronics 2021, 10, 918. [Google Scholar] [CrossRef]
  18. Kreutz, D.; Ramos, F.M.V.; Verissimo, P. Towards secure and dependable software-defined networks. Second. Acm Sigcomm Workshop Hot Top. Softw. Defin. Netw. 2013, 8, 55–60. [Google Scholar]
  19. Alaoui, R.L.; Nfaoui, E.H. Deep learning for vulnerability and attack detection on web applications: A systematic literature review. Future Internet 2022, 14, 118. [Google Scholar] [CrossRef]
  20. Abdou, A.R.; Van Oorschot, P.C.; Wan, T. Comparative analysis of control plane security of SDN and conventional networks. IEEE Commun. Surv. Tutor. 2018, 20, 3542–3559. [Google Scholar] [CrossRef]
  21. Mattioli, F.; Caetano, D.; Cardoso, A.; Naves, E.; Lamounier, E. An experiment on the use of genetic algorithms for topology selection in deep learning. J. Electr. Comput. Eng. 2019, 2019, 3217542. [Google Scholar] [CrossRef] [Green Version]
  22. Xiao, X.; Yan, M.; Basodi, S.; Ji, C.; Pan, Y. Efficient hyperparameter optimization in deep learning using a variable length genetic algorithm. arXiv 2020, arXiv:2006.12703. [Google Scholar]
  23. Agrawal, A.; Singh, R.; Khari, M.; Vimal, S.; Lim, S. Autoencoder for design of mitigation model for DDOS attacks via M-DBNN. Wirel. Commun. Mob. Comput. 2022, 2022, 9855022. [Google Scholar] [CrossRef]
  24. Saha, S.; Sairam, A.S.; Yadav, A.; Ekbal, A. Genetic algorithm combined with support vector machine for building an intrusion detection system. In Proceedings of the International Conference on Advances in Computing, Communications and Informatics, Chennai, India, 3–5 August 2012; pp. 566–572. [Google Scholar]
  25. Kamel, H.; Abdullah, M.Z. Distributed denial of service attacks detection for software defined networks based on evolutionary decision tree model. Bull. Electr. Eng. Inform. 2022, 11, 2322–2330. [Google Scholar] [CrossRef]
  26. Erfan, A. DDoS attack detection scheme using hybrid ensemble learning and GA for internet of things. Palarch’S J. Archaeol. Egypt/Egyptol. 2021, 18, 521–546. [Google Scholar]
  27. Chiba, Z.; Abghour, N.; Moussaid, K.; El Omri, A.; Rida, M. Smart approach to build a deep neural network based ids for cloud environment using an optimized genetic algorithm. In Proceedings of the 2nd International Conference on Networking, Information Systems & Security, Rabat, Morocoo, 27–28 March 2019; 1–12. [Google Scholar]
  28. Zainudin, A.; Ahakonye, L.A.C.; Akter, R.; Kim, D.S.; Lee, J.M. An efficient hybrid-dnn for ddos detection and classification in software-defined iiot networks. IEEE Internet Things J. 2022. [Google Scholar] [CrossRef]
  29. Sindian, S.; Samer, S. An enhanced deep autoencoder-based approach for DDoS attack detection. Wseas Trans. Syst. Control 2020, 15, 716–725. [Google Scholar] [CrossRef]
  30. Kunang, Y.N.; Nurmaini, S.; Stiawan, D.; Suprapto, B.Y. Attack classification of an intrusion detection system using deep learning and hyperparameter optimization. J. Inf. Secur. Appl. 2021, 58, 102804. [Google Scholar] [CrossRef]
  31. Huang, S.; Li, X.; Cheng, Z.; Zhang, Z.; Hauptmann, A. Gnas: A greedy neural architecture search method for multi-attribute learning. arXiv 2018, arXiv:abs/1804.06964. [Google Scholar]
  32. Bergstra, J.; Bengio, Y. Random search for hyper-parameter optimization. J. Mach. Learn. Res. 2012, 13, 281–305. [Google Scholar]
  33. Aamir, M.; Zaidi, S.M.A. DDoS attack detection with feature engineering and machine learning: The framework and performance evaluation. Int. J. Inf. Secur. 2019, 18, 761–785. [Google Scholar] [CrossRef]
  34. Jordan, M.I.; Mitchell, T.M. Machine learning: Trends, perspectives, and prospects. Science 2015, 349, 255–260. [Google Scholar] [CrossRef]
  35. Shafique, M.; Hafiz, R.; Javed, M.U.; Abbas, S.; Sekanina, L.; Vasicek, Z.; Mrazek, V. Adaptive and energy-efficient architectures for machine learning: Challenges, opportunities, and research roadmap. In Proceedings of the 2017 IEEE Computer society annual symposium on VLSI (ISVLSI), Bochum, Germany, 3–5 July 2017; pp. 627–632. [Google Scholar]
  36. Huang, C.; Li, Y.; Loy, C.C.; Tang, X. Learning deep representation for imbalanced classification. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Las Vegas, NV, USA, 27–30 June 2016; pp. 5375–5384. [Google Scholar]
  37. Johnson, J.M.; Khoshgoftaar, T.M. Survey on deep learning with class imbalance. J. Big Data 2019, 6, 27. [Google Scholar] [CrossRef] [Green Version]
  38. Pandey, H.M.; Chaudhary, A.; Mehrotra, D. A comparative review of approaches to prevent premature convergence in GA. Appl. Soft Comput. 2014, 24, 1047–1077. [Google Scholar] [CrossRef]
  39. Mathew, T.V. Genetic Algorithm. Report Submitted at IIT Bombay. 2012. Available online: http://datajobstest.com/data-science-repo/Genetic-Algorithm-Guide-[Tom-Mathew].pdf (accessed on 18 November 2022).
  40. Pham, T.A.; Tran, V.Q.; Vu, H.L.T.; Ly, H.B. Design deep neural network architecture using a genetic algorithm for estimation of pile bearing capacity. PLoS ONE 2020, 15, e0243030. [Google Scholar] [CrossRef]
  41. Katoch, S.; Chauhan, S.S.; Kumar, V. A review on genetic algorithm: Past, present, and future. Multimed. Tools Appl. 2021, 80, 8091–8126. [Google Scholar]
  42. Ring, M.; Wunderlich, S.; Scheuring, D.; Landes, D.; Hotho, A. A survey of network-based intrusion detection data sets. Comput. Secur. 2019, 86, 147–167. [Google Scholar] [CrossRef] [Green Version]
  43. Yang, J.; Zhao, Y.-Q.; Chan, J.C.-W. Learning andtransferring deep joint spectral-spatial features for hyper-spectral classification. IEEE Trans. Geosci. Remote Sens. 2017, 55, 4729–4742. [Google Scholar] [CrossRef]
  44. Jie, L.; Jiahao, C.; Xueqin, Z.; Yue, Z.H.O.U.; Jiajun, L.I.N. One-hot encoding and convolutional neural network based anomaly detection. J. Tsinghua Univ. (Sci. Technol.) 2019, 59, 523–529. [Google Scholar]
  45. Srivastava, N.; Hinton, G.; Krizhevsky, A.; Sutskever, I.; Salakhutdinov, R. Dropout: A simple way to prevent neural networks from overfitting. J. Mach. Learn. Res. 2014, 15, 1929–1958. [Google Scholar]
  46. Chawla, N.V.; Bowyer, K.W.; Hall, L.O.; Kegelmeyer, W.P. SMOTE: Synthetic minority over-sampling technique. J. Artif. Intell. Res. 2002, 16, 321–357. [Google Scholar] [CrossRef]
  47. Elsayed, M.S.; Le-Khac, N.A.; Dev, S.; Jurcut, A.D. Ddosnet: A deep-learning model for detecting network attacks. In Proceedings of the 2020 IEEE 21st International Symposium on “A World of Wireless, Mobile and Multimedia Networks” (WoWMoM), Cork, Ireland, 31 August–3 September 2020; pp. 391–396. [Google Scholar]
  48. Chartuni, A.; Márquez, J. Multi-Classifier of DDoS Attacks in Computer Networks Built on Neural Networks. Appl. Sci. 2021, 11, 10609. [Google Scholar] [CrossRef]
  49. Cil, A.E.; Yildiz, K.; Buldu, A. Detection of DDoS attacks with feed forward based deep neural network model. Expert Syst. Appl. 2021, 169, 114520. [Google Scholar] [CrossRef]
  50. Mahadik, S.S.; Pawar, P.; Muthalagu, R. Edge-HetIoT Defense against DDoS Attack Using LearningTechniques. 2022. Available online: https://assets.researchsquare.com/files/rs-2164979/v1_covered.pdf?c=1668326371 (accessed on 18 November 2022).
  51. Rangapur, A.; Kanakam, T.; Jubilson, A. DDoSDet: An approach to Detect DDoS attacks using Neural Networks. arXiv 2022, arXiv:2201.09514. [Google Scholar]
Figure 1. Flowchart of the method.
Figure 1. Flowchart of the method.
Futureinternet 15 00122 g001
Figure 2. Flowchart of the method.
Figure 2. Flowchart of the method.
Futureinternet 15 00122 g002
Figure 3. Solution p z are produced from the crossover of parents p x and p y .
Figure 3. Solution p z are produced from the crossover of parents p x and p y .
Futureinternet 15 00122 g003
Figure 4. GEN LRU.
Figure 4. GEN LRU.
Futureinternet 15 00122 g004
Figure 5. Solution p z are produced after mutation of p z .
Figure 5. Solution p z are produced after mutation of p z .
Futureinternet 15 00122 g005
Figure 6. Change in population’s average performance.
Figure 6. Change in population’s average performance.
Futureinternet 15 00122 g006
Figure 7. Change in population’s average fitness.
Figure 7. Change in population’s average fitness.
Futureinternet 15 00122 g007
Figure 8. KS curve.
Figure 8. KS curve.
Futureinternet 15 00122 g008
Figure 9. Dimension reduction of sequences of solutions.
Figure 9. Dimension reduction of sequences of solutions.
Futureinternet 15 00122 g009
Table 1. Symbol table.
Table 1. Symbol table.
SymbolDescription
PSet of solutions
p i d A solution in the population, the subscript id represents the id number of the solution
q p i d The probability that a solution is selected to participate in generating a new solution
l p i d The length of a sequence corresponding to a solution
FSet of fitness of solutions
α 1 Weight of accuracy in fitness function
α 2 Weight of single data processing time in fitness function
T ¯ Represents the average time of processing a single piece of data in the test phase of the model
f i t n e s s p i d The fitness value of a solution
[ l o w e r p i d , u p p e r p i d ]The corresponding cumulative probability interval of the solution
q ˜ p i d The probability that a solution is selected to provide a gene fragment to a new solution
n r a n d o m A random number
β 1 A value used to determine whether to use GEN LRU
Table 2. Model Architecture Coding Method.
Table 2. Model Architecture Coding Method.
DescriptionCodeParameter
Full Connected Layer0Neurons {2,4,6,8,16,32,64}
Conv2d1Kernel size {2,4,6,8} Stride {1,2,3,4}
Maxpool2d2Pooling {2,3,4,5}
Droupout3Dropout rate {0.1,0.2,0.3,0.4,0.5}
Residual layer4Kernel size {2,4,6,8} Padding {1,2,3,4}
Table 3. Codes of activation function, optimizer and loss function.
Table 3. Codes of activation function, optimizer and loss function.
Activation FunctionsCodeOptimizerCodeLoss FunctionCode
Relu5Adam0Logarithmic Cross Entropy Loss0
Sigmoid6Sgd1Mse Loss1
Tanh7Rmdgrop2Smooth Mse Loss2
Softplus8 L1 Loss3
Table 4. The Sequence Corresponding to a five-layer DNN.
Table 4. The Sequence Corresponding to a five-layer DNN.
DescriptionCodeParameter
Full Connection Layer with 32 neurons032
Full Connection Layer with 64 neurons064
Conv2d with 4∗4 Convolutional filter and stride is 214,2
Relu activation5
Full Connected Layer with 2 neurons02
Logarithmic cross entropy loss0
Adam optimizer0
Learn Rate0.01
Table 5. Percentage of dataset categories before and after the smote method is applied.
Table 5. Percentage of dataset categories before and after the smote method is applied.
TagPercentage before Smote MethodPercentage after Smote Method
BENIGN0.001140.05011
DrDoS_DNS0.101290.08262
DrDoS_NetBIOS0.081760.08309
DrDoS_NTP0.024020.07811
UDP-lag0.007320.08163
WebDDoS0.000010.04184
DrDoS_UDP0.062610.08296
DrDoS_MSSQL0.090340.08306
Syn0.031610.08333
DrDoS_LDAP0.043540.08332
DrDoS_SSDP0.052150.08329
TFTP0.401150.08333
DrDoS_SNMP0.103070.08332
Table 6. The first number in the method field represents the number of solutions in the population and the second number represents the number of iteration rounds.
Table 6. The first number in the method field represents the number of solutions in the population and the second number represents the number of iteration rounds.
MethodACCPRERECF1_SCORE
(50,400)0.99130.99780.98480.9913
(100,200)0.99130.99750.98500.9912
(200,100)0.99370.99960.98780.9937
(400,50)0.99090.99740.98440.9909
Table 7. The range of related complexity of the generated model.
Table 7. The range of related complexity of the generated model.
Complexity CostRange
Flops (M)[0.01,6.1]
Pamras (M)[0.0,0.01]
Table 8. The average value of related complexity of the generated model.
Table 8. The average value of related complexity of the generated model.
Complexity CostAverage Value
Flops (M)0.1105
Pamras (M)0.0020
Table 9. Confusion matrix of the best model selected.
Table 9. Confusion matrix of the best model selected.
NormalAttack
Normal0.99940.0006
Attack0.01190.9881
Table 10. The comparative Results with related works.
Table 10. The comparative Results with related works.
TechniquesACCPRERECF1_SCORE
Best model generated0.99370.99930.98810.9937
Mahmoud Said Elsayed et al. [47]0.99130.99900.98370.9913
Andrés Chartuni et al. [48]0.99270.99990.98550.9927
Abdullah Emir Cil et al. [49]0.99140.99850.98460.9915
Shalaka S. Mahadik et al. [50]0.98660.99640.97710.9867
Aman Rangapur et al. [51]0.99210.99870.98570.9921
SVM0.80240.96460.62430.7580
C4.50.98170.97950.98400.9817
RF0.78620.99310.58000.7323
LR0.50710.50711.00000.6729
Table 11. Performce of best model generated.
Table 11. Performce of best model generated.
DatasetACCPRERECF1_SCORE
CICIDS20170.99060.98960.99150.9906
CICIDS20180.99930.99861.00000.9993
Table 12. Average complexity of different methods.
Table 12. Average complexity of different methods.
MethodFlops (M)Params (M)
Model generation using six datasets0.21730.0038
Model generation using one dataset0.11050.0020
Chiba Z et al. [27]0.95070.0305
Table 13. Performce of best model generated of different methods.
Table 13. Performce of best model generated of different methods.
TechniquesACCPRERECF1_SCORET (ms)KS
Best model generated with six datasets0.99020.99030.99030.99020.0014770.607
Best model generated with one dataset0.99370.99930.98810.99370.0013400.624
Best model generated by Chiba Z et al. [27]0.97770.97850.97780.97770.0013710.605
Table 14. Performance of models generated by different generation methods under different datasets.
Table 14. Performance of models generated by different generation methods under different datasets.
TechniquesDatasetACCPRERECF1_SCORE
Best model generated with six datasetsCICDDoS20190.99020.99030.99030.9902
CICIDS20170.96600.96640.96600.9660
CICIDS20180.99840.99840.99840.9984
KDD_CUP991.00001.00001.00001.00000
NSL-KDD0.93520.93540.93520.9352
UNSW1.00001.00001.00001.0000
Best model generated with one datasetCICDDoS20190.99370.99930.98810.9937
CICIDS20170.74600.75000.74580.7449
CICIDS20180.50290.75140.50000.3346
KDD_CUP990.90790.92250.90760.9071
NSL-KDD0.76750.77950.76630.7644
UNSW0.48170.46490.48350.4039
Best model generated by Chiba Z et al. [27]CICDDoS20190.97770.97850.97780.9777
CICIDS20170.81210.82020.81170.8108
CICIDS20180.65910.68790.65830.6448
KDD_CUP990.99950.99950.99950.9995
NSL-KDD0.70100.70180.70120.7010
UNSW0.49370.49680.49990.3308
Table 15. Percentage of layer occurrences.
Table 15. Percentage of layer occurrences.
Topology LayerPercentage of Occurrence
Full Connected Layer0.2597
Conv2d0.0175
Maxpool2d0.0957
Droupout0.0087
Residual layer0.1693
Relu0.0896
Sigmoid0.0412
Tanh0.0773
Softplus0.2402
Table 16. Layer occurrence frequency.
Table 16. Layer occurrence frequency.
Number of Occurrences1234
Full Connected Layer0.50500.31100.12200.0470
Conv2d0.81000.18000.00000.0000
Maxpool2d0.23800.68750.05880.0147
Droupout0.97050.02940.00000.0000
Residual layer0.33750.49360.12780.0358
Relu0.60000.29230.07690.0307
Sigmoid0.68250.09500.02220.0000
Tanh0.24630.68110.07240.0000
Softplus0.39130.44340.12170.0347
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Zhao, J.; Xu, M.; Chen, Y.; Xu, G. A DNN Architecture Generation Method for DDoS Detection via Genetic Alogrithm. Future Internet 2023, 15, 122. https://doi.org/10.3390/fi15040122

AMA Style

Zhao J, Xu M, Chen Y, Xu G. A DNN Architecture Generation Method for DDoS Detection via Genetic Alogrithm. Future Internet. 2023; 15(4):122. https://doi.org/10.3390/fi15040122

Chicago/Turabian Style

Zhao, Jiaqi, Ming Xu, Yunzhi Chen, and Guoliang Xu. 2023. "A DNN Architecture Generation Method for DDoS Detection via Genetic Alogrithm" Future Internet 15, no. 4: 122. https://doi.org/10.3390/fi15040122

APA Style

Zhao, J., Xu, M., Chen, Y., & Xu, G. (2023). A DNN Architecture Generation Method for DDoS Detection via Genetic Alogrithm. Future Internet, 15(4), 122. https://doi.org/10.3390/fi15040122

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop