Comparison of Machine Learning Algorithms For DDoS
Comparison of Machine Learning Algorithms For DDoS
net/publication/342256675
CITATION READS
1 500
3 authors, including:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Quyen Nguyen on 08 October 2021.
For citation: Le D. T., Dao M. H., Nguyen Q. L. T. Comparison of machine learning algorithms for DDoS attack detection in SDN.
Informatsionno-upravliaiushchie sistemy [Information and Control Systems], 2020, no. 3, pp. 59–70. doi:10.31799/1684-8853-2020-
3-59-70
№ 3, 2020 ИНФОРМАЦИОННО
УПРАВЛЯЮЩИЕ СИСТЕМЫ 59
ЗАЩИТА ИНФОРМАЦИИ
[12–15]. However, due to the variety of algorithms, (BayesNet), which can be used to detect DDoS at-
each machine learning algorithm (simplified here tacks in the networking system and no further ex-
by ML-algorithms) has its own approach to the planation of how to detect and mitigate DDoS at-
problem, maybe appropriate, maybe not, but it gives tack was given.
us more options to solve the problem, as well as to Kokila et al. in [13] explored the possibility of
pick out the algorithm that best suits the goal of de- launching DDoS attacks and detection of DDoS us-
tecting DDoS attack. ing the SVM classifier. The experiments are carried
In this paper, besides focusing on how to apply out using the DARPA dataset. They suggested that
machine learning to detect DDoS in the SDN en- the use of a support vector machine for detection
vironment, we will implement six different ML- of DDoS with a previously trained dataset will give
algorithms, making comparisons based on some the least false-positive results compared with other
criteria to expand the choice and finding the opti- machine learning techniques.
mal solution. These algorithms are random forest Dao et al. in [20] presented a solution based on the
(RF), decision tree (DT), naive Bayes (NB), sup- IP-filtering technique to defeat DDoS attacks. The
port vector machine (SVM), multilayer perceptron proposed scheme analyzes user behaviour and uses
(MLP), k-nearest neighbors (KNN), all supported it to assign the timeouts for the flow entries. Long
by Python libraries. timeouts are used for trusted users’ flows, while a
short timeout is assigned for malicious ones. It works
well when the attack traffic is not very massive.
Related works However, this solution drops all malicious traffic,
which may be problematic for false-positive flows.
In [16], Braga et al. proposed a lightweight meth- In [21], Nanda et al. propose using machine
od for DDoS attack detection based on traffic flow learning algorithms, trained on historical network
features. This method is implemented over a NOX- attack data, to identify the potential malicious con-
based network, where OF switches keep Flow Tables nections and potential attack destinations. They
with statistics about all active flows. This system used four ML-algorithms: DT, BayesNet, decision
monitors NOX switches at regular intervals and table and NB to predict the host that will be at-
uses self-organizing maps to classify the traffic as tacked based on the historical data. The SDN con-
normal or malicious. troller uses the prediction results to define securi-
The authors in [17] introduced a deep learning ty rules to protect the potentially vulnerable hosts
based multi-vector DDoS detection system in a SDN and restrict the access of potential attackers by
environment. A DDoS detection system that incor- blocking the entire subnet.
porates stacked autoencoder based deep learning Our paper is motivated by Santos’s paper [6],
approach in an SDN environment was implemented. in which the authors managed to exploit differ-
The authors evaluated its performance on a dataset ent kinds of machine learning algorithms to avoid
that consists of normal Internet traffic and vari- three types of DDoS attacks (controller attack, flow
ous DDoS attacks. However, as every packet has to table attack, and bandwidth attack). However, they
be collected for extracting features, this approach only focused on the typical attack type of SDN net-
may limit the performance of the controller in large works. In our paper, we are going to consider both
networks. conventional and typical DDoS attacks. We also add
In [18], Giotis et al. combined an OpenFlow and more ML-algorithms as well as modify some param-
sFlow for anomaly detection to reduce processing eters to make a comprehensive comparison and try
overhead in native OF statistics collection. It de- to find out appropriate algorithms for detecting
signs a modular mechanism that permits anomaly DDoS attacks in the SDN environment.
detection and mitigation on SDN environments, in-
cluding collector, anomaly detection and anomaly
mitigation. It leverages the packet sampling capa- Machine learning algorithms
bility of sFlow to acquire scalability improvements for DDoS detection
and to reduce the required communication between
switches and OF controllers. However, as the imple- In this paper, we will implement six different
mentation was based on flow sampling using sFlow, ML-algorithms, making comparisons based on
false-positive was quite high in attack detection. some criteria to expand the choice and finding the
In [19], Ashraf et al. aimed to handle intrusion optimal solution. These algorithms are RF, DT, NB,
and DDoS attacks in the SDN environment applying SVM, MLP, KNN [22].
machine learning techniques. However, they on- Decision tree. The DT is one of the classification
ly analyzed various machine learning techniques, techniques, which performs classification through
such as support vector machine, fuzzy logic, deci- a learning tree. In the tree, each node represents
sion tree, neural networks, and Bayesian networks a feature (attribute) of a data, all branches repre-
60 ИНФОРМАЦИОННО
УПРАВЛЯЮЩИЕ СИСТЕМЫ № 3, 2020
ЗАЩИТА ИНФОРМАЦИИ
sent the conjunctions of features that lead to clas- are: a) put the data sample to each tree in the forest;
sifications, and each leaf node is a class label. The b) each tree gives a classification result, which is
unlabeled sample can be classified by comparing the tree’s “vote”; c) the data sample will be classi-
its feature values with the nodes of the DT. The DT fied into the class, which has the most votes.
has many advantages, such as intuitive knowledge k-nearest neighbors. The KNN is a supervised
expression, simple implementation, and high clas- learning technique, where the classification of a
sification accuracy. However, due to its instability, data sample is determined based on the k nearest
even a small change in the training dataset can re- neighbors of that unclassified sample. The process
sult in significant changes in the DT-model. of the KNN-algorithm is very simple: if most of the
Random forest. The RF-algorithm, also known KNN belong to a specific class, the unclassified
as random decision forest, can be used for classifi- sample will be classified into that class. This algo-
cation and regression tasks. A RF consists of many rithm is simple to implement but computationally
DTs. This algorithm works well on the large train- expensive due to the distance calculation of each
ing dataset and reduces instability (relative to DT). training data sample to classify a new sample.
However, it has low training speed. The steps to Naïve Bayes uses Bayesian theory that pre-
classify a new data sample by using a RF-algorithm dicts the type of the unknown samples based on
№ 3, 2020 ИНФОРМАЦИОННО
УПРАВЛЯЮЩИЕ СИСТЕМЫ 61
ЗАЩИТА ИНФОРМАЦИИ
prior probability using the training samples. The Table 2. Description of studied features
Bayesian classification model relies on statistical
№ Features Description
analysis and Bayesian theory that consists of the
Bayesian learning. The NB-algorithm operates by 0 Byte_count Number of bytes in a flow
segregating the training set into an attribute vec- Opaque controller-issued
tor and a decision variable. The algorithm also as- 1 Cookie
identifier
sumes that every member of the attribute vector
2 Eth_src Ethernet source address
independently acts on the decision variables.
Support vector machine. SVM is another popular 3 Eth_dst Ethernet destination address
supervised learning method, which has been wide- Time flow has been alive in
ly used in classification and pattern recognition. 4 Duration_nsec
nanoseconds
The basic idea of SVM is to map the input vectors
into a high-dimensional feature space. This map- Time flow has been alive in
5 Duration_sec
seconds
ping is achieved by applying different kernel func-
tions, such as linear, polynomial and radial based 6 Hard_timeout
Max time before discarding
function (RBF). The objective of SVM is to find a (seconds)
separating hyperplane in the feature space to maxi- Idle time before discarding
mize the margin between different classes. The dis- 7 Idle_timeout
(seconds)
advantage of this algorithm is hard to train large
8 In_port Port ID
datasets because the training is computationally
expensive. Max length to send to the
9 Max_len
Multilayer perceptron. The MLP is a class of controller
feedforward artificial neural network and has 10 Packet_count Number of packets in the flows
been widely adopted neural network for intrusion
11 Priority The priority level of a flow entry
detection in conventional systems. An MLP con-
sists of at least three layers of nodes: an input lay- 12 Port Output port
er, a hidden layer, and an output layer. Except for The ID of the table to put the
the input nodes, each node is a neuron that uses a 13 Table_id
flow in
nonlinear activation function. MLP utilizes a su-
14 Type Type of action
pervised learning technique called backpropaga-
tion for training. Its multiple layers and non-linear
activation distinguish MLP from a linear percep-
tron. It can distinguish data that is not linearly tures needed to reduce data in building models of
separable. other algorithms.
Each algorithm has its own strengths. We will
test each algorithm as well as compare them togeth-
er to select the optimal algorithm for the detection Goals and implementation plan
of DDoS attacks in the SDN network. Table 1 shows
the hyperparameters used in this experiment asso- Goals
ciated with the respective machine learning algo- The primary purpose of our experiment is to
rithm. find ways to apply machine learning to detect DDoS
The studied features used to build the model for attacks in SDN networks. Besides, another goal that
the algorithms are shown in Table 2. we are aiming at in this paper is to compare differ-
The number of studied features is up to 14, which ent ML-algorithms as a solution to the problem, be-
is almost all of the data that we can get from the cause each algorithm has its own characteristics.
flow-table through OpenFlow Switch. Among the Based on [23], the basic criteria to evaluate a
above features, not all features help to detect abnor- model in detecting abnormal traffic such as DDoS
mal and normal traffic classification. However, at include accuracy, data quality, correctness, and ef-
this time, it is not known which features will play a ficiency. In this paper, since all the tests take place
decisive role in detecting DDoS attacks, so the mod- in a simulation environment, and there is always a
els will be built based on all these features. At the difference between simulation data and actual col-
end of the experiment, we can review and take out lected data, we will not perform an evaluation based
the important features table to find out which fea- on data quality.
tures will play a decisive role in this case. Because Usually, with classification problems for any
the characteristics of each algorithm are differ- model of machine learning, accuracy criterion is a
ent, important features are particular parameters suitable criterion for evaluation. It indicates how
that can only be derived when studying DT and RF. much percentage of a model’s accuracy is rated,
However, these features still help identify the fea- which makes it easy to visualize. For processing
62 ИНФОРМАЦИОННО
УПРАВЛЯЮЩИЕ СИСТЕМЫ № 3, 2020
ЗАЩИТА ИНФОРМАЦИИ
Data Collection
To collect the necessary data from the switch’s
Host flow-table, we built a separate module. This module
is responsible for reading entries in the flow-table
every second, recording the required information
Fig. 1. SDN network architecture for the experiment into a data file, and labelling it.
№ 3, 2020 ИНФОРМАЦИОННО
УПРАВЛЯЮЩИЕ СИСТЕМЫ 63
ЗАЩИТА ИНФОРМАЦИИ
We then use hping3 from one of the three hosts Table 3. The best hyperparameters set for each ML-
inside the network (see Fig. 1) to create a bandwidth algorithm
attack on the remaining hosts. Similarly, we use Model Hyperparameter Value
Scapy to create flow-table attack as well as normal
n_estimators 10
traffic.
In the end, the data collected is 7500 data for Random criterion Gini
each type (2500 data of the dataflow table for band- forest min_samples_split 2
width attack, 2500 for flow-table attack, and 2500
min_samples_leaf 1
for normal traffic). Based on this data set, we will
create two separate datasets: train dataset and test Criterion Gini
dataset for the next process. Splitter Best
Decision tree
min_samples_split 2
Building model
We use the training dataset prepared above to min_samples_leaf 1
build the models. After that, we will check with the Naive Bayes var_smoothing 1e-9
test dataset to get the best results. To avoid mod- n_neighbors 3
el overfitting (especially for NB, KNN, SVM, and
MLP), standardization of the values of the features weights Uniform
was applied to the data using StandardScaler in k-nearest leaf_size 30
scikit-learn [24]. neighbors p 2
Next is the process of tuning hyperparameters.
metric Minkowski
We use the GridSearch technique (from Sklearn
Library) to find the best hyperparameters set. It algorithm Auto
helps to build a suitable model that is highly effec- Kernel Rbf
tive.
Support Gamma Auto
After having obtained a reasonable hyperpa-
rameter set, during the next training period, we vector C 1e+5
use cross-validation to avoid algorithms’ overfit- machine Tol 1e-3
ting with the training dataset. Specifically, we use
Max_iter -1
StratifiedKFold [24] with ten folds and then evalu-
ate the returned results, from which the conclusion hidden_layer_sizes (5,)
is made. activation Relu
solver Lbfgs
Multilayer
Results alpha 1e-3
perceptron
max_iter 2000
After the process of tuning hyperparameter, we Tol 1e-4
obtain the following parameters, as in Table 3.
The main objective of this study is to apply ma- max_fun 2000
chine learning to detect DDoS attacks, compare
algorithms, and build a model that can classify as
many types of traffic as possible. Therefore, from this value is 1 (100 %), it means that the algorithm
the initial data (7500 data of dataflow table, 2500 has no error and classifies the data perfectly.
of each type), we will create six different datasets, Figure 4 shows a comparison of the accuracy of
including train/test datasets for normal traffic and ML-algorithms.
bandwidth attack traffic (ratio 1:1); train/test data- It is easy to realize that for the current problem,
sets for normal traffic and flow-table attack traffic the lazy learner algorithm — KNN is entirely in-
(ratio 1:1); finally, train/test datasets for all three appropriate. It gives results with low accuracy for
traffic types at once (ratio 1:1:1). bandwidth attack. For flow-table attack, although
To evaluate the accuracy of the ML-algorithms the results are quite good, it is inferior to the re-
for each attack simulated, we use the following for- maining algorithms.
mula [6]: The two algorithms SVM and MLP are useful
algorithms for this problem with high accuracy.
Number of correct classifications
Accuracy . However, SVM still has many errors in the classifi-
Total of samples cation of bandwidth attack.
The other three algorithms are RF, DT, and NB
The accuracy is a statistical value that deter- are excellent algorithms with an almost absolute
mines how close our ML-algorithm is to the ideal. If precise classification capability.
64 ИНФОРМАЦИОННО
УПРАВЛЯЮЩИЕ СИСТЕМЫ № 3, 2020
ЗАЩИТА ИНФОРМАЦИИ
90
When this metric is higher, then the classification
85 is better. Fig. 6, a–f presents the ROC curve for all
algorithms.
80
75
Analysis and interpretation
70
DT NB SVM MLP KNN RF Based on the results we have obtained above,
Machine learning algorithm we can say that the type of algorithm lazy learn-
all DDoS attack bandwidth attack er — KNN is not appropriate for DDoS detection.
flow-table attack Because the accuracy prediction rate is low, and it
Fig. 4. Accuracies of ML-algorithms for each DDoS takes a lot of processing time. The reason may be
attack due to the similarity between the traffics at the
start of the attack. It leads to misjudging the re-
sults because the evaluation is based on nearby
18 neighbors. At the same time, for KNN, the process
16 to make predictions always takes place when new
14
data is received, meaning it requires a longer time
to calculate and produce results.
12
Time unit
№ 3, 2020 ИНФОРМАЦИОННО
УПРАВЛЯЮЩИЕ СИСТЕМЫ 65
ЗАЩИТА ИНФОРМАЦИИ
а) 1.0 1.0
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
0.0 0.0
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0
False positive rate False positive rate
ROC fold 0 (AUC 1.00) ROC fold 0 (AUC 1.00) ROC fold 0 (AUC 1.00) ROC fold 0 (AUC 1.00)
ROC fold 1 (AUC 1.00) ROC fold 1 (AUC 1.00) ROC fold 1 (AUC 1.00) ROC fold 1 (AUC 1.00)
ROC fold 2 (AUC 1.00) ROC fold 2 (AUC 1.00) ROC fold 2 (AUC 1.00) ROC fold 2 (AUC 1.00)
ROC fold 3 (AUC 1.00) Chance ROC fold 3 (AUC 1.00) Chance
ROC fold 4 (AUC 1.00) Mean ROC (AUC 0.99 r 0.00) ROC fold 4 (AUC 1.00) Mean ROC (AUC 0.99 r 0.00)
ROC fold 5 (AUC 1.00) r 1 std. dev. ROC fold 5 (AUC 1.00) r 1 std. dev.
ROC fold 6 (AUC 1.00) ROC fold 6 (AUC 1.00)
b) 1.0 1.0
0.8 0.8
True positive rate
0.6 0.6
0.4 0.4
0.2 0.2
0.0 0.0
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0
False positive rate False positive rate
ROC fold 0 (AUC 1.00) ROC fold 0 (AUC 1.00) ROC fold 0 (AUC 1.00) ROC fold 0 (AUC 1.00)
ROC fold 1 (AUC 1.00) ROC fold 1 (AUC 1.00) ROC fold 1 (AUC 1.00) ROC fold 1 (AUC 1.00)
ROC fold 2 (AUC 1.00) ROC fold 2 (AUC 1.00) ROC fold 2 (AUC 1.00) ROC fold 2 (AUC 1.00)
ROC fold 3 (AUC 1.00) Chance ROC fold 3 (AUC 1.00) Chance
ROC fold 4 (AUC 1.00) Mean ROC (AUC 0.99 r 0.00) ROC fold 4 (AUC 1.00) Mean ROC (AUC 0.99 r 0.00)
ROC fold 5 (AUC 1.00) r 1 std. dev. ROC fold 5 (AUC 1.00) r 1 std. dev.
ROC fold 6 (AUC 1.00) ROC fold 6 (AUC 1.00)
c) 1.0 1.0
0.8 0.8
True positive rate
0.6 0.6
0.4 0.4
0.2 0.2
0.0 0.0
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0
False positive rate False positive rate
ROC fold 0 (AUC 0.75) ROC fold 0 (AUC 0.88) ROC fold 0 (AUC 0.96) ROC fold 0 (AUC 0.99)
ROC fold 1 (AUC 0.49) ROC fold 1 (AUC 0.88) ROC fold 1 (AUC 1.00) ROC fold 1 (AUC 0.97)
ROC fold 2 (AUC 0.53) ROC fold 2 (AUC 0.91) ROC fold 2 (AUC 0.97) ROC fold 2 (AUC 0.95)
ROC fold 3 (AUC 0.90) Chance ROC fold 3 (AUC 0.98) Chance
ROC fold 4 (AUC 0.88) Mean ROC (AUC 0.77 r 0.16) ROC fold 4 (AUC 0.93) Mean ROC (AUC 0.97 r 0.02)
ROC fold 5 (AUC 0.65) r 1 std. dev. ROC fold 5 (AUC 0.96) r 1 std. dev.
ROC fold 6 (AUC 0.89) ROC fold 6 (AUC 0.99)
Fig. 6. ROC curve for DT-algorithm (a); RF-algorithm (b); KNN-algorithm (c); MLP-algorithm (d); SVM-algorithm (e);
66 ИНФОРМАЦИОННО
УПРАВЛЯЮЩИЕ СИСТЕМЫ № 3, 2020
ЗАЩИТА ИНФОРМАЦИИ
d) 1.0 1.0
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
0.0 0.0
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0
False positive rate False positive rate
ROC fold 0 (AUC 0.75) ROC fold 0 (AUC 0.88) ROC fold 0 (AUC 0.96) ROC fold 0 (AUC 0.99)
ROC fold 1 (AUC 0.49) ROC fold 1 (AUC 0.88) ROC fold 1 (AUC 1.00) ROC fold 1 (AUC 0.97)
ROC fold 2 (AUC 0.53) ROC fold 2 (AUC 0.91) ROC fold 2 (AUC 0.97) ROC fold 2 (AUC 0.95)
ROC fold 3 (AUC 0.90) Chance ROC fold 3 (AUC 0.98) Chance
ROC fold 4 (AUC 0.88) Mean ROC (AUC 0.77 r 0.16) ROC fold 4 (AUC 0.93) Mean ROC (AUC 0.97 r 0.02)
ROC fold 5 (AUC 0.65) r 1 std. dev. ROC fold 5 (AUC 1.00) r 1 std. dev.
ROC fold 6 (AUC 0.89) ROC fold 6 (AUC 0.96)
e) 1.0 1.0
0.8 0.8
True positive rate
0.6 0.6
0.4 0.4
0.2 0.2
0.0 0.0
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0
False positive rate False positive rate
ROC fold 0 (AUC 0.97) ROC fold 0 (AUC 1.00) ROC fold 0 (AUC 1.00) ROC fold 0 (AUC 1.00)
ROC fold 1 (AUC 0.92) ROC fold 1 (AUC 1.00) ROC fold 1 (AUC 1.00) ROC fold 1 (AUC 1.00)
ROC fold 2 (AUC 0.99) ROC fold 2 (AUC 1.00) ROC fold 2 (AUC 1.00) ROC fold 2 (AUC 1.00)
ROC fold 3 (AUC 1.00) Chance ROC fold 3 (AUC 1.00) Chance
ROC fold 4 (AUC 1.00) Mean ROC (AUC 0.98 r 0.03) ROC fold 4 (AUC 1.00) Mean ROC (AUC 0.99 r 0.00)
ROC fold 5 (AUC 0.96) r 1 std. dev. ROC fold 5 (AUC 1.00) r 1 std. dev.
ROC fold 6 (AUC 1.00) ROC fold 6 (AUC 1.00)
f) 1.0 1.0
0.8 0.8
True positive rate
0.6 0.6
0.4 0.4
0.2 0.2
0.0 0.0
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0
False positive rate False positive rate
ROC fold 0 (AUC 1.00) ROC fold 0 (AUC 1.00) ROC fold 0 (AUC 1.00) ROC fold 0 (AUC 1.00)
ROC fold 1 (AUC 1.00) ROC fold 1 (AUC 1.00) ROC fold 1 (AUC 1.00) ROC fold 1 (AUC 1.00)
ROC fold 2 (AUC 1.00) ROC fold 2 (AUC 1.00) ROC fold 2 (AUC 1.00) ROC fold 2 (AUC 1.00)
ROC fold 3 (AUC 1.00) Chance ROC fold 3 (AUC 1.00) Chance
ROC fold 4 (AUC 1.00) Mean ROC (AUC 0.99 r 0.00) ROC fold 4 (AUC 1.00) Mean ROC (AUC 0.99 r 0.00)
ROC fold 5 (AUC 1.00) r 1 std. dev. ROC fold 5 (AUC 1.00) r 1 std. dev.
ROC fold 6 (AUC 1.00) ROC fold 6 (AUC 1.00)
NB-algorithm (f) under bandwidth attack (left) and flow-table attack (on right)
№ 3, 2020 ИНФОРМАЦИОННО
УПРАВЛЯЮЩИЕ СИСТЕМЫ 67
ЗАЩИТА ИНФОРМАЦИИ
In terms of attack type, the data shows that mal traffic’s packet_count. Same with byte_count.
flow-table attack is a more recognizable type of at- However, most of the features that we collect from
tack than a bandwidth attack using the above algo- OpenFlow Switch are almost useless. The result is
rithms. shown in Fig. 7.
We also try to check the features, which play a Table 4 presents the features according to its
supporting role (important features) to the process importance for the detection of the anomalies.
of correctly classifying data for the DT-algorithm.
Features that play the essential role are byte_count,
duration_sec, packet_count, and some other fea- Conclusion
tures. It is also to be expected because, with DDoS
attacks, the large amount of incoming packets The benefits of SDN network to overcome the
makes packet_count change a lot compared to nor- drawbacks of a traditional network model are un-
disputed, but there are also certain limitations. For
example, the entire system will collapse if the con-
0.8 troller receives a DDoS attack and cannot respond
0.7 to other valid requests. But based on what we have
Importance
68 ИНФОРМАЦИОННО
УПРАВЛЯЮЩИЕ СИСТЕМЫ № 3, 2020
ЗАЩИТА ИНФОРМАЦИИ
tacks in SDN. Concurrency and Computation: Prac- ogy (ICSSIT), 2018, pp. 299–303. doi:10.1109/ics-
tice and Experience, 2019, e5402. doi:10.1002/ sit.2018.8748836
cpe.5402 16. Braga R., Mota E. & Passito A. Lightweight DDoS
7. Swami R., Dave M. & Ranga V. Defending DDoS flooding attack detection using NOX/OpenFlow.
against software defined networks using entropy. IEEE Local Computer Network Conference, 2010,
2019 4th International Conference on Internet of pp. 408–415. doi:10.1109/LCN.2010.5735752
Things: Smart Innovation and Usages (IoT-SIU), 17. Niyaz Q., Sun W., & Javaid A. Y. A deep learning
2019, pp. 1–5. doi:10.1109/IoT-SIU.2019.8777688 based DDoS detection system in Software-Defined
8. Yen T. F. & Reiter M. K. Traffic aggregation for mal- Networking (SDN). ICST Transactions on Security
ware detection. International Conference on Detec- and Safety, 2017, no. 4(12), p. 153515. doi:10.4108/
tion of Intrusions and Malware, and Vulnerability eai.28-12-2017.153515
Assessment, 2008, pp. 207–227. doi:10.1007/978-3- 18. Giotis K., Argyropoulos C., Androulidakis G., Kalo-
540-70542-0_11 geras D. & Maglaris V. Combining OpenFlow and
9. Mehdi S. A., Khalid J. & Khayam S. A. Revisiting sFlow for an effective and scalable anomaly detection
traffic anomaly detection using software defined net- and mitigation mechanism on SDN environments.
working. International Workshop on Recent Advances Computer Networks, 2014, vol. 62, pp. 122–136.
in Intrusion Detection, 2011, pp. 161–180. doi:10. doi:10.1016/j.bjp.2013.10.014
1007/978-3-642-23644-0_9 19. Javed A. & Latif S. Handling intrusion and DDoS at-
10. Elsayed M. S., Le-Khac N., Dev S., & Jurcut A. D. Ma- tacks in Software Defined Networks using machine
chine-learning techniques for detecting attacks in learning techniques. 2014 National Software Engi-
SDN. 2019 IEEE 7th International Conference on neering Conference, 2014, pp. 55–60. doi:10.1109/
Computer Science and Network Technology (ICCSNT), nsec.2014.6998241
2019, pp. 277–281. doi:10.1109/ICCSNT47585. 20. Dao N. N., Park J., Park M. & Cho S. A feasible meth-
2019.8962519 od to combat against DDoS attack in SDN network.
11. Xiaoqiong X., Hongfang Y. & Kun Y. DDoS attack in 2015 International Conference on Information Net-
software defined networks: a survey. ZTE Communi- working (ICOIN), 2015, pp. 309–311. doi:10.1109/
cations, 2017, no. 15(3), pp. 13–19. icoin.2015.7057902
12. Nam T. M., Phong P. H., Khoa T. D., Huong T. T., 21. Nanda S., Zafari F., DeCusatis C., Wedaa E. & Yang
Nam P. N., Thanh N. H., Thang L. X., Tuan P. A. B. Predicting network attack patterns in SDN using
& Loi V. D. Self-organizing map-based approaches in machine learning approach. 2016 IEEE Conference on
DDoS flooding detection using SDN. 2018 Interna- Network Function Virtualization and Software De-
tional Conference on Information Networking fined Networks (NFV-SDN), 2016, pp. 167–172.
(ICOIN), 2018, pp. 249–254. doi:10.1109/icoin.2018. doi:10.1109/NFV-SDN.2016.7919493
8343119 22. Xie J., Yu F. R., Huang T., Xie R., Liu J., Wang C. &
13. Kokila R. T., Selvi S. T. & Govindarajan K. DDoS Liu Y. A survey of machine learning techniques ap-
detection and analysis in SDN-based environment plied to software defined networking (SDN): Re-
using support vector machine classifier. 2014 search issues and challenges. IEEE Communications
Sixth International Conference on Advanced Com- Surveys & Tutorials, no. 21(1), 2018, pp. 393–430.
puting (ICoAC), 2014, pp. 205–210. doi:10.1109/ doi:10.1109/comst.2018.2866942
icoac.2014.7229711 23. Bhuyan M. H., Bhattacharyya D. K. & Kalita J. K.
14. Yang L. & Zhao H. DDoS attack identification and de- Network Traffic Anomaly Detection and Prevention:
fense using SDN based on machine learning method. Concepts, Techniques, and Tools. Springer, 2017.
2018 15th International Symposium on Pervasive Sys- 263 p. doi:10.1007/978-3-319-65188-0
tems, Algorithms and Networks (I-SPAN), 2018, 24. Pedregosa F., Varoquaux G., Gramfort A., Michel V.,
pp. 174–178. doi:10.1109/i-span.2018.00036 Thirion B., Grisel O., Blondel M., Prettenhofer P.,
15. Deepa V., Sudar K.M. & Deepalakshmi P. Detection Weiss R., Dubourg V. & Vanderplas J. Scikit-learn:
of DDoS attack on SDN control plane using hybrid Machine learning in Python. Journal of Machine
machine learning techniques. 2018 International Learning Research, 2011, no. 12, pp. 2825–2830.
Conference on Smart Systems and Inventive Technol-
№ 3, 2020 ИНФОРМАЦИОННО
УПРАВЛЯЮЩИЕ СИСТЕМЫ 69
ЗАЩИТА ИНФОРМАЦИИ
УДК 004.056.5
doi:10.31799/1684-8853-2020-3-59-70
Сравнение алгоритмов машинного обучения при обнаружении DDoS-атак в программно-определяемых сетях
Д. Ч. Леa, канд. техн. наук, лектор, orcid.org/0000-0003-3735-0314, letranduc@dut.udn.vn
М. Х. Даоa, магистрант, orcid.org/0000-0002-0998-6078
К. Л. Т. Нгуэнa, магистр, лектор, orcid.org/0000-0003-4578-9925
aУниверситет Дананга — Университет науки и техники, факультет информационных технологий, 54, Нгуэн Лунг
Для цитирования: Le D. T., Dao M. H., Nguyen Q. L. T. Comparison of machine learning algorithms for DDoS attack detection in SDN.
Информационно-управляющие системы, 2020, № 3, с. 59–70. doi:10.31799/1684-8853-2020-3-59-70
For citation: Le D. T., Dao M. H., Nguyen Q. L. T. Comparison of machine learning algorithms for DDoS attack detection in SDN.
Informatsionno-upravliaiushchie sistemy [Information and Control Systems], 2020, no. 3, pp. 59–70. doi:10.31799/1684-8853-2020-3-
59-70
70 ИНФОРМАЦИОННО
УПРАВЛЯЮЩИЕ СИСТЕМЫ № 3, 2020