Professional Documents
Culture Documents
CERTIFICATE
This is to certify that the dissertation titled Vampire Attacks: Draining Life from wireless
adhoc sensor networks is submitted by ATUKURI NAVYA (Regd No. 12021D0528),
student of M.Tech. (CS), in partial fulfillment of the requirements for the award of the degree
of MASTER OF TECHNOLOGY is a record of bona fide work carried out by him under my
supervision.
Internal Guide
Smt. L. Sumalatha
Professor
Associate Professor
Department of CSE
Department of CSE
DECLARATION
This is to certify that the thesis titled Vampire Attacks: Draining Life from Wireless
Adhoc Sensor Networks is a bona fide work done by me, in partial fulfillment of the
requirements for the award of the degree M.Tech. (Computer Science) and submitted to
the Department of Computer Science & Engineering, University College of
Engineering, Jawaharlal Nehru Technological University, Kakinada.
I also declare that this project is a result of my own effort and that has not been copied
from anyone and I have taken only citations from the sources which are mentioned in the
references.
This work was not submitted earlier at any other University or Institute for the award of
any degree.
Atukuri Navya
Date:
RegdNo:12021D0528
ACKNOWLEDGEMENTS
I express my deep gratitude and regards to Dr. J.V.R Murthy, Internal Guide and
Professor, Department of Computer Science & Engineering for his encouragement and
valuable guidance in bringing shape to this dissertation.
I am grateful to Smt. L. Sumalatha, Head of the Department, Department of Computer
Science & Engineering, University College of Engineering, JNTU Kakinada for her
encouragement and motivation.
I am thankful to all the Professors and Faculty Members in the department for their
teachings and academic support and thanks to Technical Staff and Non-teaching staff
in the department for their support.
Atukuri Navya
Regd.No:12021D0528
Abstract
Ad hoc low-power wireless networks are one of the current topics in the field of security
and pervasive computing. Most of the research work done before for improving the
security of the networks in this area is mainly limited to the denial of communication at
the routing level or Medium Access Control levels. This project work investigates the
attacks done with an aim of resource depletion at the routing protocol layer. These attacks
can lead to the quick draining of the nodes battery power there by permanently disable
the networks. These resource depletion attacks are called as Vampire attacks, which are
not specific to any particular protocol, instead they rely on the general properties routing
protocols classes. Many protocols are vulnerable to Vampire attacks, which are highly
destructive, and difficult to detect, and are easy to infect a network with simple and
limited resources such as one malicious insider sending only protocol compatible
messages. In some of the worst cases, a single vampire can increases network-wide
bandwidth usage in the order of O (N), where N is total the number of nodes in the
network. In the present work methods to mitigate these types of attacks were discussed,
including one new protocol has been demonstrated which has successfully reduced the
damage caused by vampires while forwarding the packet as per the simulation results in
the testing environment modeled in this work. A public key algorithm named Elliptic
Curve Cryptography (ECC) algorithm is also used for more security provision.
TABLE OF CONTENTS
ABSTRACT ......................................................................................................................... i
LIST OF FIGURES ........................................................................................................... iv
ACRONYMS AND ABBREVIATIONS .......................................................................... iv
CHAPTER 1 ....................................................................................................................... 1
INTRODUCTION .............................................................................................................. 1
1.1 Background .............................................................................................................. 1
1.2 Problem Motivation................................................................................................... 3
1.2 Objective ................................................................................................................... 3
1.3 Proposed Approach and method to be employed ...................................................... 4
CHAPTER 2 ....................................................................................................................... 5
REVIEW OF THEORY AND PREVIOUS WORK .......................................................... 5
2.1 Issues in the Existing system ..................................................................................... 7
CHAPTER3 ........................................................................................................................ 9
SYSTEM ANALYSIS AND DESIGN ............................................................................... 9
3.1 Process Models .......................................................................................................... 9
3.2 Software Requirements Specification ....................................................................... 9
3.2.1 Interface Requirements ..................................................................................... 10
3.3 Hardware andSoftware Requirements ..................................................................... 10
3.4 System Overview .................................................................................................... 10
3.4.1 Java Technology ............................................................................................... 10
3.5 SYSTEM DESIGN ................................................................................................. 12
3.5.1 DFD Diagram ................................................................................................... 12
3.5.2 UML Diagram .................................................................................................. 13
3.5.2.1 Use case Diagram .......................................................................................... 14
3.5.2.2 Class Diagram................................................................................................ 15
3.5.2.3 Sequence Diagram ......................................................................................... 16
3.5.2.4 Activity Diagram ........................................................................................... 17
CHAPTER 4 ..................................................................................................................... 18
IMPLEMENTATION ....................................................................................................... 18
4.1 Network Creation Module ....................................................................................... 18
4.2 Carosel Attack Module........................................................................................... 18
4.3 Stretch Attack Module ............................................................................................ 19
4.4.Energy level identifiaction Module ......................................................................... 20
4.5 Secure Transmission Module .................................................................................. 20
4.6 ECC Algorithm ....................................................................................................... 21
4.7 Sample Code ........................................................................................................... 25
CHAPTER 5 ..................................................................................................................... 40
TESTING .......................................................................................................................... 40
5.1 Testing Strategies .................................................................................................... 40
ii
iii
LIST OF FIGURES
Figure 1: Address tree in the network ................................................................................. 6
Figure 2: Sample Java Program ........................................................................................ 11
Figure 3: Java Virtual Machine......................................................................................... 12
Figure 4 : Data Flow Diagram .......................................................................................... 13
Figure 5: Use Case Diagram ............................................................................................. 14
Figure 6: Class Diagram ................................................................................................... 15
Figure 7: Sequence Diagram ............................................................................................. 16
Figure 8: Activity Diagram ............................................................................................... 17
Figure 9:Point Addition ................................................................................................... 20
Figure 10: Point Doubling ................................................................................................ 21
Figure 11: Carousel Attack ............................................................................................... 22
Figure 12: Stretch Attack .................................................................................................. 24
Figure 13: Sink Schematic Representation ....................................................................... 42
Figure 14:Source Schematic Representation ................................................................... 42
Figure 15:Node Schematic Representation ....................................................................... 43
Figure 16: Source Display Available Nodes ..................................................................... 43
Figure 17: Method Selection Screen ................................................................................. 44
Figure 18: Node receive and transfer screen .................................................................... 44
Figure 19: Sink receive mesage screen ............................................................................ 45
Figure 20: Checking status of the message screen ........................................................... 45
Figure 21: Secure Transmission........................................................................................ 46
Figure 22: Energy usage by each attack .......................................................................... 46
iv
Denial of Service
QoS
Quality of Service
JDK
JVM
TCP
UDP
IP
Internet Protocol
WSN
MAC
RoQ
Reduction of Quality
SRS
JDBC
API
RMI
UML
CHAPTER 1
INTRODUCTION
Ad hoc wireless sensor networks (WSNs) is one of the areas where the research work has been
pacing up dynamically from the past few years. WSNs have so many applications already and
are assuring many more new applications in coming future with the ongoing research works. The
applications include supplying omnipresent computing power requirements in a on-demand
scale, uninterrupted network connectivity, and provision of communication facilities for military
and first responders in very instantaneous and rapid manner even under the conditions where
there is no proper infrastructure is present at the times needed. Such networks observe factory
performance, ecological surroundings, etc., to name some applications.
1.1 BACKGROUND
With the growing applications and increased use of WSNs, they are becoming more and more
vital in accomplishing everyday needs and tasks of people, organizations and society. Hence, the
system i.e., WSNs for facilitating such type of requirements and needs should function in a very
accurate manner without any faults or errors. Because, they can cause severe problems in proper
functioning of the system, as they became part of the routine in performing tasks in our routine.
Lack of proper security and unavailability of WSNs will cause a major difference in general
business operations as usual, other than that productivity loss, ecological disasters. Thus more
availability of this type of networks is an important thing, and it should hold under malevolent
conditions. Hence, any errors or faults in a WSN are not acceptable.
As we know, Ad hoc organization is very common and a general thing in a WSN. Because of
this type of ad hoc organization, WSNs are more susceptible to DoS attacks. However, an
amount of good research performed to protect WSNs against these DoS attacks, So that they can
with stand and survive against them. Majority of solutions brought out by the researchers are
able to prevent attacks when there is a low availability of the network, But due to lack power in
addressing the attacks that involve long availability of the network.
One case how DOS attack occurs is, by fully depleting the nodes power. Is is an simple example
of a resource depletion attack, where target for attack is bandwidth as resource. This type of
attacks where the attacks are done with an aim of depleting the entire resource for causing
permanent denial of network service are called vampire attacks.
1
In this project, it has been considered to study about, how these routing protocols, which are
actually designed and developed to be safe and secure are still vulnerable to security attacks and
are lacking protection from these attack such as vampire attacks.
Vampire vulnerabilities are not belongs to a particular protocol. They do not depend on the
design mechanism or implementation errors. However these attacks try to take advantage of the
faults present in the trivial properties of the protocol classes. The classes include link-state,
distance vector, geographic routing, beacon routing and source routing. These vampire attacks
are not dependant on overflowing the network with huge amount of data, instead they propagate
very less data to the possible extent however, and they target the entire exhaustion or draining of
the energy in the network. As vampire attacks makes use of the protocol compatible
communication (messages) they are highly difficult to identify and restrict.
Different types of vampire attacks can happen in both protocols, i.e., stateless and stateful. In
case of stateful protocols, the nodes present in the network know the topology and state of the
network. Hence, based on the stored rate they make local forwarding decisions.
In case of OLSR protocols, whenever a new link is enabled or a link goes down, the nodes will
store status reports of the links present in the network i.e., whether the link is up or the link is
down. Also the nodes keep track of the overflow routing changes whenever the link goes down
or established.
Routing in link state and distance vector networks are constructed vigorously from many
individual forwarding decisions in a dynamic manner. Hence the adversaries have very little to
influence on the forwarding phase of the packet. This makes these protocols, i.e., link state
protocols to be resistant against the carousel, stretch attacks. The possibility of occurrence of
vampire attacks gets reduced to a great extent when the adversaries are not able to specify the
full path. But still, the affected nodes i.e., malicious nodes are able to falsify the path misforwarding the packets to follow a different path other which, it would choose a normal along
path.
When nodes in the network are made to take the forwarding decisions, the vampire will lose
most of control it is having over the progress of packet during that forwarding stage. However,
this is not a complete solution and they (vampires) are still able to waste a lot of energy
by sending again the packet in different positions over the network.
Spurious route discovery is another type of vampire attack on routing protocols mentioned
above. There are no of ways for the malicious nodes to generate a noticeable topology change.
For example, it can do false claims about the link conditions, i.e., claiming that link is down, or a
new link is added to node which is not even exist.
The life period of ad hoc wireless network, especially, that of the sensor network is based upon
the nodes battery power. In so many of the applications where these networks are involved,
recharging or replacing the battery is impossible. Power drainage will lead to the failure of the
node and often it will also lead to the damage of entire network. Data losses will also occur. We
need an efficient energy utilization scheme to transmit the data packets with the minimum
amounts of energy.
But, due to vampire attacks malicious nodes consume more energy than that of the honest node.
Hence it is important to mitigate these types of attacks in order to reduce the amount of energy
used by each node, and to increase the nodes battery life.
1.3 Objective
Main objective of this project is to create a secure mechanism which can be used to detect the
vampire packets and protects from the forwarding of vampire packets and the formation of such
packet inside the node.
First, thorough evaluation of the weaknesses of existing protocols and routing layers against the
resource depletion attacks such as nodes battery draining has been done. From that it has been
observed that, security schemes to protect Vampire attacks require a different strategy to work
compared to utilize for protecting routing infrastructure, and so existing secure routing protocols
such as SEAD do not resistant against Vampire attacks.
Second, simulation results are obtained, measuring the functioning of a number of protocols
during the presence of a single vampire.
Third is the modification of the present sensor network protocol is done to reduce the damage
done by the vampire attacks during the forwarding phase of packets.
In the present work, PLGPa protocol has been used to safe guard against the vampire attacks.
This PLGPa protocol attaches the verifiable path history to each and every packet in the network,
while maintaining the no backtracking property. This attached path history for every packet is
used by PLGPa along with the PLGPs tree routing structure. This way each forwarding node
verifies the node signature to make sure that, the packet has followed the correct path and has not
traversed away from its target within the logical address space. In this project, we are extending
secure transmission by using an efficient key management scheme for sensor networks. The
proposed key management methodology is based on the truth that, a sensor communicates only
with a small fraction of its neighbors. This decreases the communication and computation
expenses of a key setup to great extent. To further improve this methodology of key
management, a public key algorithm named Elliptic Curve Cryptography is used in the current
work.
CHAPTER 2
REVIEW OF THEORY AND PREVIOUS WORK
As already discussed in Chapter 1, research on these vampire attacks is not adequate and the
problems are not yet defined, evaluated, or mitigated in a comprehensive manner at the routing
layer. As we know that these vampire attacks are meant for resource depletion i.e., power
exhaustion of the nodes batteries. These types of attacks obstruct nodes from incoming into a less
power cycle, which is a result of which the batteries will not sleep and will drain really quick
compared to normal situations. And the recent research works on the denial-of-sleep attacks
only judges the attacks that generally happen at the MAC layer. Part from increasing the
efficiency of underlying the routing protocols and MAC or switching away from source routing,
effective mitigation measures were not proposed in most of the works.
Even in case of systems where power is not constrained, depletion attacks occur by exhaustion of
other possessions like CPU time which may affect the network. One simple example for such
type of attacks is SYN flood attack. In this type attack, adversaries establishes multiple
connection requests to server, as a result of which the server will do the allocation of resources
for each adversary connection request without knowing that is a malicious attack. These types of
attacks can be overcome by keeping the larger weight on the connecting entity. This type of
solutions places the small load on the legitimate clients who takes the initiation for stabling small
number of connections but it does not the prevent from the malicious entities who will
establishes the large number of connections.
Though there is minimal research and information available on vampire attacks and their
mitigation measures, there is a good amount of literature available on attacks and
diominatingagainst QoS, or RoQ attacks. These types of attacks are responsible for the long-term
deterioration in the quality of network performance. The research work on these type of attacks
are mainly done on the transport layers instead of the routing layers. Hence, The results and
methodologies proposed for these attacks are not suitable for the vampire attacks.
Related work includes study and mitigation measures on DOS attacks in ad hoc wireless
network. Most of the work has dealt with attacks which can prevent route setup, interrupt
communication, and establishing routes on their own to drop, modify or monitor attack packets.
However, this type of attacks where denial or degradation of service attacks happens to
deteriorate the battery life and other limited resources is not a primary consideration, making this
research different compared to research on vampire attacks.
The original version of the protocol, i.e., PLGP is designed in such a way to be secure and strong
against the attacks. However, the protocol is still prone to vampire attacks because certain
drawbacks. PLGP method consists of a series of phases beginning with topology discovery and
then packet forwarding. This phase is made to repeat on a pre defined plan in order to ensure that
most recent i.e., current topology information is present.
Topology finding starts with incomplete period. And during this period, all nodes in the network
should declare their existence by distribution an identity certificate. The other things which
include during the discovery and broadcasting are its public key, accepted by the trusted party.
All nodes will start with their group of size one having a address 0. In cases, where, two
individual nodes form the size 2, one of node will accept the address 0, when the other beecomes
1 and it is shown in the below figure.
2. Packet forwarding phase: Through the forwarding phase, each decision is made by every
node independently makes all the decisions that are needed. When receiving packet, node finds
the next node by inventing the MSB bit of its address which is different from the sources
address. In that manner, each forwarding event decreases the logical distance to the final end
point or target, as nodes address must be exactly closer to the target.
There are so many drawbacks in the existing PLGP system which are as follows.
Outage of power events
Environmental disasters and loss of information.
Security level is poor
CHAPTER 3
SYSTEM ANALYSIS AND DESIGN
3.1 Process Models
Software process models can be used to represent the series of activities, objects, transformations
and events that represent strategies for accomplishing software progress.
During the development of our project, we used waterfall and iterative model.
Water fall model is a sequential model and it is used when we are adding the new module.
We collect the requirements of this phase and it is given to the iterative model to check and
integrate the functionalities into the module.
:
:
Pentium IV
1.1 Ghz
RAM
256 MB(min)
Hard Disk
5 GB
SOFTWARE SPECIFICATIONS
Operating System
: Windows XP
Programming Language
: JAVA
Java Version
Portable
10
The Java contains the program for both compilation and interpretation. Compiler
translates into the intermediate language called Java byte codes which are the
platform-independent codes and they are interpreted by the interpreter. It parses and
executes each instruction on the computer. Compilation can be done only one time and
interpretation done each time whenever the program executed. The below figure
illustrates how this works.
Java bytecode is used for "write once, run anywhere" . Java platform is different from
other platforms and that runs on top of other hardware platforms.
Java platform has two components. They are
Java has been introduced into the Java VM. It is the foundation for the Java platform and is
adapted onto the various hardware platforms.
Java API is large collection of so many software components that provides many useful
capabilities like graphical user interface (GUI) widgets. Java API is combined into libraries
of related interface and classes which are called as packages.
11
12
Source
File browse
Send
Secure Transmisson
Carousel
Stretch
Source
Source
Source
Node F
Node E
Node A
Node A
Node B
Node B
Node C
Node C
Node D
Node D
Node E
Node E
Node F
Sink
End
rendered as a connected graph of things and relationships. In theory, a diagram may contain
combination of vertices and arcs. We have 9 UML diagrams. We can represent the behavior and
structure of the system by using these diagrams.
13
V ie w A v a ila b e n o d e s
S h o r te s t P a t h
S o urc e
S in k
C a ro u s e l P a th
Lo n g e s t P a rth
14
S o u rc e
S e le c tin g P a th
F ile b ro w s e
v ie w A v a ila b e n o d e s
F ile s e n d
S e c u re T ra n s m is s o n
C a ro u s e l A tta c k
S tre tc h A tta c k
T ra n s fe r()
F ile s e n d ()
v ie w n o d e s ()
S ec u re T ra n s m is s on
N o de E
C aro us e l A tta c k
N o de
N o de
N o de
N o de
N o de
N o de
N o de F
A
B
C
D
E
F
S tre tc h A tta c k
N o de
N o de
N o de
N o de
N o de
A
B
C
D
E
S in k
F ile re c e iv e
c h e c k s ta tu s
re c e iv e ()
15
Source
Method
SINK
Secure Transmisson
Transfer
Transfer
Carousel Attack
transfer
transfer
transfer
transfer
transfer
transfer
Carousel Attack
transfer
transfer
transfer
transfer
transfer
transfer
Carousel Attack
transfer
transfer
transfer
transfer
transfer
Stretch Attack
transfer
transfer
transfer
transfer
transfer
16
Source
File browse
Send
Secure Transmisson
Carousel
Stretch
Source
Source
Source
Node F
Node E
Node A
Node A
Node B
Node B
Node C
Node C
Node D
Node D
Node E
Node E
Node F
Sink
17
CHAPTER 4
IMPLEMENTATION
We have implemented the project with the following modules.
MODULES
Network Creation Module
Carousel attack Module
Stretch attack Module
Energy Level Identification Module
Secured Transmission Module
MODULE DESCRIPTION
4.1 Network Creation Module
We have created the network with source, sink and six nodes named A, B, C, D, E, F. Each node
is having a unique identification number and topology discovery is done at transmission time.
Transmission of data is possible based upon the malicious nodes and honest nodes. If any
malicious node is present in our net work nodes then it will chooses the longest path or loops.
We need to the fix the malicious node in the network otherwise it will corrupts the entire
network nodes to be deployed and cannot control their positions.
4.2 Carousel attack Module
In this attack, malicious node composes the packets with purposely by introducing the routed
loops. This is called as a carousel attack and it forwards the packets in the path form in the below
figure. In these attacks, same node occurs so many times while routing the packet in the network.
Mainly this attack is used to raise the length of the route.
18
19
20
EC Basic operations.
We have three EC basic operations. They are
1. Point Multiplication
2. Point Addition
3. Point Doubling
Point Multiplication
Q = KP
Example: consider K= 28
Q = 28 P = 2(2 (2 ((P + P) +P) +P)) + P
21
Point Addition
Point addition is used to add the point say P and Q for getting differnt point say R on the same
curve.
Point Doubling
Point doubling is the summation of the point P to itself to get different point on the same curve.
So R = P+P =2P
22
ECDH Protocol
ECDH is a key exchange protocol which can be used to allow the exchanging of the secret key
between the two communicating parties. It can be used for private key algorithms. Two
communicating parties need to agree with EC domain parameters before sharing the secret key
between them.
ECDH steps:
Encryption Process
In this process, sender encrypts the data with secret key and sends to the receiver. To do the
encryption, sender select an integer e which is in between (1, n-1).
23
Sender computes Q =e* G. Sender generates its own private key Pr1 =e and public key Pu1= Q.
By using this private key and public key it sends data to the receiver. Before that, data is
converted into the bit string and divides the data into chunks and performs the encryption and
sends to the server.
Decryption process
Receiver decrypts the data by using the following formula.
messages[i].EncodedPoint-Pr2*messages[i].ChosenPoint.
2. Compute Q = d*G.
3. Result (d,Q).
24
25
import test.DesignSimn;
import test.DesignSimstret;
public class Source extends javax.swing.JFrame
{
String title = " SOURCE
Networks";
Action action;
String fname;
// Thread t = new Thread(new connect());
String s1;
StringBuffer buffer;
// Thread t1 = new Thread(new connect1());
//Thread jpt = new Thread(new jpro());
public Source() {
initComponents();
init();
setTitle(title);
jProgressBar1.setValue(100);
buttonGroup1.add(jRadioButton1);
buttonGroup1.add(jRadioButton2);
buttonGroup1.add(jRadioButton3);
// t.start();
// t1.start();
}
26
27
28
29
30
getContentPane().add(jScrollPane1);
31
32
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt)
{
JFileChooser fc = new JFileChooser();
int retVal = fc.showOpenDialog(this);
if (retVal == JFileChooser.APPROVE_OPTION)
{
File selectedFile = fc.getSelectedFile();
File f = null;
try
{
f = new File(selectedFile.getCanonicalPath());
}
catch (IOException e2)
{
e2.printStackTrace();
}
jTextField1.setText(f.getName());
fname = f.getName();
try
{
BufferedReader bufferReader = new BufferedReader(new FileReader(f));
String append = "";
String line = bufferReader.readLine();
while (line != null)
33
{
append += line + "\n";
line = bufferReader.readLine();
}
jTextArea1.setText(append)
}
catch (Exception e1)
{
e1.printStackTrace();
}
}
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)
{
try
{
if (get().equals(null) || (get() == null))
{
JOptionPane.showMessageDialog(null, "Select a method to send Data....");
}
else
{
if (get().equalsIgnoreCase("Secure_Transmission"))
{
System.out.println("Secure_Transmission send");
34
jTextArea2.append("Node-A-->Node-B-->Node-C-->Node-D-->Node-E-->Node-F->Sink");
new DesignSimn().setVisible(true);
jProgressBar1.setValue(0);
Thread t3 = new Thread(new jpro());
t3.start();
try
{
ObjectOutputStream oos, oos1, oos2, oos3, oos4, oos5, oos6;
OutputStream os, os1, os2, os3, os4, os5, os6;
Socket s = null, s1 = null, s2 = null, s3 = null, s4 = null, s5 = null, s6 = null;
ArrayList<String> array = new ArrayList<String>();
array.add(0, jTextField1.getText());
array.add(1, jTextArea1.getText());
array.add(2, "Secure_Transmission");
s = new Socket("localhost", 8401);
os = s.getOutputStream();
oos = new ObjectOutputStream(os);
oos.writeObject(array);
oos.close();
os.close();
s.close();
}
catch (UnknownHostException ex)
{
35
36
37
try
{
ObjectOutputStream oos, oos1, oos2, oos3, oos4, oos5, oos6;
OutputStream os, os1, os2, os3, os4, os5, os6;
Socket s = null, s1 = null, s2 = null, s3 = null, s4 = null, s5 = null, s6 = null;
ArrayList<String> array = new ArrayList<String>();
array.add(0, jTextField1.getText());
array.add(1, jTextArea1.getText());
array.add(2, "stretch");
s = new Socket("localhost", 8401);
os = s.getOutputStream();
oos = new ObjectOutputStream(os);
oos.writeObject(array);
oos.close();
os.close();
s.close();
}
catch (UnknownHostException ex)
{
Logger.getLogger(Source.class.getName()).log(Level.SEVERE, null, ex);
}
catch (IOException ex)
{
Logger.getLogger(Source.class.getName()).log(Level.SEVERE, null, ex);
}
38
}
}
}
catch (Exception e)
{
}
}
39
CHAPTER 5
TESTING
Testing is used to find out errors in the application. Testing is the major task to be performed
during software development. During testing process, a program is executed over a set of
prepared test cases. The results of the program over the test cases are evaluated to find out
whether the program is working as expected or not.
40
5.2 Validation
The system has been tested completely to ensure that all the requirements as mentioned in the
software requirements specification are fully satisfied.
5.3Test cases
Testing is the set of actions which are planned in advance and they can be conducted
that procedure only.
Motivation of program testing is to achieve the software quality.
5.5 Limitations
Network Failures: Due to the network failure the user may not receive the result
fast and no responsibility is provided by the project for this failure.
Power Failures: Also no responsibility is provided for power fail.
41
CHAPTER 6
SCREEN SHOTS
Sink
42
Node
43
Method Selection
44
45
Carousel Attack
Stretch Attack
46
Secure Transmission
47
CHAPTER 7
CONCLUSION AND FUTURE WORK
7.1 Conclusion
Following conclusions were made during the course of this project work.
Vampire attacks are defined and understood as a new class of attacks that are responsible for
causing complete exhaustion of the network resources by draining the nodes battery power,
thereby causing the permanent Denial of Service.
Vampire attacks are not definite to specific protocols and also do not depend on specific
implementations.
These attacks depict the weaknesses of WSNs in several major protocol classes.
The measurement of those attacks has also been done to understand the effect of these
attacks on the network, and to understand the effectiveness of the proposed methodology to
secure the WSN from vampire attacks on a accidentally generated topology.
To safeguard such attacks, defense measures were proposed in the form of PLGPa protocol.
48
References
[1]
I. Aad, J.-P. Hubaux, and E.W. Knightly, Denial of Service Resilience in Ad Hoc
[7] I.F. Blaked, G. Seroussi, and N.P. Smart, Elliptic Curves in Cryptography, vol. 265.
Cambridge Univ. , 1999.
[8] J.W. Bos, D.A. Osvik, and D. Stefan, Fast Implementations of AES on Various Platforms,
Cryptology ePrint Archive, Report 2009/ 501, http://eprint.iacr.org, 2009.
[9] H. Chan and A. Perrig, Security and Privacy in Sensor Networks, Computer, vol. 36, no.
10, pp. 103-105, Oct. 2003.
[10] H. Chan and A. Perrig, Security and Privacy in Sensor Networks, Computer, vol. 36, no.
10, pp. 103-105, Oct. 2003.
49
[11] J.-H. Chang and L. Tassiulas, Maximum Lifetime Routing in Wireless Sensor Networks,
IEEE/ACM Trans. Networking, vol. 12, no. 4, pp. 609-619, Aug. 2004.
[12] A.J. Goldsmith and S.B. Wicker, Design Challenges for Energy-Constrained Ad Hoc
Wireless Networks, IEEE Wireless Comm., vol. 9, no. 4, pp. 8-27, Aug. 2002.
[13] Y.-C. Hu, D.B. Johnson, and A. Perrig, Ariadne: A Secure On-Demand Routing Protocol
for Ad Hoc Networks, Proc. MobiCom, 2002.
[14] M. Maleki, K. Dantu, and M. Pedram, Power-Aware Source Routing Protocol for Mobile
Ad Hoc Networks, Proc. Intl Symp. Low Power Electronics and Design (ISLPED), 2002.
50