Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

*************************************************************
README
*************************************************************

Given a time series data of <time stamp> <# service requests>,
figure out if there is a possibility of DDoS attack.

------------------------------------------------------------
Algorithm
------------------------------------------------------------

K-Means Clustering Algorithm is used to solve this problem.
To utilize the power of k-means, the problem is considered as
an instance of unsupervised clustering. Here, k = 2, i.e. 
one cluster for "normal" epochs and one for epochs" that suggest
DDoS attacks (characterized by abruptly high service requests)

However, the inputs may cause biasing towards one cluster and 
some points may be falsely classified. To deal with this, we used
a logarithmic function to "normalize" the input points before 
porceeding to k-means clustering.

Let,
minPoint = minimum service request value
maxPoint = maximum service request value
point    = service request at a ith epoch

normalizedPoint = log(minPoint) + log(1+point)/log(1+maxPoint)

Maximum Iterations = 10. One can change it as per the convenience.

Input format:
<timestamp> <# service requests>

About

DDoS Attacks detection based on time series data input - Problem by Booking.com on Hackerrank

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages