Department of Computer Science and Engineering BRAC University
Department of Computer Science and Engineering BRAC University
BRAC University
DECLARATION
I hereby declare that this report is my own work and effort and it has not been submitted
anywhere for any award. All the contents provided here is totally based on my own labor
dedicated for the completion of this thesis. Where other sources of information have been
used, they have been acknowledged and the sources of information have been provided in
the reference section.
___________________________ __________________________
i
ACKNOWLEDGEMENT
First of all, I would like to express my heartfelt gratitude to almighty Allah. Secondly, I
am sincerely grateful to my advisor, Sadia Hamid Kazi, for her patience and her insight
whenever I felt stuck. Her guidance helped me in all parts of the progress.
ii
Table of Contents
DECLARATION……………………………………………………………….i
ACKNOWLEDGEMENT……………………………………………………ii
TABLE OF CONTENTS……………………………………………………..iii
LIST OF FIGURES……………………………………………………………v
ABSTRACT……………………………………………………………………...vi
Chapter 1- Introduction
1.1 Introduction…………………………………………………………………....1
Chapter 3- DDoS
3.1 Types of DDoS attacks……………………………………………………….4
3.2 DDoS prevention algorithms………………………………………………...13
4.1 Approach………………………………………………………………………16
4.2 Honeypot………………………………………………………………………16
4.3TCM………………………………………………………………………….....18
iii
Chapter 5: Results
5.1 Results and Discussion………………………………………………………29
Chapter 6: Conclusion
6.1 Conclusion…………………………………………………………...………32
References…………………………………………………………………..…...33
iv
List of figures
Figure 1: OverviewofanDDoSAttackScenario……………………………….…....4
Figure2: DDoSAttackusingreflectors……………………………………………...4
Figure3: TwoDifferentViewsoftheHoneypot……………………………………....17
IoT has the potential to affect our ways of life. It is the next step of Internet where
all the physical objects around us will be connected to each other. According to
Gartner, by 2020 there will be over 26 billion connected devices. However, the
security of such a big network of interconnected devices is of paramount
importance. According to a report from Russian-based Kaspersky Labs, botnets -
not spam, viruses or worm- currently pose the biggest threat to the Internet.
However, few works that have been done on this issue in the recent past are not
successful on themselves alone. In this paper, I present an in depth understanding
of the problem and propose a mechanism to counter this issue. My proposal is
based on Transductive Confidence Machines, which was previously proposed as a
mechanism to provide confidence measures on classification decisions. It proposes
to make use of this algorithm with the help of honeypot to collect attack data and
uses these data to make the system more proficient.
vi
Chapter 1- Introduction:
1.1Introduction
1
Chapter 2- Literature review:
2
Its loose control over the connected simple devices increases the risk of including
malicious devices into the network. Moreover, for IoT, the work flow is highly
dependent on the communication between the chained devices over the network.
Single point failure would lead to cascade effect over an area of end network. For
example, once DDoS attack brings down the serving device on an IoT network, the
other IoT devices whose functions rely on the this blocked device will be also
blocked from serving their client devices, which causes impairment of a local
network [15].
3
Chapter 3: DDoS:
Figure1.OverviewofanDDoSAttackScenario. Figure2.DDoSAttackusingreflectors
Attacks that target network resources attempt to consume all of a victim’s network
bandwidth by using a large volume of illegitimate traffic to saturate the company’s
Internet pipe. These attacks, called network floods, are simple yet effective. In a
typical flooding attack, the offense is distributed among an army of thousands of
volunteered or compromised computers—a botnet—that simply sends a huge
amount of traffic to the targeted site overwhelms its network. In small numbers,
requests of this manner may seem legitimate; in large numbers, they can be
significantly harmful. A legitimate user trying to access a victim’s site under a
flooding attack will find the attacked site incredibly slow or unresponsive.
4
Types of Network Floods:
UDP Flood:
ICMP Flood:
IGMP Flood:
5
Amplification Attacks:
Connection-Oriented Attacks:
Connectionless Attacks:
A connectionless attack, on the other hand, does not require the attacker to open a
complete connection to the victim, and therefore is much easier to launch. The
outcome of a connectionless attack affects network resources, causing denial of
service before the malicious packets can even reach the server. UDP floods and
ICMP floods are examples of connectionless DDoS attacks.
Reflective Attacks:
6
Attacks Targeting Server Resources:
TCP/IP Weaknesses:
These types of attacks abuse the TCP/ IP protocol by exploiting some of its design
weaknesses. They typically misuse the six control bits (or flags) of the TCP/IP
protocol—SYN, ACK, RST, PSH, FIN and URG—in order to disrupt the normal
mechanisms of TCP traffic. Unlike UDP and other connectionless protocols,
TCP/IP is connection-based—requiring the packet sender to establish a full
connection with his or her intended recipient prior to sending any packets. TCP/IP
relies on a three-way handshake mechanism (SYN, SYN-ACK, ACK) where every
request creates a half-open connection (SYN), a request for a reply (SYN-ACK),
and then an acknowledgement of the reply (ACK). Attacks attempting to abuse the
TCP/IP protocol will often involve sending TCP packets in the wrong order,
causing the target server to run out of computing resources as it attempts to
understand such abnormal traffic.
In the TCP handshake mechanism, there must be an agreement between each party
for a connection to be established. If the TCP client does not exist or is a non-
requesting client with a spoofed IP, such an agreement is not possible. In a TCP
SYN, or simple SYN flood attack, the attacking clients lead the server to believe
that they are asking for legitimate connections through a series of TCP requests
with TCP flags set to SYN coming from spoofed IP addresses. To handle each of
these SYN requests, the target server opens threads and allocates corresponding
buffers to prepare for a connection. It then tries to send a SYN-ACK reply back to
the requesting clients to acknowledge their connection requests, but because the
clients’ IP addresses are spoofed or the clients are unable to respond, an
acknowledgement (ACK packet) is never sent back to the server.
7
The server is still forced to maintain its open threads and buffers for each one of
the original connection requests, attempting to resend its SYN-ACK request
acknowledgement packets multiple times before resorting to a request timeout.
Because server resources are limited and a SYN flood often involves a massive
number of connection requests, a server is unable to time out its open requests
before new requests arrive—causing a denial-of-service condition.
The TCP RST flag is intended to notify a server that it should immediately reset its
corresponding TCP connection. In a TCP RST attack, the attacker interferes with
an active TCP connection between two entities by guessing the current sequence
number and spoofing a TCP RST packet to use the client’s source IP (which is then
sent to the server). Typically a botnet is used to send thousands of such packets to
the server with different sequence numbers, making it fairly easy to guess the
correct one. Once this occurs, the server acknowledges the RST packet sent by the
attacker, terminating its connection to the client located at the spoofed IP address.
When a TCP sender sends a packet with its PUSH flag set to 1, the result is that the
TCP data is immediately sent or “pushed” to the TCP receiver. This action actually
forces the receiving server to empty its TCP stack buffer and to send an
acknowledgement when this action is complete. An attacker, usually using a
botnet, can therefore flood a target server with many such requests. This
overwhelms the TCP stack buffer on the target server, causing it to be unable to
process the requests or even acknowledge them—resulting in a denial-of-service
condition.
Unlike floods, “low and slow” attacks do not require a large amount of traffic.
They target specific design flaws or vulnerabilities on a target server with a
relatively small amount of malicious traffic, eventually causing it to crash. “Low
and slow” attacks mostly target application resources (and sometimes server
resources). By nature, they are very difficult to detect because they involve
connections and data transfer appearing to occur at a normal rate.
8
Sockstress:
9
Encrypted-based HTTP Attacks (HTTPS floods):
THC-SSL-DoS:
Hacking group The Hacker’s Choice (THC) developed this tool as a proof of
concept to encourage vendors to patch SSL vulnerabilities. As with other “low and
slow” attacks, THC-SSL-DoS requires only a small number of packets to cause
denial of service for even a fairly large server. It works by initiating a regular SSL
handshake, and then immediately requesting for the renegotiation of the encryption
key. The tool constantly repeats this renegotiation request until all server resources
have been exhausted. Attackers love to launch attacks that use SSL because each
SSL session handshake consumes 15 times more resources from the server side
than from the client side. In fact, a single standard home PC can take down an
entire SSL-based web server, while several computers can take down a complete
farm of large, secured online services.
Recent years have brought a rise in DoS attacks targeting applications. They target
not only the well-known Hypertext Transfer Protocol (HTTP), but also HTTPS,
DNS, SMTP, FTP, VOIP and other application protocols that possess exploitable
weaknesses allowing for DoS attacks. Much like attacks targeting network
resources, attacks targeting application resources come in a variety of flavors,
including floods and “low and slow” attacks. Low and slow approaches are
particularly prominent, mostly targeting weaknesses in the HTTP protocol—
which, as the most widely used application protocol on the Internet, is an attractive
target for attackers.
10
HTTP Flood:
The most common DDoS attack targeting application resources. It consists of what
seem to be legitimate, session-basedsets of HTTP GET or POST requests sent to a
victim’s Web server, making it hard to detect. HTTP flood attacks are typically
launched simultaneously from multiple computers (volunteered machines or bots).
These bots continually and repeatedly request to download the target site’s pages
(HTTP GET flood), exhausting application resources and resulting in a denial-of-
service condition. Modern DDoS attack tools, such as High Orbit Ion Cannon
(HOIC), offer an easy-to-use means of performing multi-threaded HTTP flood
attacks.
DNS Flood:
It is easy to launch yet difficult to detect. Based on the same idea as other flooding
attacks, a DNS flood targets the DNS application protocol by sending a high
volume of DNS requests. Domain Name System (DNS) is the protocol used to
resolve domain names into IP addresses; its underlying protocol is UDP, taking
advantage of fast request and response times without the overhead of having to
establish connections (as TCP requires). In a DNS flood, the attacker sends
multiple DNS requests to the victim’s DNS server directly or via a botnet. The
DNS server, overwhelmed and unable to process all of its incoming requests,
eventually crashes.
The characteristics of the “low and slow” attacks in this section relate particularly
to application resources (whereas the previous “low and slow” attacks targeted
server resources). These “low and slow” attacks target specific application
vulnerabilities, allowing an attacker to stealthily cause denial of service. Not
volumetric in nature, such attacks can often be launched with only a single
machine. Additionally, because these attacks occur on the application layer, a TCP
handshake is already established, successfully making the malicious traffic look
like normal traffic traveling over a legitimate connection.
11
Slow HTTP GET Request:
The idea behind a slow HTTP GET request is to dominate all or most of an
application’s resources through the use of many open connections, preventing it
from providing service to users wishing to open legitimate connections. In this
attack, the attacker generates and sends incomplete HTTP GET requests to the
server, which opens a separate thread for each of these connection requests and
waits for the rest of the data to be sent. The attacker continues to send HTTP
header data at set, but slow, intervals to make sure the connection stays open and
does not timeout. Because the rest of the required data arrives so slowly, the server
perpetually waits, exhausting the limited space in its connection table and thereby
causing a denial-of-service condition.
To carry out a slow HTTP POST request attack, the attacker detects forms on the
target website and sends HTTP POST requests to the Web server through these
forms. The POST requests, rather than being sent normally, are sent byte by byte.
As with a slow HTTP GET request, the attacker ensures that his or her malicious
connection remains open by regularly sending each new byte of POST information
slowly at regular intervals. The server, aware of the content length of the HTTP
POST request, has no choice but to wait for the full POST request to be received
(this behavior mimics legitimate users with slow Internet connection). The attacker
repeats this behavior many times in parallel, never closes an open connection, and
after several hundred open connections, the target server is unable to handle new
requests—achieving a denial-of-service condition.
A special case of “low and slow” attacks is RegEx DoS (or ReDoS) attacks. In this
scenario, the attacker sends a specially crafted message (sometimes called evil
RegExes) that leverages a weakness in a library deployed in the server, in this case,
a regular expression software library. This causes the server to consume large
amounts of resources while trying to compute a regular expression over the user-
provided input, or to execute a complex and resource-hungry regular expression
processing dictated by the attacker.
12
Hash Collisions DoS Attacks:
13
The most appropriate clustering algorithm for a particular problem often needs to
be chosen experimentally, unless there is a mathematical reason to prefer one
cluster model over another. It should be noted that an algorithm that is designed for
one kind of models has no chance on a data set that contains a radically different
kind of models. Example: k-means cannot find non-convex clusters [2].
14
There is a wide variety of machine learning tasks and successful applications.
Optical character recognition, in which printed characters are recognized
automatically based on previous examples, is a classic example of machine
learning.
7) RA: As mentioned above, the shortest paths are calculated using suitable
algorithms on the graph representations of the networks. Let the network be
represented by graph G (V, E) and let the number of nodes be 'N'. For all the
algorithms discussed below, the costs associated with the links are assumed to be
positive. A node has zero cost itself. Further, all the links are assumed to be
symmetric, i.e. if di,j = cost of link from node i to node j, then d i,j = d j,i. The
graph is assumed to be complete. If there exists no edge between two nodes, then a
link of infinite cost is assumed. The algorithms given below find costs of the paths
from all nodes to a particular node. The problem is equivalent to finding the cost of
paths from a source to all destinations.
8) RSA: A node will initiate a distributed lookup according to the specific p2p
routing substrate algorithm. A query message or object key lookup takes O (log N)
application layer hops from source to destination. Each node has a routing table
with O (log N) entries where each node entry maps a node identifier to an IP
address and port number. Using routing table, each intermediate node along the
routing path will forward the message to the best node in its routing table among
all the candidate nodes stored as routing table entries. Here the best node in the
routing table is specific to the particular routing algorithm [6]. 9) TTA: To trace
back the source of the DDOS attacks in the internet is extremely hard. It is one of
the extraordinary challenge to trackback the DDOS attacks, that attackers generate
huge amount of requests to victims through compromised computers zombies in
order to denying normal services or degrading the quality of services. IP trace back
means the capability of identifying the actual source of any packet across the
internet; with the help of IP trace back schemes identify the zombies from which
the DDOS attack packets entered the internet. 10) NCA: Due to increase in number
of users on internet, many people want to attack other system resources.
Competitors also want to make their web site more popular than others. So they
want to attack the service of other’s web site. They keep on logon to a particular
web site more times, and then service provided by the web server performance
keeps degraded. To avoid that one, this application maintains a status table. In that
it keeps the IP addresses of current users and their status. If the particular IP
address has been signed on for a first time, it makes the status as genuine user. For
2, 3, 4 it marks as Normal user. For the fifth time it makes the particular IP address
status as Attacker. In the time calculations we are only consider 5 times
15
Chapter 4: Proposed Methodology:
4.1 Approach
4.2 Honeypot:
The exact definition of a honeypot is contentious, however most definitions are
some form of the following:
A honeypot is an "an information system resource whose value lies in unauthorized
or illicit use of that resources"(from the www.securityfocus.com forum)
A more practical, but more limiting, definition is given by pcmag.com:
"A server that is configured to detect an intruder by mirroring a real production
system. It appears as an ordinary server doing work, but all the data and
transactions are phony. Located either in or outside the firewall, the honeypot is
used to learn about an intruder's techniques as well as determine vulnerabilities in
the real system"
In practice, honeypots are computers which masquerade as unprotected. The
honeypot records all actions and interactions with users. Since honeypots don't
provide any legitimate services, all activity is unauthorized.
16
Figure3(a):Views in the organization Figure3(b): Views of the attacker
Figure3. TwoDifferentViewsoftheHoneypot
17
However, there are no implementations of a medium-interaction honeypots and for
the purposes of this paper, the definition of low-interaction honeypots captures the
functionality of medium-interaction honeypots in that they only provide partial
implementation of services and do not allow typical, full interaction with the
system as high-interaction honeypots.
4.3 TCM
18
Transduction has been previously used to offer confidence measures for the
decision of labeling a point as belonging to a set of pre-defined classes (see [6, 7,
1]). TCM [1] introduced the computation of the confidence using Algorithmic
Randomness Theory [9]. The confidence measure used in TCM is based upon
universal tests for randomness, or their approximation. A MartinLof randomness
deficiency test [9] based on such tests is a universal version of the standard p-value
notion, commonly used in statistics. Martin-Lof proved that there exists a universal
test for randomness smaller than any other test up to a multiplicative constant.
Unfortunately, universal tests are not computable, and have to be approximated
using non-universal tests called p-values. In the literature of significance testing,
the p-value is defined as the probability of observing a point in the sample space
that can be considered more extreme than a sample of data. This p-value serves as
a measure of how well the data supports or not a null hypothesis. The smaller the
p-value, the greater the evidence against the null hypothesis.Users of transduction
as a test of confidence have approximated a universal test for randomness (which is
in its general form, non-computable) by using a p-value function called strangeness
measure [1] (or non-conformity score [10]). In truth, there is more than a single
definition of strangeness measure, and in general, its definition depends on the
base model used to construct the TCM. The general idea is that the strangeness
measure corresponds to the uncertainty of the point being measured with respect to
all the other labeled examples of a class: the higher the strangeness measure, the
higher the uncertainty.
4.4 TCM-KNN
Now, I’ll introduce the formal description of TCM-KNN problem for the DDoS
detection. In the next section, I will further give the improved TCM-KNN
algorithm for our anomaly detection based on this section. To my knowledge, it
has never been applied to prevent DDoS in an IoT network.
Let’s assume there isa intrusion detection training set {(x1,y1 ),...,(xn, yn )} of n
elements, where Xi = {xi1,xi2,....,xin } is the set of feature values (such as the
connection duration time, the SYN error numbers, etc.) extracted from the raw
network packet (or network flow such as TCP flow) for point i andyi is the
classification for point i , taking values from a finite set of possible classifications
like different types of DDoS attack.
19
First, a measure called the individual strangeness measure will be assigned to every
point. It defines the strangeness of the point in relation to the rest of the points.
Let’s employ the definition of [11] for strangeness: the strangeness αi of a point i
with respect to a class y is given in Equation 1, where Diy is the sequence of
distances between point i and points in the class y, Dyij being the j-th shortest
distance. At the same time, Di−y represents the sequence of distances between i and
points in other classes (different from y), Dij−y being the j-th shortest distance. So,
the strangeness measure for a point i with label y is defined as-
----------------------(1)
where k is the number of neighbors used. Thus, the measure for strangeness is the
ratio of the sum of the k nearest distances from the same class to the sum of the k
nearest distances from all other classes. This is a natural measure to use, as the
strangeness of a point increases when the distance from the points of the same
class becomes bigger or when the distance from the other classes becomes smaller
[2].
-----------------------(2)
If zn is the point in question, the function t() will measure the probability of having
points already in the class with strangeness greater than or equal to that of zn. In
general, a p-value is the maximum probability under the null hypothesis of the test
statistic assuming a value equal to the observed outcome or a value just as extreme
or more extreme (with respect to the direction indicated by alternative hypothesis)
than the observed outcome. So the smaller the p-value is, the smaller is the chance
that the test statistic could have assumed a value as incompatible with the null
hypothesis if the null hypothesis (“class y is a good fit for point i.”) is true.
20
The algorithm TCM-KNN attempts to place a new point in each class of the
problem. While doing that, it may force the updating of some of the α values for
the training examples (concretely, this happens whenever the distance between the
training example and the new point is less than the largest of the k distances that
are used to compute the α). It then computes one p-value for each of the attempts
(i.e., for each class placement). It then predicts that the point belongs to the class
with the largest p-value, with a confidence equal to the complement of the second
p-value. The algorithm for TCM-KNN is shown in Figure 4.
21
Let k as the number of nearest neighbors to be used; m as the number of training points;
c as the classes; r as the points to be classified
for i = 1 to m do
end for
for i = 1 to r
do Calculate the dist vector as the distances of the new point from all training
points
for j = 1 to c do
if j Dtk>dist(t)
end
if j Dtk − >dist(t)
end
end
end
22
4.5 Modified TCM-KNN algorithm alongside honeypot
In standard TCM-KNN, we are always sure that the point we are examining
belongs to one of the classes. However, in DDoS detection, we don’t need to
assign a network packets to a certain class, we only need to decide whether the
network packet is safe or unsafe. Therefore a modified definition of α as has been
used-
This new definition will make the strangeness value of a point far away from the
class considerably larger than the strangeness of points already inside the class.
This definition has been firstly employed by authors in [10] as a measure of
isolation and adopted by authors in [12] to detect outliers. In general classification
cases, using the α values, we can compute a series of p-values for the new point for
the classes y = {1,2,3,...,c} . We call the highest p-value in this series max p . This
provides a way of testing the fitness of point γ for each class y with a confidence of
at least δ = 1−τ . Selecting a confidence level δ (usually 95%), we can test if ≤ τ
max p , in which case, we can declare the point an anomaly. Otherwise, we declare
it’s normal. Specifically for our anomaly detection task, there are no classes
available, the above test can be administered to the data as a whole (they all belong
to one class, i.e., the normal class). Doing that, of course, requires a single α i per
point (as opposed to computing one per class), and the τ used directly reflects the
confidence level δ that is required. Also, max p is just the p-value of point i to be
diagnosed computed using all the normal training data.
The process of the new simplified TCM-KNN algorithm for anomaly detection is
depicted in Figure 5:
23
Parameters: k (the nearest neighbors to be used), m (size of training dataset),
for i = 1 to m
calculate strangeness α according to equation (3) for each one in training dataset and store;
end
if ( p ≤τ )
else
The framework includes two phases: training phase and detection phase. In the
training phase, the honeypot will be used to collect network behaviors. This data
will mainly be attack data and then we will collect normal network behaviors and
classify them into two classes. Then comes the detection phase where all the real-
time data collected from the networkwould be directed to the detection engine
based on TCMKNN, benign or malicious traffic would be determined.
24
4.6 Simulation Platform
In order to emulate different devices I decided to opt for COOJA, a Contiki
Operating System emulator
Contiki OS
Contiki is an open source operating system for sensor network developed at the
Swedish Institute of Computer Science since 2004. Among the available network
simulation tools, Contiki operating system holds powerful simulating and
communication methodology for the IoT microcontrollers, named ‘motes’. Contiki
runs as a virtual machine over an operating system handled by VMware player. So,
it is highly portable and efficient for code backing up [4]. To keep the memory
overhead down in the resource limited devices, event-driven programming is
applied in the operating system [5].
COOJA
25
4.7 Data Normalization:
Normalization benefits:
26
Different attribute normalization techniques:
1) Z-score normalization: This technique uses the mean and standard deviation
for each feature across a set of training data to normalize each input feature vector.
The mean and standard deviation are computed for each feature. The
transformation is given in the equation
(𝑥𝑖 − 𝜇𝑖 )
𝑥′ =
𝜎𝑖
This produces data where each feature has a zero mean and a unit variance.
Normalization technique is applied to all the feature vectors in the data set first;
creating a new training set and then training is commenced. Once the means and
standard deviations are computed for each feature over a set of training data, they
must be retained and used as weights in the final system design. It is a
preprocessing layer in the neural network structure.
(𝒙𝒊 − 𝒙𝒎𝒊𝒏 )
𝒙′ = (𝒙𝒎𝒂𝒙 −𝒙𝒎𝒊𝒏 ) × + 𝒙𝒎𝒊𝒏
(𝒙𝒎𝒂𝒙 − 𝒙𝒎𝒊𝒏 )
when (xmax - xmin ) = 0 for a feature, it indicates a constant value for that feature in
the data. When a feature value is found in the data with a constant value, it should
be removed because it does not provide any information to the neural network.
When the min-max normalization is applied, each feature will lie within the new
range of values will remain the same. Min-max normalization has the advantage of
preserving exactly all relationships in the data.
𝑥𝑖
𝑥′ =
𝑚𝑒𝑑𝑖𝑎𝑛(𝑎𝑖 )
27
4) Sigmoid Normalization: The sigmoid normalization function is used to scale
the samples in the range of 0 and 1 or -1 to +1. There are several types of non-
linear sigmoid functions available. Out of that, tan sigmoid function is a good
choice to speed up the normalization process. If the parameters to be estimated
from noisy data the sigmoid normalization, method is used.
𝑒 𝑥 − 𝑒 −𝑥
𝑥′ =
𝑒 𝑥 + 𝑒 −𝑥
𝑦𝑠𝑡𝑑
𝑦 ′ = (𝑥𝑖 −𝑥𝑚𝑒𝑎𝑛 ) × + 𝑦𝑚𝑒𝑎𝑛
𝑥𝑠𝑡𝑑
𝑥𝑖 − 𝑛(𝑐𝑎 )
𝑥′ = × 0.1
𝑛(𝑐𝑎 )
28
CHAPTER 5: Results:
To test the effectiveness of the proposed algorithm, several IoT network scenarios
can be constructed in COOJA. To demonstrate and clarify the effect of the
proposed algorithm, interactions between motes can be tested with and without the
algorithm. The purpose of this is to examine whether the endmote is able to
classify and reject the malicious service request.Figure-6 shows the situation
happened without the proposed system.
Mote output
Time
Mote Message
(s)
ID
1.0
1.0
29
However, in the proposed system, the motes will be able to classify the malicious
requests and reject them. Figure 7 shows the possible network simulation in the
proposed system.
Mote output
Time Mote
Message
(s) ID
0.517 5.0 Starting‘Attackerrequest’
3.660 4.0
3.762 5.0 requestnotserved.
Request receivedfrom3.0:
30
Furthermore, this is a pattern classification system and for more effective detection the
classification methods can correspond to the attributes. From the different attribute
normalization techniques I have already discussed in section 4.7, many have been employed for
anomaly detection. Among them, statistical normalization not only considers the mean scale of
attribute values, but also takes into account their statistical distribution and this may help a lot
for the detection. In general, for the detection with distance based methods such as TCM-kNN,
statistical normalization is the best choice. Figure-8 shows the accuracy rate [21] of different
normalization techniques and compares them-
72
68
↑
Accuracy
64
60
→ Methods
Based on these results, statistical normalization should be used with TCM-kNN for DDoS attack
detection because statistical attribute normalization can improve a lot the detection results.
Also TCM-kNN can achieve good results with statistical attribute normalization since it works
well with distance based method.
31
Chapter 6: Conclusion:
6.1 Conclusion
In this paper a system has been proposed where honeypot will be used to collect attack
data, which will be used in the training phase for the modified TCM-kNN algorithm so
that it can classify harmful request. The proposed defending algorithm can effectively
help an IoT network to distinguish malicious request from legitimate ones and process
them differently. Also, it has been discussed that statistical normalization technique
should be implemented. Furthermore, statistical normalization is the better choice if the
data sample is large. Therefore it is suggested suggest that attribute normalization should
always be considered for the classification problem. Although, the computation
complexity of k-NN for the detection is Big O. It is clear that TCM-kNN needs a lot of
computation if the data is very high-dimensional and the amount of training samples is
very large, however, TCM-kNN is also light-weight so that it is feasible to periodically
retrain the detection model only by incorporating new training data. For future work,
optimal and better suited feature selection and instance selection method can be
implemented on the training data for more efficient result. They are two important data
processing steps in data mining, where the former is aimed at removing some irrelevant
and/or redundant features from a given dataset and the latter at discarding faulty data.
32
Reference:
4. Dunkels, Adam, Oliver Schmidt, Thiemo Voigt, and Muneeb Ali. “Protothreads:
Simplifying Event-Driven Programming of Memory-Constrained Embedded
Systems.” In Proceedings of the 4th International Conference on Embedded
Networked Sensor Systems, 29–42. SenSys ’06. New York, NY, USA: ACM,
2006. doi:10.1145/1182807.1182811.
7. Ho, S.S., and Wechsler, H. (2003) Transductive Confidence Machine for Active
Learning, Int. Joint Conf. on Neural Networks, Portland, OR.
9. Li, M., and Vitanyi, P. (1997) Introduction to Kolmogorov Complexity and its
Applications. 2nd Edition, Springer Verlag
33
10. Vovk, V., Gammerman, A., and Saunders, C. (1999) Machine learning
applications of algorithmic randomness. Proceedings of the 16th Intl. Conference
on Machine Learning. 444-453.
11. Proedru, K., Nouretdinov, I., Vovk, V., Gammerman, A. (2002) Transductive
confidence machine for pattern recognition. Proc. 13th European conference on
Machine Learning. 2430:381-390.
12. Peter, E. & Schiller, T. (2008, April 15). A practical guide to honeypots.
Retrieved from http://www.cs.wustl.edu/~jain/cse571-09/ftp/honey/
14. Mirkovic, Jelena, and Peter Reiher. “A Taxonomy of DDoS Attack and DDoS
Defense Mechanisms.” SIGCOMM Comput. Commun. Rev. 34, no. 2 (April
2004): 39–53. doi:10.1145/997150.997156.
17. Cluley, Graham. "These 60 Dumb Passwords Can Hijack over 500,000 IoT
Devices into the Mirai Botnet." Graham Cluley. N.p., 10 Oct. 2016. Web. 14 Dec,
2016.
18. Dishon, Robin. "DDoS Attacks Explained." DDoS Attacks Explained. ESET, 21
Oct2016. Web. 13 Dec, 2016.
19. Wei, Jialu. “DDoS on Internet of Things – a big alarm for the future”. 14 Dec,
2016.
20. Arshad S., Abbaspour M., Kharrazi M. and Sanatkar H., 2011. An Anomaly-
based Botnet Detection Approach for Identifying Stealthy Botnets. International
Conference on Computer Applications and Industrial Electronics 2011. IEEE, pp.
564 – 569.
34
21. Jayalakshm, T. , Santhakumaran, A. (2011) “Statistical Normalization and Back
Propagation for Classification”. International Journal of Computer Theory and
Engineering, Vol.3, No.1, February, 2011 1793-8201.
22. Sanjaya K. Panda, Subhrajit Nag and Prasanta K. Jana, “A Smoothing Based Task
Scheduling Algorithm for Heterogeneous Multi-Cloud Environment”, 3rd IEEE
International Conference on Parallel, Distributed and Grid Computing (PDGC),
IEEE, Waknaghat, 11th - 13th Dec 2014.
35