Professional Documents
Culture Documents
Design and Implementation of Data Leakage Detection and Prevention Software For Campus Network
Design and Implementation of Data Leakage Detection and Prevention Software For Campus Network
Design and Implementation of Data Leakage Detection and Prevention Software For Campus Network
1EC12CS006
1EC12CS007
1EC12CS025
1EC12CS032
Under the guidance
of
Ms. Saranya.A
Problem Statement
Design and implementation of data leakage
detection and prevention for campus network
includes :
DLD- Data Leakage Detection
DLP- Data Leakage Prevention
System Architecture
Campus Network
Gateway
Node
A
Node
X
Node
Y
Node
B
Internet
System Architecture
Keywords
Add/delete/update
keywords
Database
Admin
Database
admin
Alerts
admin
GUI
Modules
Implementing the pattern matching algorithms.
Designing a DLDP software that detects the
leakage.
Creating the database.
Developing a GUI to alert the admin in case of
data leakage
Usecase Diagram
Packets
User1
Detection
algorithms
Pattern
recognition
GUI
Alerts
User 2
Pattern
database
Admin
Sequence Diagram
Data Leakage Detection:
:user1
:System
sends E-mail
:user2
:Admin
alerts GUI
warns
:System
sends E-mail
:Admin
:user2
alerts GUI
drops Email
Dataflow Diagram
Start
Packets
DLP Software
scans
If
leakage?
Yes
A
No
Stop
Algorithms
Boyre-Moore Horspool algorithm
Aho Corasick algorithm
Text
Pattern
Example
T : GCATCGCAGAGAGTATACAGTACG
P : GCAGAGAG
Letter
Value
GCATCGCAGAGAGTATACAGTACG
GCAGAGAG
pos 0 + d[t0+7] , pos 0 + d[A], pos 1
GCATCGCAGAGAGTATACAGTACG
GCAGAGAG
pos 1 + d[t1+7] , pos 1 + d[G], pos 3
GCATCGCAGAGAGTATACAGTACG
GCAGAGAG
pos 3 + d[t3+7] , pos 3 + d[G], pos 5
6 7 8
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
GCATCGCAGAGAGTATACAGTACG
GCAGAGAG
Letter
While j > 0 And tpos+j = pj Do j j-1
If j = 0 Then report an occurrence at pos+1
Value
GCATCGCAGAGAGTATACAGTACG
GCAGAGAG
pos 7 + d[t7+7] , pos 7 + d[A], pos 8
GCATCGCAGAGAGTATACAGTACG
GCAGAGAG
pos 8 + d[t8+7] , pos 8 + d[T], pos 16
Algorithm Steps
Input : let pattern P = p1p2pm with length m and text T = t1t2tn
Output : position of occurances of pattern P.
For c Do d[c] m
For j 1m-1 Do d[pj] m - j
pos0
While pos n-m Do
j m
While j > 0 And tpos+j = pj Do j j-1
If j = 0 Then report an occurrence at pos+1
pos pos +d[tpos+m]
End of while
Aho-Corasick Algorithm
Locate all occurrences of any of a finite
number of keywords in a string of text.
Consists of two parts :
constructing a finite state pattern matching
machine from the keywords
using the pattern matching machine to process the
text string in a single pass.
Example
Text:
u s h e r s
State: 0 0 3 4 5 8 9
2
In state 4, since g(4,e)=5, and the machine
enters state 5, and finds keywords she and
he at the end of position four in text string,
emits output(5).
Contd
In state 5 on input symbol r, the machine
makes two state transitions in its operating
cycle.
Since g(5,r)=fail, M enters state 2=f(5) . Then
since g(2,r)=8, M enters state 8 and advances
to the next input symbol.
No output is generated in this operating
cycle.
Method.
begin
state 0
for i 1 until n do
begin
while g (state, a i ) = fail do state f(state)
state g (state, a i )
if output (state) empty then
begin
print i
print output (state)
end
end
end
Algorithm 2
Algorithm 2. Construction of the goto function.
Input. Set of keywords K = {yl, y2, . . . . . yk}.
Output. Goto function g and a partially computed output function
output.
Method. We assume output(s) is empty when state s is first created,
and g(s, a) = fail if a is undefined or if g(s, a) has not yet
been defined. The procedure enter(y) inserts into the goto
graph a path that spells out y.
begin
newstate 0
for i 1 until k do enter(y i )
for all a such that g(0, a) = fail do g(0, a) 0
end
procedure enter(a 1 a 2 a m ):
begin
state 0; j 1
Algorithm 3
Algorithm 3. Construction of the failure function.
Input. Goto function g and output function output from Algorithm 2.
Output. Failure function f and output function output.
Method.
begin
queue empty
for each a such that g(0, a) = s0 do
begin
queue queue {s}
f(s) 0
end
while queue empty do
begin
let r be the next state in queue
queue queue - {r}
Algorithm 4
Algorithm 4. Construction of a deterministic finite automaton.
Input. Goto function g from Algorithm 2 and failure function f from
Algorithm 3.
Output. Next move function 8.
31
Method.
begin
queue empty
for each symbol a do
begin
(0, a) g(0, a)
if g (0, a) 0 then queue queue {g (0,
a) }
end
Thank You