Data Leakage Detection
Data Leakage Detection
Chapter -1
INRODUCTION
1
Data Leakage Detection
INTRODUCTION
2
Data Leakage Detection
3
Data Leakage Detection
4
Data Leakage Detection
Chapter -2
PROBLEM DEFINITION
5
Data Leakage Detection
PROBLEM DEFINITION
1. INTRODUCTION
6
Data Leakage Detection
7
Data Leakage Detection
given one or more fake objects that were leaked, then the distributor can be
more confident that agent was guilty.
8
Data Leakage Detection
1. Sample request
2. Explicit request
Algorithms:
9
Data Leakage Detection
Chapter – 3
10
Data Leakage Detection
FEASIBILITY STUDY
FEASIBILITY STUDY:
11
Data Leakage Detection
business proposal is put forth with a very general plan for the project
and some cost estimates. During system analysis the feasibility study
is essential.
ECONOMICAL FEASIBILITY
TECHNICAL FEASIBILITY
SOCIAL FEASIBILITY
ECONOMICAL FEASIBILITY
12
Data Leakage Detection
This study is carried out to check the economic impact that the
system will have on the organization. The amount of fund that the company
can pour into the research and development of the system is limited. The
expenditures must be justified. Thus the developed system as well within the
budget and this was achieved because most of the technologies used are
TECHNICAL FEASIBILITY
This study is carried out to check the technical feasibility, that is,
the technical requirements of the system. Any system developed must not
have a high demand on the available technical resources. This will lead to
high demands on the available technical resources. This will lead to high
demands being placed on the client. The developed system must have a
13
Data Leakage Detection
SOCIAL FEASIBILITY
by the user. This includes the process of training the user to use the system
efficiently. The user must not feel threatened by the system, instead must
on the methods that are employed to educate the user about the system and
to make him familiar with it. His level of confidence must be raised so that
14
Data Leakage Detection
Chapter – 4
SYSTEM ANALYSIS
15
Data Leakage Detection
SYSTEM ANALYSIS
1) Problem/Requirement Analysis:
2) Requirement Specification:
16
Data Leakage Detection
ROLE OF SRS
The purpose of the Software Requirement Specification is to
reduce the communication gap between the clients and the
developers. Software Requirement Specification is the medium
though which the client and user needs are accurately specified. It
forms the basis of software development. A good SRS should
satisfy all the parties involved in the system.
SCOPE
17
Data Leakage Detection
System Specification
System Requirements:
Hardware Requirements:
Software Requirements:
18
Data Leakage Detection
Chapter -5
SYSTEM DESIGN
19
Data Leakage Detection
SYSTEM DESIGN
SOFTWARE DESIGN
In designing the software following principles are followed:
separate function.
system.
20
Data Leakage Detection
Proposed Modules:
The main focus of our project is the data allocation problem as how
can the distributor “intelligently” give data to agents in order to
improve the chances of detecting a guilty agent.
21
Data Leakage Detection
4. Data Distributor:
SYSTEM DESIGN
22
Data Leakage Detection
the system, various processing carried out on these data, and the output data
is generated by the system.
23
Data Leakage Detection
Login
Admin Agent
Check
no
Select Agent Exists
yes
Create Account
Upload File to Agent
File Details
Data Leaker
File Lock with Secret Key
End yes no
if exists
yes no
if Secret key Exists
24
Data Leakage Detection
Create an Account
Login
Admin
Agent Generate Secret Key
Download Files
Lock/UnLock
Data Leaker
25
Data Leakage Detection
Class Diagram:
Lock/UnLock
FileID Edit Account
FilePassword AgentName
ReTypePassword EmailID
SecretKey OldPassword
NewPassword
ReType NewPassword
Lock()
UnLock() Update()
Sequence Diagram:
26
Data Leakage Detection
DataBase
Agent Admin
Create an Account
L:ock/UnLockFiles
View Files
Download Files
Data Leaker
Activity Diagram:
27
Data Leakage Detection
Login
Check
No
Upload Files Exists Create Account
Yes
Files Maitainance
Lock/UnLock File
Data Leaker
File Download
Download Receive
Original File Duplicate File
28
Data Leakage Detection
The input design is the link between the information system and
the user. It comprises the developing specification and procedures
for data preparation and those steps are necessary to put transaction
data in to a usable form for processing can be achieved by
inspecting the computer to read data from a written or printed
document or it can occur by having people keying the data directly
into the system. The design of input focuses on controlling the
amount of input required, controlling the errors, avoiding delay,
avoiding extra steps and keeping the process simple. The input is
designed in such a way so that it provides security and ease of use
with retaining the privacy. Input Design considered the following
things:
What data should be given as input?
How the data should be arranged or coded?
29
Data Leakage Detection
30
Data Leakage Detection
OUTPUT DESIGN
31
Data Leakage Detection
Future.
Signal important events, opportunities, problems, or
warnings.
Trigger an action.
Confirm an action.
Chapter -6
32
Data Leakage Detection
IMPLEMENTATION
6.1 HTML
TABLE:
33
Data Leakage Detection
Tables are so popular with web page authors is that they let you arrange the
elements of a web page in such a way that the browser won’t rearrange them
web page authors frequently use tables to structure web pages.
TR:
TR is used to create a row in a table encloses <TH> and
<TD> elements. <TR> contain many attributes. Some of them are,
ALIGN: specifies the horizontal alignment of the text in the table row.
BGCOLOR: Specifies the background color for the row.
BORDERCOLOR: Sets the external border color for the row.
VALIGN: Sets the vertical alignment of the data in this row.
TH:
TH is used to create table heading.
ALIGN: Sets the horizontal alignment of the content in the table cell.
Sets LEFT, RIGHT, CENTER.
BACKGROUND: Species the back ground image for the table cell.
BGCOLOR: Specifies the background color of the table cell
VALIGN: Sets the vertical alignment of the data. Sets to TOP,
MIDDLE, BOTTOM or BASELINE.
WIDTH: Specifies the width of the cell. Set to a pixel width or a
percentage of the display area.
TD:
TD is used to create table data that appears in the cells of a
table.
34
Data Leakage Detection
FRAMES:
Frames are used for either run off the page or display only small
slices of what are supposed to be shown and to configure the frame we can
use <FRAMESET>There are two important points to consider when
working with <FRAMESET>.
<FRAMESET> element actually takes the place of the <BODY>
element in a document.
Specifying actual pixel dimensions for frames .
35
Data Leakage Detection
</FRAMESET>
FORM:
The purpose of FORM is to create an HTML form; used
to enclose HTML controls, like buttons and text fields.
ATTRIBUTES:
ACTION: Gives the URL that will handle the form
data.
CONTROLS IN HTML
36
Data Leakage Detection
<INPUT TYPE=RADIO>:
Creates a radio button in a form.
ATTRIBUTE:
NAME: Gives the element a name. Set to alphanumeric character.
VALUE: Sets the default content of the element.
<INPUT TYPE=SUBMIT>:
Creates a submit button that the user can click to send data in the form
back to the web server.
ATTRIBUTES:
NAME: Gives the element a name. Set to alphanumeric characters.
VALUE: Gives this button another label besides the default, Submit Query.
Set to alphanumeric characters.
<INPUT TYPE=TEXT>:
Creates a text field that the user can enter or edit text in.
ATTRIBUTES:
NAME: Gives the element a name. Set to alphanumeric characters.
VALUE: Holds the initial text in the text field. Set to alphanumeric
characters.
37
Data Leakage Detection
38
Data Leakage Detection
JAVASCRIPT METHODS:
Writeln:
Document.writeln() is a method, which is used to write some text to
the current web page.
onClick:
Occurs when an element is clicked.
onLoad:
Occurs when the page loads.
onMouseDown:
Occurs when a mouse button goes down.
onMouseMove:
Occurs when the mouse moves.
onUnload:
Occurs when a page is unloaded.
39
Data Leakage Detection
JDBC DRIVERS:
The JDBC API only defines interfaces for objects used for
performing various database-related tasks like opening and
closing connections, executing SQL commands, and retrieving the
results. We all write our programs to interfaces and not
implementations. Either the resource manager vendor or a third
party provides the implementation classes for the standard JDBC
interfaces. These software implementations are called JDBC drivers.
JDBC drivers transform the standard JDBC calls to the external
resource manager-specific API calls. The diagram below depicts
how a database client written in java accesses an external resource
40
Data Leakage Detection
TYPE1:
Type1 JDBC drivers implement the JDBC API on top of a
lower level API like ODBC. These drivers are not generally
portable because of the independency on native libraries. These
41
Data Leakage Detection
drivers translate the JDBC calls to ODBC calls and ODBC sends the
request to external data source using native library calls. The
JDBC-ODBC driver that comes with the software distribution for J2SE
is an example of a type1 driver.
TYPE2:
Type2 drivers are written in mixture of java and native code.
Type2 drivers use vendors specific native APIs for accessing the
data source. These drivers transform the JDBC calls to vendor specific
calls using the vendor’s native library.
These drivers are also not portable like type1 drivers because
of the dependency on native code.
TYPE3:
Type3 drivers use an intermediate middleware server for
accessing the external data sources. The calls to the middleware
server are database independent. However, the middleware
server makes vendor specific native calls for accessing the data
source. In this case, the driver is purely written in java.
TYPE4:
Type4 drivers are written in pure java and implement
the JDBC interfaces and translate the JDBC specific calls to vendor
specific access calls. They implement the data transfer and network
protocol for the target resource manager. Most of the leading
42
Data Leakage Detection
43
Data Leakage Detection
JAVA.SQL.DRIVERMANAGER:
MANAGING DRIVERS:
MANAGING CONNECTION:
DriverManager class is responsible for managing connections
to the databases:
44
Data Leakage Detection
CONNECTIONS:
CREATING STATEMENTS:
The interface java.sql.Connection defines a set of methods for
creating database statements. Database statements are used for sending SQL
statements to the database:
Public Statement createStatement () throws SQLException
45
Data Leakage Detection
JDBC RESULTSETS:
SCROLLING RESULTSETS:
46
Data Leakage Detection
public String getString (int I) Gets the data in the specied column as
a string.
STATEMENT:
47
Data Leakage Detection
DriverManager
Driver Driver
Layer
Application
Connection
Layer
48
Data Leakage Detection
BENEFITS OF JSP:
JSP provides the following benefits over servlets alone:
It is easier to write and maintain the HTML: In this no extra
backslashes, no double quotes, and no lurking Java syntax.
You can use standard Web-site development tools:
49
Data Leakage Detection
50
Data Leakage Detection
A JSP element is used to insert values directly into the output. It has
the following form:
<%= Java Expression %>
The expression is evaluated, converted to a string, and inserted in the
page. This evaluation is performed at runtime (when the page is
requested) and thus has full access to the information about the request.
51
Data Leakage Detection
For example, the following shows the date/time that the page was
requested.
Current time: <%=new java.util.Date () %>
PREDEFINED VARIABLES:
To simplify expressions we can use a number of predefined variables (or
“implicit objects”). The specialty of these variables is that, the system simple
tells what names it will use for the local variables in _jspService.The most
important ones of these are:
request, the HttpServletRequest.
response, the HttpServletResponse.
session, the HttpSession associated with the request
out, the writer used to send output to clients.
application, the ServletContext. This is a data structure shared by all
servlets and JSP pages in the web application and is good for storing
shared data.
Here is an example:
52
Data Leakage Detection
JSP works best when the structure of the HTML page is fixed but the
values at various places need to be computed dynamically. If the structure of
the page is dynamic, JSP is less beneficial. Some times servlets are better in
such a case. If the page consists of binary data or has little static content,
servlets are clearly superior. Sometimes the answer is neither servlets nor
JSP alone, but rather a combination of both.
WRITING SCRIPTLETS
If you want to do something more complex than output the value of a
simple expression .JSP scriptlets let you insert arbitrary code into the
servlet’s _jspService method. Scriptlets have the following form:
<% Java code %>
Scriptlets have access to the same automatically defined variables as do
expressions (request, response, session, out , etc ) .So for example you want
to explicitly send output of the resultant page , you could use the out
variable , as in the following example:
<%
String queryData = request.getQueryString ();
out.println (“Attached GET data: “+ queryData);
%>
SCRIPTLET EXAMPLE:
As an example of code that is too complex for a JSP expression alone,
a JSP page that uses the bgColor request parameter to set the background
color of the page .Simply using
53
Data Leakage Detection
USING DECLARATIONS
A JSP declaration lets you define methods or fields that get inserted
into the main body of the servlet class .A declaration has the following form:
<%! Field or Method Definition %>
Since declarations do not generate output, they are normally used in
conjunction with JSP expressions or scriptlets. In principle, JSP declarations
can contain field (instance variable) definitions, method definitions, inner
class definitions, or even static initializer blocks: anything that is legal to put
inside a class definition but outside any existing methods. In practice
declarations almost always contain field or method definitions.
We should not use JSP declarations to override the standard servlet life cycle
methods. The servlet into which the JSP page gets translated already makes
use of these methods. There is no need for declarations to gain access to
service, doget, or dopost, since calls to service are automatically dispatched
to _jspService , which is where code resulting from expressions and
scriptlets is put. However for initialization and cleanup, we can use jspInit
and jspDestroy- the standard init and destroy methods are guaranteed to call
these methods in the servlets that come from JSP.
6.5 TOMCAT
54
Data Leakage Detection
TERMINOLOGY:
Context – a Context is a web application.
55
Data Leakage Detection
/conf – Configuration files and related DTDs. The most important file
in here is server.xml. It is the main configuration file for the container.
INSTALLATION:
Tomcat will operate under any Java Development Kit (JDK)
environment that provides a JDK 1.2 (also known as Java2 Standard
Edition, or J2SE) or later platform. JDK is needed so that servlets, other
classes, and JSP pages can be compiled.
56
Data Leakage Detection
Main Location
$CATALINA_HOME/webapps/ROOT
Corresponding URLs.
http://host/SomeFile.html
http://host/SomeFile.jsp
Corresponding URLs
http://host/SomeDirectory/SomeFile.html
http://host/SomeDirectory/SomeFile.jsp
57
Data Leakage Detection
http://host/servlet/packageName.ServletName
Location
$CATALINA_HOME/webapps/ROOT/WEB-INF/lib
Chapter -7
58
Data Leakage Detection
TESTING
SOFTWARE TESTING
Testing
Software testing is a critical element of software quality assurance and
represents the ultimate review of specification, design and code generation.
59
Data Leakage Detection
Note that the result of the system testing will prove that the system is
working correctly. It will give confidence to system designer, users of the
system, prevent frustration during implementation process etc.,
60
Data Leakage Detection
Unit Testing:
Unit testing is essentially for the verification of the code
produced during the coding phase and the goal is test the internal logic
of the module/program. In the Generic code project, the unit testing is
done during coding phase of data entry forms whether the functions are
61
Data Leakage Detection
working properly or not. In this phase all the drivers are tested they are
rightly connected or not.
Integration Testing:
All the tested modules are combined into sub systems, which are
then tested. The goal is to see if the modules are properly integrated,
and the emphasis being on the testing interfaces between the modules.
In the generic code integration testing is done mainly on table creation
module and insertion module.
Validation Testing
62
Data Leakage Detection
TEST CASE 1 :
TEST CASE 2:
TEST CASE 3 :
When the old password does not match with the new password ,then
this results in displaying an error message as “ OLD PASSWORD
DOES NOT MATCH WITH THE NEW PASSWORD”.
TEST CASE 4 :
63
Data Leakage Detection
When a user forgets his password he is asked to enter Login name, ZIP
code, Mobile number. If these are matched with the already stored ones then
user will get his Original password.
Chapter – 8
64
Data Leakage Detection
OUTPUT SCREENS
Distributor Login
65
Data Leakage Detection
66
Data Leakage Detection
67
Data Leakage Detection
Agent Home
68
Data Leakage Detection
View Key
69
Data Leakage Detection
70
Data Leakage Detection
71
Data Leakage Detection
User Registration
72
Data Leakage Detection
8. CONCLUSION
73
Data Leakage Detection
objects can be “guessed” by other means. Our model is relatively simple, but
we believe it captures the essential trade-offs. The algorithms we have
presented implement a variety of data distribution strategies that can
improve the distributor’s chances of identifying a leaker. We have shown
that distributing objects judiciously can make a significant difference in
identifying guilty agents, especially in cases where there is large overlap in
the data that agents must receive. Our future work includes the investigation
of agent guilt models that capture leakage scenarios that are not studied in
this paper. For example, what is the appropriate model for cases where
agents can collude and identify fake tuples? A preliminary discussion of such
a model is available in Another open problem is the extension of our
allocation strategies so that they can handle agent requests in an online
fashion (the presented strategies assume that there is a fixed set of agents
with requests known in advance).
74
Data Leakage Detection
75
Data Leakage Detection
76
Data Leakage Detection
APPENDIX
ABBREVATIONS:
FAQ’S
77
Data Leakage Detection
browser – independent, and only the results of the java script programs
are passed to the browser, so that code is never revealed.
In general, the <script> container tags may appear any where with in
the html document. It is more viable to have the tags placed with in the
<head> container.
78
Data Leakage Detection
10. BIBLIOGRAPHY
Good Teachers are worth more than thousand books, we have them in
Our Department
3. Practical .Net2 and C#2: Harness the Platform, the Language, and the
Framework by Patrick Smacchia.
79
Data Leakage Detection
11.Y. Cui and J. Widom. Lineage tracing for general data warehouse
transformations. In The VLDB Journal, pages 471–480, 2001.
80
Data Leakage Detection
Sites Referred:
http://www.sourcefordgde.com
http://www.networkcomputing.com/
http://www.ieee.org
http://www.almaden.ibm.com/software/quest/Resources/
http://www.computer.org/publications/dlib
http://www.ceur-ws.org/Vol-90/
http://www.microsoft.com/isapi/redir.dll?prd=ie&pver=6&ar=msnhome
Abbreviations:
81