7
Double Guard: Detecting Intrusions in Multitier Web Applications Platform: java Double Guard: Detecting Intrusions in Multitier Web Applications Abstract: Internet services and applications have become an inextricable part of daily life, enabling communication and the management of personal information from anywhere. To accommodate this increase in application and data complexity, web services have moved to a multitiered design wherein the webserver runs the application front-end logic and data are outsourced to a database or file server. In this paper, we present DoubleGuard, an IDS system that models the network behavior of user sessions across both the front-end webserver and the back-end database. By monitoring both web and subsequent database requests, we are able to ferret out attacks that an independent IDS would not be able to identify. Furthermore, we quantity the limitations of any multitier IDS in terms of training sessions and functionality coverage. We implemented DoubleGuard using an Apache webserver with MySQL and lightweight virtualization. We then collected and processed real-world traffic over a 15-day period of system deployement in both dynamic and static web applications. Finally, using DoubleGuard, we were able to expose a wide range of attacks with 100 percent accuracy while maintaining 0

Double Guard

Embed Size (px)

DESCRIPTION

Double Guard: Detecting Intrusions in Multitier Web Applications

Citation preview

Page 1: Double Guard

Double Guard: Detecting Intrusions in Multitier Web Applications

Platform: java

Double Guard: Detecting Intrusions in Multitier Web Applications

Abstract:

            Internet services and applications have become an inextricable part of daily life,

enabling communication and the management of  personal information from anywhere. To

accommodate this increase in application and data complexity, web services have moved to a

multitiered design wherein the webserver runs the application front-end logic and data are

outsourced to a database or file server. In this paper, we present DoubleGuard, an IDS system

that models the network behavior of user sessions across both the front-end webserver and

the back-end database. By monitoring both web and subsequent database requests, we are

able to ferret out attacks that an independent IDS would not be able to identify. Furthermore,

we quantity the limitations of any multitier IDS in terms of training sessions and functionality

coverage. We implemented DoubleGuard using an Apache webserver with MySQL and

lightweight virtualization. We then collected and processed real-world traffic over a 15-day

period of system deployement in both dynamic and static web applications. Finally, using

DoubleGuard, we were able to expose a wide range of attacks with 100 percent accuracy

while maintaining 0 percent false positives for static web services and 0.6 percent false

positives for dynamic web services.

Index Terms-Anomaly detection, virtualization, multitier web application.

 

Existing System :

In this system is effective at capturing no. Of attacks such as

1. Privilege Escalation Attack,

 2. Hijack Future Session Attack,

3. Injection Attack,

Page 2: Double Guard

 4. Direct Database Attack.

 These attackers to attack the front end web server and back end Data Base.  IDS have been

widely used to detect known attacks by matching misused traffic signature. To occur the

traffic in this system.. IDS can be classified two types are anomaly detection and misuse

detection. The IDS examine network packets individually within both the webserver and

database system and it’s not easy to identify the attacks.

 Proposed System :

            We present a Prototype of DoubleGuard using a webserver with a back-end Database

and used to detect attacks in multitiered web services with isolated user session that include

both HTTP and  SQL network transactions. Then, use the virtualization technique to assign

each user’s web session. In this system used for two types testing website is static and

dynamic. In the testing  phase, traffic captured in each session is compared with the model.

We were able to use the same session tracking mechanism as implemented by Apache server.

To evaluate the detection result for our system with analyzed attacks. We were able to

identify all attacks and to clear the normal traffic.

 Algorithm

  State modeling algorithm

We developed an algorithm that takes the input of training data set and builds the

mapping model for static websites. For each unique HTTP request and database query, the

algorithm assigns a hash table entry, the key of the entry is the request or query itself, and the

value of the hash entry is AR for the request or AQ for the query, respectively. The algorithm

generates the mapping model by considering all three mapping patterns that would happen in

static websites. The algorithm below describes the training process.

Page 3: Double Guard

 Resource Requirements:  

            Software Requirements:

                        Operating system                 :           Windows7

                        Front End                              :           Java

                        Back End                               :           SQL Server 2005

            Hardware Requirements:

                        Processor                              :           Pentium Dual Core 2.00GHZ       

                        Hard disk                               :           500GB

                        Mouse                                    :           PC tech

                        RAM                                       :           2GB

                        Keyboard                               :           102  Standard key Board

Modules:

Login

Connecting server

Container generation

Query processing

Attack detection

Discarding container

Disconnecting server

Module Description:

Page 4: Double Guard

Login:

In login module the user will be login to the web server to start up their process. Username

and password will be provided to every user through this username and password the user can

login to the web server.

Connecting Server:

After login to the web server the user should made connection with the web server to get the

information from the web server for mading connection with the web server every user have

unique signature to denote that they are the authorized person to retrieve the data from the

web server and database server. While connecting to the web server the signature of every

user will be checked and the connection will be made when the signature is valid otherwise

the connection will not be made.

Container Generation:

            The container will be generated for each and every session in the web server the

container will provide session id for every session. The data and the information about the

query processed are stored in the container

Query Processing:

            In this module the user query will be processed. The web server will check the query

for authentication purpose after the query is authenticated the web server will process the

query and retrieve the data from the database server and it is provided to the user by the web

server.

 

Attack Detection:

            There are number of attack performed by the attacker to retrive the data from the web

server or directly from the database the attacks performed by the attacker are

Injection Attack

Privilege Attack

Page 5: Double Guard

Hijack Future Session Attack

Direct DB Attack

These attacks will be detected and controlled by using the detection algorithm. In this

algorithm the structure of the query , session id , session time and the user id will be

compared with the information stored in the database and the webserver the query will be

processed only when the every condition will be satisified otherwise the query will be

neglected.

Discarding Container:

            When the session is closed the container that has been generated to store the

information about the query processing should be discarded and when new session starts then

the container will be reinitiated.

Disconnecting Server:

            To finish the session the server is to be disconnected from the user. When the server

gets disconnected it is considered to be session completion.