Вы находитесь на странице: 1из 7

1

Security in Web Application


Mrs. P. Shopa1, Mrs. N. Sumitha2 and Dr. P.S.K Patra3
1
Department of Computer Science and Engineering/Agni College of Technology/
Anna University/ Chennai – 603 103/Tamil Nadu/India
shopa1990@gmail.com

2
Assistant Professor/ Department of Computer Science and Engineering/ Agni College of Technology/ Anna University/
Chennai – 603 103/Tamil Nadu/India
sumitha.cse@act.edu.in

3
Head of the Department /Department of Computer Science and Engineering/Agni College of Technology/
Anna University/ Chennai – 603 103/Tamil Nadu/India
csehod@act.edu.in

Abstract passing the information content to database and access to


Internet services and applications have become a part of daily database servers by updating and retrieving the request
life, enabling communications from anywhere. To accommodate within the database. Finally where it presents the
this increase in applications and data complexity, web services information to the user through the browser. The below
has moved to multi-tiered design wherein the webserver runs figure 1 shows the layer procedure.
the application as the front end logic and data are outsourced to
a database. Existing, request from user directly access to main
server which connected to database. So there is a possibility of
hacking the request also attacks plays a key role in this
situation. In order to overcome this drawback, double guard is
proposed for the user session across both the front-end logic and
back-end database. By monitoring both web and subsequent
database request, paved for detecting the attacks that an
intrusion detection system would not able to identify. Double
guard achieved by using a technique named Light Weight
Virtualization, in which a container is maintained for detecting
attacks. Here the web container acts as intermediate server
between user and main server. Furthermore, technique has been
enhanced by not only detecting the attacks also for security
purpose.
Keywords: Web Services, Web Server, Hacking, Intrusion
Detection, Database, Double Guard.
Fig 1. Layer Procedure
1. Introduction
The first layer is normally a web browser or the user
1.1 Overview Of Web Application interface; the second layer is the dynamic content
generation technology tool such as Java servlets (JSP) or
A web application is any application that uses a web Active Server Pages (ASP), and the third layer is the
browser as a client. The application can be as simple as a database containing content (e.g., news) and customer
message board or a guest sign-in book on a website, or as data (e.g., usernames and passwords, social security
complex as a word processor or a spreadsheet. In this numbers and credit card details). The initial request is
application the client is used in client-server environment triggered by the user through the browser over the
to refer to the program the person uses to run the Internet to the web application server. The web
application. A client-server environment is one in which application accesses the databases servers to perform the
multiple computers share information such as entering requested task updating and retrieving the information
information into a database. The 'client' is the application lying within the database. The web application then
used to enter the information, and the server is the presents the information to the user through the browser.
application used to store the information. Here comes, the
web application classifies their process in layer wise. This 1.2 Benefits Of Web Applications
describes how the client and server initiating the request,
Web applications, therefore, are a gateway to databases of client-server systems on the Internet include Web
especially custom applications which are not developed browsers and Web servers, FTP clients and servers, and
with security best practices and which do not undergo the DNS.
regular security audits. A web application relieves the
developer of the responsibility of building a client for a 1.3.1.1 Client and Server Devices
specific type of computer or a specific operating system.
Since the client runs in a web browser, the user could be Client/server networking grew in popularity many years
using an IBM-compatible or a Mac. They can be running ago as personal computers (PCs) became the common
Windows XP or Windows Vista. They can even be using alternative to older mainframe computers. Client devices
Internet Explorer or Firefox, though some applications are typically PCs with network software applications
require a specific web browser. Web applications installed that request and receive information over the
commonly use a combination of server-side script (ASP, network. Mobile devices as well as desktop computers can
PHP, etc) and client-side script (HTML, JavaScript, etc.) both function as clients. Likewise, PCs play client role in
to develop the application. The client-side script deals this project. This enhance the mobile authentication key
with the presentation of the information while the server- where it verifies whether the authorized user accessing or
side script deals with all the hard stuff like storing and not. Once the request are initiated to the main server in
retrieving the information. completing the registration procedure. To ensure for the
authorized user the main server responds to client for
1.3 Client – Server Applications securing the request to be initiated, by declaring the
authentication key to PC, which will be useful for future
The client-server model distinguishes between also secure purpose. For example, If the user wants to
applications as well as devices. Network clients make update their information, an One time password will be
requests to a server by sending messages, and servers generated by the server and send to the user’s mobile
respond to their clients by acting on each request and number to identify the that request was made by the
returning results. One server generally supports numerous prominent user or not. It also ensures the security by
clients, and multiple servers can be networked together in informing the user, if the hacker is attempting to hack is
a pool to handle the increased processing load as the user’s account.
number of clients grows. A client computer and a server
computer are usually two separate devices, each 1.4 Objectives
customized for their designed purpose. For example, a
Web client works best with a large screen display, while a The objective of this system is to detect the attacks and
Web server does not need any display at all and can be securing it by imposing an additional interface
located anywhere in the world. However, in some cases a (intermediate server) between the user and main server.
given device can function both as a client and a server for This prevents user directly access to main server. Since
the same application. Likewise, a device that is a server the main server has an access only to authenticate the
for one application can simultaneously act as a client to username and password, it paves a way for hacker to hack
other servers, for different applications. In this paper , the the request .Web container handles the user request with
request from the client or user session initiated to the web some set of rules, if it matches it forwarded to main server
container (intermediate server) wherein it creates the then to database. Finally it forwarded to web applications.
normality model of isolated user session that include both
web front-end and back-end network transactions . Here
employing the virtualization technique to assign each
user’s session to dedicated container, an isolated 2. System requirements
computing environment. Then the request are being
forwarded to main server, the subsequent request are 2.1 System Specification
verified with privileged conditions by applying request
forwarded mechanisms. Finally the corresponded requests The minimum hardware requirements used in this system
are turned out to be a corresponded respond for accessing are Pentium 4 processor, 512MB RAM, 40GB HDD and
web applications. Nokia Express Music Mobile with the data cable. The
minimum software requirements used are Windows XP
1.3.1 Client – Server Architecture Platform, front end as Java jdk1.5, Apache tomcat 5.5,
Nokia PC suite and back end as MS SQL Server. The non-
In Client Server Architecture, the term client-server refers functional requirements are security requirement,
to a popular model for computer networking that utilizes reliability, efficiency and correctness. Then the external
client and server devices each designed for specific Interface requirements are the user interface, hardware
purposes. The client-server model can be used on the interface and software interface.
Internet as well as local area networks (LANs). Examples
2
2.2 Software Used Microsoft SQL Server is a relational database
management system developed by Microsoft. As a
2.2.1 HTML database, it is just a software product whose primary
function is to store and retrieve data as requested by other
Hyper Text Markup Language (HTML) is the software applications, be it those on the same computer or
main markup language for displaying web pages and those running on another computer across a network
other information that can be displayed in a web browser. (including the Internet). There are at least a dozen
HTML is written in the form of HTML different editions of Microsoft SQL Server aimed at
elements consisting of tags enclosed in angle different audiences and for different workloads (ranging
brackets (like <html>), within the web page content. from small applications that store and retrieve data on the
HTML tags most commonly come in pairs same computer, to millions of users and computers that
like <h1> and </h1>, although some tags, known access huge amounts of data from the Internet at the same
as empty elements, are unpaired, for example <img>. The time). True to its name, Microsoft SQL Server's
first tag in a pair is the start tag, the second tag is the end primary query languages are T-SQL and ANSI SQL.
tag (they are also called opening tags and closing tags). In
between these tags web designers can add text, tags, 2.2.4 Java JDK
comments and other types of text-based content. The
The Java Development Kit (JDK) is an Oracle
purpose of a web browser is to read HTML documents and
Corporation product aimed at Java developers. The JDK
compose them into visible or audible web pages. The
also comes with a complete Java Runtime Environment,
browser does not display the HTML tags, but uses the tags
usually called a private runtime, due to the fact that it is
to interpret the content of the page. HTML elements form
separated from the "regular" JRE and has extra contents.
the building blocks of all websites. HTML allows images
It consists of a Java Virtual Machine and all of the class
and objects to be embedded and can be used to
libraries present in the production environment, as well as
create interactive forms. It provides a means to
additional libraries only useful to developers, such as
create structured documents by denoting
the internationalization libraries and the IDL libraries.
structural semantics for text such as headings, paragraphs
etc.

2.2.2 Apache Tomcat Server


Apache Tomcat (formerly under the Apache Jakarta 3. System Design
Project; Tomcat is now a top level project) is a web
container developed at the Apache Software Foundation. 3.1 System Architecture
Tomcat implements the servlet and the Java Server Pages
(JSP) specifications from Sun Microsystems, providing an Architecture is a formal description of a system,
environment for Java code to run in cooperation with a organized in a way that supports reasoning about the
web server. It adds tools for configuration and structural properties of the system. It defines the system
management but can also be configured by editing
configuration files that are normally XML-formatted.
Because Tomcat includes its own HTTP server internally,
it is also considered a standalone web server. Tomcat is a
web server that supports servlets and JSPs. Tomcat comes
with the Jasper compiler that compiles JSPs into servlets.
The Tomcat servlet engine is often used in combination
with an Apache web server or other web servers. Tomcat
can also function as an independent web server. Earlier in
its development, the perception existed that standalone
Tomcat was only suitable for development environments
and other environments with minimal requirements for
speed and transaction handling. However, that perception
no longer exists; Tomcat is increasingly used as a
standalone web server in high-traffic, high-availability
environments. Since its developers wrote Tomcat in Java,
it runs on any operating system that has a JVM.

2.2.3 Microsoft SQL Server Fig 2. System Architecture

3
components or building blocks and provides a plan from
which products can be procured, and systems developed,
that will work together to implement the overall system.
In this project, a representation of a system is a mapping
of functionality between front-end and back-end
database ,also it specifies user interaction in web
applications. Architecture is the top-level, strategic
inventions, likewise here intermediate server play a vital
role in preventing from vulnerabilities that exploit the
front-end as well as back-end database.

3.2 Flow Diagram

Fig 4. Level 1

Fig 3. Level 0

A data flow diagram (DFD) is a graphical representation


of the "flow" of data through an information system,
modeling its process aspects. Often they are a preliminary
step used to create an overview of the system which can
later be elaborated. DFDs can also be used for
the visualization of data processing (structured design). A
DFD shows what kinds of information will be input to
and output from the system, where the data will come
from and go to, and where the data will be stored. It does
not show information about the timing of processes, or
information about whether processes will operate in
sequence or in parallel. For instance, with the flow of
request from each user session through an isolated
environment. The preliminary step used is operation of an 3.3 Usecase Diagram
intermediate server where it maintains each session for
user or client. Also it builds a casual mapping between the
web server and database. This also initiates the network
transaction between front-end and back-end.

4
DB

Admin

Regis tered Save/Valid


Registration
check Access

UserName/Password WebServer1
User Web Container Main Server
Request for sk Access
Response for sk

WebServer2
S Key

Fig 5. Steps Involved In Transactions

Fig 5. Use Case Diagram

Usecase diagram is a list of steps, defining interactions


between an actor and a system, to achieve a goal. The 4. Implementation
actor can be a human or an external system. In systems
engineering, use cases are used at a higher level than 4.1 User GUI
within software engineering, often representing missions
or stakeholder goals. The detailed requirements may then The client will register all their authentication
be captured in SysML or as contractual statements. The information along with his user Name, password, gender,
purpose of use case diagram is to capture the dynamic Mobile number, Age, DOB, and Address. All the
aspect of a system. But this definition is too generic to information is stored in the Main Server for
describe the purpose. Use case diagrams are drawn to Authentication. Server is responsible for maintaining all
capture the functional requirements of a system. the client information. Server will prevent the unwanted
users entering into the network. It also verifies the access
3.3.1 Steps Involved
privileges of each and every user. Client access plays a
vital role in this project because it is deviated from normal
The user or client sends the web request, receives
registration. The user generates a network behavior for
acknowledgement for the corresponding request. The user
both web and database. They are specialized in which
in use case diagram referred as actor. The attributes
once the registration gets over it is then generates an
involved in this project are Intermediate server and Main
authentication key for secure exchange of information.
server. The operations are the intermediate server which
Server is a computer program running to serve the
performs attack identification; prevent attacks or
requests of other programs, the clients. Thus, the server
vulnerabilities that exploit the server and database.
performs some computational task on behalf of clients.
Intermediate server examines routing messages that are
The clients either run on the same computer or connect
being transferred from front-end to back-end. The main
through the network.
server deals in verifying with privileged access conditions
which satisfies and prove to be a legitimate user. It
displays the different user connections and generates an 4.2 Establishing Intermediate Server between User
authentication key as an alert message. Database plays a and Main Server
storage and maintenance role where it monitors and
updating the client information. The below figure Intermediate server serves an interface between user and
describes the steps being followed during network main server. It maintains a web container which handles
transactions. the request with some set of access for detecting the
attacks. This is achieved by employing lightweight
virtualization technique to assign each user’s web session
to dedicated container, isolated virtual computing
environment. This build a casual mapping profile by
5
taking both the web server and database traffic. With this web server and database traffic. It operates on multiple
technique the web container detect the presence of attacks feeds of network traffic using single IDS. The forwarded
by verifying with some set of privileged access. Thus request which then verifies with their privileged
mainly used for detecting the attacks and preventing it conditions in main server initiates its subsequent request
from vulnerabilities. queries to corresponding user session and access in web
applications.
4.3 Check out The Request
4. Conclusions
This module describes checking the user request whether
there occurs a Possibility of attacks. The possibility of This project has been completed since intrusion detection
attacks such as SQL injection, IP Spoofing, DDOS etc., if system that builds models of normal behavior for multi-
the hacker hacks the username and password by using tiered web applications from both front-end web request
special string with logic condition termed as SQL and back-end database queries. Double guard forms
injection attack. IP Spoofing which refers to hacking container-based IDS with multiple input streams to
legitimate user’s IP explicitly hiding their own IP and produce alerts. This employs a technique where it is an
sending the request to server. DDOS attack which refers isolated virtual environment i.e., (intermediate server)
in which from single IP several requests initiated to where it identifies the attack and blocks that particular web
server. We are detecting the malicious data URL that was request using light weight virtualization technique. Then the
accessing by the user when accessing their data. Once the legitimate user’s request is then forwarded to main server.
user entered the malicious data URL in the address bar, Further the forwarded request is under check through request
the server will detect the URL. forwarding mechanism also verifying the privileged condition.
Additionally the main server also generates a authentication key
4.4 Initializing Request Forward Mechanism to be more secure. Using of this technique it maintains a
quantifying the detection of accuracy in web request. Finally, the
coverage of training sessions is detected and prevent from false
This module describes Request forwarding mechanism positives.
.This deals with verifying that web request are requested
from intermediate server to main server or not. This also References
identifies the attacker request that here for hijacking the
information about the user. Once the user signing up into [1] Meixing Le , Angelos Stavrou ,(2012), IEEE , “Double
account, the request have to be forwarded to the web- Guard : detecting intrusion in Web Applications IEEE and Brent
container and to the server then the server hits the ByungHoon Kang , Member .
database and retrieve the data. If the user directly hit the
server, the server will not respond to that user’s request. [2] K. Bai, H. Wang, and P. Liu, (2011). “Towards Database
Also the server will detect the IP address of the system Firewalls,” Proc. Ann. IFIP WG 11.3 Working Conf. Data and
from which the request was passed. From this module, we Applications Security.
may able to identify the hacker and prevent them from
hacking process. [3] Y. Hu and B. Panda, (2004)“A Data Mining Approach for
Database Intrusion Detection,” Proc. ACM Symp.
Applied Computing (SAC), H. Haddad, A. Omicini, R.L.
4.5 Generation of Authentication Key Wainwright, and L.M. Liebrock, eds.

After the user registers the details, before proceeding for [4] S.Y. Lee, W.L. Low, and P.Y. Wong,(2002) “Learning
request, the database stores the details about the user. Fingerprints for a Database Intrusion Detection System,”
Then the main server generates an authentication key as ESORICS: Proc. European Symp. Research in Computer
an alert message to pc suite. This key recommends the Security.
legitimate user not adversaries those intermixed with web
server. If the user wants to update their information, an [5] J. Newsome, B. Karp, and D.X. Song, (2005) “Polygraph:
Automatically Generating Signatures for Polymorphic
One time password will be generated by the server and Worms,” Proc. IEEE Symp. Security and Privacy.
send to the user’s mobile number to identify the that
request was made by the prominent user or not. It also [6] Author- B. Parno, J.M. McCune, D. Wendlandt, D.G.
ensures the security by informing the user, if the hacker is Andersen, and A.Perrig, (2009) “CLAMP: Practical Prevention
attempting to hack is user’s account. of Large-Scale Data Leaks”,Proc. IEEE Symp. Security and
Privacy.
4.6 Access to Web Applications
[7] C.Anley ,(2002), “Advanced Sql Injection in Sql server
This module specifies the access according to the user Applications ,” technicalreport , Next Generation Security
Software , Ltd .
request and also allowing for user transaction. Here the
double guard mechanism creates the mapping between
6
[8] C. Krugel and G. Vigna ,(2003)”Anamoly Detection Of Web
Based Attacks ,” Proc. 10 th ACM conf.Computer and
comm.Security (ssc).

[9] H. Debar, M. Dacier, and A. Wespi,(1999) “Towards a


Taxonomy of Intrusion-Detection Systems,” Computer
Networks, vol. 31, no. 9,pp. 805-822.

[10] V. Felmetsger, L. Cavedon, C. Kruegel, and G. Vigna,


(2010) “Toward Automated Detection of Logic Vulnerabilities
in Web Applications,” Proc. USENIX Security Symp.

Вам также может понравиться