Entropy-Based Application Layer DDoS Attack Detection Using Artificial Neural Networks
<p>Attack scenario.</p> "> Figure 2
<p>Structure of the multilayer perceptron (MLP) network.</p> "> Figure 3
<p>Weight of the hidden neuron and output neuron.</p> "> Figure 4
<p>Validation performance graph for training the dataset.</p> "> Figure 5
<p>Comparison of receiver operating characteristic (ROC) curve of MLP-genetic algorithm (GA) with (<b>a</b>) radial basis function (RBF) network, (<b>b</b>) naive Bayes, (<b>c</b>) random forest, and (<b>d</b>) multilayer perceptron.</p> "> Figure 6
<p>Central processing unit (CPU) resource utilization during attack period.</p> "> Figure 7
<p>Hypertext transfer protocol (HTTP) count for the incoming traffic.</p> "> Figure 8
<p>Mean entropy per IP address.</p> "> Figure 9
<p>Variance of the entropy per IP address.</p> "> Figure 10
<p>Accuracy curve for the proposed method.</p> ">
Abstract
:1. Introduction
2. Related Works
3. Background
3.1. Attack Scenario
3.2. Features Selected
- DDoS attack from most of the attackers to a single target server occurs for at least 20 s.
- During the attack period, the attackers send HTTP at an almost constant high rate.
- Legitimate human clients could not access the web server in a constant fashion, i.e., the HTTP flow rate from a normal client is often random.
3.2.1. HTTP GET Request Count
Algorithm 1 HTTP GET Flow Count for the N Participating Clients for Every 20 s Time Window |
1: Begin |
2: for () |
3: for () |
4: Compute |
5: Compute |
6: Compute Final |
7: end for |
8: end for |
9: end |
3.2.2. Entropy and Variance of the Connection
3.3. Multilayer Perceptron with Genetic Algorithm Learning
3.4. An Illustrative Example
3.5. Comparison between MLP-GA with Other Classification Models
4. Experimental Setup and Analysis
Detection Time Analysis
Algorithm 2 Time Consumed by MLP-GA in Detection |
Begin |
Step 1: Calculate, |
where X is an array of the three input attributes and V is the weight from input to hidden layers. |
Step 2: Calculate, Y = Sigmoid (s1) |
End |
Begin |
Step 3: Calculate, |
where W is the weight from the hidden to the output layers. |
Step 4: Calculate, Output = Sigmoid (s2) |
The value of the Output is either 0 or 1 only. |
End |
Step 5: if (Output = 1) |
Status= Attack |
Else |
Status= Normal |
End if |
where status indicated the nature of the participating client. |
5. Conclusions and Future Scope
Acknowledgments
Author Contributions
Conflicts of Interest
References
- Wang, B.; Zheng, Y.; Lou, W.; Hou, Y.T. DDoS attack protection in the era of cloud computing and Software-Defined Networking. Comput. Netw. 2015, 81, 308–319. [Google Scholar] [CrossRef]
- McGregory, S. Preparing for the next DDoS attack. Netw. Secur. 2013, 2013, 5–6. [Google Scholar] [CrossRef]
- Hunter, P. Distributed Denial of Service (DDoS) Mitigation Tools. Netw. Secur. 2003, 5, 12–14. [Google Scholar]
- Sood, A.K.; Enbody, R.J.; Bansal, R. Dissecting SpyEye–Understanding the design of third generation botnets. Comput. Netw. 2013, 57, 436–450. [Google Scholar] [CrossRef]
- Vissers, T.; Somasundaram, T.S.; Pieters, L.; Govindarajan, K.; Hellinckx, P. DDoS defense system for web services in a cloud environment. Future Gener. Comput. Syst. 2014, 37, 37–45. [Google Scholar] [CrossRef]
- Malecki, F. Simple ways to dodge the DDoS bullet. Netw. Secur. 2012, 2012, 18–20. [Google Scholar] [CrossRef]
- Beitollahi, H.; Deconinck, G. Tackling application-layer DDoS attacks. Procedia Comput. Sci. 2012, 10, 432–441. [Google Scholar] [CrossRef]
- Saad, R.M.A.; Anbar, M.; Manickam, S.; Alomari, E. An Intelligent ICMPv6 DDoS Fooding-attack Detection Framework (v6IIDS) Using Back-Propagation Neural Network. IETE Tech. Rev. 2015, 33, 244–255. [Google Scholar] [CrossRef]
- Ni, T.; Gu, X.; Wang, H.; Li, Y. Real-time detection of application-layer DDoS attack using time series analysis. J. Control Sci. Eng. 2013, 2013, 821315. [Google Scholar] [CrossRef]
- Wang, F.; Wang, H.; Wang, X.; Su, J. A new multistage approach to detect subtle DDoS attacks. Math. Comput. Model. 2012, 55, 198–213. [Google Scholar] [CrossRef]
- Saied, A.; Overill, R.E.; Radzik, T. Detection of known and unknown DDoS attacks using Artificial Neural Networks. Neurocomputing 2015, 172, 385–393. [Google Scholar] [CrossRef]
- Xiao, P.; Qu, W.; Qi, H.; Li, Z. Detecting DDoS attacks against data center with correlation analysis. Comput. Commun. 2015, 67, 66–74. [Google Scholar] [CrossRef]
- Shiaeles, S.N.; Katos, V.; Karakos, A.S.; Papadopoulos, B.K. Real time DDoS detection using fuzzy estimators. Comput. Secur. 2012, 31, 782–790. [Google Scholar] [CrossRef]
- Özçelik, İ.; Brooks, R.R. Deceiving entropy based DoS detection. Comput. Secur. 2015, 48, 234–245. [Google Scholar] [CrossRef]
- Yatagai, T.; Isohara, T.; Sasase, I. Detection of HTTP-GET flood Attack Based on Analysis of Page Access Behavior. In Proceedings of the IEEE Pacific Rim Conference on Communications, Computers and Signal Processing, Victoria, BC, Canada, 22–24 August 2007.
- Ko, N.-S.; Noh, S.-K.; Park, J.-D.; Lee, S.-S.; Park, H.-S. An efficient anti-DDoS mechanism using flow-based forwarding technology. In Proceedings of the 9th International Conference on Optical Internet (COIN 2010), Jeju, Korea, 11–14 July 2010.
- Kalkan, K.; Alagöz, F. A distributed filtering mechanism against DDoS attacks: ScoreForCore. Comput. Netw. 2016, 108, 199–209. [Google Scholar] [CrossRef]
- Soryal, J.; Saadawi, T. IEEE 802.11 DoS attack detection and mitigation utilizing Cross Layer Design. Ad Hoc Netw. 2014, 14, 71–83. [Google Scholar] [CrossRef]
- EPA-HTTP. Available online: http://ita.ee.lbl.gov/html/contrib/EPA-HTTP.html (accessed on 29 January 2015).
- Jestratjew, A.; Kwiecien, A. Performance of HTTP protocol in networked control systems. IEEE Trans. Ind. Inform. 2013, 9, 271–276. [Google Scholar] [CrossRef]
- Hoque, N.; Bhuyan, M.H.; Baishya, R.C.; Bhattacharyya, D.K.; Kalita, J.K. Network attacks: Taxonomy, tools and systems. J. Netw. Comput. Appl. 2014, 40, 307–324. [Google Scholar] [CrossRef]
- David, J.; Thomas, C. DDoS Attack Detection Using Fast Entropy Approach on Flow-Based Network Traffic. Procedia Comput. Sci. 2015, 50, 30–36. [Google Scholar] [CrossRef]
- Dahal, K.; Almejalli, K.; Hossain, M.A.; Chen, W. GA-based learning for rule identification in fuzzy neural networks. Appl. Soft Comput. 2015, 35, 605–617. [Google Scholar] [CrossRef]
- Yang, J.; Zeng, X.; Zhong, S. Computation of multilayer perceptron sensitivity to input perturbation. Neurocomputing 2013, 99, 390–398. [Google Scholar] [CrossRef]
- Ince, T.; Kiranyaz, S.; Gabbouj, M. Evolutionary RBF classifier for polarimetric SAR images. Expert Syst. Appl. 2012, 39, 4710–4717. [Google Scholar] [CrossRef]
- Kotsiantis, S. Integrating Global and Local Application of Naive Bayes Classifier. Int. Arab J. Inf. Technol. 2014, 11, 300–307. [Google Scholar]
- Aung, W.T.; Myanma, Y.; Hla, K.H.M.S. Random forest classifier for multi-category classification of web pages. In Proceedings of the IEEE Asia-Pacific Conference on Services Computing, Singapore, Singapore, 7–11 December 2009.
- Schubert, C.M.; Oxley, M.E.; Bauer, K.W. A comparison of ROC curves for label-fused within and across classifier systems. In Proceedings of the 7th International Conference on Information Fusion, Philadelphia, PA, USA, 25–28 July 2005.
- Jaswal, K.; Kumar, P.; Rawat, S. Design and development of a prototype application for intrusion detection using data mining. In Proceedings of the 4th International Conference on Infocom Technologies and Optimization, Noida, India, 2–4 September 2015.
- Bhatia, S.; Schmidt, D.; Mohay, G.; Tickle, A. A framework for generating realistic traffic for Distributed Denial-of-Service attacks and Flash Events. Comput. Secur. 2014, 40, 95–107. [Google Scholar] [CrossRef]
- Thapngam, T.; Yu, S.; Zhou, W.; Beliakov, G. Discriminating DDoS attack traffic from flash crowd through packet arrival patterns. In Proceedings of the IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS), Shanghai, China, 10–15 April 2011.
- Oikonomou, G.; Mirkovic, J. Modeling human behavior for defense against flash-crowd attacks. In Proceedings of the IEEE International Conference on Communications, Dresden, Germany, 14–18 June 2009.
- The CAIDA “DDoS Attack 2007” Dataset. Available online: https://www.caida.org/data/passive/ddos-20070804_dataset.xml (accessed on 20 September 2016).
- LANDER: Los Angeles Network Data Exchange and Repository. Available online: http://www.isi.edu/ant/lander (accessed on 25 May 2014).
Number | Source Address | Destination Address | Flow Count |
---|---|---|---|
1 | 202.1.175.252 | 71.126.222.64 | 1213 |
2 | 192.120.148.227 | 71.126.222.64 | 1242 |
3 | 51.81.166.201 | 71.126.222.64 | 221 |
4 | 192.95.27.190 | 71.126.222.64 | 1856 |
5 | 51.173.229.255 | 71.126.222.64 | 739 |
6 | 40.75.89.172 | 71.126.222.64 | 1182 |
Number | Source Address | Destination Address | Flow Count |
---|---|---|---|
1 | 202.1.175.252 | 71.126.222.64 | 619 |
2 | 192.120.148.227 | 71.126.222.64 | 637 |
3 | 51.81.166.201 | 71.126.222.64 | 78 |
4 | 192.95.27.190 | 71.126.222.64 | 1025 |
5 | 51.173.229.255 | 71.126.222.64 | 322 |
6 | 40.75.89.172 | 71.126.222.64 | 600 |
Number | Source Address | Destination Address | Flow Count |
---|---|---|---|
1 | 202.1.175.252 | 71.126.222.64 | 1229 |
2 | 192.120.148.227 | 71.126.222.64 | 1278 |
3 | 51.81.166.201 | 71.126.222.64 | 301 |
4 | 192.95.27.190 | 71.126.222.64 | 1803 |
5 | 51.173.229.255 | 71.126.222.64 | 217 |
6 | 40.75.89.172 | 71.126.222.64 | 1201 |
Number | Source Address | Destination Address | Flow Count |
---|---|---|---|
1 | 202.1.175.252 | 71.126.222.64 | 1253 |
2 | 192.120.148.227 | 71.126.222.64 | 1273 |
3 | 51.81.166.201 | 71.126.222.64 | 334 |
4 | 192.95.27.190 | 71.126.222.64 | 1734 |
5 | 51.173.229.255 | 71.126.222.64 | 77 |
6 | 40.75.89.172 | 71.126.222.64 | 1099 |
Number | Source Address | Destination Address | Flow Count |
---|---|---|---|
1 | 202.1.175.252 | 71.126.222.64 | 1236 |
2 | 192.120.148.227 | 71.126.222.64 | 1277 |
3 | 51.81.166.201 | 71.126.222.64 | 377 |
4 | 192.95.27.190 | 71.126.222.64 | 1713 |
5 | 51.173.229.255 | 71.126.222.64 | 116 |
6 | 40.75.89.172 | 71.126.222.64 | 1148 |
Source Address | Entropy | Mean | Variance | Approximate | ||||
---|---|---|---|---|---|---|---|---|
First Window | Second Window | Third Window | Fourth Window | Fifth Window | ||||
202.1.175.252 | 1.018 | 1.022 | 0.544 | 0.669 | 0.678 | 0.786 | 0.0386874 | 0.039 |
192.120.148.227 | 1.006 | 1.014 | 0.521 | 0.657 | 0.663 | 0.772 | 0.0402854 | 0.040 |
51.81.166.201 | 1.918 | 2.211 | 1.192 | 1.290 | 1.319 | 1.586 | 0.162998 | 0.163 |
192.95.27.190 | 0.799 | 0.751 | 0.387 | 0.527 | 0.548 | 0.602 | 0.0139102 | 0.014 |
51.173.229.255 | 1.302 | 1.179 | 1.739 | 2.052 | 2.106 | 1.676 | 0.143426 | 0.143 |
40.75.89.172 | 1.032 | 1.038 | 0.585 | 0.738 | 0.745 | 0.828 | 0.0319508 | 0.032 |
Number | Iteration | Highest Fitness Value | Original Fitness Value (0.99) |
---|---|---|---|
1 | 1 | 0.928571 | Less |
2 | 5 | 0.92993 | Less |
3 | 9 | 0.937984 | Less |
4 | 22 | 0.94349 | Less |
5 | 26 | 0.957986 | Less |
6 | 50 | 0.95887 | Less |
7 | 55 | 0.96029 | Less |
8 | 68 | 0.96354 | Less |
9 | 112 | 0.96897 | Less |
10 | 132 | 0.97106 | Less |
11 | 145 | 0.97145 | Less |
12 | 176 | 0.973184 | Less |
13 | 187 | 0.97372 | Less |
14 | 196 | 0.978299 | Less |
15 | 204 | 0.97992 | Less |
16 | 215 | 0.98002 | Less |
17 | 227 | 0.98346 | Less |
18 | 231 | 0.998628 | Equal |
Input | s1 | yj | s2 | ok | Status | |
---|---|---|---|---|---|---|
[2000,0.888,0.011] | 7272.2 | −1 | 6.22 | 1 | Attack | |
[2000,4.55,4.44] | 7270.9 | −1 | −3.74 | 0 | Normal | |
[1151,0.012,0.22] | 4180.5 | −1 | 6.22 | 1 | Attack | |
[1,3.33,4.77] | −5.7 | −1 | −3.74 | 0 | Normal | |
[700,2.22,1.99] | 2542.2 | −1 | −3.74 | 0 | Normal | |
[700,0.19,0.11] | 2540.8 | −1 | 6.22 | 1 | Attack | |
[400,0.001,0.022] | 2122.3 | −1 | 6.22 | 1 | Attack | |
[400,5,4] | 2310.7 | −1 | −3.74 | 0 | Normal | |
[30,0.011,0.06] | −54.6 | −1 | 6.22 | 1 | Attack | |
[30,4,5] | −24.8 | −1 | −3.74 | 0 | Normal |
Classification Model | Confusion Matrix | Accuracy | Sensitivity | Specificity | Detection Time (in second) |
---|---|---|---|---|---|
MLP-GA | 98.31 | 0.9962 | 0.0561 | 0.31 | |
RBF Network | 96.63 | 98.13 | 0.0787 | 0.53 | |
Naive Bayes | 96.92 | 97.79 | 0.0581 | 1.2 | |
Random Forest | 97.76 | 98.52 | 0.0465 | 1.6 | |
MLP | 95.23 | 0.9773 | 0.1208 | 0.31 |
SL. No. | Tools Name | Operating System | Memory (GB) | Processors | HardDisk (GB) | Network Adapter | No. per OS |
---|---|---|---|---|---|---|---|
1 | Slowhttptest | Red Hat 6.6 | 2 | 1 | 80 | Bridged | 1 |
2 | LOIC | Window 8 | 1 | 1 | 500 | NIC | 4 |
3 | HOIC | Window 7 | 1 | 1 | 500 | NIC | 3 |
4 | R.U.D.Y | CentOS 6.8 | 2 | 1 | 80 | Bridged | 6 |
5 | BONESI | Fedora 24 | 1 | 1 | 80 | Bridged | 1 |
6 | Anonymous DDoSer | Window 7 | 1 | 1 | 500 | NIC | 5 |
7 | HAVIJ | Window 8 | 1 | 1 | 500 | NIC | 5 |
© 2016 by the authors; licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC-BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Johnson Singh, K.; Thongam, K.; De, T. Entropy-Based Application Layer DDoS Attack Detection Using Artificial Neural Networks. Entropy 2016, 18, 350. https://doi.org/10.3390/e18100350
Johnson Singh K, Thongam K, De T. Entropy-Based Application Layer DDoS Attack Detection Using Artificial Neural Networks. Entropy. 2016; 18(10):350. https://doi.org/10.3390/e18100350
Chicago/Turabian StyleJohnson Singh, Khundrakpam, Khelchandra Thongam, and Tanmay De. 2016. "Entropy-Based Application Layer DDoS Attack Detection Using Artificial Neural Networks" Entropy 18, no. 10: 350. https://doi.org/10.3390/e18100350
APA StyleJohnson Singh, K., Thongam, K., & De, T. (2016). Entropy-Based Application Layer DDoS Attack Detection Using Artificial Neural Networks. Entropy, 18(10), 350. https://doi.org/10.3390/e18100350