Tải bản đầy đủ (.pdf) (152 trang)

Khóa luận tốt nghiệp: Xây dựng hệ thống IDS - Snort trên hệ điều hành Linux ppt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (18.88 MB, 152 trang )













B


GI
Á
O

D

C

V
À
ĐÀO
T

O

TR


ƯỜ
NG

ĐẠ
I

H

C

HOA

SEN
KHOA

KHOA

H

C

V
À
CÔN
G

N
GH



































Gi

ng

vi
ê
n

h
ướ
ng

d

n

:

Nguy

n

N
g

c

Nh
ư


H

ng

Nh
ó
m

s
inh

vi
ê
n

t
h

c

hi

n

:


Ng
uy


n

Qu

nh

MSSV:

070073

Ph
ù

S


H
ù
n
g

MSSV:

070156



L


p

:

VT071
















T
h
á
ng

12

/
n

ă
m

2010









PHI

U

GIAO

ĐỀ

T
À
I

KH
Ó
A

LU


N

T

T

NG
HI

P



1.

M

i

si
nh

vi
ê
n

ph

i


vi
ế
t

ri
ê
n
g

m

t

b
á
o

c
á
o


2.

Ph
i
ế
u


n
à
y

ph

i

d
á
n



tran
g

đầ
u

ti
ê
n

c

a

b
á

o

c
á
o


1.
Họ
v
à

t
ê
n

sinh

vi
ê
n
/

nh
ó
m

si
nh


vi
ê
n

đượ
c

gi
ao

đề

t
à
i

(s
ĩ

s


trong

nh
ó
m
:



)



(1)



MSSV:



kh
ó
a:





(2)



MSSV:



kh
ó

a:





(3)



MSSV:



kh
ó
a:


Chuy
ê
n

ng
à
nh:

M

n

g

m
á
y

t
í
nh

Khoa:

Khoa

H

c

-

C
ô
ng

Ng
h





2.

T
ê
n

đề

t
à
i:

X
â
y

d

ng

h


th

ng

ID
S




S
nort

tr
ê
n

h


đ
i

u

h
à
nh

L
inux










3.

C
á
c

d


li

u

b
a
n

đầ
u:



S
nort

đượ
c


x
â
y

d

n
g

v

i

m

c

đí
ch

ph
á
t

hi

n

x
â

m

nh

p

v
à
o

h


th

ng
.

Snort

c
ó

kh


n
ă
ng


ph
á
t

hi

n

m

t

s


l
ượ
n
g

l

n

c
á
c

k
i


u

th
ă
m

d
ò
,

x
â
m

nh

p

k
h
á
c

nhau

nh
ư

:


buffer
ov
erflo
w,

ICMP,

virus…
Snort

l
à

ph

n

m

m

open

source

cu
n
g


c

p

cho

nh
à

qu

n

tr


c
á
c

th
ô
ng

tin

c

n


thi
ế
t

để

x


l
ý

c
á
c

s


c


k
hi

b


x
â

m

nh

p









4.

C
á
c

y
ê
u

c

u

đặ
c


b
i

t
:



Hi

u

đượ
c

k
h
á
i

ni

m
,

c
á
ch


ho

t

độ
ng

c

a

I
D
S

-

Snort.

C
à
i

đặ
t,

c

u


h
ì
nh

S
nort

tr
ê
n


h


đ
i

u

h
à
nh

Ubuntu.

Ki

m


ch

ng

k
ế
t

qu


đạ
t

đượ
c

sau

k
hi

c
à
i

đặ
t

th

à
nh

c
ô
ng















5.

K
ế
t

q
u



t

i

t
h
i

u

ph

i

c
ó
:



1.

N

m

r
õ


k
h
á
i

ni

m

v


I
D
S

v
à

Sno
rt




2.

C
à
i


đặ
t,

c

u

h
ì
nh

th
à
nh

c
ô
ng

S
nor
t

tr
ê
n

h



đ
i

u

h
à
nh

Ubuntu




3.




4.


Ng
à
y

g
iao


đề

t
à
i:……
/………./………N
g
à
y

n

p

b
á
o

c
á
o:

……/…………/


H


t
ê

n

GV

h
ướ
ng

d

n

1:

Ng
uy

n

N
g

c

Nh
ư

H

ng


….
………Ch


k
ý
:




H


t
ê
n

GV

h
ướ
ng

d

n

2:


………………….
.
.…………………
Ch


k
ý
:




Ng
à
y

….

th
á
ng



n
ă
m…






















T
r
í
c
h

Y
ế
u



I
ntrusio
n

Detection

Syste
m

(
I
D
S)

l
à

h


th

ng

ph
ò
n
g


ch

n
g

v
à

ph
á
t

hi

n

x
â
m

nh

p
th
ô
ng

m
inh


nh

t

hi

n

nay.

I
D
S

ph
á
t

hi

n

nh

n
g

t
í
n


hi

u,

bi

u

hi

n,

h
à
nh

v
i

c

a

n
g
ườ
i
x
â

m

nh

p

tr
ướ
c

khi

c
ó

th


g
â
y

thi

t

h

i


đế
n

h


th

ng

m

n
g

nh
ư

l
à
m

c
ho

d

ch

v



m

n
g
ng

n
g

ho

t

độ
n
g

hay

m

t

d


li


u.

T


đó

n
g
ườ
i

qu

n

tr


m

n
g

c
ó

th



n
g
ă
n

ch

n

th
ô
n
g
qua

c
á
c

bi

n

ph
á
p

k



thu

t

k
h
á
c

nhau.


Đề

t
à
i

c

a

ch
ú
ng

t
ô
i


v

i

m

c

ti
ê
u

l
à

x
â
y

đự
n
g

m

t

h



th

n
g

S
nort



I
D
S

tr
ê
n

h


đ
i

u
h
à
nh

Ubuntu,


h


th

n
g

n
à
y

v

i

m

c

đí
ch

p
h
á
t

hi


n

v
à

ph
ò
n
g

ch

n
g

c
á
c

h
à
nh

độ
n
g

t


n
c
ô
ng

v
à

th
â
m

nh

p

trong

m

n
g.

Do

đó

đề

t

à
i

t

p

trung

n
g
hi
ê
n

c

u

v
à
o

ph
ươ
n
g

th


c
ho

t

độ
ng

v
à

v

n

h
à
nh

c

a

h


th

n
g


Sn
ort



IDS

đồ
n
g

t
h

i

đư
a

ra

c
á
ch

c
à
i


đặ
t

v
à

thi
ế
t

l

p

m

t

h


th

n
g

ID
S

ho

à
n

ch

nh

tr
ê
n

h


đ
i

u

h
à
nh

Ubuntu.

B
ê
n

c


nh

đó

ch
ú
n
g

t
ô
i
đư
a

ra

g
i

i

ph
á
p

nh

m


t
ă
ng

c
ườ
n
g

kh


n
ă
n
g

ho

t

độ
ng

v
à

v


n

h
à
nh

c

a

h


th

ng
th
ô
ng

qua

vi

c

s


d


n
g

barnyard

để

t
ă
ng

c
ườ
ng

kh


n
ă
n
g

g
hi

l

i


lo
g

c

a

h


th

n
g

v
à

oinkm
a
ster

để

t


độ
ng


li
ê
n

t

c

c

p

nh

t

rule.


Ng
o
à
i

vi

c

s



d

n
g

h


th

n
g

rule

c
ó

s

n,

đề

t
à
i


t
ì
m

hi

u

c
á
ch

t

o

ra

rule

theo

y
ê
u

c

u
nh


m

g
i
á
m

s
á
t

v
à

k
i

m

tra

đố
i

v

i

m


t

lu

n
g

th
ô
n
g

tin

c


th


khi

m
à

h


th


n
g

rule
c

a

snort

kh
ô
n
g

th


đá
p


ng
.


Th
ô
ng


qua

vi

c

nghi
ê
n

c

u,

đề

t
à
i

c

a

ch
ú
n
g


t
ô
i

đư
a

m

t

c
á
i

nh
ì
n

t

n
g

quan

v


h



th

ng

Host-based

ID
S

v
à

Netw
or
k
-based

I
D
S,

v


s


k

h
á
c

v
à

g
i

n
g

nhau

c

a

hai

h


th

ng

t



đó

c
ó

th



ng

d

n
g

trong

m
ô

h
ì
nh

m

ng


th

c

t
ế
.





















M


c

L

c


Tr
í
ch

Y
ế
u


iv
M

c

L

c


v
L

i


C

m

Ơ
n

v
ii
Nh

n

X
é
t

C

a

Ng
ườ
i

H
ướ
ng


D

n


v
iii
Nh

p

Đề

9

1.

Ng
uy
ê
n

L
ý

H
o

t


Độ
n
g

C

a

Sno
rt



10


1.1

Qu
á

tr
ì
nh

k
h

i


độ
ng

c

a

snort


10


1.2

X


l
ý

g
ó
i

tin

trong

snor

t



11


1.3

Detection

Eng
ine



15


1.4

Kh

o

s
á
t

Detection


Eng
ine



18


1.5

S
nort

I
nline

Mode


20


2.

Preprocessor


22



2.1

Preprocessor

frag3



23


2.2

Preprocessor

strea
m
5



25


3.

H



Th

ng

Rule

Trong

Snort



31


3.1

T

ng

qua
n

v


rule

trong


snort



31


3.2

C

u

tr
ú
c

rule

31


3.3

Th


t



c
á
c

rule

trong

r
ule

base

c

a

snort



34


3.4

Oinkm
a
ster




34


4.

S
nort

Output

Plu
g
-in



35


4.1

Output

log

v
à


alert
v

i

t

c

độ

nha
nh



35


4.2

Output

log

v
à

alert


v
à
o

database



38


4.3

Output

log

v
à

alert

v
à
o

Unix

syslog


38


4.4

Output

log

v
à

alert

v
à
o

m

t

f
ile

c


th





39


4.5

Output

log

v
à

alert

v
à
o

file

C
S
V


40



4.6

Output

log

v
à

alert

ra

nhi

u

d

ng

kh
á
c

nhau




41


















5.

Networ
k
-Based

v
à

Host-Based


I
D
S



41


5.1

Nework
-
Based

ID
S


41




















5.2

Host-Based

I
D
S


43


5.3

Tri

n

Khai


I
D
S

T
rong

M

n
g

44


6.

C
á
c

H
ì
nh

Th

c

Khai


Th
á
c

V
à

T

n

C
ô
ng

H


T
h

ng

Ph


Bi
ế
n




47


6.1

Port

sc
an

47


6.2

DOS

(Denial

of

S
er
v
ices)




50


6.3

A
RP

Spoofin
g



53


7.

C
à
i

Đ

t

S
nort




54


7.1

M

t

s


t
ù
y

c
h

n

k
hi

bi
ê
n


d

ch

snort



54


7.2

C

u

tr
ú
c

database

c

a

snort




55


7.3

C
à
i

đặ
t

S
nort

v

i

S
nort

Report

(S
in
gle

S

nort

Sensor)



56


7.4

C
à
i

đặ
t

S
nort

v

i

BAS
E

(S
in

gle

S
nort

S
ensor)



62


7.5

C
à
i

đặ
t

snort

v

i

BAS
E


(Multiple

S
nort
S
ensors)



72


7.6

C
à
i

đặ
t

S
nort

inline



81



8.

L
ab

Ki

m

Tra

Ho

t

Độ
ng

C

a

S
nort



91



8.1

Rule

để

k
i

m

tr
a

ho

t

độ
ng

c

a

snort




91


8.2

Rule

ph
á
t

hi

n

truy

c

p

web

92


8.3

Ph

á
t

hi

n

portscan

trong

S
nort



93


8.4

Ph
á
t

hi

n

DOS


v

i

snort



94


8.5

Ph
á
t

hi

n

A
RP

attac
k


96



K
ế
t

L
u

n


101


T
à
i

L
i

u

Tha
m

Kh

o



102



















L

i

C

m


Ơ
n




Ch
ú
ng

t
ô
i

xin

ch
â
n

th
à
nh

c

m

ơ
n


c
ô

Ng
uy

n

Ng

c

Nh
ư

H

n
g

-

g
i

n
g

vi

ê
n

tr

c

ti
ế
p
h
ướ
ng

d

n

nh
ó
m

ch
ú
n
g

t
ô
i


th

c

hi

n

kh
ó
a

lu

n

t

t

n
g
hi

p

n
à
y


n
à
y,

đã

t

n

t
ì
nh

h
ướ
n
g
d

n

v
à

h


tr



v
à

g
i
ú
p

ch
ú
n
g

t
ô
i

g
i

i

quy
ế
t

kh
ó


kh
ă
n

trong

qu
á

tr
ì
n
h

n
g
hi
ê
n

c

u

đề

t
à
i

n
à
y.

Ch
ú
ng

t
ô
i

ch
â
n

th
à
nh

c

m

ơ
n

s



nhi

t

t
ì
nh

c

a

c
ô
,

c
ô

đã

g
i
ú
p

ch
ú
ng


t
ô
i

g
i

i

đá
p
nh

n
g

th

c

m

c

c
ũ
n
g

nh

ư

cung

c

p

nh

n
g

t
à
i

li

u

c

n

thi
ế
t

cho


qu
á

tr
ì
nh

n
g
hi
ê
n

c

u

đề

t
à
i

c

a

ch
ú

ng

t
ô
i.

M

t

l

n

n

a

xin

c
h
â
n

th
à
n
h


c

m

ơ
n

c
ô
.



Ch
ú
ng

t
ô
i

xin

g

i

l

i


c

m

ơ
n

đế
n

nh

n
g

g
i

n
g

vi
ê
n

c

a


n
g
à
nh

M

n
g

M
á
y

T
í
nh

tr
ườ
n
g


đạ
i

h

c


Hoa

S
en

đã

t

n

t
ì
nh

g
i

n
g

d

y

v
à

t


o

đ
i

u

k
i

n

cho

ch
ú
n
g

t
ô
i

h

c

t


p,

nghi
ê
n
c

u.

Để

t


đó

ch
ú
n
g

t
ô
i

c
ó

đượ
c


m

t

n

n

t

ng

k
i
ế
n

th

c

v

n
g

ch

c


l
à
m

ti

n

đề

g
i
ú
p

cho

ch
ú
ng

t
ô
i

th

c


hi

n

t

t

đề

t
à
i

t

t

nghi

p

c

a

m
ì
nh.


























































vii

X
â
y


d

ng

h


th

n
g

I
D
S



S
nort

tr
ê
n

h


đ

i

u

h
à
nh

L
inux



















NH


N

X
É
T

C

A

NG
ƯỜ
I

H
Ư

NG

D

N
































































Ng
ườ
i
hướng
d


n

k
ý

t
ê
n



























viii

X
â
y

d

ng

h


th

n
g

I
D
S



S

nort

tr
ê
n

h


đ
i

u

h
à
nh

L
inux





















Nh

p

Đề


Kh
á
i

ni

m

t

n

c

ô
n
g

m

t

m
á
y

t
í
nh

b

n
g

vi

c

t
á
c

độ

ng

tr

c

ti
ế
p

v
à
o

m
á
y

đó

đã

tr


th
à
nh

qu

á

k
h


k
hi

m
à

n
g
à
y

nay

con

ng
ườ
i

c
ó

th



truy

c

p

v
à
o

m

t

m
á
y

ch




c
á
ch

xa
m

ì
nh

n

a

v
ò
n
g

tr
á
i

đấ
t

để

l

y

th
ô
n
g


tin

web
site,

m
ail…

Hack
er

c
ũ
n
g

l
à
m

nh

n
g

c
ô
n
g
vi


c

t
ươ
ng

t


nh
ư
n
g

h


t

n

d

n
g

nh

n

g

l


h

ng

c

a

h


th

n
g

nh

m

chi
ế
m

quy


n

s


d

ng

hay

n
g
ă
n

ch

n

s


truy

c

p


c

a

ng
ườ
i

d
ù
ng

k
h
á
c

v
à
o

h


th

ng

đó
.



Nh

m

n
g
ă
n

ch

n

nh

n
g

truy

nh

p

tr
á
i


ph
é
p

v
à
o

h


th

n
g

n
g
ườ
i

ta

s


d

ng


nh

n
g
thi
ế
t

b


b

o

m

t

nh
ư

Fire
wall

hay

c
á
c


thu

t

t
o
á
n

m
ã

h
ó
a.

Th
ế

nh
ư
n
g

đố
i

v


i

nh

n
g
m
á
y

ch


ch

y

nh

n
g

d

ch

v


nh

ư

web,

m
ail

t
h
ì

nh

n
g

c
ô
n
g

c


b

o

m


t

n
à
y

v

n

ch
ư
a
ho
à
n

h

o

v
ì

đâ
y

l
à


nh

n
g

m
á
y

ch


đượ
c

m

i

n
g
ườ
i

t


b
ê
n


n
g
o
à
i

truy

c

p

(publi
c
server).

Hack
er

s

lợi
d

ng

ch
í
nh


nh

n
g

d

ch

v


n
à
y

để

t

n

c
ô
ng

v
à
o


h


th

ng
.

Đ
i

u

đó

l
à

ng
uy
ê
n

nh
â
n

d


n

đế
n

s


c

n

thi
ế
t

s


d

ng

c
ô
n
g

c



I
D
S

(
I
ntrus
ion

Detection
S
yste
m)

v

i

m

c

đí
ch

l
à

d

ò

t
ì
m

v
à

n
g
hi
ê
n

c

u

c
á
c

h
à
nh

vi

b


t

t
h
ườ
n
g

v
à

t
h
á
i

độ

c

a
ng
ườ
i

s


d


n
g

trong

m

n
g,

ph
á
t

hi

n

ra

c
á
c

h
à
nh

v

i

l

m

d

n
g

đặ
c

quy

n

để

g
i
á
m

s
á
t

h



th

ng

m

n
g.



















1.


Ngu
y
ê
n

L
ý

H
o

t

Đ

n
g

C

a

S
no
rt


1.1


Qu
á

t
r
ì
nh

kh

i

đ

n
g

c

a

snort


Qu
á

tr
ì
nh


k
h

i

độ
ng

c

a

snort

chia

l
à
m

3

g
iai

đ
o

n





C
á
c

đố
i

s


c

a

comm
an
d-line

đượ
c

ph
â
n

t

í
ch

để

x
á
c

đị
nh

ch
ế

độ

ch

y

c

a
snort

v
à

thi

ế
t

l

p

c
á
c

bi
ế
n

m
ô
i

tr
ườ
ng
.



File

c


u

h
ì
nh

đượ
c

x


l
ý
,

tr
on
g

file

n
à
y

ch

a


c
á
c

th
ô
n
g

tin

c

u

h
ì
nh

v


rule,
preprocessor,

output

plug
-in…




S
au

k
hi

th
ô
n
g

tin

c

u

h
ì
nh

đượ
c

đọ
c,

snort


b

t

đầ
u

thi
ế
t

l

p

detection
engine,

c
á
cth
ư

v
i

n

pcap…


1.1.1

Tr
ì
nh

c
omm
a
nd-li
n
e

c

a

snort


Comm
a
nd

line

c

a


snor
t

r

t

linh

ho

t

v
à

c
ó

nhi

u

option

cho

ph
é

p

n
g
ườ
i

d
ù
n
g
thi
ế
t

l

p

v
à

c

u

h
ì
nh


th
ô
n
g

qua

co
mm
and

line
.

Đ
i

u

n
à
y

cho

ph
é
p

ng

ườ
i

d
ù
n
g

c
ó

th


thay

đổ
i

c

u

h
ì
nh

c

u


h
ì
nh

c

a

snort

m
à

kh
ô
ng

c

n

ph

i

thay

đổ
i


file

c

u

h
ì
nh.
Đồ
ng

th

i

c
ó

th


cho

ph
é
p

nhi


u

ti
ế
n

tr
ì
nh

s
nort

chia

s


v

i

nhau

m

t

file


c

u
h
ì
nh.

Để

xem

c
á
c

comm
and

line

option

trong

snort

đượ
c


x


l
ý

th
ế

n
à
o

ng
ườ
i

d
ù
n
g

c
ó

th


xe
m


h
à
m

P
arse
CmdLine

trong

file

sn
ort.c.

Đồ
ng

th

i

qua

đó

n
g
ườ

i

d
ù
n
g
c
ũ
ng

c
ó

th


t

o

th
ê
m

c
á
c

option


t
ù
y

theo

ý

m
u

n.

T


phi
ê
n

b

n

2.6

snort

đã


c
ó

h
ơ
n

40

comm
and

line

options.


1.1.2

X


l
ý

f
ile

c


u

h
ì
nh


File

c

u

h
ì
nh

ch

a

c
á
c

th
ô
n
g


s


c

u

h
ì
nh

cho

snort,

m

t

s


th
ô
n
g

s



c

u

h
ì
nh

s


kh
ô
n
g

đ
ượ
c

h


tr


th
ô
ng


q
ua

co
mm
and

lin
e.

C
á
c

th
ô
ng

s


n
à
y

bao

g

m


c
á
c
lo

ig
i
á

tr


c

u

h
ì
nh,

preprosessor,

c
á
c

ch



d

n

cho

output,

rule

v
à

c
á
c

th
ô
n
g

s


k
h
á
c.


File

c

u

h
ì
nh

c

a

snort

đượ
c

đị
nh

d

ng

theo

t


n
g

d
ò
ng

v
à

đượ
c

ph
â
n

t
í
ch

v
à

ch

y theo

t


ng

d
ò
n
g

m

t.

S
nort

đọ
c

to
à
n

b


c
á
c

line


v
à

ph
â
n

t
í
ch

t

ng

line

nh
ư

l
à

m

t
đố
i

t

ượ
n
g

ri
ê
n
g

bi

t.

Để

th

c

hi

n

vi

c

ph
â
n


t
í
ch

c
á
c

rule

snort

s


d

n
g

h
à
m
















P
arseRules
F
ile

trong

file

pa
rser.c
.

Để

ph
â
n

t
í

ch

c
á
c

th
à
nh

ph

n

c
ò
n

l

i

trong

fil
e
c

u


h
ì
nh

snort

t
í
ch

h

p

code

d
ù
n
g

cho

v
i

c

ph
â

n

t
í
ch

cho

preprocessor,

dectect
ion

option,

v
à

c
á
c

output

plug
-in

v
à
o


trong

c
á
c

m
odule

đó
.




















1.1.3

Ph
â
n

t
í
c
h

c
á
c
r
u
le


M

i

rule

trong

sno
rt


bao

g

m

2

ph

n:

header

v
à

c
á
c

option.

Header

c

a


rule

d
ù
n
g


để

ph
â
n

bi

t

lo

i

r
ule

(alert,

log
,


pass…),

pr
oto
col,

source

v
à

destination

I
P,

source


v
à

destinatio
n

port

m
à


rule

đ
an
g

d
ù
n
g.

Ph

n

Option

c

a

rule

ch

a

nhi

u


lo

i
option

k
h
á
c

n
hau

quy

đị
nh

c
á
c

th
ô
n
g

tin


v


rule

v
à

k
h
á
c

detect

option

nh
ư

sid
(snort

identifier),

m
essa
g
e…Khi


rule

đượ
c

ph
â
n

t
í
ch

snort

s


ti
ế
n

h
à
nh

x
â
y


d

n
g

t

t

c


c
á
c

rule

theo

d

ng

c
â
y.

Ph


n

header

c

a

rule

d
ù
ng

để

t

o

th
à
nh

rule

tree
node

(RTN)


v
à

ph

n

o
ption

s


t

o

th
à
nh

opti
on

tree

node

(OTN).


M

t

ph

n

c

a
OTN

s


bao

g

m

c
á
c

dection

o

ption.

T

t

c


c
á
c

OTN

t
ươ
n
g


n
g

v

i

m


t

header

s


đượ
c

nh
ó
m

l

i

d
ướ
i

c
ù
ng

m

t


RTN.




1.2

X


l
ý

g
ó
i

t
i
n

trong

snort


S
nort

b


t

đầ
u

v

i

v
i

c

ti
ế
p

nh

n

g
ó
i

tin.

S

au

k
hi

g
ó
i

tin

đượ
c

snort

ti
ế
p

nh

n,

c
á
c g
ó
i


tin

l
ú
c

n
à
y

đượ
c

chuy

n

v
à
o

pack
et

decoder.




















S
au

khi

đượ
c

dec
ode,

g
ó
i

tin


s


đượ
c

chuy

n

v
à
o

preprocessor

đ


ti
ê
u

chu

n

h
ó

a


g
ó
i

tin,

ph
â
n

t
í
ch,

ph
â
n

t
í
ch

th

ng

k

ê

v
à

ph
á
t

hi

n

c
á
c

protocol

b

t

th
ườ
ng
.


Ti

ế
p

theo

đó

g
ó
i

tin

s


đ
ượ
c

chuy

n

v
à
o

detect
ion


e
ng
ine

để

đố
i

c
hi
ế
u

k
i

m

t
ra

v

i
rulebase

trong


snort.

Cu

i

c
ù
ng

g
ó
i

tin

đượ
c

g

i

v
à
o

c
á
c


ouput

plug-in

để

log
in
g

v
à

c

nh

b
á
o.


1.2.1

Ti
ế
p

nh


n

g
ó
i

t
i
n


L
ú
c

b

t

đầ
u,

snort

ti
ế
n

h

à
nh

th

c

hi

n

ch

c

n
ă
ng

pac
k
et

processin
g

c

a


n
ó
.

S
nort


đ
i

v
à
o

ch
ế

độ

sniffin
g

m
ode

b

n
g


c
á
ch

s


d

ng

h
à
m

I
nterfaceThread

trong

file
snort.c.

H
à
m

n
à

y

k
h

i

độ
n
g

libpcap

để

l

y

c
á
c

g
ó
i

tin

t



interface.

L
ibpcap

l
à

m

t
th
ư

v
i

n

h

tr


nhi

u


n

n

t

ng

k
h
á
c

nhau

v
à

c
ho

ph
é
p

ti
ế
p

nh


n

t

t

c


c
á
c

g
ó
i

tin tr

c

ti
ế
p

t


interface.


L
ibpcap

g
i
ú
p

cung

c

p

nh

n
g

th
ô
n
g

tin

c
ơ


b

n

sau

đâ
y

cho
m

i

g
ó
i

tin:



Th

i

g
ian

m

à

g
ó
i

tin

đượ
c

b

t

t


interface

t
í
nh

đế
n

ph

n


tr
ă
m

g
i
â
y




Chi

u

d
à
i

g
ó
i

tin





S


byte

c

a

pack
et

đã

b

t

đượ
c




L
in
k

type


c

a

pac
k
et

(Ethernet,

Point

to

Point…)




Con

tr


đế
n

n

i


dung

c

a

g
ó
i

tin


Ch

c

n
ă
ng

x


l
ý

g
ó

i

tin

c

a

snort

đượ
c

th

c

hi

n

qua

nhi

u

g
iai


đ
o

n

k
h
á
c

nhau.
Đầ
u

ti
ê
n

snor
t

g

i

lib
pcap

b


n
g

h
à
m

pcap_dis
patch

để

x


l
ý

t

t

c


c
á
c

g

ó
i

tin

đ
an
g
ch

.

V

i

m

i

g
ó
i

tin

libpcap

g


i

h
à
m

P
cap
P
r
ocessP
a
cket

trong

file

snort.c

để

x


l
ý

g
ó

i

tin.

H
à
m

n
à
y

k
h

i

t

o

l

i

g
i
á

tr



count
er

v
à

s


li

u

c

a

t

n
g

g
ó
i

tin


v
à
g

i
h
à
m

Process
P
acket
trong

file

snort.c.

H
à
m

P
r
ocessP
a
cket

x



l
ý

t

t

c


c
á
c

chi

ti
ế
t
c

a

c
ô
ng

vi


c

decode

g
ó
i

tin,

xu

t

g
ó
i

tin

ra

m
à
n

h
ì
nh


(n
ế
u

ch

y



ch
ế

v
erbose
m
ode),

g

i

h
à
m

lo
gg
in
g


pa
c
k
et

(n
ế
u

ch

y



log

mode)

v
à

g

i

c
á
c


preprocesso
r
(n
ế
u

ch

y



I
DS

m
ode).

Khi

ch

y

snort



ch

ế

độ

inline,

v

n

đề

l
ú
c

n
à
y

l
à

kh
ô
n
g

c
ó


th
ư

v
i

n

n
à
o

t
ươ
n
g
đươ
ng

v

i

libpcap

cho

snort


k
hi

ch

y



Sniff
er,

Pack
a
g
e
s

v
à

I
ntrusion

Detection

















m
ode.Tuy

nhi
ê
n

snort

c
ó

th


ti
ế
p


nh

n

đượ
c

g
ó
i

tin

tr

c

ti
ế
p

t


iptables

thay

v
ì


t




















libpcap.

Nh
ư
ng

do


snort

ho

t

độ
ng

tr
ê
n

n

n

t

ng

pcap,

c
á
c

g
ó
i


tin

s


đượ
c

chuy

n


th
à
nh

đị
nh

d

ng

pcap

sau

đó


s


g

i

h
à
m

P
cap
P
rocess
Packet.


Khi

snort

ho
à
n

t

t


vi

c

x


l
ý

g
ó
i

tin,

snort

c
ó

th


chuy

n

g

ó
i

tin

đ
i

v

i

n

i

dun
g
kh
ô
n
g

thay

đổ
i

ho


c

c
ó

th


b


thay

đổ
i,

reject

g
ó
i

tin

ho

c

d
rop


g
ó
i

tin

m
à

kh
ô
n
g
c

n

ph

n

h

i

l

i.


Vi

c

x


l
ý

g
ó
i

ti
n

c

a

snort

khi

ch

y




ch
ế

độ

inline

s


th

c

hi

n
ph


thu

c

v
à
o

c



đượ
c

g
á
n

trong

l
ú
c

snort

x


l
ý

g
ó
i

tin.

N

g
ườ
i

d
ù
n
g

c
ó

th


xe
m

chi

ti
ế
t

ph
ươ
ng

th


c

x


l
ý

c

a

snort

inline

trong

f
ile

inline.c


S
nort

ch



c
ó

th


c
ó

th


x


l
ý

m

t

g
ó
i

tin

t


i

m

t

th

i

đ
i

m
.

M

c

d
ù

pcap

v
à

A
P

I


c

a

inline

đề
u

c
ó

th


bu
ffer

c
á
c

g
ó
i

ti

n,

n
ế
u

snort

t

n

qu
á

nhi

u

th

i

g
ian

để

x



l
ý


g
ó
i

tin

trong

buffer

th
ì

c
á
c

g
ó
i

tin

n
à

y

s


b


drop.

Khi

g
ó
i

tin

b


drop

snort

s


kh
ô

n
g

c
ó

đủ

thong

t
in

c

n

t
hi
ế
t

để

c
ó

th



ph
á
t

hi

n

h
à
nh

độ
n
g

t

n

c
ô
n
g

m

c

d

ù



ch
ế

độ

inline

dr
op

g
ó
i

tin

th
ì

đồ
n
g

n
g
h

ĩ
a

v

i

v
i

c

h
à
nh

độ
n
g

t

n

c
ô
n
g

c

ũ
n
g

b


dr
op
theo.

Ng
o
à
i

ra

vi

c

n
à
y

c
ò
n


l
à
m

cho

vi

c

k
ế
t

n

i

trong

m

n
g

g

p

v


n

đề

v
à

g
i

m
kh


n
ă
n
g

ho

t

độ
n
g

c


a

m

n
g,

đồ
ng

th

i

l
à
m

cho

preprocessors

(frag3,

strea
m
4,
stream
5
…)

v
ì

c
á
c

preprocessor

n
à
y

ho

t

độ
n
g

d

a

tr
ê
n

t

h
ô
n
g

tin

thu

th

p

t


nhi

u

g
ó
i

tin

k
h
á
c


c
ó

li
ê
n

quan

v

i

nhau.

V
à

n
ế
u

m

t

hay

nhi


u

g
ó
i

tin

b


drop

snort

s


ti
ế
p

t

c

ch



nh

ng

g
ó
i

tin

b


m

t

v
à

thi
ế
u,

do

đó

c
á

c

g
ó
i

tin

ti
ế
p

theo

s


đượ
c

đư
a
v
à
o

hang

đợ
i.


Trong

qu
á

tr
ì
nh

ch


đợ
i

nh
ư

v

y

snort

s


ti
ê

u

th


nhi

u

b


nh


v
à

CPU

c

a

h


th

ng

.

1.2.2

G
i

i

m
ã

g
ó
i

t
i
n


S
au

k
hi

snort

c

ó

đượ
c

g
ó
i

tin,

g
ó
i

tin

đượ
c

ch
uy

n

qua

cho

c

á
c

decoder



l

p

tr
ê
n


v
à

vi

c

g
ó
i

ti
n


đượ
c

chuy

n

cho

decoder

n
à
o

s


d

a

v
à
o

lo

i


lin
k

layer

c

a

g
ó
i

tin


đó
.

S
nort

h


tr


c
á

c

lo

i

lin
k
layer

sau:

Et
hernet,

802.11,

T
ok
en

Ri
n
g,

FDD
I
,

Cisco

HDL
C,

SLI
P,

PPP

v
à

Open
B
S
D’s

PF.

Đồ
n
g

th

i

snort

h



tr


nhi

u

protocol

sau
đâ
y:

I
P,

I
nternet

Control

Messag
e

Protocol

(I
CMP),TCP,


and

User

Datag
ra
m
Protocol

(
UDP).

N
g
ườ
i

d
ù
n
g

c
ó

th


xem


v


c
á
c

decoder

trong

f
ile

decode.c.

















S
au

k
hi

m

t

lin
k

layer

đã

đượ
c

x
á
c

đị
nh

v
à


d
ecoder

đã

đượ
c

ch

n,

c
á
c

con

tr


s


đượ
c

d
ù

ng

để

tr


đế
n

c
á
c

ph

n

kh
á
c

nhau

c

a

g
ó

i

tin.

D

a

v
à
o

th
ô
n
g

tin

dec
ode
đượ
c,

n
ó

s



g

i

ti
ế
p

c
á
c

decoder

cho

nh

n
g

l

p

ti
ế
p

theo


cho

đế
n

k
hi

n
à
o

kh
ô
n
g
c
ò
n

decoder

n
à
o

đượ
c


g

i

n

a.

Trong

k
hi

dec
ode

snort

s


k
i

m

tra

t
í

nh

s


h

p

l





















c

a

g
ó
i

tin

t

i

m

i

l

p

v
à

s


x
ế

p

c
á
c

s


ki

n

n
ế
u

ph
á
t

hi

n

m

t

g

ó
i

tin

n
à
o

đó

b

t


th
ườ
ng
.




Qu
á

tr
ì
nh


gi

i

m
ã

m

t

g
ó
i

tin


Trong

s
ơ

đồ

tr
ê
n


m
ô

ph

n
g

g
ó
i

ti
n

đượ
c

đư
a

v
à
o

decoder

d
à
nh


cho

ethernet,

h
à
m
DecodeEth
P
kt

đ
ượ
c

d
ù
n
g.

S
au

khi

decode

g
ó

i

tin,

th
ô
n
g

tin

v


source

v
à

destination

MA
C

đượ
c

l
à
m


r
õ

v
à

d

a

v
à
o

th
ô
ng

tin

v


l

p

ti
ế

p

t
heo

(ether_type
)
decoder

ti
ế
p

theo

s


đượ
c

g

i.

Gi


s



trong

tr
ườ
ng

h

p

g
i
á

tr


c

a

ether_type

l
ú
c n
à
y


l
à

2048

(ETHER_TYPE_
I
P)

snort

bi
ế
t

đư

c

l

p

ti
ế
p

theo

s



l
à

I
P

v
à

g

i

h
à
m
DecodeI
P
.

Quy

tr
ì
nh

s



ti
ế
p

t

c

cho

đế
n

k
hi

kh
ô
n
g

c
ò
n

decoder

n
à

o

đượ
c

g

i.
Trong

t
r
ườ
n
g

h

p

g
ó
i

tin

c
ó

l

in
k

type

l
à

Eth
e
rnet

th
ì

g
ó
i

tin

s


đ
ượ
c

chuy


n

v
à
o
h
à
m

DecodeEth
P
kt
,

sa
u

đó

h
à
m

n
à
y

s



g

i

DecodeIP
,

ti
ế
p

sau

l
à

DecodeTCP.

S
au

k
hi

decode

c

u


tr
ú
c

c

a

m

t

g
ó
i

tin

s


đư

c

l
à
m

r

õ
,

l
ú
c

n
à
o

g
ó
i

tin

ch


nhi

u
con

tr


k
h

á
c

nhau

tr


đế
n

nh

n
g

ph

n

k
h
á
c

n
hau

c


a

g
ó
i

tin,

đ
i

u

n
à
y

cho

ph
é
p
snort

c
ó

th



truy

xu

t

nhanh

đế
n

nh

n
g

th
à
nh

ph

n

trong

g
ó
i


tin.

Con

tr


n
à
y

cho
ph
é
p

c
á
c

th
à
nh

ph

n

c


a

snort

nh
ư

preprocessor,

detection

engine

v
à

output-plug
i
n

















c
ó

th

c

hi

n

c
ô
ng

v
i

c

m

t

c

á
ch

d


d
à
n
g

sa
u

n
à
y.


Trong

s


ph
á
t

tri


n

v
à

c

i

ti
ế
n

c

a

snort,

m

t

s


con

tr



đượ
c

th
ê
m

v
à
o

trong

g
ó
i


tin

cho

ph
é
p

c
á
c


th
à
nh

ph

n

k
h
á
c

nhau

c

a

s
nort

c
ó

th


th

ô
n
g

tin

cho

nhau.

L
ú
c




















n
à
o

trong

c

u

tr
ú
c

g
ó
i

tin

l
ú
c

n
à
y


s


ch

a

con

tr


ch


đế
n

TCP

strea
m

tracker,

IP


fragm
ent


trac
k
er

v
à

flow

trac
k
er.


1.2.3

Prep
r
o
ce
ss
o
r

S
au

khi


g
ó
i

tin

đ
ượ
c

decode

n
ó

đ
ượ
c

chuy

n

qua

preprocessor.

Preprocessor

c


a
snort

đó
n
g

m

t

vai

tr
ò

r

t

quan

tr

n
g

v


i

n
hi

u

ch

c

n
ă
n
g

k
h
á
c

nha
u

ph
á
t

h
i


n

c
á
c
protocol

kh
ô
n
g

h

p

l

,

ph
á
t

hi

n

th

ô
n
g

q
ua

c
á
c

s


li

u

thu

th

p

đ
ượ
c

ho


c

ph
á
t
hi

n

tr

c

ti
ế
p

m
à

k
h
ô
n
g

c

n


d

a

v
à
o

rule.


1.3

Detection

En
gine


S
au

khi

đượ
c

x



l
ý

b

i

preprocessor,

g
ó
i

tin

l
ú
c

n
à
o

đượ
c

chuy

n


v
à
o

detection
engine.

Detecti
on

engine

g
i

n
g

nh
ư

m

t

preprocessor

v
à


n
ó

l
à

preprocessor

đ
ượ
c

s


d

n
g

cu

i

c
ù
n
g.

Nhi


m

v


c

a

detec
tion

engine

l
à

đá
nh

g
i
á

g
ó
i

tin


d

a

v
à
o

c
á
c
rule

c
ó

s

n

trong

snort.

Để

l
à
m


đ
i

u

n
à
y

snort

s


d

n
g

m

t

rule

tree

c
ó


n
g
h
ĩ
a

l
à

g
ó
i

tin

đ
ượ
c

so

s
á
nh

d

a
v

à
o

RTN,

n
ế
u

m

t

RTN

đượ
c

th

a

m
ã
n

n
ó

s



t
ì
m

ti
ế
p

tro
n
g

c
á
c

danh

s
á
c
h

c

a

c

á
c
OTN.

Quy

tr
ì
nh

ti
ế
p

t

c

cho

đế
n

k
hi

snor
t

t

ì
m

đế
n

h
ế
t

rule

tree.

M

c

d
ù

v

n

s


d


n
g

c
h

c

n
ă
n
g

t
ì
m

theo

danh

s
á
ch

cho

ch

c


n
ă
ng

đá
nh

g
i
á

v
à

ph
á
t
hi

n

c
á
c

g
ó
i


tin.

Nh
ư
n
g

snort

kh
ô
n
g

c
ò
n

d
ù
n
g

c
â
y

c

a


c
á
c

OTN

n

a.

Thay

v
à
o

đó

snort

d
ù
n
g

fast

pattern


matcher,

fast

pattern

m
atcher

x
á
c

đị
nh

m

t

t

p

h

p

c
á

c
OTN

v
à

OTN

n
à
o

s


đượ
c

đá
nh

g
i
á
.

S
au

đó


s
nort

k
i

m

tra

t

n
g

OTN

v
à

x

p

x
ế
p
th
à

nh

m

t

h

n
g

đợ
i

g

m

c
á
c

OTN

đã

k
h

p


v

i

n

i

dung

trong

g
ó
i

tin.

1.3.1

Gh
i

l
og

v
à


c

nh

b
á
o


S
au

khi

t

t

c


c
á
c

preprocessor

to
à
n


t

t

c
ô
n
g

vi

c

c

a

ch
ú
n
g

v
à

g
ó
i


tin

l
ú
c

n
à
y

đã

đượ
c

đá
nh

g
i
á

b

i

t

p


c
á
c

rule

th
ô
n
g

qua

detec
tion

e
n
gine.

Sn
ort

b

t

đầ
u


c
ô
n
g

vi

c

g
hi

l

i

lo
g

v
à

đư
a

ra

c

nh


b
á
o.


S
nort

k
h
ô
n
g

đư
a

ra

c

nh

b
á
o

n
gay


l

p

t

c

k
hi

g
ó
i

tin

k
h

p

v

i

rule

đầ

u

ti
ê
n

trong


t

p

rule

m
à

s


g
hi

l

i

s



k
i

n

v
à

c

nh

b
á
o

đó

v
à
o

m

t

h
à
n

g

đợ
i,

sau

k
hi

g
ó
i

tin
















đượ
c

so

s
á
nh

h
ế
t

trong

t

p

rule,

snort

s


đá
nh

g

i
á

xe
m

c

nh

b
á
o

n
à
o

s


đượ
c

đư
a

ra.




















1.3.2

H
à
n
g

đợ
i

c
á
c


s


k
i

n

c

nh

b
á
o


Ev
ent

queue

cung

c

p

2


ch

c

n
ă
ng

sau:




Kh


n
ă
ng

đ
i

u

khi

n


c
á
c

rule,

rule

n
à
o

s


đ
ượ
c

ch

n

n
ế
u

c
ó


nhi

u

rule
k
h

p

v

i

n

i

dun
g

tr
on
g

g
ó
i

tin




Kh


n
ă
ng

đư
a

ra

nhi

u

c

nh

b
á
o

tr
ê
n


c
ù
ng

m

t

rule




nh

n
g

phi
ê
n

b

n

tr
ướ
c


c

a

snort,

snort

đư
a

ra

c

nh

b
á
o

n
gay

t


rule


đầ
u

ti
ê
n

v
à

nh

n
g

rule

n
à
o

c
ó

độ

ư
u

ti

ê
n

th

p

s


b


b


qua.

Ng
ườ
i

d
ù
n
g

c
ó


th


s

p

x
ế
p

th


t


c
á
c

rule

s


đượ
c

đá

nh

g
i
á
,

nh
ư
ng

đ
i

u

n
à
y

ph

c

t

p

v
à


đò
i

h

i

ph

i

x
â
y

d

ng

rul
e

l

i

t



đầ
u.

V

i

e
v
ent

queue

t
hay

v
ì

c

nh

b
á
o

ng
ay


t


rule

đầ
u

ti
ê
n

(ho

c

decoder


v
à

preprocessor

c
ó

th



đư
a

ra

c

nh

b
á
o)

l
ú
c

n
à
y

c
á
c

s


k
i


n

s


đượ
c

x
ế
p

v
à
o

m

t
h
à
ng

đợ
i.

S
au


k
hi

h
à
n
g

đợ
i

đã

đầ
y

ho

c

k
hi

s
nort

đã

ho
à

n

th
à
nh

vi

c

x


l
ý

h
ế
t

t

t

c


c
á
c


rule.

N
ó

s


k
i

m

tra

e
v
ent

queue

v
à

quy
ế
t

đị

nh

nh

n
g

c

nh

b
á
o

n
à
o

s


đượ
c
đư
a

ra.

Ng

ườ
i

d
ù
ng

c
ó

th


c

u

h
ì
nh

trong

snort

để

x

p


x
ế
p

th


t


c

nh

b
á
o

theo

rule

n
à
o
k
h

p


nhi

u

nh

t

v

i

g
ó
i

tin

ho

c

theo

th


t



ư
u

ti
ê
n

c

a

c
á
c

rule.

N
ế
u

n
g
ườ
i

d
ù
n

g
c

u

h
ì
nh

s
nort

đư
a

ra

nhi

u

c

nh

b
á
o

tr

ê
n

c
ù
n
g

m

t

g
ó
i

tin

th
ì

l
ú
c

n
à
y

snort


s


ti
ế
n
h
à
nh

k
i

m

tra

h
ế
t

h
à
n
g

đợ
i


ho

c

cho

đế
n

k
hi

n
ó

đư
a

ra

h
ế
t

s


l
ượ
ng


c

n
h

b
á
o

t

i

đ
a

cho

ph
é
p.

Theo

m

c

đị

nh

snort

s


đư
a

ra

c

nh

b
á
o

t
heo

rule

n
à
o

kh


p

nhi

u
nh

t

v

i

tin

v
à

đư
a

ra

3

c

nh


b
á
o

cho

m

t

g
ó
i

tin.

Ng
ườ
i

d
ù
n
g

c
ó

th



thay

đổ
i

g
i
á

tr


event_queue

option

trong

file

snort.conf.


1.3.3
Ngưỡ
n
g

đư

a

ra

c

nh

b
á
o


S
au

k
hi

m

t

quy
ế
t

đị
nh


v


m

t

c

nh

b
á
o

đượ
c

đư
a

ra,

snort

l
ú
c

n

à
y

s


g

i

output
plug
-in,

tuy

nhi
ê
n

c
ó

2

b
ướ
c

m

à

snor
t

s


th

c

hi

n

tr
ướ
c

k
hi

g

i

output

plu

g
-in

v
à

xu

t

ra

m
à
n

h
ì
nh.

Đầ
u

ti
ê
n

l
à


thresholding,

sau

k
hi

quy
ế
t

đị
n
h

v


m

t

c

nh

b
á
o


đượ
c

đư
a

ra,
dectection

engine

l
ú
c

n
à
y

s


g

i

th
à
nh


ph

n

thr
esholding

c

a

dectection

engine.

×