f1371461/... · 2019-11-25 · nids -network intrusion detection system ann -artificial neural...

47
Master Thesis HALMSD UNIVERSITY Master’s Program in Network Forensics Smart Home Security Using Intrusion Detection and Prevention Systems Master’s Thesis in Digital Forensics, 15 credits Halmstad 2019-10-15 Nalubowa Vivian Gloria

Upload: others

Post on 19-Apr-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

Master Thesis

HALMSTAD

UNIVERSITY

Master’s Program in Network Forensics

Smart Home Security Using IntrusionDetection and Prevention Systems

Master’s Thesis in Digital Forensics, 15credits

Halmstad 2019-10-15

Nalubowa Vivian Gloria

Page 2: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated
Page 3: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

School of Information Technology

Smart Home Security Using Intrusion Detection and

Prevention Systems.

This Thesis is submitted in Partial fulfilment of the requirements for the

Master’s Program in Network Forensics

Master’s Thesis in Digital Forensics

(15 Credits)

Author:

Vivian Gloria Nalubowa [email protected]

Supervisor:

Maria Gerling-Gerdin

Page 4: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

i

Page 5: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

ii

ACKNOWLEDGMENT

First and Foremost, I would like to thank the Almighty God who has given me the courage,

good health and perseverance to finish this course. If it wasn’t the faith, I have in you, I

would not have reached this far.

In a special way, I am indebted to my supervisor Maria Gerling-gerdin, the laboratory

assistant Rasool Muhammad Ahsan, my professor Stefan Axelsson and Olga Torstensson

who worked tediously to see that I pursue my career goals. To my colleagues who we have

been through this struggle, your academic guidance and support will ever be appreciated.

I would also like to thank my family especially my uncle Peter Kinene and his family for the

love, care, words of wisdom and support you have rendered me during this period. Being part

of your family has helped me to forget about home and concentrate on my studies. I cannot

forget my mother, siblings and friends away from Sweden, your spiritual support and

guidance have greatly been part of my success.

Finally, I am heartily thankful to Swedish Institute for financing me achieve quality education

in Sweden especially at Halmstad University and for the exposure to a global network of

professionals.

Page 6: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

iii

ABSTRACT

As the connectivity of home devices elevates so does the volume and sophistication of cyber

attacks consistently grow. Therefore, the need for network security and availability becomes

more significant. Numerous sorts of countermeasures like firewalls and router-based packet

filtering have been put in place, although these alone are not enough to brace the network

from unauthorised access. One of the most efficient methods of stopping network adversaries

is using Intrusion Detection and Prevention Systems (IDPS). The goal of an IDPS is to stop

security attacks before they can be successfully carried out. In this paper, I looked at four

network attacks namely; probing, denial of service, remote to user and user to root and

improved their respective Snort rules to optimize processing time and capturing capacity

using regular expressions and fast pattern. Snort with improved rules captured 100% of the

attacks launched to the network while without the improved rules, Snort captured between

0% to 60% of the attacks launched to the network making an improvement of 40%.

Page 7: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

iv

Table of Contents

ACKNOWLEDGMENT............................................................................................................ ii

ABSTRACT ............................................................................................................................. iii

ACRONYMS ........................................................................................................................... vii

CHAPTER 1 .............................................................................................................................. 1

1. INTRODUCTION .............................................................................................................. 1

1.1 Background ................................................................................................................... 1

1.2 Research Questions....................................................................................................... 2

1.3 Thesis Structure ............................................................................................................ 3

CHAPTER 2 .............................................................................................................................. 4

2. METHODOLOGY ............................................................................................................. 4

2.1 Introduction .................................................................................................................. 4

2.3 Review of related work................................................................................................. 6

2.4 Research Contribution ................................................................................................ 12

CHAPTER 3 ............................................................................................................................ 13

3.THEORY ........................................................................................................................... 13

3.1 Snort Concepts. ........................................................................................................... 13

3.2 Component Description .............................................................................................. 16

CHAPTER 4 ............................................................................................................................ 17

4. EXPERIMENT SETUP ................................................................................................... 17

4.1 Introduction ................................................................................................................ 17

4.2 Network Configurations. ............................................................................................ 17

4.3 Virtual Machine. ......................................................................................................... 17

4.4 Network Address. ....................................................................................................... 18

4.5 Network Attacks with their respective Improved Snort Rules ................................... 19

CHAPTER 5 ............................................................................................................................ 26

5. RESULTS AND EVALUATION. ................................................................................... 26

5.1 SNORT ALERTS PER ATTACK ........................................................................ 26

5.2 PERFORMANCE EVALUATION ............................................................................ 28

CHAPTER 6 ............................................................................................................................ 31

CONCLUSION AND FUTURE WORK. ............................................................................ 31

REFERENCE ....................................................................................................................... 32

APPENDIX ........................................................................................................................ I

Page 8: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

v

Table of Figures

figure 1; Deep Packet Inspection (DP1) methods…………………………………………2

figure 2; Block diagram of the architecture ……………………………………………….4

Figure 3; Flowchart of the alerting procedure…………………………………………....5

Figure 4; Attacks in the different categories in the data set for insider traffic………10

Figure 5; Attacks in the different categories in the data set for Outsider traffic…….10

Figure 6; The Snort Function Process……………………………………………………... 13

Figure 7; Static Ip Address of the Raspberry Pi…………………………………………...17

Figure 8; Kali Linux……………………………………………………………………….…18

Figure 9; Devices connected to the Network……………………………………………...19

Figure 10; Open ports of IOT devices…………………………………………………….20

Figure 11; DOS attack………………………………………………………………….......22

Figure 12; R2L Attack………………………………………………………………………23

Figure 13; Buffer Overflow attack………………………………………………………..25

Figure 14; Probing Attack Snort Alerts………………………………………………….26

Figure 15; Denial of Service Attack Snort Alerts………………………………………27

Figure 16; Remote to User Snort Alerts………………………………………………….27

Figure 17; User to Root Attack Snort Alerts…………………………………………….28

Page 9: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

vi

List of Tables

Table 1; Feature Selection………………………………………….……8

Table 2; Threats and Attacks per Layer…………………………………11

Table 3; General rule option keywords and their description……………15

Table 4; Flags and their Functions……………………………………….15

Page 10: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

vii

ACRONYMS

IDPS-Intrusion Detection and Prevention System

IOT-Internet of Things

TCP-Transport Control Protocol

TCP SYN- Transport Control Protocol Synchronization

DOS-Denial of Services

RAM-Random Access Memory

UDP-User Datagram Protocol

IP-Internet Protocol

SSL-Secure Socket Layer

HIDS-Host Intrusion Detection System

NIDS-Network Intrusion Detection System

ANN-Artificial Neural Network Architecture

VANET- Vehicular Ad-hoc Network

MANET-Mobile Ad-hoc Network

R2L-Remote to User Attacks

U2L-User to Root Attacks

GPU-Graphics Processing Unit

OS-Operating System

ICMP-Internet Control Message Protocol

GPIO-General Purpose Input Output Pin

LAN-Local Area Network

WAN-Wireless Area Network

DSL-Digital Subscriber Loop

VM-Virtual Machine

Page 11: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

1

CHAPTER 1

1. INTRODUCTION

1.1 Background

Billions of Internet of Things (IoT) are currently connected to the internet [1][2][3] and every

day that passes more devices are connecting to the internet. It is estimated that over 50 billion

devices will be connected to the internet by 2020[4]. IOT devices have improved the quality

of life of people [5]and they are used in different aspects of life. For example; at home the

nanny cameras are used by parents to watch their babies in their rooms while in different

rooms or offices via the internet. Home automation like smart sockets are used to control

electric appliances and smart door locks to close and open garage doors, gates and rooms

remotely [6][7][8][9]. In hospitals, IP cameras are used to remotely monitor patients [10][11]

and pacemakers are placed in the chest of a patient with abnormal heart rhythm to monitor

and control his/her heart rhythm. The enormous importance of IOT devices in our day to day

lives comes with equal challenge of securing them and the network they are connected to.

Since IOT devices use IP addresses to access the internet [12], each device is a potential entry

point for threat actors to exploit if it is not strongly secured. These attacks can cause great

damages like personal data theft for example; if someone hacks into someone’s computer, he

can access bank details and uses them to access his finances. They can also cause deaths for

example; when someone hacks into a pacemaker, he can alter the patient’s heart rhythm.

However, these IOT devices are resource constrained in nature making it hard to use the best

device security methods like encryption and cryptography. For this paper, I focused on

securing the network where these devices are connected using Intrusion Detection and

Prevention Systems (IDPSs).

IDPSs are cyberspace equivalent of the burglar alarms that are being used in physical security

systems today [13][14]. The aim of these alarms is to detect and defend the network against

unauthorized access. There are two forms of unauthorized network access namely; active

attacks, where the intruder alters the network resources like breaking or bypassing the

secured systems [15] examples include; Denial of Service (DOS), jamming, hole attacks

(blackhole, wormhole, sinkhole, etc.), flooding and Sybil types [16] and passive attacks,

where the intruder taps the communication channel for the information he is interested in but

does not interfere with the information. Examples include; eavesdropping, node

malfunctioning, node tampering/ destruction and traffic analysis [17]. The network attacks

are further divided into four namely;

• Denial of Service (DoS), where the intruder occupies the receiver system so that he

limits the sender machine to have access to the receiver machine. Examples include;

apache, smurf, neptune, ping of death, UDP storm.

• Probing, where the hacker scans a machine or a networking device to find out its

valid IP address, the type of service, the operating system used and the weaknesses or

vulnerabilities of the system by using hacking tools. This information is used to

exploit the system in a later date. Example: saint, portsweep, mscan, nmap and ip sweep [15].

• Remote to User Attacks(R2L), where the attacker who does not have an account on

that machine sends some network packets to a victim machine through the internet

Page 12: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

2

and makes a connection to that machine. He then damages the software and exploits

the privileges of the original user. Examples: dictionary attack, and password attack

[15]

• User to Root Attacks (U2R), an attacker introduces himself in the network as a

normal user and after reaching some safer zone he exploits the vulnerabilities

present and achieves the superuser privileges. Example: buffer overflow [15]

To countermeasure these attacks, the IDPS uses two key approaches namely; signature-based,

this works like a virus scanner. For every intrusion event, it searches for known attack

signatures and blocks them before affecting the network. Anomaly- based, scans the

incoming traffic and filters out all legitimate traffic and blocks the remaining traffic. These

IDPSs are further categorized according to the deployed locations. For example; Host-based

IDPSs which resides on network hosts and they operate by scanning log files of operating

systems, applications or database to identify system anomalies. Network-based IDPSs, these

inspect both the packet headers and payload to detect network threats.

1.2 Research Questions

The main objective of the research is to optimize snort processing time and attack

capturing capacity of the four network attack rules. To achieve this goal, I used the

question below to guide me through.

How can I optimize pattern matching in Snort?

Pattern matching is a section of Deep Packet Inspection (DPI) responsible for

checking a given sequence of tokens for the presence of some patterns. Intrusion

Detection and Prevention Systems (IDPSs) use Deep Packet Inspection (DPI) to

analyze packet headers and payload to detect network threats. To achieve this, I used

regular expression matching which is a pattern describing a certain amount of text as

a core operator since they are expressive and can describe a wider variety of attack

signatures.

figure 1; Deep Packet Inspection (DP1) methods.

Page 13: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

3

To further optimize performance, I enabled fast pattern in the Snort configuration file

and used it in the rules to direct Snort the path to take since by default Snort takes the

longest path [18].

1.3 Thesis Structure

The structure of this paper is as follows; Chapter 1 is the Introduction which consists of the

background and the research questions. Chapter 2 has the methodology which includes the

review of related work, comparison of different rule-based IDS and research contribution.

Chapter 3 is the Theory, which gives more details about Snort and components used. Chapter

4 is the experiment setup, Chapter 5 gives the results and performance evaluation and

Chapter 6 is for the conclusion and future work.

Page 14: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

4

CHAPTER 2

2. METHODOLOGY

2.1 Introduction

This section describes the steps taken to accomplish this thesis, a review of the related work

and my research contribution.

2.2 Description of the Methodology

figure 2; Block diagram of the architecture

This block diagram shows the components used. These include; network devices like router

and Snort server and network hosts for example, Users 1 and 2 which can be computers,

phones or tablets and IOT device for example camera and temperature monitoring system.

All network devices and hosts are configured in the same network, the camera and

temperature sensor through the raspberry pi are allocated static IP addresses and the users

used automatically generated IP addresses.

I set the Snort server to block threats within the network and outside the network by using

improved rules.

Page 15: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

5

Figure 3; Flowchart of the alerting procedure.

The figure above shows the steps taken by a Snort rule to check network traffic for threats to

generating alerts.

Network traffic

Network traffic is the amount of data moving across a network at a given point of time. It is

usually encapsulated in IP packets. The packet consists of the IP header which consists of the

source and destination IP addresses for routing and payload which is the data needed by the

receiver.

For this architecture, live traffic is generated from the IOT devices and the users connected to

the network.

Check for the content with fast pattern

In the improved rule, I enabled fast pattern which is a parameter used in the content section of

the rule to improve its processing speed. Fast pattern is enabled in a rule which has more than

Page 16: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

6

one content section. It instructs the rule to first match the string with it enabled. For my rules,

I enabled fast pattern with strings which are closely associated with the actual triggering

conditions.

Compare Tokens with attack signatures

An attack signature is a unique arrangement of information that can be used to identify an

attacker's attempt to exploit a known operating system or application vulnerability. The

strings are compared with attack signatures to check for any match.

Matching and alerting

In case the rule matches with the signatures, an alert is generated or else the procedure ends

without generating alerts.

2.3 Review of related work

In this section, I reviewed previous related IDS models used, These IDS models can either be

anomaly or signature based.

In [19] the Author introduces ANN (Artificial Neural Network architecture) which uses

Artificial Neural Networks for making decisions within the IDSs. The author aims at

increasing efficiency by reducing the fault positive and increasing capabilities with partial

available information on a network. The author relays on a multilayer perceptron connected

in a feed-forward way. The system administrator limits the number of input layer neurons to

20 neurons and each neuron represents an attack. This architecture limits intrusion detection

in networks to a fixed number of attacks

In [20] the author proposes a security-enhanced model for enterprise network which is

implemented by using open source tools like SNORT, OSSEC and Splunk. Splunk is used as

a monitoring server to read logs from SNORT and OSSEC. SNORT is used as a Network

Intrusion Detection system while OSSEC is used as Host Intrusion Prevention system. The

proposed model provides a defence system against different attacks and intrusions, it detects

and prevents Aurora attack. This model was tested using metasploit tool to check for the

defence and results so that it successfully blocked the attacks.

In [21] The new design proposed a new dynamic model which provided a dynamic response

against attacks. The proposed paper designed a network intrusion prevention system NIPS

gateway using both intrusion detection system and traffic traction. Authors proposed dynamic

diffluence algorithm that depends on the feature of NIPS gateway system. The model uses

strategies of diffluence to determine if the traffic is normal or abnormal. Normal traffic will

be redirected to Intranet while abnormal will be sent to other subsystems. Subsystems are

determined according to an attacked degree, for example, it will send abnormal traffic to

honeynet when it matches predefined rules of NIPS gateway. The model aims to find new

vulnerabilities and bugs of Internet servers and equipment as quickly as possible.

To provide protection, different components such as intrusion prevention system, security

strategy, and encryption technology are used in cooperation with IPS. Security holes are

discovered using intrusion detection, intrusion deception, hole-scanning. The system model

will respond quickly when an intrusion is detected.

Page 17: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

7

In [22] the authors surveyed different systems that use feature selection to manage the

gigantic measure of information produced by IDSs. This information usually contains

irrelevant and redundant features producing slow training and testing process, higher asset

utilization as well as poor detection rate. The feature selection approach gives enhanced

prediction and reduces computation time. Because the higher numbers of features the

comprehension of the data in pattern recognition become difficult sometimes. The table

below contains some of the systems that were surveyed.

Author Name Researcher’s name year Dataset

name

Feature

Selection

Used

Classifier

Name used

Accurac

y

Senthilnayaki

Balakrishnan,

Venkatalaksh

mi, Kannan

[23]

Intrusion

Detection System

Using Feature

Selection and

Classification

Technique

201

4

KDD

Cup

dataset

Optimal

Feature

Selection

algorithm

based on

Informatio

n Gain

Ratio

Support

Vector

Machine

and Rule-

Based

Classificatio

n

91%

80%

El-Sayed M.

El-Alfya,

Feras N. Al-

Obeidatb [24]

A Multicriterion

Fuzzy

Classification

Method with

Greedy Attribute

Selection for

Anomaly-Based

Intrusion

Detection

201

4

KDD’9

9

Dataset

Greedy

Attribute

Selection

A

Multicriteri

on Fuzzy

Classificatio

n Method

99.9%

GuiPing

Wang, ShuYu

Chen and Jun

Liu [25]

Anomaly-based

Intrusion

Detection using

Multiclass - SVM

with

Parameter/Optimiz

ed

201

5

KDD’9

9

Dataset

particle

swarm

optimizati

on

multiclass

support

vector

machine

97%

Jingping Song

[26]

Feature Selection

for Intrusion

Detection System

201

6

KDD

99

dataset

Modified

Mutual

Informatio

n based

Feature

Selection

algorithm

C4.5 94%

Page 18: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

8

Koushal

Kumar,

Jaspreet Singh

Batth [27]

Network Intrusion

Detection with

Feature Selection

Techniques using

Machine-Learning

Algorithms

201

6

NSL-

KDD

data set

Correlatio

n-based

Feature

Selection

(CFS),

Informatio

n Gain

feature

evaluator

(IGF),

Gain ratio

Naive

Bayes

93%

94%

97%

Table 1; Feature Selection.

In [28] The authors propose a proactive bait-based Honeypot optimized IDS system which

aims to detect zero-day attacks with minimal overhead in Vehicular Ad-hoc Network

(VANET). VANET are an emerging type of Mobile Ad-hoc Networks (MANETs) with

excellent applications in the intelligent traffic system. To secure these interactive nodes

(vehicles), various security measures are designed and the most common one being IDS, but

these systems are limited by their resource-constrained nature, high mobility of nodes,

specific protocols stacks, and standards. From this survey, the authors conclude that for each

type of IDS, whether it is signature based or anomaly-based IDS, there are some challenges

and drawbacks associated with it in VANETs. Even if the honeypot mechanism for IDS has

been a successful detection system in traditional networks, there is a need for a security

framework that is capable of automatically handling the unknown zero-day attacks.

In [29], the author introduces Clort which is an extension of Snort IDPS but designed

specifically for IOT devices. Clort alleviates the burden of matching the attacks to the known

signatures to a modern single board computer, known as the Odroid XU4 which come with

integrated Graphics Processing Units (GPUs) that support general purpose computing. This

design, however, solves the problem of processing Snort on resource constrained devices but

introduces the charges of buying more IOT devices which makes it costly for home networks.

In [30], the author suggests Raspberry Pi IDS (RPiDS) which uses a Raspberry Pi 2 as a

portable IDS to run snort. From their experiment, the Raspberry Pi was capable of hosting

snort but could not handle the high data rates when tested on live traffic. Therefore, this

makes this solution not ideal for securing the IOT devices

In [31], the authors investigate the performance of Snort and Bro on Wireless Mesh Networks

(WMNs). Their study shows that those IDSs' modules plus deep packet inspection are too

resource demanding for WMNs nodes, making them unsuitable as a security solution for

WMNs. To address the problem, they present a lightweight IDS for Wireless Mesh Networks

that decreases memory consumption and packet drop rate in such resource constrained nodes.

Their proposed solution, however, detects only a few types of attacks, such as resource

consumption attacks, IP spoofing, and spam email distribution.

In [32] the authors compare three rule-based open source network intrusion detection systems

with one rule and anomaly-based commercial system. As shown below;

Page 19: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

9

2.3.1 Comparing Rule-based IDS

2.3.1.1 Snort

Snort is an open source network intrusion detection system capable of performing real-time

traffic analysis and packet logging on IP networks. It can perform protocol analysis and

content searching/matching in order to detect a variety of attacks and probes, such as buffer

overflows, stealth port scans, CGI attacks, SMB probes, OS fingerprinting attempts and

more. It uses a flexible rules language to describe traffic that it should collect or pass, as well

as a detection engine that utilizes a modular plugin architecture [18]

2.3.1.2 Firestorm

Firestorm is a high-performance network intrusion detection system. It is fully pluggable and

hence extremely flexible. It can detect a wide variety of attacks. In addition, it has decoded

plugins available for many protocols, pre-processors to allow supplementary modes of

detection, full IP defragmentation and intelligent TCP stream reassembly among other

features. Entries are made to a log file in text format and it can log to a remote management

console [32].

2.3.1.3 Prelude

Prelude is a general-purpose hybrid intrusion detection system. It is divided into several parts

a network intrusion detection system and a reporter server. The network intrusion detection

system is responsible for packet capture and analysis. Its signature engine is designed to read

Snort rulesets but, it also has the capability to load rulesets from any most Network Intrusion

Detection Systems. The report server is reported to by the NIDS contacts and logs all

intrusions. This architecture allows for several sensors to be deployed throughout a network

all report to one central management console [32].

2.3.1.4 Dragon

Dragon is a rule and anomaly-based commercial intrusion detection system with an extensive

library. This allows it to be capable of detecting a wide range of attacks from network attacks

and probes to successful system compromises and backdoors. The system used in this

evaluation is however only a trial download and comes with about a third of the signature

database [32].

2.3.1.5 Results of the Comparison

To test these four IDSs, the Darpa 1999 dataset was used since it consisted of audit logs and

network traffic. The results from each Intrusion Detection System were broken down into

insider and outsider traffic and the results for each were further broken into subcategories

which were then broken down into the various attack types to further see which system

scored better [32]. Figure 4 and Figure 6 shows the total number of attacks caught by

different Intrusion Detection systems.

Page 20: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

10

Figure 4; Attacks in the different categories in the data set for insider traffic

Figure 5; Attacks in the different categories in the data set for Outsider traffic

2.3.1.6 Conclusion of the Comparison

From the results above, it is seen that Dragon had the best performance as compared to the

three rule-based open source IDS. Firestorm scored better than the other open source systems in three of the five categories it caught more than half of the attacks in each. It however,

scored very poorly in the denial of service Category catching only one of the eight attacks

present. Snort performed best in the denial of service (dos) attacks catching more attacks than

any of the other systems. Additionally, it performed well in the probe category.

In [33,34], the authors highlight the security issues associated with smart grid networks. The

smart grid framework involves home appliances, renewable energy resources, smart meters

and service providers. However, this energy sector is vulnerable to security threats at both

physical and logical layers. Physical threats can be due to sabotage and vandalism well as

logical ones can be due to cyber attacks. These attacks were categorized into five (5) namely;

malware, unauthorized access, relay, dos attacks and traffic analysis.

In [35], an IOT security framework for smart infrastructures such as smart homes and smart

buildings is presented. The authors emphases the fact that the integration of physical and

cyber systems as well as the human behaviours and interactions for example; consumers,

Page 21: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

11

producers and attackers has dramatically increased the vulnerability and attack surface of

interdependent infrastructure ecosystems. They gave an example of how BAS (Building

Automated Systems) and SCADA (Supervisory Control and Data Acquisition Systems)

became attack targets in the Iran stuxnet attack. The authors further break down the

Framework into layers namely; Devices (end nodes), network, services and applications and

suggests a threat model to better recognise vulnerabilities in all the layers. Some of the

attacks tested include dos attacks, Replay attacks, delay attacks, flooding attacks, sensor s

impersonation and noise injection.

In [36], the authors discuss different security threats according to the OSI (Open Systems

Interconnection) communication models namely; Application, presentation, session,

transport, network, datalink, physical Layers as shown in the table below.

Table 2; Threats and Attacks per Layer.

They further discuss that to ensure security in smart homes, the following are required

namely; user authentication, device authentication, network monitoring, secure key

management and physical protection.

In [37], The authors discuss cyber security challenges for smart grids, together with a

roadmap of how these challenges must be addressed soon. They give a set of actual incidents

and attacks in real life. Examples of these attacks include;

• Stuxnet which was a piece of malware that targeted Industrial Control Systems in Iran in

2010. It targeted five organizations but because of its ability to replicate itself, it also infected

machines outside the target organization,

• Night Dragon, this attack consisted of several techniques like social engineering, spear

phishing attacks, exploitation of vulnerabilities in the MS Windows operating system,

compromising of MS Active Directory and remote administration tools. It occurred in 2009

and aimed at harvesting sensitive information from the energy sector.

Page 22: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

12

2.4 Research Contribution

I improved the four network attacks namely; probing, denial of service, remote to user and

user to root Snort rules, making them specific to the triggering conditions of their respective

attack signatures. I achieved this using specific regular expressions and fast pattern. This

improved Snort’s processing speed and general performance in capturing these attacks as

shown in the results.

Many researchers have done a lot of work on Snort but none of them focused on improving

rules of these specific network attacks. In [19], the author selected 20 attacks and replaced

them with neutrons but didn’t improve the attack rules. In [29], the author ran Snort on a

resource constrained IOT device. Since he used all the pre-defined rules without improving

some, the device was overwhelmed hence affecting performance and speed. In [32], the

author also focused on capturing the four network attacks and tested them on different

Intrusion Detection Systems including Snort. Since he didn’t improve these rules with the

specific triggering conditions, Snort only performed well in the denial of service and User to

Local attacks with a performance of 57% to 60% of the total attacks.

To overcome this challenge, I focused on these four network attacks but unlike the author in

[32], I improved the rules hence improving the processing time and Snort capturing capacity

of all the network attacks.

Page 23: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

13

CHAPTER 3

3.THEORY

This chapter gives the theoretical background of the concepts and description of components

used in this thesis.

3.1 Snort Concepts.

Snort is an open source NIDS created by Martin Roesch in 1998.[18]. It is a free Network

Intrusion Detection system software for Linux and Windows to detect emerging threats. It

can perform real time traffic analysis and packet logging on IP networks.

Snort relies on rules to determine what kind of malicious behaviour it should look for in a

packet. These rules are stored in text files that can be modified by a text editor. These rules

are grouped in categories. Rules belonging to each category are stored in separate files. These

files are then included in a main configuration file called snort.conf. Snort reads these rules at

the start-up time and builds internal data structures or chains to apply these rules to captured

data.

Snort comes with a rich set of pre-defined rules to detect intrusion activity and you are free

to add your own rules or remove some of the built-in rules to avoid false alarms. The more

rules, the more processing power is required to process captured data in real time.

Snort mainly consists of four components:

• Data sniffers

• Pre-processor

• Detection engine

• Alarm system

A packet read from the network card is first processed by the pre-processor, and then

through rule detection packet in detection engine, if the packet matches the rule, it will be

processed in accordance with the rules. The overall architecture is shown in Fig.

Figure 6; The Snort Function Process.

Page 24: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

14

3.1.1 Structure of the Snort Rule

The Snort rule consists of two parts as shown below;

• The Rule Header; It consists of the action of the rule, how the rule is matched against

packets.

• The Rule options; It contains an alert message and information about which part

of the packet should be used to generate the alert message.

3.1.2 Rule Header

The structure of the rule header is as shown below;

• Action; This section determines the type of action taken when a rule is matched

against a data packet. The common actions include; an alert or log message or

invoking another rule.

• Protocol; It applied a rule to the packet. Examples of protocols used include; IP,

ICMP, UDP etc

• Address; It determines the source and destination addresses respectively, these

addresses can be a single host, multiple hosts or network address.

• Port; It determines the source and destination ports of a packet on which the rule is

applied. In case of network layer protocols like IP and ICMP, port numbers have no

significance.

• ->The direction part of the rule determines which address and port number

is used as source or destination.

3.1.3 Rule Option

This part is enclosed inside a pair of parentheses. It can be one option or many and are

separated with a semicolon. For multiple options, these options form a logical AND. The

action in the rule header is invoked only when all criteria in the options are true. Some of the

rule options that are used frequently are msg, reference, gid, sid, rev, Classtype, priority,

metadata, content, nocase, rawbytes and depth [38].

Keyword Description

Msg The msg keyword tells the logging and alerting engine the message to print

with the packet dump or alert.

Reference The reference keyword allows rules to include references to external attack

identification systems

Gid The gid keyword (generator id) is used to identify what part of Snort generates

the event when a rule fire.

Page 25: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

15

Sid The sid keyword is used to uniquely identify Snort rules.

Rev The rev keyword is used to uniquely identify revisions of Snort rules.

Classtype The classtype keyword is used to categorize a rule as detecting an attack that is

part of a more general type of attack class

Priority The priority keyword assigns a severity level to rules.

Metadata The metadata keyword allows a rule writer to embed additional information

about the rule, typically in a key-value format.

Table 3; General rule option keywords and their description.

3.1.4 Snort Operational Modes

Snort can be run in three modes namely;

• Sniffer (snort -v)

• Packet logger (snort -l)

• Network Intrusion Detection System (snort -A or snort -c <path_to_conf_file>)

For this experiment, I have used Snort in the Network Intrusion Detection Mode to monitor

and detect intrusion using this command, “sudo snort -A console -c/etc/snort/snort.conf -i

enp0s3”. When an adversary is detected, snort blocks these attempts and logs the alerts on

the console, and it listens on port “enp0s3”.

-v View packet headers at the console

-d View application data with IP headers

-D Run Snort as a daemon

-e Show data-link layer headers

-l Run in packet Logger mode

-h Log information relative to the home network

-b Log information to a single binary file in the logging directory

-r Read packets contained in a log file

N Disable packet logging

-c Specifies which file will be used to provide a ruleset for intrusion

detection

Table 4; Flags and their Functions

Page 26: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

16

3.2 Component Description

3.2.1 Raspberry Pi.

A Raspberry 3 model B+ is used for this experiment. It is the latest in the Raspberry Pi 3

range [39] with Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC @ 1.4GHz, 1GB

LPDDR2 SDRAM and 2.4GHz and 5GHz IEEE 802.11.b/g/n/ac wireless LAN, Bluetooth

4.2, BLE. It connects the one wire temperature sensor to the network through a static IP

address

3.2.2 One Temperature Sensor

This is a pre-wired and waterproofed version of the DS18B20 sensor. [40]

It is insulted using a PVC and it is digital therefore less affected by signal degradation over a

long distance. It is usable in temperature range from -55 to 125°C (-67°F to +257°F), uses

one digital pin for communication and Usable with 3.0V to 5.5V power/data.

3.2.3 Network Camera

A MyDLINK (DCS-932LB1) network camera is used as another IOT device. It can be setup

as wireless or wired. It picks a dynamic IP address from the router and it can be accessed

remotely on the MyDlink website.

3.2.4 Router

A TP-Link Archer Mr200 router is used to connect the IOT devices to the internet. It is a

dual- band Wi-Fi operating on 2.4GHZ and 5GHZ, 3G/ 4G LTE with three LAN/ WAN ports

router. It also has a full-sized SIM card slot for 3G/4G data connection though it can be

connected using DSL internet.

Page 27: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

17

CHAPTER 4

4. EXPERIMENT SETUP

4.1 Introduction

This architecture uses a Network Intrusion Detection and Prevention System designed using

Snort tool to capture and analyse all packets. It then matches these packets to known

signatures to detect malicious network attacks.

In case of an adversary, a prevention action like dropping the packet is done and an alert is

generated, or the packet is logged to the database.

4.2 Network Configurations.

4.2.1 Raspberry Pi configurations

The sim card with Raspbian operating system is inserted into the raspberry pi and connected

to the laptop using an ethernet cable. Putty is used to ssh into the raspberry pi. A static IP

address (192.168.1.10) is assigned to the pi to enable it to connect to the network. As shown

below;

Figure 7; Static Ip Address of the Raspberry Pi

4.2.2 One wire temperature sensor configuration

A one wire temperature sensor is connected to the GPIO 4, data pin 7 of the raspberry pi. It is

then configured to read data from the environment and convert it to Celsius and Fahrenheit

respectively.

4.2.3 Network Camera.

The network camera is also assigned a static IP address and captures the environment in its

radius. The details are stored and sent via the network.

4.3 Virtual Machine.

A virtual machine (VM) is an emulation of a computer system. Virtual machines are based on

computer architectures and provide the functionality of a physical computer. For my set up, I

used two virtual machines Kali Linux for injecting attacks and Ubuntu for hosting Snort IDS.

Page 28: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

18

4.3.1 Kali Linux Virtual Machine

Kali Linux is a debian-based Linux distribution aimed at advanced penetration testing and

security auditing. Kali contains of several hundred tools which are geared towards various

information security tasks, such as penetration testing, security research, computer forensics

and reverse engineering. Kali Linux is developed, funded and maintained by Offensive

Security, a leading information security training company. [41]

Figure 8; Kali Linux

4.3.2 Ubuntu Snort Configurations

Ubuntu is a free and open-source Linux distribution based on debian operating system. For

the setup, Ubuntu is installed on the virtual box and assigned a static IP in the same network

as the physical network.

Before installing Snort, I installed some prerequisites that enable snort to run and install daq

for data acquisition, this helps to convert real world physical conditions into samples that are

connected into digital numeric values that can be manipulated by a computer.

After installing Snort, the first step to do is to change the network address to be monitored

from “any” to “192.168.1.0/24”. This can be accessed using this command “sudo nano

/etc/snort/snort.conf” and also uncommented already available snort rules and enabled local

rules that I created using this command “sudo nano /etc/snort/rules/local.rules”.

4.4 Network Address.

The router by default came with 192.168.1.0 as its network. I configured the devices to

remain in that network as shown below. The IP scanner scans all the devices connected in

192.168.1.0 network and from the figure below, all devices are connected using their unique

Ip addresses. All devices with a blue computer icon are actively connected to the network and

devices with grey computer icon are dead connections. The last two connections are for the

virtual machines Kali Linux and Ubuntu respectively.

Page 29: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

19

Figure 9; Devices connected to the Network.

4.5 Network Attacks with their respective Improved Snort Rules

4.5.1 Probing Attacks

A probing attack is the initial phase of any attack. During this phase, the attacker gathers and

analyses information in order to map the network system. Some of the information that can

be gathered include; IP address, host name, operating system (OS), and service applications.

Software programs like Nmap, Mscan and Satan can be used to carry out this attack. This

attack is aimed at collecting useful information that can be used in future to carry out other

malicious attacks. [42]

4.5.1.1 Probing Attack -Snort rule

alert tcp $ EXTERNAL_NET any -> 192.168.1.0/24 any (msg: “Nmap ping sweep scan”;

flow: to-server, established; content: “/^ nmap /”; content: “/^Sweep? scan?/”; fast pattern:

only; classtype: suspicious-login; sid:1000002; rev1;)

The rule means that;

• Msg: “Nmap ping sweep scan”- Is displayed in the alert when snort detects a nmap

Sweep scan.

• The rule uses fast pattern only to match the content “nmap” first and then “Sweep

scan” this increases the processing speed of the rule.

• SID- Is for uniquely Identifying the rule.

• Rev1- Means this is the first time the rule is used.

4.5.1.2 Launching a probing attack in Kali Linux

Kali Linux has so many tools for launching probing attacks but for this experiment. We have

used nmap.

NMAP (Network Mapper)- is a free open-source tool for vulnerability scanning and network

discovery used by network administrators to identify hosts available on a network and the

services they offer, open ports and detecting security risks. Nmap can be used to monitor

single hosts as well as vast networks that encompass hundreds of thousands of devices and

Page 30: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

20

multitudes of subnets. It works by sending raw packets to system ports, listens for responses

and determines whether ports are open, closed or filtered.

Figure 10; Open ports of IOT devices.

From the figure above, both IOT devices the Raspberry Pi and D-Link Camera have open

ports 22 and 80 or 443 respectively and all use TCP.

4.5.2 DOS Attacks

A DOS attack is where the intruder occupies the receiver system so that he limits the sender

machine to have access to the receiver machine. There are so many DOS attacks, but I have

used SYN flood attack for this experiment since from the probing attack, we noticed that the

devices use TCP protocol.

4.5.2.1 SYN Flood Attack

A SYN flood occurs when a host becomes overwhelmed by TCP SYN packets blocking

legitimate connection requests. When a client system attempts to establish a TCP connection

to a system providing a service (the server), the client and server exchange a sequence of

messages known as a three-way handshake. The client system begins by sending a SYN

(synchronization) message to the server. The server then acknowledges the SYN message by

sending a SYN-ACK (acknowledgement) message to the client. The client then finishes

establishing the connection by responding with an ACK message. TCP incomplete

connections are created when SYN messages are sent to the victim server using spoofed

source IP addresses. Hence, the victim server will never receive ACK messages from the

spoofed clients to complete establishing the connections. Flooding the victim server with

such spoofed TCP SYN traffic can overwhelm the server, causing a DoS situation.[43]

Page 31: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

21

4.5.2.2 SYN flood attack- Snort Rule

alert tcp any any -> 192.168.1.0/24 any (msg:"TCP_Flood Attack"; content:"/^SYN/";

content: “! ACK”; “fast pattern”; flow: stateless; threshold: type threshold, track by dst, count

100, seconds 30; classtype: attempted-dos; sid:1000001; rev1;)

Where;

• The threshold keyword means that this rule logs every 100th event on this SID during

a 30 second interval. So, if less than 90 events occur in 30 seconds, nothing gets

logged. Once an event is logged, a new time period starts for type=threshold.

• The track by dst keyword means track by destination IP.

• The count keyword means count number of events.

• The seconds keyword means time period over which count is accrued.

• The rule uses fast pattern to generate alerts for packets with SYN but without ACK

first this increases the speeding capturing only SYN flood attacks.

4.5.2.3 Launching a DOS attack in Kali Linux

DOS attacks are optionally available in Kali linux, but they can be launched with the help of

Pentmenu.

Pentmenu- is a bash script inspired by pentbox. It is a simple way to implement various

network pentesting functions. I installed Pentmenu in Kali Linux and accessed it using the

following steps -> cd Desktop ->cd Pentmenu -> ./pentmenu.

The figure below shows the steps in details for accessing pentmenu to launching the attack.

In the figure below, TCP SYN Flood messages where sent to the raspberry pi (IP Address

192.168.1.10). The Pi is accessed through ssh which is port 22 as shown below, address

192.168.1.100 is the spoofed source address and 7000 number of bytes are used.

Page 32: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

22

Figure 11; DOS attack

4.5.3 Remote to User Attack

This is where the attacker who does not have an account on that machine sends some network

packets to a victim machine through the internet, through which they make a connection to

that machine. Then the attacker causes damages to the software of the machine and also he

may exploit the privileges of the original user of the machine. Examples: dictionary attack,

and password attack [15]. For this experiment I have used dictionary attack.

4.5.3.1 Remote to User Attack (R2L) Attack -Snort rule

alert tcp $ EXTERNAL_NET any -> 192.168.1.0/24 any (msg: “PROTOCOL-FTP passwd

retrieval attempt”; flow: to-server, established; content: “ /^retr(ieval)?/; content:

“/ftp?pass(wd)?/”; fast pattern: only; classtype: suspicious-filename-detect; sid:1000003;

rev1;)

The rule means that;

• Msg: “PROTOCOL-FTP passwd retrieval attempt”- Is displayed in the alert when

snort detects a dictionary attack.

• The rule uses fast pattern only to match the content “passswd” first and then “retr”or

“retrieval” this increases the processing speed of the rule.

• SID- Is for uniquely Identifying the rule.

Page 33: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

23

• Rev1- Means this is the first time the rule is used.

4.5.3.2 Launching a Remote to User Attack (R2L) Attack in Kali Linux

Kali linux has so many tools for launching dictionary attacks, for the experiment I used John

the Ripper cracking tool

Dictionary attack- is a technique or method used to breach the computer security of a

password-protected machine or server. It works by attempting to defeat an authentication

mechanism by systematically entering each word in a dictionary as a password or trying to

determine the decryption key of an encrypted message or document.

In the screenshot below; wordlist is an inbuild directory with a file called rockyou.txt in

Kali consisting a list of compromised passwords. I then saved these passwords and their

hashes from etc/shadow to a file called pass.txt. I used john the ripper tool to crack the

password but snort was able to detect the attack and blocked the activity as shown below.

Figure 12; R2L Attack.

4.5.4 User to Root Attack

User to Root Attacks (U2R), an attacker introduces himself in the network as a normal user

and after reaching some safer zone he acts as a superuser by exploiting the vulnerability

present in computer mechanism and finally, he achieves the superuser privileges., Example:

buffer overflow [15]

Page 34: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

24

4.5.4.1 User to Root Attacks (U2R)-Snort rule

alert tcp $ EXTERNAL_NET any -> 192.168.1.0/24 any (msg: “PROTOCOL-TELNET

login buffer overflow attempt”; flow: to-server, established; content: “FF FA”; content:

“/^buffer over(flow)?/”; fast_pattern: only; rawbytes; classtype: attempted admin;

sid:1000004; rev1;)

The rule means that;

• Msg: “PROTOCOL-TELNET login buffer overflow attempt”- Is displayed in the alert

when snort detects a buffer overflow attack.

• Classtype- user attempts to gain root access

• SID- Is for uniquely Identifying the rule.

• Rev1- Means this is the first time the rule is used.

4.5.4.2 Launching User to Root Attacks (U2R)-Attack in Kali Linux

For this experiment, I used buffer overflow attack as shown below.

Buffer Overflow- is a situation where a running program attempts to write data outside the

memory buffer which is not intended to store this data. A memory buffer is an area in the

computer’s memory (RAM) meant for temporarily storing data. Buffers can be found in all

programs and are used to store data for input, output and processing. Examples of

information that can be stored in buffers include; usernames, passwords etc. Buffers are given

a maximum number of characters that it can store and in case one enters characters more than

its capacity, it causes a buffer overflow. The attacker can use the vulnerabilities in a program

to cause a buffer overflow.

I have written a program for entering usernames with a maximum of 6 characters, from the

screenshot you see that when I entered user “Vivian” the program gave an output of “Hello

Vivian” and when I entered user “nnnnnnnnnnnnnnnnnn” who has so many characters, I

got a buffer overflow in form of a “segmentation fault”

Page 35: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

25

Figure 13; Buffer Overflow attack.

Page 36: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

26

CHAPTER 5

5. RESULTS AND EVALUATION.

This chapter focuses on the Snort alerts generated by the four network attacks tested in

section 4.5 above and the performance of the system evaluated by comparing the improved

rule attack capturing capacity with the non-improved rules.

5.1 SNORT ALERTS PER ATTACK

This section shows the alerts generated by Snort rules after detecting attacks launched in

section 4.5 above. For each attack I enabled one rule at a time to check its performance as

shown in the sections below.

5.1.1 Probing Attack Snort Alerts

Figure 14; Probing Attack Snort Alerts

From the figure above, Snort generated “Nmap ping Sweep Scan” alerts which means that it

was able to detect probing attacks.

Page 37: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

27

5.1.2 Denial of Service Attack Snort Alerts

Figure 15; Denial of Service Attack Snort Alerts

From the figure above, Snort generated “TCP_Flood Attack” alerts which means that it was

able to detect denial of service TCP SYS Flood attacks.

5.1.3 Remote to User Attack Snort Alerts

Figure 16; Remote to User Snort Alerts

From the figure above, Snort generated “Passwd Retrieval” alerts which means that it was

able to detect dictionary attacks.

Page 38: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

28

Figure 17; User to Root Attack Snort Alerts

From the figure above, we see that Snort generated “Buffer overflow attempt” alerts which

means that it was able to detect buffer overflow attacks.

5.2 PERFORMANCE EVALUATION

I have determined the performance of the system by using rule profiling parameter.

Rule Profiling- Is the measuring of Snort’s processing time in microseconds to measure how

long various phases of detection take.

I have enabled rule profiling which is optionally available in Snort and then enabled all the

four network attack Snort rules. Using Kali Linux, I injected all these four attacks at the same

time and ran Snort in NIDS mode. After quitting Snort, I got a performance statistics table of

all the rules as shown below.

Table 5; Rule Profile Statistics of all the four Network Rules

Page 39: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

29

Description of the rule profile statistics table

Checks – The number of times rule options were checked after the fast-pattern match

process.

Matches – the number of times the Snort engine finds traffic matching all rule options

No Matches – the number of times the Snort engine finds no traffic matching all rule options

Avg/Check (Average ticks) – the average time the Snort engine takes to check each packet

against the listed rule

Avg/Match (Average ticks per match) – the average time the Snort engine takes to check

each packet that matches all rule options

Avg/Nonmatch (Average ticks per no match) – the average time the Snort engine takes to

check each packet that did not generate an even

Microsecs- Total time taken processing this rule against the network traffic

SID- Uniquely identifying the rule. The statistics shows that I tested four rules namely;

➢ 1000001- Denial of Service Attack.

➢ 1000002- Probing Attack

➢ 1000003- Remote to User Attack

➢ 1000004- User to Root Attack

For the performance of this system, I looked at the “checks” how many times the Snort rule

was checked with traffic from Kali linux and the “matches” how Snort best matched these

attacks and alerted without packet loss. The statistics show that Snort captured 100% of the

matched traffic.

𝑀𝑎𝑡𝑐ℎ𝑒𝑠

𝐶ℎ𝑒𝑐𝑘𝑠= 𝑝𝑒𝑟𝑓𝑜𝑟𝑚𝑎𝑛𝑐𝑒

For example;

SID 1000001- Denial of Service Attack.

10

10= (1 ∗ 100)%

1000002- Probing Attack

2

2= (1 ∗ 100)%

1000003- Remote to User Attack

Page 40: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

30

10

10= (1 ∗ 100)%

➢ 1000004- User to Root Attack

10

10= (1 ∗ 100)%

In all the attack categories above, the improved rules were able to match and alert all the

checks making the performance 100%

When compared to Snort performance in paper [32], considering the inside traffic category.

1. In 7 dos (denial of service) attacks, Snort was able to capture only 4. Making the

performance 57%

4

7= 57%

2. In the 4 u2r (User to Root) attacks, Snort didn’t not capture any. Making the

performance 0%

3. In the 20 r2l (Remote to User) attacks, Snort captured 7. Making the performance

35%

4. In the 5 probe attacks, Snort captured 3. Making the performance 60%.

Page 41: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

31

CHAPTER 6

CONCLUSION AND FUTURE WORK.

In this paper, I compared Snort’s performance when four network attacks namely; probing,

denial of service, remote to user and user to root are launched with improved rules and

without improved rules as in paper [32].

For the experiment, I set up a network of two IOT devices namely; IP camera and

temperature monitoring system, two end users and two virtual machines Ubuntu for hosting

Snort and Kali Linux for launching attacks. I configured Snort to capture attacks within and

outside the network, improved Snort rules for the four respective attacks according to the

specific triggering conditions using regular expressions and fast pattern.

From the evaluation above, Snort using the improved rules captured and alerted all the

network attacks making the performance 100% while for paper [32] without the improved

rules, Snort captured between 60% to 0% of the total attacks making an improvement of

40%.

For future Study, more rules for different attacks can be improved and tested or a machine

learning model to capture zero-day attacks can be trained to capture and alert new attacks.

Page 42: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

32

REFERENCE

1. INFSO D.4 Networked Enterprise & RFID INFSO G.2 Micro & Nanosystems, in

cooperation with the Working group RFID of the ETP EPOSS, Internet of things in 2020: a

Road map for the future, 27 May 2008.

2. CERP-IoT Cluster, Visions and Challenges for Realising the Internet of Things, European

Commission, 2010.

3. O. Vermesan, P. Friess, P. Guillemin, S. Gusmeroli, H. Sundmaeker, A. Bassi, I.S. Jubert, M.

Mazura, M. Harrison, M. Eisenhauer, P. Doody, Internet of Things Strategic Research

Roadmap, Cluster of European Research Projects on the Internet of Things, CERP-IoT, 2011.

4. Verizon (January, 2015). Create intelligent, more meaningful business connections. Retrieved

from http://www.verizonenterprise.com/solutions/connected-machines/

5. https://ieeexplore.ieee.org/abstract/document/7816876/keywords#keywords "

6. Robert Fischer, Jana Dittmann, “Advanced Issues in Wireless Communication Security:

Towards a Security Demostrator for Smart Home Environments”

7. Mr. Upendra Kumar, Mr. Neeraj Gupta, P. Dinesh Reddy, Pawan Kumar Ojha, “Home

Automation with Personal Assistant”, International Journal on Recent and Innovation Trends

in Computing and Communication ISSN: 2321-8169 Volume: 5 Issue: 5

8. No.12 Tanmay Chakraborty, Soumya Kanti Datta, “Home Automation Using Edge

Computing and Internet of Things”

9. Seyed Mahmood Hashemi1, Jingsha He1, “LA-Based Approach for IoT Security”, Journal of

Robotics, Networking and Artificial Life, Vol. 3, No. 4 (March 2017), pp. 240-248

10. H. Furtado, R. Trobec, “Applications of wireles sensors in medicine”, International

Convention MIPRO, 2011, pp. 257–261

11. Divyang D Vyas, “System for Remote Monitoring and Control of baby Incubator and

Warmer”, https://www.researchgate.net/publication/315684007.

12. Bruno Bogaz Zarpelao, Rodrigo Sanches Miani, Claudio Toshio Kawakani, Sean Carlisto de

Alarenga, “A survey of Intrusion Detection in Internet of Things”, Journal of Network and

Computer Application Volume 84, 15 April 2017, Pages 25-37

13. A. Patcha and J.M. Park, “An overview of anomaly detection techniques: Existing solutions

and latest technological trends”, Elsevier J. Computer Networks, volume 51, number 12,

pages 3448-3470, 2007

14. Stefan Axelsson, “Intrusion Detection Systems: A Survey and Taxonomy” , PHD Thesis ,14

March, 2000.

15. S. Latha, Dr. Sinthu Janita Prakash, “A Survey on Network Attacks and Intrusion Detection

Systems” 2017 International Conference on Advanced Computing and Communication

Systems (ICACCS -2017), Jan. 06 – 07, 2017, Coimbatore, INDIA

16. "Snort - Network Intrusion Detection & Prevention System", Snort.org, 2016. [Online].

Available: https://www.snort.org/

17. Lazarevic, Aleksandar, Vipin Kumar, and Jaideep Srivastava, "Intrusion detection: A

survey"Managing Cyber Threats, Springer US, 2005, Pp. 19-78,2005.

18. N. S. Rajput, Mukesh, A. Mishra, A. Sisodia and I. Makarov, "A novel autonomous taxi

model for smart cities," 2018 IEEE 4th World Forum on Internet of Things (WF-IoT),

Singapore, 2018, pp. 625-628.

19. Khaled W. Alnaji, “Developing Security-Enhanced Model for Enterprise Network”

Page 43: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

33

20. Z. Qu and J. Yan, "The Design of the Network Security Model of Active Defense," in

Wireless Communications, Networking and Mobile Computing, 2008. WiCOM'08. 4th

International Conference on, 2008, pp. 1-4.

21. ‘Rana F. Najeeb, Ban N. Dhannoon “Classification for Intrusion Detection with Different

Feature Selection Methods: A Survey (2014-2016)” DOI: 10.23956/ijarcsse/SV7I5/0154

22. Senthilnayaki Balakrishnan, Venkatalakshmi, Kann, Intrusion Detection System Using

Feature Selection and Classification Technique‖, International Journal of Computer Science

and Application (IJCSA) Volume 3 Issue 4, November 2014.

23. El-Sayed M. El-Alfya, Feras N. Al-Obeidatb ―A Multicriterion Fuzzy Classification Method

with Greedy Attribute selection For Anomaly-Based Intrusion Detection‖, Procedia Computer

Science Vol.34, pp.55 – 62,2014.

24. GuiPing Wang, ShuYu Chen and Jun Liu, Anomaly-based Intrusion Detection using

Multiclass - SVM with Parameters Optimized by PSO‖, International Journal of Security and

Its Applications Vol. 9, No. 6, pp. 227-242,2015

25. GuiPing Wang, ShuYu Chen and Jun Liu, Anomaly-based Intrusion Detection using

Multiclass - SVM with Parameters Optimized by PSO‖, International Journal of Security and

Its Applications Vol. 9, No. 6, pp. 227-242,2015

26. Jingping Song, Feature Selection for Intrusion Detection System‖, Ph.D. Thesis, March 3,

2016.

27. Koushal Kumar, Jaspreet Singh Batth, Network Intrusion Detection with Feature Selection

Techniques using Machine-Learning Algorithms‖, International Journal of Computer

Applications (0975 – 8887) Volume 150 – No.12, September 2016.

28. Sparsh Sharmaa, b, AjayKaula, “A survey on Intrusion Detection Systems and Honeypot

based proactive security mechanisms in VANETs and VANET Cloud”, Vehicular

Communications12(2018)138–164.

29. Stylianopoulos C., Johansson L., Olsson O., Almgren M. (2018) CLort: High Throughput and

Low Energy Network Intrusion Detection on IoT Devices with Embedded GPUs. In:

Gruschka N. (eds) Secure IT Systems. NordSec 2018. Lecture Notes in Computer Science,

vol 11252. Springer, Cham

30. Sforzin, A., Mármol, F.G., Conti, M., Bohli, J.: RPiDS: raspberry Pi IDS - a fruitful intrusion

detection system for IoT. In: 2016 International IEEE Conference on Ubiquitous Intelligence

& Computing, Advanced and Trusted Computing, Scalable Computing and Communications,

Cloud and Big Data Computing, Internet of People, and Smart World Congress

(UIC/ATC/ScalCom/CBDCom/IoP/SmartWorld), Toulouse, France, 18–21 July 2016, pp.

440–448 (2016)

31. F. Hugelshofer, P. Smith, D. Hutchison, N. J. Race, "OpenLIDS: a lightweight intrusion

detection system for wireless mesh networks", Proceedings of the 15th annual international

conference on Mobile computing and networking, pp. 309-320, 2009.

32. C. A. P. Boyce, A. N. Zincir-Heywood, “A Comparison of Four Intrusion Detection Systems

for Secure E-Business”

33. Suman Avdhesh Yadav, Shipra Ravi Kumar, Smita Sharma, Akanksha Singh, “A review of

Possibilities and Solutions of Cyber Attacks in Smart Grid”, 2016 1st International

Conference on Innovation and Challenges in Cyber Security. (ICICCS 2016)

34. Fadi Aloul, A.R. Al-Ali, Rami Al-Dalky, Mamoum Al-Mardini and Wassim El-Hajj, “Smart

Grid Security: Threats, Vulnerabilities and Solutions” International Journal of Smart Grid and

Clean Energy.

35. Jesus Pacheco, Salim Hariri, “IOT Security Framework for Smart Infrastructures” 2016 IEEE

1st International Workshops on Foundations and Applications of Self Systems.

Page 44: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

34

36. Changmin Lee, Luca Zappatera, Kwanghee Choi and Hyeong -Ah Choi, “Securing Smart

Home: Technologies, Security Challenges and Security Requirements” Workshop on

Security and Privacy in Machine-to-Machine Communication.

37. Maria B. Line, Inger Anne Tondel, and Martin G. Jaatun, “Cyber Security Challenges in

Smart Grid” IEEE Senior Members.

38. SUNROM Electronics/ Technologies, 2019, sunrom[online] available

at <https://www.sunrom.com/p/digital-temperature-sensor-probe-

waterproofds18b20>[Accessed 29 April 2019]

39. S. Saha, M. Matsumoto, “A framework for disaster management system and WSN protocol

for rescue operation”, TENCON – IEEE Region 10 Conference, 2007, pp. 1–4.

40. A. Siraj, and R. B. Vaughn, "Multi-level alert clustering for intrusion detection sensor data,"

Proc.of the North American Fuzzy Information Processing Society, (2005), pp. 748-753.

41. https://docs.kali.org/introduction/what-is-kali-linux

42. Nattawat Khamphakdee, Nunnapus Benjamas and Saiyan Saiyod. “Improving Intrusion

Detection System Based on Snort Rules for Network Probe Attacks Detection with

Association Rules Technique of Datamining” Advanced Smart Computing Laboratory Khon

Kaen University Thailand.

43. (PDF) Using network packet generators and snort rules for teaching denial of service

attacks. Available from:

https://www.researchgate.net/publication/262345832_Using_network_packet_generators_and

_snort_rules_for_teaching_denial_of_service_attacks [accessed May 27 2019].

Page 45: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

I

APPENDIX

Code for Configuring the One wire temperature sensor to read temperatures and converting

them to Celsius and Fahrenheit.

How to use Pentmenu in Linux

• Download the script:

$ wget https://raw.githubusercontent.com/chetan31295/pentmenu/master/pentmenu

• Make it executable:

$ chmod +x ./pentmenu

• Run it:

$ ./pentmenu

Page 46: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

II

Buffer overflow codes;

#include <stdio.h>

int main () {

char username[20];

printf ("Enter your name: 2");

scanf ("%s", username);

printf ("Hello %s\n", username);

return (0);

}

Page 47: f1371461/... · 2019-11-25 · NIDS -Network Intrusion Detection System ANN -Artificial Neural Network ... day that passes more devices are connecting to the internet. It is estimated

PO Box 823, SE-301 18 HalmstadPhone: +35 46 16 71 00E-mail: [email protected]

.