You are on page 1of 76

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI


---------------------------------------

NGUYỄN ĐÌNH TÌNH

PHÁT HIỆN VÀ PHÒNG CHỐNG


XÂM NHẬP TRÁI PHÉP MẠNG MÁY TÍNH

LUẬN VĂN THẠC SĨ KỸ THUẬT


KỸ THUẬT MÁY TÍNH

Hà Nội – 2017
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
---------------------------------------

NGUYỄN ĐÌNH TÌNH

PHÁT HIỆN VÀ PHÒNG CHỐNG


XÂM NHẬP TRÁI PHÉP MẠNG MÁY TÍNH

Chuyên ngành: KỸ THUẬT MÁY TÍNH

LUẬN VĂN THẠC SĨ KỸ THUẬT


KỸ THUẬT MÁY TÍNH

NGƯỜI HƯỚNG DẪN KHOA HỌC:


PGS.TS. NGUYỄN LINH GIANG

Hà Nội – 2017
LỜI CAM ĐOAN
u c
Các s liu, kt qu nêu trong lu      
công b trong bt k công trình nào khác.
Tác gi

Nguyễn Đình Tình

i
DANH MỤC CÁC THUẬT NGỮ
1 ACK Acknowledgement
2 DNS Domain Name System
3 DOS Denial of Service
4 DDOS Distributed Denial of Service
5 FTP File Transfer Protocol
6 HTTP HyperText Transfer Protocol
7 ICMP Internet Control Message Protocol
8 IDS Intrusion Detection System
9 IP Internet Protocol
10 IPS Intrusion Prevention System
11 NAT Network Address Translation
12 NTP Network Time Protocol
13 UDP User Datagram Protocol
14 RPC Remote Procedure Call
15 TCP Transmission Control Protocol

ii
MỤC LỤC
LỜI CAM ĐOAN ..................................................................................................... i
DANH MỤC CÁC THUẬT NGỮ .........................................................................ii
MỤC LỤC .............................................................................................................. iii
DANH MỤC CÁC BẢNG ...................................................................................... v
DANH MỤC HÌNH VẼ VÀ SƠ ĐỒ ..................................................................... vi
MỞ ĐẦU .................................................................................................................. 1
CHƢƠNG I: TỔNG QUAN VỀ TẤN CÔNG TỪ CHỐI DỊCH VỤ PHÂN
TÁN .......................................................................................................................... 3
1.1 Tn công t chi dch v phân tán.....................................................................3
1.2 Lch s tn công t chi dch v........................................................................4
n ca mt cuc tn công DDOS ...........................................
n chun b ...................................................................................
1.3.1.1 K thut scanning .................................................................................6
 lây lac ..................................................................
nh mc tiêu và thm tn công ........
ng tn công ......................................................
n xóa du vt ..............................................................................
1.4 Mô hình kin trúc tng quan ca DDOS attack-network ................................14
1.4.1 Mô hình Agent-Handler ............................................................................14
1.4.2 Mô hình da trên nn tng IRC .................................................................16
CHƢƠNG II: PHÂN LOẠI CÁC DẠNG TẤN CÔNG DDOS ....................... 18
2.1. Dn công.............................................................
2.2. Da trên m t ng ................................................................................ 19
2.3. Da trên giao thc mng ................................................................................19
2.4. Dg thc giao tip ......................................................................2
2.5. D tn công..........................................................................
2.6 Da trên vic khai thác các l hng an ninh ....................................................21
2.6.1 Tn công gây cn ki ............................................................. 2
2.6.2 Tn công gây cn kit tài nguyên ..............................................................25
CHƢƠNG III: PHÁT HIỆN VÀ NGĂN CHẶN DDOS ................................... 30
3.1 Yêu ci vi mt h thng phát hin DDoS ................
3.2 Các bin pháp phát hin DDOS .................................................3

iii
t gn nn nhân ......................................................................
3.2t gn ngun tn công ...............................................................
t ti phn lõi ca internet .....................................................
3.3 Mt s nghiên cu v h thn DDOS .........................................
3.3.1 Giao thc Active Internet Traffic Filtering (AITF) ..................................33
3.3.2 H thng D-WARD ..................................................................................35
CHƢƠNG IV: TRIỂN KHAI THÍ NGHIỆM PHƢƠNG PHÁP NGĂN
CHẶN DDOS SỬ DỤNG SNORT-INLINE ....................................................... 39
4.1 Phn mm phát hin xâm nhp Snort-inline............................
 hong ca Snort ......................................................
4.1.2 Kin trúc ca Snort ....................................................................................41
4.1.3 Cu trúc lut (rule) ca Snort .................................................................... 42
4.1.3.1 Cu trúc ca rule Header .....................................................................42
4.1.3.2 Cu trúc ca rule option ......................................................................43
4.2 Mô hình trin khai ...........................................................................................49
4.2.1 Mô hình khi h th ............................................................
4.2.2 Gii pháp tích hp Snort-inline vào h thng ...........................................51
4.3 c trin khai ................................................................................................52
4.3c 1 .......................................................................................................52
c 2 .......................................................................................................52
c 3 ......................................................................................................53
4.4 Trin khai h thng ..........................................................................................53
t h u hành và các gói ph thuc ............................................
4.4t các gói cn thit cho snort............................................................. 54
t Snort .............................................................................................. 55
t Barnyard ........................................................................................56
4.5 Kt qu thí nghim........................................................................................... 57
4.5.1 Kt qu c 1 ..........................................................................................57
4.5.2 Kt qu c 2 ..........................................................................................59
4.5.3 Kt qu c 3 ..........................................................................................63
KẾT LUẬN .............................................................................................................. 66
TÀI LIỆU THAM KHẢO

iv
DANH MỤC CÁC BẢNG

Bng 4. 1: Cu trúc rule ca Snort. ...........................................................................42


Bng 4. 2: Cu trúc rule header. ................................................................................ 42

v
DANH MỤC HÌNH VẼ VÀ SƠ ĐỒ

Hình 1. 1: Mô hình lan truyc qua ngun trung tâm .................................... 10


Hình 1. 2: Mô hình lan truyc theo kiu chui kt nc ....................
Hình 1. 3: Mô hình lan truyc theo kiu t u khin ................................12
Hình 1. 4: Mô hình DDOS attack-network ...............................................................14
Hình 1. 5: Mô hình network attack kiu Agent-Handler ..........................................15
Hình 1. 6: Mô hình network attack kiu IRC-Base...................................................17
Hình 2. 1: Mô hình mng botnet ...............................................................................23
Hình 2.2: Mô hình tn công thông qua data center ...................................................24
Hình 2. 3: Mô hình tn công khui ...................................................................25
Hình 2.4: Mô hình giao thc TCP SYN ....................................................................26
Hình 2.5: Mô hình TCP SYN attack ........................................................................27
t gn nn nhân ..............................................................
Hình 3. 2t gn Attacker.........................................................................32
t ti lõi ca internet. .....................................................
Hình 3. 4: Mô hình giao thc AITF ..........................................................................33
Hình 3. 5: Hong ca AITF ................................................................................34
Hình 3. 6: Mô hình trin khai D-WARD ..................................................................36
Hình 3.7: Mô t dòng và kt ni ...............................................................................37
Hình 4.1: Netfilter và Snort-inline ............................................................................40
Hình 4.2 lung d liua Snort .............................................................
Hình 4.3: Mô hình m ............................................................
Hình 4.4 lung d li.........................................
Hình 4.5: Mô hình h thng tích hp Snort-inline .................................................... 51
Hình 4.6 lung d liu khi tích hp Snort-inline và Iptables ........................51
Hình 4.7: Tài nguyên h th tn công ..............................................
Hình 4.8: Truy cp vào web server ...........................................................................59
Hình 4.9: S dng Slow POST HTTP request attack. .............................................. 60
Hình 4.10: Tài nguyên h thng khi b tn công DDOS khong 2 phút. ..................60
Hình 4.11: Log apache khi bu tc 2 phút ........................................
Hình 4.12: Log h thng khi b tn công DDOS khong 2 phút. .............................61
Hình 4.13: Log h thông sau khi tn công khong 5 phút ........................................ 61

vi
Hình 4.14: Log cnh báo nhc khi h thng b tn công DDOS. ....................62
Hình 4.15: Access log ca apache sever khi cuc tn công xy ra ...........................62
Hình 4.16: Truy cp vào web server khi b tn công DDOS. ...................................62
Hình 4.17: S dng Slow POST HTTP request attack. ............................................63
Hình 4.18: Log khi h thng chn tn công DDOS. .................................................64
Hình 4.19: Tài nguyên h thng sau 5 phút khi DDOS b n. ......................64
Hình 4.20: Truy cp vào web server khi DDOS attacks b n. ....................65

vii
MỞ ĐẦU


, internet tr thành không gian xã hi m
th thc hin các hành vi mang bn cht xã hi c
sáng to, hc tp, sn xui trí. c b
phát trin nhanh chóng ca các kt ni không dây, kt ni mng 3G, 4G, mng xã
hi, các thit b di ng thông minh và dch v 
         c th
mi quan h xã hi lên internet.
Cùng vi nhng li ích to la t không gian m
mi quu ca nhiu quc gia. S phát trin công ngh thông tin
 ng ca các t ch
ng bt hp pháp trên không gian mng, chuyên chng phá nhm kim soát thông
  p d liu,  n ho ng ca t chc, doanh ng
. Trong nht nhiu v tn công DDOS (tn
dch v phân tán) ln, nhm vào các h thng ca các t chc chính ph
an ninh hay các t hp công nghip, n t ln trên toàn th gii g
nhng thit hi to ln v an ninh quc phòng, kinh t, chính tr làm mt nh xã
hi.
T          
 Các quc gia, các t chc, doanh nghip cn ph
b tt nh ng phó vi các v tn công bt ng và có bin pháp khc phc k
th hn ch tt hi mà DDoS gây ra. Vic hiu rõ các d
DDOn là cn thit. Vi mon
th nghim phòng chng mt s ng hp tn công DDOS nhm gim tác hi gây
ra vi mt s h thng ph bin  Vit Nam, tác gi  tài lu
hiện và phòng chống xâm nhập trái phép mạng máy tính
Mc tiêu nghiên cu và gii hn ca lu

1
Nghiên cu tìm hiu mt trong các loi tn công mng là tn công DDOS
và tìm hiu mt s công c  tn công DDOn hình.
Tìm hiu mt s n D
Trin khai thí nghim h thng phát hin v  n DDOS da tr
phn mm Snort-inlne.
Do ng ca các dng xâm nhp trái phép mng máy tính, 
    n và phòng chng   ng m
nghiên cu, th nghim các mô hình, gii pháp mà lu cn là s d
mô hình gm mt máy tn công DDOS (hacker) thc hin tn công vào mt máy
ch dch v và tit h thng phát hin, n tn côn
máy ch này.
Ni dung luc t ch
 Tng quan v tn công t chi dch v 
kin trúc mng ca cuc tn công DDOS.
 Kho sát mt s dng tn công DDOS n hình và mt s
c tn công DDOS.
  Tìm hiu v mt s gii thut phát hin tn công DDOS
t s h thn DDc nghiên cu.
 Trin khai thí nghim h thn DDoS s d
mm phát hin xâm nhp Snort-inline.
 hoàn thành lu , em xin chân thành c   y giáo, c
trong Vin Công ngh thông tin và Truyn thông  i Hc Bách Khoa Hà Ni và
c bit tác gi xin gi li cn PGS.TS Nguy
 ng dn hoàn thành lu

2
CHƢƠNG I:
TỔNG QUAN VỀ TẤN CÔNG TỪ CHỐI DỊCH VỤ PHÂN TÁN

1.1 Tấn công từ chối dịch vụ phân tán


Mt cuc tn công t chi dch v là mt n lc (gây hi) ca mt i hay m
i làm nn nhân (các máy ch dch v, các h thng mng,...) không th 
ng các yêu cu dch v cho khách hàng hp pháp. Khi n lc này xut phát t mt
máy ch duy nht ca mng, nó to thành mt cuc tn công DDoS. Mt khác, nó
 c gây ra bi rt nhiu máy ch c hi phi hp  tn công
vi mt s phong phú ca các gói tin tn công và các cuc tn công din ra ng thi
t nhi m. Kiu tn công này c gi là tn công t chi dch v phân
(DDoS).
  th
         

thuc vào kh ng tn công ca mi attacker. 
công DDOS  attacker   

nguyên) 
attac
   

   


          



3
1.2 Lịch sử tấn công từ chối dịch vụ
Các tn công t chi dch v bu vào khou nh
XXu tiên, m c
thác  n
c thc hin ch yu b 
SYN flood và UDP flood    c tn công tr nên phc t
cách gi làm nn nhân, gi vài   các máy khác làm ngp má
nhân vi các thông p tr li 
Các tn công này phng b hoá mt cách th công bi nhiu k
 to ra mt s phá hu có hiu qu. S dch chuyn vic t ng
ng b, kt hp và to ra mt tn công song song ln tr nên ph bin t 1998, vi
s  i ca công c t     c công b r

da trên tn công UDP flood và các giao ti p master-slave (u khin các máy
trung gian tham gia vào trong cuc tn công bng cách cài t lên chúng các
 trình u khin t xa). Kt qu là tháng 5  1999 trang ch c
ng hng vì cuc tn công bng DDOS;
Tháng 6  1999 Mt và ki
Trong nhp theo, vài công c nc ph bin  TFN (tribe
network), TFN2K, vaf Stacheldraht:
Cui thá       le  
c Mixter phát trin.
Cu 
h thng ca Châu âu và Hoa k.
, David Dittrich thu
ng phân tích v công c tn công t chi dch v.
         
TFN2K ).
t lot các báo cáo v các v tc bi

4
Lúc 10 : 30 / 7  2 -2000, Yahoo!  tn công t chi dch v 
hong trong vòng 3 gi ng h
công t a ch IP khác nhau vi nhng yêu cu chuyn vn 1 giga
Ngày 8 -2-2000, nhiu Web site ln   
Datek, MSN, và CNN.com b tn công t chi dch v.
Lúc 7 gi ti ngày 9-2-2000,    
công t chi dch v, d lic luân chuyn ti tp trong vòng 1 gi 
kt thúc, và gói d ling nng.
Vào ngày 15 t t
và n websites trong vòng 2 gi;
Vào lúc 15:09 gi GMT ngày  ph
anh ca website Al-Jazeera b tn n trong nhiu gi.
Gt là tháng 12-2015, h thn dân dng ca Ukraine b
sp làm gi dân b mn trong nhiu ngày.
1.3 Các giai đoạn của một cuộc tấn công DDOS
ng mt cuc tn công DDOS gm n:
 n chun b, nh mc tiêu và thm tn công
 ng tn công
 n xóa du vt
1.3.1 Giai đoạn chuẩn bị
Chun b công c n quan trng ca cuc tn công, các công c
ng hong theo mô hình client-server. Attacker có th vit phn m
này hay ti t internet mt cách d dàng, có rt nhiu công c c cung cp
min phí trên mng.
K tip, các attacker s dng các k thu tìm kim các host (hoc các website,
các thit b mng nh  b t m qu
thit b  t các công c tn công. Các công c này có kh 
n mc tiêu và chúng liên kt vi nhau to thành mt mng (mng bot).

5
 có th c các host  to nên mi tn công và 
c tn công vào các máy ch này, Attacker s dng nhng công c 
c phát trin sn, t ng tìm các h thng d b tt nhp v
thng này, và t các trình cn thit cho cuc tn công. 
h th b nhim mã c hi này li tip tc lây nhim cho các máy tính d b
 khác t trên chúng nhng c hi . 
các máy tính d b tng mi tn công vi qu
thc hin. Kt qu ca quá trình t 
là vic to ra mt m i tn công DDoS bao gm  u khin - ha
(master) và các máy b u khin - agent (slave, daemon). Các attacker có th s
dng các k thut khác nhau (gi là k thut quét -  tìm ra các host d
t.
1.3.1.1 Kỹ thuật scanning
Mt s k thuc s dng:
 Quét ngu nhiên: Trong k thut này, các máy ch b nhim mã c (mt
y có th là máy ca k tn công hoc mt máy tính thành viên ca m
mng tn công, chng ha ch IP ng
a ch IP và kim tra nhng host d b t. Khi nó tìm thy m
d b t nó c gng truy xut vào host này, chim quyu khi
nhic cho host này. K thut này tng truy c
quét ngu nhiên to ra mt s ng ln các host b chim quyu khin. M
li th (nhng k tn công) c
th lây lan r    chúng n t khp m
t  phát tán nhanh c   c hi không th kéo dài mãi mãi. Sau
khong thi gian ngn, t  lây lan gim vì s   a ch IP m
c phát hin ra là gim theo thu này tr nên rõ ràng nu chúng ta
xét phân tích ca David Moore và Colleen Shannon v s lây lan ca Code-Red
(CRv2) Worm [7] dng chu 

6
 Quét theo danh sách tìm kic: c khi nhng k tn công b
quét, h thu thp mt danh sách ca mt s ng ln các host có kh 
t , vic làm này có th mt nhiu thi gian. Trong n l  to r
mng tn công, h b tìm máy d b t
tìm thy mt host, hacker c hi và chia dan
hai phn và tip tc quét phn các danh sách còn li (phn không cha host mi
phát hin). Máy ch mi nhim bu quét xung danh sách ca mình, c g
tìm thy mt host d b ty, nó thc hin c
t  quá trình trên, và theo cách này các ch theo danh sách di
ng thi t mt s ng ngà các host b lây nhim
bo rc ht trên tt c các máy d b t
sách trong mt thi gian ngn. Vic xây dng các  c thc hin 
khi nhng k tn công bu quét. Do , nhng k tn công có th to danh sác
vi t  rt chm và trong mt thi gian dài. Nu nhng k tn công tin hành
quét chm, có th hong này s c nhn thy bi vì mt quá trình
trong mt mng ng xy ra  tn s rt cao,  khi mt quá trình quét c
c thc hin thì rt khó có th nhn ra rng nó là mt máy quét c.
 Quét tôpô: 

k các URL (Uniform Resource Locator) trên      
       
URL này là các     là các  

  
sách
vô cùng nhanh chóng và theo cách   

    :   k thut quét ho ng trong
sau firewall c coi là vùng b lây nhim bi các  

7
   nhi  c tìm kim các mc tiêu trong mng ni b ca m
dng c giu trong a ch ni b. C th 
nht c quét y phía sau firewall và c gng t
c các máy d b t  này có th c s dng kt hp v
ch quét khác.
 Quét hoán v: Trong k thut quét này, tt c các máy chia s mt danh
sách hoán v gi ngu nhiên chung ca ch t danh sách hoán v
c xây dng bng cách s dng bt k thut toán mã hóa khi 32 bit vi mt
khóa chc. Nu mt host  nhim c trong quá trình quét theo
sách hoc quét mng cc b, nó ch bm ca nó tron
hoán v  tìm ra nhng mc tiêu mi. Mt kh
b nhim  c trong quá trình quét hoán v, nó b u quét ti m
nhiên. Bt c khi nào nó gp mt host  nhim c, nó chn m
u mi ngu nhiên trong danh sách hoán v và tip tc t t host  nh
c có th nhn ra mt host khác  b nhim c gia nhng host kh
b nhim , vì phn ng khác nhau gia host b nhim và host không b nhim. Quá
trình quét dng li khi các host nhic gp tun t mt s nh sn các ho
  nhim mà không tìm thy mc tiêu mi trong khong th  
mt khóa hoán v mc to ra và mn mi b
nhm hai m nhn tái nhim khôn
tiêu ging nhau, vì khi mt host b nhi  c nhn ra mt  
nhi c i cách th  
 Th hai,  này vn duy trì nhng li th quét ngu nhiên, bi vì các ch
 các mc tiêu mi din ra mt cách ngu nhiên. , k thut quét
v có th c mô t  mt k thut quét phi hp vi mt hiu sut rt t
vì  ngu nhiên cho phép t quét cao.
Mt phiên bn ci tin ca k thut quét hoán v là k thut quét hoán v
phân vùng. Kiu quét này là mt s kt hp ca quét hoán v và quét theo danh
sách. Trong c này, các host b xâm nhp có mt danh sách hoán v, danh sách

8
này c chia làm hai phn khi nó tìm thy mt mc tiêu mi.  nó gi m
phn ca danh sách và phn còn li là phn có cha host va b nhic. Kh
danh sách hoán v mà mt   b nhim c s hu gim xu
mc c, các  quét chuyn t quét ho
sang quét vào hoán v n.
1.3.1.2 Cơ chế lây lan mã độc
Trong DDoS, có ba nhóm  lây lan c hi và xây dng m
tn công gm lan truyn ngun trung tâm, lan truyn chui kt n c và lan
truyn t u khin.
 Lan truyn ngun trung tâm:   này, sau khi phát hin các h
thng d b t  có kh  tr thành mt trong nhng zombie, nh
ng d c g n ngun trung tâm cha công c tn công  mt b
ca b công c tn công c chuyn t trung tâm  n h thng (s b
nhim). Sau khi công c c chuyn giao, trình cài t t ng ca các công
c tn công c kích hot trên h thng nàyu khin bi các scrip.
 bu chu k cuc tn công mi,  thng mi nhim tìm kim
d b t khác  có th t b công c t
s dng   trên.  
ch này ng s dng các giao thc HTTP, FTP, RPC (Remote Procedure Call).
 c mô t trong hình:

9
Hình 1. 1: Mô hình lan truyền mã độc qua nguồn trung tâm
 Lan truyn chui kt nc: 

     


dng các giao thc TFTP (Trivial File Transfer Protocol 
mô t trong hình:

10
Hình 1. 2: Mô hình lan truyền mã độc theo kiểu chuỗi kết nối ngược

 Lan truyn t u khin:   này, các máy ch tn công c
các b công c tn công n h thng mi b xâm nhp ti thm ch
xác mà nó xâm nhp vào h th    này khác vi  
     công c tn công c cài vào các máy ch
nhp bi nhng k tn công mình và không phi bi mt ngun tp tin bên
ngoài.  c mô t trong hình:

11
Hình 1. 3: Mô hình lan truyền mã độc theo kiểu tự điều khiển [7]

1.3.2 Giai đoạn xác định mục tiêu và thời điểm tấn công
Sau khi xây dng mi tn công, k tn công s du khi
nh các loi tn công, a ch ca nn nhân và ch i thm thích h
các cuc tn công, chuyng tn công v phía mc tiêu. 


12
1.3.3 Giai đoạn phát động tấn công
Sau   nh mc tiêu và th m tn công, attacker gi lnh
khng các cuc t  c la chn n các zo  các zo
thi "thc dchúng c lp trình. Các zombie lt gi lu
n nn nhân, t p h thng ca nn nhân vi 
hoc làm cn kit ngun tài nguyên ca ca h thng. Bng cách này, nhng k tn
công làm cho h thng ca nn nhân không có kh  ng các dch v c
các khách hàng hp pháp.  có th là quá cao  các m
ni n các máy ch tn công làm cho hiu sut hong ca các mng này gim
  c cung cp các dch v trên các mng này có th b  ng
trng, và làm cho các khách hàng ca các m b t ch
y, các mc gánh nng bi ng tn công có th 
là mt nn nhân na ca các cuc tn công DDoS.
1.3.4 Giai đoạn xóa dấu vết
Sau mt khong thi gian tn công thích hp, attacker tin hành xóa mi du
vt có th n mình, vic này  hi attacker phi có kin thc
môn cao n

13
1.4 Mô hình kiến trúc tổng quan của DDOS attack-network

Hình 1. 4: Mô hình DDOS attack-network


1.4.1 Mô hình Agent-Handler
Mô hình này gm có 3 thành phn: Client, Agent và Hander:
Client: là      attacker u khin mi ho
attack-network.
Agent: là thành phn phn mm thc hin s tn công mc tiêu, nhn u
khin t Client thông qua các Handler.
Handler: là mt thành phn phn mm trung gian gia Agent và Client.

14
Hình 1. 5: Mô hình network attack kiểu Agent-Handler

Attacker s t Client giao tip v nh s ng A


u chnh thm tn công và cp nht các Agent. Tùy theo cách
cu hình attack-network, các Agent s chu s qun lý ca mt hay nhiu Handler.
ng Attacker s t phn mm Handler trên mt b nh tuyn
mt máy ch  ln. Vic này nhm làm
gia Client, handler và Agent khó b phát hin. Các giao tip này ng x
ra trên các giao thc TCP, UDP hay ICMP. Ch nhân thc s ca các Agent thông
ng không h hay bit h b li dng vào cuc tn công kiu DDOS, do h
  kin thc ho   trình Backdoor Agent ch s dn
nguyên h thng làm cho h thy ng n hi
thng.

15
1.4.2 Mô hình dựa trên nền tảng IRC
Internet Relay Chat (IRC) là mt h thng liên lc cp tc qua mng Internet.

1324. i dùng to mt kt nn nhiu
và chat thi gian thc.        
dùng cho các thành viên trong mng BBS (Bulletin Board System)  i thông
tin vi nhau, dn d c ci tin và tr thành giao thc chu  
trình IRC.
Hic xây dng trên nn tng h giao thc
do cho vic s dng h giao thc này là tính chính xác, tin cy, ph bin, rt thích
hp cho các cuc tho lun t xa.
Các h thng IRC s dng mô hình client - 
trò server cung cp mm tp trung cho các máy client kt n
thc hin quá trình truyn nhn các message t n client khác.
Có th có nhiu server IRC kt ni vi nhau. Các client kt ni vi các server
IRC qua nhiu kênh (channel). IRC i dùng to ba lo
public, private và serect:
i dùng c
p ca mi dùng khác trên cùng kênh.
  c thit k  giao tip v  
    i dùng không cùng kênh thy IRC name và 
trên kênh. Tuy nhiên, ni dùng ngoài kênh dùng mt s lnh channel locator
thì có th bic s tn ti ca private 
    pri  
channel locator.
Kin trúc attack-network ca kiu IRC-Base:

16
Hình 1. 6: Mô hình network attack kiểu IRC-Base

IRC  Based network s dng các kênh giao ti


tip gia Client và Agent (không s dng Handler). S dng mô hình này, attacker
có thêm mt s li th 
Các giao tii dng chat message làm cho vic phát hin chúng là vô cùng

IRC traffic có th di chuyn trên mng vi s ng ln mà không b nghi
ng.
Không cn phi duy trì danh sách các Agent, hacker ch cn logon vào IRC
 nhc báo cáo v trng thái các Agent do các c
    ng chia s tp tin t
các Agent code lên nhiu máy khác.

17
CHƢƠNG II: PHÂN LOẠI CÁC DẠNG TẤN CÔNG DDOS

Các cuc t    c tin tc thc hin b 
mt s ng rt ln các máy tính có kt ni Internet b chim quyu khin 
hp các máy này c gi là mng máy tính ma hay mng bot, hoc botnet. Các máy
ca botnet có kh i hàng ngàn yêu cu gi mo m n h th
nhân, gây ng nghiêm trn chng dch v cung c
Do các yêu cu ca tn công DDoc gi ri rác t nhiu máy  nhiu v 
nên rt khó phân bit vi các yêu cu ci dùng hp pháp. Mt trong các khâu
cn thit trong vi ra các bin pháp phòng chng tn công DDoS hiu qu là phân
loi các dng tn công DDoS và t  có bin pháp phòng chng thích hp.
Mt cách khái quát, tn công DDoS có th c phân loi da trên 6 tiêu chí
chính: (1) D  n công, (2) Da trên m t 
trên giao thc mng, (4) Dc giao tip, (5) D
công và (6) Da trên vic khai thác các l hng an ninh. Phn tip theo s trình bày
chi tit tng loi tn công c th 
2.1. Dựa trên phƣơng pháp tấn công
Phân loi DDoS d   n công là m
phân lon nht. Theo tiêu chí này, DDoS có th c chia thành 2 dng gm
tn công gây ngp lt và tn công logic:
1) Tn công gây ngp lt (Flooding attacks): Trong tn công gây ngp lt, tin
tc to mng ln các gói tin tn công gin hp
h thng nn nhân làm cho h thng không th phc v i dùng h
ng ca tn công d       

2) Tn công logic (Logical attacks): Tng khai thác cá
 c các l  t ca các giao thc hoc dch v chy trên h
nhân, nhm làm cn kit tài nguyên h thng. Ví d tn công TCP SYN khai thác
quá trình bc trong khi to kt n
c cp mt phn không gian trong b   u kt ni trong khi c

18
nhn kt ni. Tin tc có th gi mng ln yêu cu kt ni gi mo  các k
không th thc hin, chi y không gian bng kt ni và h thng nn nhân
không th tip nhn yêu cu kt ni ci dùng hp pháp.
2.2. Dựa trên mức độ tự động
Theo m t ng, có th chia tn công DDoS thành 3 dng:
1) Tn công th công: Tin tc trc tip quét các h thng tìm l h 
nhp vào h tht mã tn công và ra lnh kích hot tn công. Ch nh
u mc thc hin th công.
2) Tn công bán t ng: Trong dng này, m i thc hin tn công
DDoS bao g   u khin (master/handler) và các máy agent (slave
deamon, zombie, bot). Các  n tuyn chn máy agent, khai thác l hng và
lây nhi c thc hin t   n tn công, tin tc gi các
bao gm kiu tn công, thm bu, khong thi gian duy trì t
tn các agent thông qua các handler. Các agent s theo lnh gi các gói tin
tn h thng nn nhân.
3) Tn công t ng: Tt c n trong quá trình tn công DDo
tuyn chn máy agent, khai thác l hng, lây nhi n thc hin t 
c thc hin t ng. Tt c các tham s tc lp trình s
vào mã tn công. Tn công dng này gi n ti thiu giao tip gia tin tc và
m i tn công, và tin tc ch cn kích ho  n tuyn ch
agent.
2.3. Dựa trên giao thức mạng
Da trên giao thc mng, tn công DDoS có th chia thành 2 dng [1]:
1) Tn công vào tng mng hoc giao vn:  dng này, các gói tin TCP,
c s d thc hin tn công.
2) Tn công vào tng ng dng:  dng này, các t
các dch v thông dng ng vi các giao thc tng ng d  
SMTP. Tn công DDoS tng ng d  gây ngp l ng
tiêu hao tài nguyên máy ch, làm ngt quãng kh p dch v 

19
dùng hp pháp. Dng tn công này rt khó phát hin do các yêu cu t
t yêu cu t i dùng hp pháp.
2.4. Dựa trên phƣơng thức giao tiếp
   thc hin tn công DDoS, tin tc phi tuyn ch
chim quyu khin mt s ng ln các máy tính có kt ni Internet, và c
máy tính này sau khi b cài phn mm agent tr thành các bots - công c giúp tin tc
thc hin tn công DDoS. Tin tu khin (mas
v    gi thông tin và các l u khin tn công 
giao tip gia các master và bots, có th chia tn công DDoS thành 4 dng :
1) DDoS da trên agent-handler: Tn công DDoS da trên dng này bao
gm các thành phn: clients, handlers và agents (bots/zombies). Tin tc ch giao tip
trc tip vi clients. Clients s giao tip vi agents thông qua handlers. Nhc
lnh và các thông tin thc hin tn công, agents trc tip thc hin vic tn công.
2) DDoS da trên IRC: Internet Relay Chat (IRC) là mt h thng truyn
p trc tuyn cho phép nhii dùng to kt n
p theo thi gian thc. Trong dng tn công DDoS này tin tc s dng IRC làm
kênh giao tip vi các agents, không s dng handlers.
3) DDoS da trên web: Trong dng tn công này, tin tc s dng các trang
n giao tip qua kênh HTTP thay cho kênh IRC. Các trang
ca tin tc s du khin và lây nhim các
hi, các công c khai thác các l ht các agents chim q
khin h thng máy tính và bin chúng thành các bots. Các bots có th c xác lp
cu hình hong t u, hoc chúng có th g
khin thông qua các giao thc web ph bi
4) DDoS da trên P2P:  dng này, tin tc s dng giao thc Peer to Peer 
mt giao thc  tng ng dng làm kênh giao tip. Bn cht ca các mng P2P là
phân tán nên r phát hin các bots giao tip vi nhau thông qua kênh này.

20
2.5. Dựa trên cƣờng độ tấn công
Dn hoc tn sut gi yêu cu tn công, có th phân
công DDoS thành 5 dng:
1) T   cao: Là dng tn công gây ngt quãng dch v
cách gi cùng mt th m m ng rt ln các yêu cu t các
agents/zombies nm phân tán trên mng.
2) T   th 
gi mng ln các yêu cu gi mi tn sut thp, làm suy
dn hing. Dng tn công này rt khó b phát hi
  n t i dùng hp pháp.
3) T hn hp: Là dng kt hp gia t
và t thng tn công phc h
s dng các công c  sinh các gói tin tn công gi vi tn sut cao và thp.
4) T liên tc: Là dng tc thc hi
 tt khong thi gian t khi bn kh
5) T ng t
ng nhm tránh b phát hi.
2.6 Dựa trên việc khai thác các lỗ hổng an ninh
Da trên vim yu và l hng an ninh, tn côn
th c phân loi thành 2 dng : tn công làm cn ki th
công làm cn kit tài nguyên h thng.
2.6.1 Tấn công gây cạn kiệt băng thông
Các tn công DDoS dc thit k  gây ngp lt h thng m
ca nn nhân bng các yêu cu truy nhp gi mi dùng hp pháp kh
th truy nhp dch v. Tn công dng gây tc nghng tru
ng yêu cu gi mo rt ln gi bi các máy tính ma (zombie) ca các botnets.
Dng t     c gi là tn công gây ngp lt ho
khui.
Các tn công DDoS dc thit k  gây ngp lt h thng m

21
ca nn nhân bng các yêu cu truy nhp gi mi dùng hp pháp kh
th truy nhp dch v. Tn công dng gây tc nghng tru
ng yêu cu gi mo rt ln gi bi các máy tính ma (zombie) ca các botnets.
Dng t     c gi là tn công gây ngp lt ho
khui.
Các tn công DDoS dc thit k  gây ngp lt h thng m
ca nn nhân bng các yêu cu truy nhp gi mi dùng hp pháp kh
th truy nhp dch v. Tn công dng gây tc nghng tru
ng yêu cu gi mo rt ln gi bi các máy tính ma (zombie) ca các botnets.
Dng tc gi là tn công gây ngp lt và tn
i.
Tn công làm cn kiông h thng li chia làm hai loi:
 Tn công làm tràn ngp (Flood attack): u khin các Agent gi mt
ng l  n h thng dch v ca nn nhân, làm dch v này
 
Trong quá kh, các cuc tn công làm tràn ngp h thng c thc hin
bi nhiu h thng b xâm nhp và tr thành mt phn ca mt botnet. Hin nay các
attacker không ch s dng  tn công ng, m
các tình nguyn viên  khng các cuc tn công t máy riêng ca h. Ngoài ra,
làn sóng mi ca các cuc tn công ng ln xut phát t trung tâm d liu c
các nhà cung cp dch v  lên ph bin, kh
 n c các
Mt botnet là mng ca h thng b xâm nhp có kt ni Internet mà có th
c s d gi , tham gia vào các cuc tn công DDoS, hoc th
các nhim v bt hp pháp khác. Bot là vit tt ca Robot, t
ng hóa. Các h thng b xâm nhp  c gi là zombie. Zombies có t
lây nhim cho các h th   nó tr    
truy  c  trên. Ví d v mt m    
công DDOS:

22
Hình 2. 1: Mô hình mạng botnet

Trong ví d này, k tn công kim soát các zombie  khng mt cuc
tn công DDoS vi  h tng ca nn nhân. Nhng zombie chy mt kênh bí
m  giao tip vi các máy ch ra lnh và kim soát  u khin tn
Thông tin liên lc này ng din ra trên Internet Relay Chat (IRC), các kênh c
mã hóa, peer-to-peer và thm chí là các mng xã hi.
Vi s i ca dch v   và các nhà cung c
ng m  t hin. Nhng k tn công có th thuê hoc xâm nh 
khin trung tâm d liu / n  khng các cuc tn công DDoS
  không ch to i mi cho các t chc hp pháp, nó 
cp mt nn tng tuyt vi cho ti phm mng bi vì nó r tin và thun tin cho
phép h s dng tài nguyên máy tính mnh m   u xu. Khái nim nà
c minh ha trong ví d:

23
Hình 2.2: Mô hình tấn công thông qua data center

 Tn công khu    u


Client gi mn ma ch IP broadcast ca mng, mt máy c
va ch ngun c   a ch ca nn nhân làm cho tt c
mng này hoc các máy ch dch v ng lot gn h th
ca nic vô íc
nhân không có kh ch v 
mình.
 Tấn công khuếch đại (Amplification Attack)
Amplification Attack là k thut tn công khi attacker gi các gói tin request
n các h thng va ch ngun ca ch ca nn

24
các h thng lot gi li các gói tin replies vi s ng rt ln làm c
thng ca nn nhân không có kh  lý và b flood.

Attacker/Agent VICTIM

Host Host Host

Hình 2. 3: Mô hình tấn công khuếch đại

2.6.2 Tấn công gây cạn kiệt tài nguyên


Trong kiu tn công này attacker có th gi nhng gói tin dùng các giao thc
sai cht k, hay gi nhc b
làm cho h thng phi s dng h    x lý nhng gói tin n
không th c yêu cu dch v ca các khách hàng. Ngun lc cn t
cho cuc tn công s ph thuc vào bn cht ca các ngun tài nguyên b tn công,
ng tài nguyên các mc tiêu có th ng, và các tình hung gim nh 

25
kh  a mc tiêu có th phát hin, chuy 
công cn kit tài nguyên.
Tấn công khai thác các giao thức (Protocol Exploit Attack)
TCP SYN attack:
Giao thc TCP (Transfer Control Protocol) h tr truyn nhn v tin cy
cao. Khi mt host (client) khi to mt kt ni TCP ti mt server, máy trm và
máy ch i mt lot các bn tin  thit lp kt ni. Thit lp kt ni 
gi là bc TCP (TCP three-way handshake). c mô t bi h

Hình 2.4: Mô hình giao thức TCP SYN


c 1: Các khách hàng yêu cu mt kt ni bng cách gi mt SYN
(synchronizen máy ch.
c 2: Máy ch tha nhn yêu cu này bng cách gi SYN-ACK li cho
khách hàng.
c 3: Các khách hàng xác nhn vi ACK và kt nc thit lp.
N     li mt yêu cu SYN bng mt SYN-
không nhc gói tin ACK cui cùng sau mt khong th
s gi tip SYN-n ht thi gian timeout. Toàn b tài nguyên h thn

26
c c x lý phiên kt ni nu nhc gói tin ACK cui cùng s b p
tn ht thi gian timeout.
Trong cuc tn công TCP SYN attack, attacker gi mt gói tin SYN n nn
nhân va ch ngun ca gói tin b gi mo, kt qu là nn nhân gi SYN-AC
n ma ch khác và s không bao gi nhc gói tin ACK cui cùng,
n ht thi gian timeout nn nhân mi nhu này và gii phóng
nguyên h thng.

Hình 2.5: Mô hình TCP SYN attack [1]


Khi mng ln các gói tin SYN (va ch ngun ca gói tin b gi
c gn nn nhân s làm cho h thng ca nn nhân không th x lý và b c
kit tài nguyên.
PUSH + ACK attack:
Trong kiu tn công này, attacker s dc tính ca giao th
công nn nhân. Trong giao thc gn các T
trong b m (buffer) và khi b c g

27
th tip nhn chúng. Tuy nhiên, bên gi có th yêu cu h thng unload buffer c
khi b y bng cách gi mt gói tin vi bit PUSH và ACK mang giá tr là 1.
PUSH và ACK là mt bit c      
PUSH+ACK attack làm cn kit tài nguyên h thng nn nhân bng lo
gi nhng gói tin TCP vi bit PUSH và ACK có giá tr bng 1 làm cho h thng
nn nhân phi liên tc unload b m và kt qu là h thng ca nn nhân không
th x c nu s c gn là quá ln
Slow HTTP request attack:
 thut tn công tng ng dng mà attacker li d  
giao thc HTTP vn thit k i các request phc nh
ch c thc thi. Nu m
truyn ti thp, máy ch phi gi ngun tài nguyên  ch  busy và ch i phn
còn li ca d liu. Nu máy ch gi quá nhiu tài nguyn busy s gây ra t chi
dch v và không th ng các yêu cu khác.
Cu trúc ca mt HTTP request t mn server bao gm:
Request = Request-Line
*(( general-header
| request-header
| entity-header ) CRLF)
CRLF
[ message-body ]

Request-Line = Method SP Request-URI SP HTTP-Version CRLF
và:
Method = "OPTIONS"
| "GET"
| "HEAD"
| "POST"
| "PUT"

28
| "DELETE"
| "TRACE"
| "CONNECT"
| extension-method
extension-method = token

          

 


Tấn công bằng các gói tin bất thƣờng (Malformed Packet Attack)
Malformed packet attack là loi tn công t chi dch v phân tán  
agent gnh d
nhân không th x lý các gói tin này. Nhi c gn cùng lúc
cho h thng s dng ht tài nguyên và s không th c dch v c
khách hàng hp pháp. Ta s xét mt s dng sau:
IP address attack:
Trong cách tn công này attacker s gn n
gi ma ch ngua ch 
thng nn nhân không hi x c.
IP packet options attack:
Attacker gn h thng n
thit lp ngu nhiên và tt c c thit l
nhân phi dành thi gian và tài nguyên h th  x   
Nu các gói tin dc gi dn dn h thng ca nn nhân cùng
nn nhân s b cn kit tài nguyên h th x 
th c dch v t các khách hàng hp pháp.

29
CHƢƠNG III:
PHÁT HIỆN VÀ NGĂN CHẶN DDOS

3.1 Yêu cầu đối với một hệ thống phát hiện và ngăn chặn DDoS
Hin nay, các hình thc tn công DDOS r  c
không ngng. Ngày càng có nhiu kiu tn công mi. Do vy, mt h thng phát
hin n DDOS tht s hiu qu khi phát hin n 
các kiu tn công.
Khi mt cuc tn công DDOS x      
nhn chính xác các gói tin tn công  tng
gói tin hp l. Ngoài ra h thng phát hin n phi ho ng th
th gim thiu tng thit hi do cuc tn công gây ra. Phn ng
thng càng nhanh thì vic phòng th càng có hiu qu.
3.2 Các biện pháp phát hiện và ngăn chặn DDOS
Do tính cht nghiêm trng ca tn công DDoS, nhiu gii pháp phòng chng
c nghiên c xut trong nh
gi pháp nào có kh ng DDoS m
và hiu qu do tính cht phc tp, quy mô ln và tính phân tán rt cao ca tn công
DdoS.
Nu d phân loi các bin pháp là v trí trin khai, ta có th c
các mô hình h thng gm: mô hình h thng t gn n công (nn nhân), m
hìnt gn ngun tn công và mô hình t  mn công.
3.2.1 Mô hình đặt gần nạn nhân
Là mô hình n nht do ít ph thuc vào các tác nhân khác, nn nhân t
gii quyt v phn n
phát hin b tn công. Tuy nhiên cách tip cn này không th gii quyt tn gc,
qun tr viên ch có th gim thiu thit hi ch không th chm dt cuc tn công.

30
Hình 3. 1: Mô hình đặt gần nạn nhân
3.2.2 Mô hình đặt gần nguồn tấn công
Là mô hình n các gói tin DDoS ngay khi vc sinh ra ti ngun
m là gic ti ca gói tin DDoS, ch
IP. Tuy nhiên li rt khó thc hin do phi h thng mng trên quy mô l

31
Hình 3. 2: Mô hình đặt gần Attacker
3.2.3 Mô hình đặt tại phần lõi của internet
Cách tip cc quan tâm r tip c
internet cn có mt khon chi phí không nh   m bo chc c
tính hiu qu  phc tp ca phn lõi.

Hình 3. 3: Mô hình đặt tại lõi của internet.

32
3.3 Một số nghiên cứu về hệ thống ngăn chặn DDOS
3.3.1 Giao thức Active Internet Traffic Filtering (AITF)
Giao thc AITF [10] c phát trin bi nhóm nghiên cu h thng phân tán
i hc Stanford nhn và phn ng tc thi vi nhng
công DDoS. Nhóm tác gi u và th nghim giao thc AITF vi kt
khá kh quan: AITF có th n tc thi hàng triu lung tn công trong kh
ch yêu cu mt s tham gia ca mng nh các router.

Hình 3. 4: Mô hình giao thức AITF


ANET là mng ca attacker A, mng này có mt gateway làgw.A
VNET là mng ca victim V, mng này có mt gateway làgw.
V
Gi s khi có mt lung không mun ti h thng ca nn nh
n nhân munh mng không mong mu
gi mt yêu cu ln gateway
gw c
Va nó. Gateway Vgw s tm thi chn li các
ng không mong munh router gn vi n
nht gateway tn công gw
A. Gateway Vgw thit lp mt kt n c bi
gwt ti A

kèm theo mt yêu cu không gi các gói tin vi phm (chính sách ca mng
NETV)

na. Khi kt nc bit trên c thigw


tcó
lth
p,Vg b b lc tm thi trên.
Nu Agw không hp tác, Vgw có th lan ta yêu ct b lc ti router gn sát vi
Agw. S lan t   qui theo dc tuyng t k tn
nhân cho ti khi kt nc bit nêu trên c thit lng h
 yêu cu kt ni, b lc s 

33
victim Vgw. Tuy nhiên AITF có nh   c bi  h tr và khuyn
các router gn ngun tn công chn các lung tn công DDoS.

Hình 3. 5: Hoạt động của AITF


Victim V gi yêu cu l
gwn
, ch
V  rõ lung d liu không mong mun F
Gateway Vgw:
t b lc tm th chn lung tn công Ftmptrong
giây.thi gian T
b2: Khi to quá trình b
gw. c vi A
b3: G b b lc nu hoàn thành quá trình bc.
Gateway A gw:
i quá trình bc
t b lc tm th chn lung tn công Ftmp
trong
nuthi gian T
quá trình kt ni bc thành công.
b3: Gi yêu cu l n ngun tn công A, yêu cu dng lung F trong
khong thi gian T
long>>T tmp

b4: G b b lc tm thi nu A tuân theo trong khong thi gian
tmpc
T
li ngt kt ni ti.
Attacker A: Ngun tn công A dng lung F trong khong thi gian
longTnu

không thì s b ngt kt ni ti


gw A

34
3.3.2 Hệ thống D-WARD
D-WARD (DDoS Network Attack Recognition and Defense) là mt h
thng phòng th DDoS c trin khai vi mc tiêu là:
Phát hin ra các cuc tn công DDoS và n chúng bng cách kim
soát lng g cho nn nhân.
Cung cp tt dch v cho các giao dch hp pháp gia các mng trin khai
và nn nhân trong khi các cuc tn công p din.
D-
ân tán. Khi xem D-WARD 
          
 khác. Khi tham gia vào các      , D
  
    . D-    

D-WARD ch kim soát nhng lun d li    mng ca mình
lung d liu có ngun gc t các ngun khc kim soát.
Các h thng D-c thit lp ti các router ngun ho
mt gateway ca mng trin khai và phn còn li ca Internet. Trong vic trin khai
n, các b nh tuyn nguc gi m kt ni duy n
ngun vi các mng khác.   D-WARD có th quan sát m  
gia mng ngun vi internet. Trong c khác, có nhiu router biên kt ni vi
internet qua các gateway khác nhau. D-WARD có th c trin khai  mi
gateway và kim soát mi gia mng ngun và các mng b

35
Hình 3. 6: Mô hình triển khai D-WARD
D- c cu hình vi mt tp h  a ch IP cc b (loca
ng ra ca ch này b áp các chính sách. Ta ch này
xnh, ví d, tt c các máy trong mng hoc tt c các khách hàng ca mt ISP
Ta gi nh rng D-WARD có th nh chính sách cho ta ch nà
qua mt s giao thc hoc thông qua cu hình th công. D-WARD theo dõi tng
ng ca các dòng và các kt ni gia a ch c thit lp chính
phn còn li ca Internet. Mt dòng (flow) tng 
thit lp chính sách cho ma ch và mt máy ch bên ngoài (ma ch IP
ngoài). Mt kt nc tng ng gia mt c
c thit lp chính sách) và ma ch bên ngoài. Hình  minh h
khái nim ca mt dòng và mt kt ni:

36
Hình 3.7: Mô tả dòng và kết nối
D-WARD nh da trên vic theo dõi các dòng và
ni theo thi gian. Thay vì thit lp tính hp pháp ca các gói d liu, D-WARD
theo dõi hành vi ca dòng, các kt ni và phân loi các dòng, kt ni là hp pháp
hay tn công. u chnh hong t ng  phù hp vi cách phân lo
WARD tip tc theo dõi ng ca nó n các dòng v
ni và s dng các thông tin này  n các loi tn công 
D-WARD p       oS 
   

 Các máy ch bên ngoài không phn ng li: t   ng thp so v
tc  gi, s bng này gn lin liên lc hai chiu theo mt mô hình theo y
c      t s lo  ng ICMP, DNS, 
Trong các kt ni, mt bên gi mt hoc nhi    
(xác nhn nhn hoc mt phn  c khi gi tip bt k gói d li
kt ni y nó s là bng khi mt t l gi tích cc kt hp vi
li thp. Mt t l tr li thp là mt du hiu cho thy các máy ch bên ngoài có

37
th b tràn ngp bi các cuc tn công và không th tr li, trong khi mt t l gi
tích cc cho thy host ni b có th s tham gia vào cuc tn công. Bng cách phát
hin các máy ch bên    ng, D-WARD s  nh d
công t chi dch vt du hiu tn công ry
 S hin din ca IP gi mo: D-WARD    dro
.

           

   gói. P  
          
 

-

38
CHƢƠNG IV:
TRIỂN KHAI THÍ NGHIỆM PHƢƠNG PHÁP NGĂN CHẶN DDOS
SỬ DỤNG SNORT-INLINE

4.1 Phần mềm phát hiện và ngăn chặn xâm nhập Snort-inline
Snort là mt phn mn m c phát trin bi Sourcefire. Sno
là mt kiu IDS (Instruction Detection System) mm. Nói ngn gn IDS là mt
phn mm t trên máy tính và nhim v ca nó là giám sát nhng gói
vào ra h thng. Nu mt cuc tc phát hin bi Snort thì nó có th p
ng bng nhiu cách khác nhau ph thuc vào cu hình c thit lp, chng hn
 gi p cnh báo n nhà qun tr hay loi b g
hin có s b
T phiên bn 2.3.0RC1 Snort  tích hp h th  n xâm nh
(Snort inline) bin Snort t mt h thng phát hin xâm nhp thun túy tr thành
mt h th  chn xâm nhp (IPS) mc dù ch  này ch là t chn
không phi mnh. Snort inline là mt d án chính thc ca Snort. ng là k
hn ca Iptables vào Snort. c th
i modun phát hin và modun x 
th, vic chn bt gói tin trong Snort c thc hi
libpcap s c thay th bng vic s dng Ip-n libipq
n ca Snort-inline s c thc hin bng devel-mode ca Iptables.
Netfilter là mt c tích hp trong nhân Linux k t khi phiên bn
kernel 2.4. Nó cung cp ba ch chính:
 Packet filtering: Chp nhn hoc chn các gói tin
 NAT: i a ch IP ngun hoc  ca gói tin.
 Packet mangling - Si các gói tin  chng dch v - QoS)
Iptables là mt công c cn thit  cu hình Netfilter. Netfilter sp xp các
gói tin n Snort-inline trong i dùng vi s  ca c
ip-queue trong nhân linux và modun libipq.  , nu mt gói tin phù hp vi

39
nhn dng mt cuc tn công ca Snort-inline, c gn th bi libipq và quay
tr li vi Netfilter s b drop.

Hình 4.1: Netfilter và Snort-inline

4.1.1 Các cơ chế hoạt động của Snort


 Sniffer mode: Snort bt các gói tin và hin th thông tin ca chúng.
 Network intrusion detection system mode: Snort phát hin các bng
trong gói tin và lung d liu. Nó không ghi li t    
     nh tt c các gói tin b

40
nu mt gói tin phù hp vi rule thì gói tin s c ghi li và mt cnh báo s c
phát ra.
 Inline mode: ngoài vic phát hin
lung d liu bng.
4.1.2 Kiến trúc của Snort

Hình 4.2 lung d li


Snort bao gm các thành phn chính   Packet Capture, Packet
Decoder, Preprocessor, Dectection Engine và Output Plug-ins.
 Packet Capture: B phn l    
Capture các gói tin ri giao cho b phn Packet Decoder x lý.
 Packet Decoder: B phn gi  ly các gói t b phn Packet Capture
i mã các gói tin c khi chuyn cho b phn x lý c hoc
phát hin.
 Preprocessor: B phn x c là thành phc s d
hoc chnh sa gói d lic khi b phn phát hin làm vi kim tra g

41
có bng hay không. B phn x lý c hin vic phá
cách tìm các du hiu bt ng trong header ca gói tin và to ra các cnh báo. B
phn x c là rt quan trng trong bt k IDS nào, chúng chun b cho các g
d liu c phân tích da trên các lut trong b phn phát hin. Attacker s dng
nhi      qua mt các IDS. B phn x lý 
d tái hc khi áp dng bt
hp các gói tin l  tìm ra các du hiu b ng. B phn x lý 
Snort có th tái hp các gói tin, gii mã HTTP, URI, tái hp các gói TCP,...Nhng
cht quan trng trong h thng phát hin xâm nhp.
 Dectection Engine:  n quan trng nht ca Snort. Trách nhim
ca nó là phát hin có s bng tn ti trong gói tin hay không. B phn phá
hin s dng các lut ca Snort cho mu mt gói tin trùng vi
lut nào, mng s c thc hin. D
máy tính  lut   s quy
các gói tin.
 Output Plug-ins: u ra c    có th ho
nhiu cách ph thuc vào vic bn muc to ra b
ghi và to cnh báo  nào.
4.1.3 Cấu trúc luật (rule) của Snort
Rules ca Snort có hai phn : rule header và rule option. Mt Rule có th
phát hin mt hoc nhiu kiu xâm nhp.
Rule Header Rule Option
Bảng 4. 1: Cấu trúc rule của Snort.
4.1.3.1 Cấu trúc của rule Header

Header
Rule Source IP The Destination
Action Protocol Address and Port Direction IPAddress and Port
number Operator number
Bảng 4. 2: Cấu trúc rule header.

42
Các rule header cha các thông tin nh gói tin loi gì, a ch ngun và
, chiu ca gói tin,  h gói tin v
tính ch nh trong quy tc hin th.
 Rule Action bao gm:
- alert: To mt cnh báo.
- log: ghi li thông tin gói tin.
- pass: b qua gói tin.
- activate: cnh báo và t ng bt các lut.
- dynamicn khi mt luc kích ho
t log rule.
- drop: chn và ghi li thông tin các gói tin.
- reject: chn và ghi li thông tin các  i mt thit l
nu là giao thc TCP hoc gi mt thông báo không truy cc nu là giao thc
UDP.
- sdrop: chn gói gói tin.
 Protocol: Snort h tr phân tích 4 giao thc là UDP,TCP,ICMP và IP.
 IP adress: Snort h tr IP Address dng CIDR.
 Port number: Snort h tr cu hình vi mt port, mt di port hoc tt c
các port
 The Direction Operator : Có 2 loi direction operator là :
-> Chi  ngu      -
ngun, bên phi d-
<> Traffic 2 chiu.
4.1.3.2 Cấu trúc của rule option
Rule option là trng tâm ca công c phát hin xâm nhp   n c
Snort, nó kt hp d s dng vi sc mnh và tính linh hot. Có bn loi rule option
chính:
 General: gm các tùy chn cung cp thông tin v lu
bt c ng nào trong quá trình phát hin.

43
 Payload: gm các tùy chn phn ti ca gói tin.
 non-payload: gm các tùy chn phn ti c
 post-detection: gm các tùy chn s to ra nhng quy tc c th sau khi
mt luc kích hot.
Tt c các option ca Snort c  cách vi nhau bng du chm phy.
Nu có nhiu option, nhng option hình thành phép logic AND. Mt action trong
rule header ch c thc hin khi tt c   u  t
ng các t ng, mt option có
i s. Các i s c phân bit vi t khóa bng du .
Các t khóa:
- msg:
Cu trúc msg: < sample message>;
c s d ghi thông tin vào vic ghi log và cnh báo.
- ack:
Cu trúc ack : <Number>
TCP header cha mng A
này ch ra rng sequence number k ti ng này ch có ý  
c thit lp.
- classtype :
Cu trúc config classification: name, description, priority name
Tên: c s dng cho vic phân loc s dng vi t khóa
classtype trong lut Snort.
Description: mô t ngn v kiu phân loi.
Priority : th t    nh cho s phân loi, có th c ch
bng t khóa priority. Priority càng thp thì      Các lu
c phân loi và xp th t  mt nhóm.
- content :
Cu trúc ontent: <straight text>; content: <hex data>;

44
M c tính quan trng ca Snort là kh  tìm thy mt mu
liu trong mt gói tin. M    tn t i dng mt chu
hoc là các kí t thp lc phân. Ging k xâm nh
các du hiu và t  có th tìm ra các du hiu trong c
tin.
- offset:
Cu trúc offset: < value>
T c s dng kt hp vi t khóa content. S d
khóa này, bn có th bu tìm kim t mt v nh so vi
u ca gói tin. S dng mt con s i s ca t khóa này.
- depth:
Cu trúc depth: < value>
T c s dng kt hp vi t khóa 
nh gii hn trên ca vic so sánh mu. S dng t khóa này, ta có th xác

nh mt v trí so vi v trí bu. D liu sau v trí này s


ki so mu. Nu bn dùng c hai t
 n có th
nh mt khong d liu thc hin vic so sánh mu.
- nocase:
Cu trúc nocase;
T  c s dng kt hp vi t 
s. Ma nó là thc hin vic tìm king hp không
- content-list:
Cu trúc content_list: < filename>
T khóa contentlist c s dng vi tên ca m
t khóa này. File này s cha mt danh sách các chui s c tìm kim
trong mt gói tin. Mi chut trên các dòng khác nhau ca file.
- dsize:
Cu trúc dsize: [<|>] < number>

45
T c s d tìm chiu dài mt phn d li
tin. Nhiu cách tn công s dng l hng tràn b m bng cách gi các gói
c ln. S dng t khóa này, ta có th tìm thy các gó
chiu dài d liu ln hoc nh t s nh.
- flags:
Cu trúc flags: < flags>
T c s d tìm 
header TCP ca gói tin. Mi flag có th c s di s c
khóa flags trong lut Snort.
- fragbits:
Cu trúc: fragbits: < flag_settings>
S dng t khóa này, ta có th tìm ra nhng bit RB (Reserved Bit),
DF(Don't Fragment Bit), MF(More Fragments Bit) trong IP c
bt lên hay không.
- icmp_id:
Cu trúc icmp_id: < number>
c s d phát hin mt ID c th 
vi mt gói tin ICMP.
- icmp_seq:
Cu trúc icmp_seq: < hex_value>
T khóa icmp_seq gi khóa icmp_id.

- itype:
Cu trúc itype: < number>
Header ICMP nm sau IP header và ch ng type. T khóa itype
c s d  phát hin các cách tn công s d ng type
ICMP header ca gói tin.
- icode:
Cu trúc icode: < number>

46
Trong gói tin ICMP, ICMP header   IP header. Nó cha mt
ng code. T   c s d  phát hi 
header gói tin ICMP.
- ipopts:
Cu trúc ipopts: < ip_option>
Header ca n dài 20 byte. Ta có th thêm các tùy chn vào
header này  cui. Chiu dài ca phn tùy chn này có th n 40 byte.
Các tùy chc s dng cho các m hác nhau, bao gm: Rec
Route (rr), Time Stamps (ts), Loose Source Routing (lsrr), Strict Source
Routing (ssrr).
- ip_proto:
Cu trúc ip_proto: [!] < name or number>
T khóa ip_proto s dng plug-     nh s
trong IP header. T khóa này cn mt con s giao thi s. Ta 
th s dng tên giao thc nu nó có th phân gii bng file /etc/protocols.
- logto:
Cu trúc logto: < file_name>
T c s dng  ghi log các gói tin vào m
- priority:
Cu trúc priority: < priority integer>
T khóa priority  t lut.

- reference:
Cu trúc : reference : <id system>,<id>
T khóa reference có th thêm mt s tham khn thông tin tn ti
trên các h thng khác trên m t vai trò 
ch phát hin.
- resp:

47
T khóa resp là mt t khóa c  quan trng. Nó có th c s
d i các hành vi ca hacker bng cách gi các gói tin tr li c
mt host mà to ra mt gói tin tha lut. T  c bi
    c da trên FlexRe
 c biên dch vào Snort, s dng lnh (-- with-flexresp) trong script
cu hình.
- sameip:
T   c s d  ki  a ch n
ging nhau hay ki s.
- seq:
Cu trúc seq: <hex_value>
T khóa seq trong lut Snort có th c s d kim tra s th t
sequence ca gói tin TCP.
- flow:
T   c s d  áp dng mt lut lên các gó
chuyn theo mng c th. Ta có th s dng các option vi t 
   c
to_client, to_server, from_client, from_server.
- session:
Cu trúc session: [printable|all]
T khóa có th c s d gt b tt c d liu t mt phiên TC
- sid:
Cu trúc sid: < snort rules id>
S dng SID, các công c  biu din lut tht s
mt cnh báo c th.
- tag:
Cu trúc tag: <type>, <count>, <metric>[, direction]
T khóa tag là mt t khóa rt quan trng khác có th c s d
ghi log các d liu thêm vào t ( hon) mt host xâm nhp khi mt lut

48
c kích hot. D liu thêm vào có th c phân tích sau này mt cách chi
tit 
- tos:
Cu trúc tos: < number>
T c s d phát hin mt giá tr c th 
TOS (Type of Service) ca header IP.
- ttl:
Cu trúc ttl: < number>
T   c s d  phát hin giá tr Time to Live t
header ca gói tin. T khóa này có th c s dng vi tt c các kiu giao
thc xây dng trên nn tng   ICMP, UCP và TCP. S dng t
khóa ttl ta có th tìm ra nu có mt user  c gng traceroute mng. Vn
 duy nht là t khóa cn mt giá tr TTL chính xác.
- uricontent:
Cu trúc uricontent: [!] "content string"
T khóa uricontent ging vi t khóa content ngoi tr vic s
d tìm mt chui có trong phn URI ca gói tin.
(Các tham s ca tp lut trong Snort có th tra cu ti
http://manual.snort.org/ )
4.2 Mô hình triển khai
4.2.1 Mô hình khi hệ thống chưa có IPS

49
Hình 4.3: Mô hình mạng khi chưa có IPS
 Thông s server:
- H u hành Ubuntu 12.0.4 X86-64.
- Các gói Apache, php, mysql-server, wordpress.
t ph bin ti Vit Nam vì:
- D trin khai và vn hành.
- Chi phí thu là mã ngun m.
 lung d liu:

Hình 4.4: Sơ đồ luồng dữ liệu khi chưa có IPS


T  lung d liu, ta thy rng nng thi gi
n server thì ti mt th request s chim
ca các kt n n server hoc server phi x ng thi nhiu gói tin d

50
cn kit các tài nguyên h thng. Attacker có th li d tn cô
flood server hoc cn kit các tài nguyên h thng làm cho h thng không th 
c dch v ca khách hàng hp pháp.
T   n ngh gii pháp là s dng s dng Snort-inline kt hp
 n các cuc tn công.
4.2.2 Giải pháp tích hợp Snort-inline vào hệ thống


Hình 4.5: Mô hình hệ thống tích hợp Snort-inline


 lung d liu:

Hình 4.6: Sơ đồ luồng dữ liệu khi tích hợp Snort-inline và Iptables

51
Khi các user gn server, các gói tin s c sp x
Ip-queue c tích hp trong Netfilter.       c
Snort-inline. Ti Snort-inline, các gói tin s c so sánh vc th
trong Snort-inline. Nu gói tin trùng vi mt lu   a rule, thì mt hà
c ch nh s c thc hin. C th, nu mt gói tin là bt hp pháp
  a các rule) thì nó c gn th bi libipq và gi quay tr l
Netfilter s b drop. Còn nu gói tin là hp pháp, nó s c gi ti server
server s gi respone li cho user.
Hi    gii pháp nào t   chng li DDoS m
din, gi xut là mt trong nhng gii pháp  c trin khai v
nhng thành công trong vic chng li các cuc tn công DDoS. Làm cho h thng
nn nhân không b quá ti thi g các nhà qun tr phi hp v
liên quan n, chuyng cuc tn công  không b 
và phc v c cho nhi dùng hp pháp.
Vi t chung h thng phát hi   n DDoS cùng vi m
Web c m là s phi tiêu tn nhiu tài nguyên máy ch web tuy nhiên do
ch s dng mt máy ch nên gii pháp này s tit kim chi phí và phù h
các doanh nghip va và nh  Vit Nam.
4.3 Bƣớc triển khai
4.3.1 Bước 1
Kim tra server khi h thng chy bìn thn
n DDoS:
Kim tra tài nguyên h thng.
Truy cp vào server.
4.3.2 Bước 2
Kim tra server khi  cài h thng phát hin DDoS và h th
công DDoS:
Kim tra tài nguyên h thng.
Truy cp vào server.

52
Nhn xét.
4.3.3 Bước 3
Ki      t h thng phát hi 
thng chy  n) trong th
Kim tra tài nguyên h thng.
Truy cp vào server.
 n xét.
4.4 Triển khai hệ thống
4.4.1 Cài đặt hệ điều hành và các gói phụ thuộc
 t h u hành Ubuntu 12.0.4 X86-64
 t các gói ph thuc:
# apt-get -y install apache2
# apt-get -y install apache2-doc
# apt-get -y install libapache2-mod-php5
# apt-get -y install bison
# apt-get -y install flex
# apt-get -y install g++
# apt-get -y install gcc
# apt-get -y install gcc-4.4
# apt-get -y install libcrypt-ssleay-perl
# apt-get -y install libmysqlclient-dev
# apt-get -y install libnet1
# apt-get -y install libnet1-dev
# apt-get -y install libpcre3
# apt-get -y install libpcre3-dev
# apt-get -y install libphp-adodb
# apt-get -y install libssl-dev
# apt-get -y install libtool
# apt-get -y install libwww-perl

53
# apt-get -y install make
# apt-get -y install mysql-client
# apt-get -y install mysql-common
# apt-get -y install mysql-server
# apt-get -y install php5-cli
# apt-get -y install php5-gd
# apt-get -y install php5-mysql
# apt-get -y install php-pear
4.4.2 Cài đặt các gói cần thiết cho snort
 t gói libpcap:
# cd /usr/src
# wget http://www.tcpdump.org/release/libpcap-1.6.4.tar.gz
# tar -zxf libpcap-1.6.4.tar.gz
# cd libpcap-1.6.4
# ./configure --prefix=/usr && make && make install
 t gói libdnet:
# cd /usr/src
# wget http://libdnet.googlecode.com/files/libdnet-1.12.tgz
# tar -zxf libdnet-1.12.tgz
# cd libdnet-1.12
# ./configure --prefix=/usr --enable-shared && make && make install
 t gói daq:
# cd /usr/src
# wget https://www.snort.org/downloads/snort/daq-2.0.4.tar.gz
# tar -zxf daq-2.0.4.tar.gz
# cd daq-2.0.4
# ./configure && make && make install
 Cp nht ng dc chia s:
# echo >> /etc/ld.so.conf /usr/lib

54
# echo >> /etc/ld.so.conf /usr/local/lib && ldconfig
4.4.3 Cài đặt Snort
 t Snort:
# cd /usr/src
# wget https://www.snort.org/downloads/snort/snort-2.9.8.0.tar.gz
# tar -zxf snort-2.9.7.0.tar.gz && cd snort-2.9.8.0
# ./configure --enable-sourcefire && make && make install
 Tc cho Snort:
# mkdir /usr/local/etc/snort
# mkdir /usr/local/etc/snort/rules
# mkdir /var/log/snort
# touch /usr/local/etc/snort/rules/local.rules
# touch /usr/local/etc/snort/rules/snort.rules
# touch /usr/local/etc/snort/sid-msg.map
 To các user và phân quyn:
# groupadd snort && useradd -g snort snort
# chown snort:snort /var/log/snort
 Copy các file cu hình Snort:
# cp /usr/src/snort-2.9.7.0/etc/*.conf* /usr/local/etc/snort
# cp /usr/src/snort-2.9.7.0/etc/*.map /usr/local/etc/snort
 Cu hình Snort (Chnh sa file snort.conf):
#vim /usr/local/etc/snort/snort.conf
- Line #45 - ipvar HOME_NET 27.118.23.30/28
- Line #48 - ipvar EXTERNAL_NET !$HOME_NET
- Line #104 - var RULE_PATH rules
- Line #293  Thêm vào sau   max_g
104857600
- Line #521  Thêm dòng - output unified2: filename snort.log, limit 128
- Line #265

55
preprocessor normalize_ip4
preprocessor normalize_tcp: ips ecn stream
preprocessor normalize_icmp4
preprocessor normalize_ip6
preprocessor normalize_icmp6
- Line #188 - Cui step #2 ca file snort.cong thêm:
config policy_mode: inline
 Cu hình daq:
- Line #159 in snort.cong
config daq: afpacket
config daq_dir: /usr/local/lib/daq
config daq_mode: inline
config daq_var: buffer_size_mb=512
 snort.conf
4.4.4 Cài đặt Barnyard
Barnyard2 là mt trình thông dch mã ngun m cho t u ra nh ph
Snort unified2. Nhim v chính ca nó là cho phép Snort phân tích d liu nh phân
 nh dng khác và   t cách hiu qu
toàn c l không n quá 

 t Barnyard2:
# cd /usr/src
# wget https://github.com/binf/barnyard2/tree/bug-fix-release
# unzip bug-fix-release.zip
# cd barnyard2-bug-fix-release
# autoreconf -fvi -I ./m4 && ./configure --with-mysql --with-mysql-
libraries=/usr/lib/x86_64-linux-gnu
# make && make install
 Configure Barnyard2:

56
#cp /usr/src/barnyard2-bug-fix-release/etc/barnyard2.conf
/usr/local/etc/snort
# mkdir /var/log/barnyard2
# chown snort:snort /var/log/barnyard2
# nano /usr/local/etc/snort/barnyard2.conf
- Line #27 i thành /usr/local/etc/snort/reference.config
- Line #28 i thành /usr/local/etc/snort/classification.config
- Line #29 i thành /usr/local/etc/snort/gen-msg.map
- Line #30 i thành /usr/local/etc/snort/sid-msg.map
- Line #227 i thành output alert_fast
- Cui file: output database: log, mysql, user=snort password=<tinhnd123>
dbname=snort host=localhost
 Thit lp Database:
Login to MySQL:
# mysql uroot p
mysql> create database snort;
mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on
snort.* to snort@localhost;
mysql> snort@localhost=PASSWORD('<vuhai123>'); //thit lp
password cho snort database user;
mysql> use snort;
mysql>source/usr/src/barnyard2-bug-fixrelease/schemas/create_mysql;
mysql> show tables;
mysql> exit;
4.5 Kết quả thí nghiệm
4.5.1 Kết quả bước 1
 Tài nguyên h thng:

57
Hình 4.7: Tài nguyên hệ thống khi chưa bị tấn công
 Truy cp vào server:

58
Hình 4.8: Truy cập vào web server
T kt qu trên, ta thy khi không b tn công DDOS thì thông s ti ca h
thng rt thp i x ng RAM free là khong 67 M
cng.
4.5.2 Kết quả bước 2
 Thêm rule vào file /usr/local/etc/snort/rules/local.rules:
alert tcp any any -> 192.168.73.128/24 
"POST"; nocase; flow: established,to_server; threshold:type threshold, track
by_src, count 60, seconds 1; sid:1000852; rev:1; )
 S dng công c  tn công máy ch web bng
Slow POST HTTP request:

59
Hình 4.9: Sử dụng Slow POST HTTP request attack.
 Bu thc hin cu hình và tn công:

Hình 4.10: Tài nguyên hệ thống khi bị tấn công DDOS khoảng 2 phút.

60
Hình 4.11: Log apache khi bắt đầu tấn công được 2 phút
 Log cnh báo bu xut hin (mã li 408 http):

Hình 4.12: Log hệ thống khi bị tấn công DDOS khoảng 2 phút.

Hình 4.13: Log hệ thông sau khi tấn công khoảng 5 phút

61
 Log cnh báo:

Hình 4.14: Log cảnh báo nhận được khi hệ thống bị tấn công DDOS.
 Log access ca Apache server:

Hình 4.15: Access log của apache sever khi cuộc tấn công xảy ra
 Truy cp vào web server:

Hình 4.16: Truy cập vào web server khi bị tấn công DDOS.

62
 Nhn xét:
- Khi tn công DDOS xy ra, ti ca h thc, %CPU dàn
các ti c x n 94,4% 
gim dn, sau khi tn công 4 phút thì còn khong  50 MB. H thng
không th tip tc x lý và b treo.
- Liên tc nhc cnh báo xy ra tn công DDOS.
- Access log ca apache server gm rt nhiu gói tin POST (gói tin tn công).
- Không th truy cp vào web server sau 6 phút b tn công DDOS.
4.5.3 Kết quả bước 3
 Thêm rule vào file /usr/local/etc/snort/rules/local.rules:
drop tcp any any -> 192.168.73.128/24 phat hien va DROP -

threshold:type threshold, track by_src, count 60, seconds 1; sid:1000852;
rev:1; )
Chy lnh: snort  kích hot mode inline trên snort.
 S dng công c  tn công máy ch web bng
Slow POST HTTP request:

Hình 4.17: Sử dụng Slow POST HTTP request attack.

63
 Log h thng nhc:

Hình 4.18: Log khi hệ thống chặn tấn công DDOS.

 Tài nguyên h thng sau 5 phút:

Hình 4.19: Tài nguyên hệ thống sau 5 phút khi DDOS bị ngăn chặn.

64
 Truy cp vào web server:

Hình 4.20: Truy cập vào web server khi DDOS attacks bị ngăn chặn.

 Nhn xét:
- Khi kích hot h thn DDOS, mc dù b t
ti ca h thng, %CPU dành cho các ti x lý ch 
ng RAM free là khong gn 63 MB.
- Khi phát hin b tn công DDOS, h thng phát hi
drop các gói tin t thng.
- Access log ca apache server ch có nhng gói tin GET mà không có gói tin
POST.
- Truy cp vào web server bìnng.

65
KẾT LUẬN
1. Những kết quả đạt đƣợc
 Tìm hiu v tn công t chi dch v   
kin hình ca tn công DDOS.
 ng mng tn công t chi dch v phâ
 Phân tích các lo k thut t
 Tìm hiu mt s n DDOS.
 Trin khai thành công thí nghim h thn DDOS da trên
thng phát hin xâm nhp Snort-inline.
Vic phát hin các cuc tn công t chi dch v phân tán
toàn là mu r Các quc gia, các t chc, doanh nghip c
s chun b tt nh ng phó vi các v tn công bt ng và có bin pháp kh
phc kp th hn ch tt hi mà DDoS gây ra. Hy vng
có th giúp làm rõ v bn cht, cách thc tn công và các k thu phòng chng
li kiu tn công DDoS.
Kt qu lu  c s d  tham kh
dng h thng có kh chng lc các cng tn công t chi dch v
tán, có th áp dng ngay vào thc tin.
2. Hƣớng phát triển
        


 T 

    -   

         


66
TÀI LIỆU THAM KHẢO
[1]. A Cisco Guide to Defending Against Distributed Denial of Service
Attacks  http://www.cisco.com/c/en/us/about/security-center/guide-ddos-
defense.html
[2]. David Dittrich dittrich@cac.washington.edu University of Washington
Copyright 1999. All rights reserved. October 21, 1999 - The DoS Project's "trinoo"
distributed denial of service attack tool
[3]. DNS Amplification - https://www.incapsula.com/ddos/attack-
glossary/dns- amplification.html
[4]. Hellinton H - Instituto Tecnológico de Aeronáutica S. J. dos Campos 
Brazil, Takada and Ulrich Hofmann - Univ. of Applied Sciences & Salzburg
Research Salzburg  Austria - Application and Analyses of Cumulative Sum to
Detect Highly Distributed Denial of Service Attacks using Different Attack Traffic
Patterns
[5].http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_74/do
s_attacks.html
[6].http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_
:_Ch14_:_Linux_Firewalls_Using_iptables#.VthdZ-a6KM8
[7]. http://manual.snort.org/
[8]. Network Time Protocol 
https://en.wikipedia.org/wiki/Network_Time_Protocol
[9]. www.linux.com/
[10]. Secure your network, protect your critical infrastructure -
https://www.corero.com
[11]. http://openmaniak.com/inline.php
[12]. Vladimir Koychev (2015), Build IPS Virtual Appliance Based on
Vmware ESXi, Snort and Debian Linux
[13]. Hypertext Transfer Protocol -- HTTP/1.1 - Copyright (C) The Internet
Society (1999).

You might also like