Vu Thanh Tuan K51MMT Khoa Luan Tot Nghie

You might also like

You are on page 1of 41

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Vũ Thanh Tuấn

NÂNG CẤP HỆ THỐNG PAC


THÊM CHỨC NĂNG TỰ ĐỘNG XÁC ĐỊNH ĐỐI
TƯỢNG TẤN CÔNG

KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành: Mạng truyền thông

HÀ NỘI - 2010

- -
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Vũ Thanh Tuấn

NÂNG CẤP HỆ THỐNG PAC


THÊM CHỨC NĂNG TỰ ĐỘNG XÁC ĐỊNH ĐỐI
TƯỢNG TẤN CÔNG

KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành: Mạng truyền thông

Cán bộ hướng dẫn: Ths. Đoàn Minh Phương

HÀ NỘI - 2010

- -
LỜI CẢM ƠN

Để hoàn thành bài luận tốt nghiệp, lời đầu tiên tôi xin bầy tỏ sự cám ơn tới
ThS.Đoàn Minh Phương, người đã giúp tôi lựa chọn đề tài, đưa ra những nhận xét quý
giá và trực tiếp hướng dẫn tôi trong suốt quá trình hoàn thành luận văn tốt nghiệp. Tôi
xin chân thành cám ơn các thầy cô trong khoa CNTT- trường Đại học Công nghệ -
ĐHQG Hà Nội đã truyền đạt kiến thức cho tôi trong suốt khoảng thời gian 4 năm học
tập tại trường.
Trong quá trình hoàn thành luận văn tốt nghiệp, tôi đã nhận được rất nhiều sự
giúp đỡ, động viên từ bạn bè. Đặc biệt là anh Hoàng Văn Quân (K49CB) người đã góp
ý và cùng tôi giải quyết một số vấn đề trong luận văn. Tôi xin gửi lời cám ơn tới
những người bạn luôn bên cạnh tôi để chia sẻ những kinh nghiệm trong học tập cũng
như cuộc sống.
Vũ Thanh Tuấn

- -
TÓM TẮT NỘI DUNG

Trong luận văn tốt nghiệp này tôi chủ yếu giới thiệu về kỹ thuật phát hiện Ddos
hiện nay và kỹ thuật ngăn chặn Ddos với giao thức Lan tỏa ngược. Có thể chia thành 4
phần chính. Phần thứ nhất là tổng quan và phân loại tấn công Ddos. Phần thứ 2 là các
kỹ thuật phát hiện Ddos hiện nay và đi chi tiết vào kỹ thuật phát hiện Ddos sử dụng
“Source IP Address Monitoring”. Phần cuối sẽ giới thiệu giao thức lan tỏa ngược và
kết hợp với hệ thống phát hiện ddos mà tôi xây dựng.

- -
MỤC LỤC
Chương 1: GIỚI THIỆU VỀ TẤN CÔNG DDOS.............................................................2

1.1. Khái niệm.........................................................................................................................2

1.2. Cấu trúc mạng DDos.....................................................................................................2

1.2.1 Tuyển mộ mạng Agent.................................................................................................2

1.2.2 Điều khiển mạng Agent...........................................................................................3

1.2.3 Cập nhật mailware...................................................................................................5

1.3 Phân loại tấn công Ddos................................................................................................5

1.3.1 Tấn công vào băng thông mạng..............................................................................5

1.3.2 Tấn công vào giao thức............................................................................................5

1.3.3 Tấn công bằng những gói tin khác thường............................................................5

1.3.4 Tấn công qua phần mềm trung gian......................................................................6

1.4 Các công cụ DDos............................................................................................................6

1.4.1 Trinoo........................................................................................................................6

1.4.2 Tribe Flood Network (TFN)....................................................................................6

1.4.3 Stacheldraht.............................................................................................................6

1.4.4 Shaft.........................................................................................................................6

1.4.5 Trinity........................................................................................................................7

1.4.6 Knight........................................................................................................................7

1.4.7 Kaiten........................................................................................................................7

Chương 2 : CÁC CỞ SỞ PHÂN TÍCH PHÁT HIỆN DDOS...........................................8

2.1 Hệ thống phát hiện DDos hiện nay................................................................................8

2.2 Các yêu cầu đối với môt hệ thống phát hiện DDos......................................................8

2.2.1 Phát hiện nhiều cơ chế.............................................................................................8

2.2.2 Phản ứng...................................................................................................................9

- -
2.3 Phân tích phát hiện các cuộc tấn công DDos................................................................9

2.3.1 Tổng quan về phát hiện các cuộc tấn công DDos..................................................9

2.3.2 Một số thuật toán phát hiện DDos.......................................................................10

Chương 3: XÂY DỰNG HỆ THỐNG PHÁT HIỆN NGĂN CHẶN DDOS TỰ ĐỘNG
...................................................................................................................................................13

3.1 Cơ chế kiểm tra địa chỉ nguồn.....................................................................................13

3.1.1 IP Address Database (IAD)..................................................................................13

3.1.2 Duy trì và hoạt động của IAD...............................................................................14

3.2 Kỹ thuật phát hiện tấn công DDos theo thuật toán CUSUM....................................15

Chương 4: PHÁT TRIỂN HOÀN THIỆN GIAO THỨC LAN TỎA NGƯỢC...............18

4.1 Khái niệm.......................................................................................................................18

4.2.1 Khởi động...............................................................................................................19

4.2.2 Bắt đầu....................................................................................................................19

4.2.3 Kiểm tra giả mạo....................................................................................................19

4.2.4 Rút gọn....................................................................................................................19

4.2.5 Ngăn chặn...............................................................................................................20

4.2.6 Lan tỏa ngược.........................................................................................................21

4.3 Hạn chế của giao thức lan tỏa ngược..........................................................................22

4.4 Phát triển giao thức lan tỏa ngược.............................................................................22

4.4.1 Chống lừa dối.........................................................................................................22

4.4.2 Giải pháp.................................................................................................................22

4.4.3 Giải thuật................................................................................................................22

4.4.4 Triển khai................................................................................................................23

Chương 5: TRIỂN KHAI HỆ THỐNG PHÁT HIỆN NGĂN CHẶN TỰ ĐỘNG KẾT
HỢP GIAO THỨC LAN TỎA NGƯỢC..............................................................................25

5.1 Đánh giá hiệu quả của hệ thống...................................................................................25

- -
5.2 Cơ chế hoạt động...........................................................................................................26

5.3 Triển khai hệ thống......................................................................................................26

5.4 Kết luận..........................................................................................................................32

- -
LỜI MỞ ĐẦU
Tấn công từ chối dịch vụ phân tán (Distributed Denial of Service-DDos) là một
trong những phương pháp tấn công nguy hiểm nhất hiện nay. Việc ngăn chặn hoàn
toàn Ddos rất khó có thể thực hiên được do các tính chất của một cuộc tấn công là
phân tán trên toàn internet. Do vậy việc phát hiện càng sớm dấu hiệu của cuộc tấn
công giúp chúng ta có thể hạn chế tối đa thiệt hại mà một cuộc tấn công Ddos gây nên.
Trong luận văn này tôi sẽ xây dựng hệ thống tự động phát hiện và ngăn chặn một cuộc
tấn công Ddos kết hợp giao thức lan tỏa ngược để giải quyết vấn đề vừa nêu ở trên.

- -
Chương 1: GIỚI THIỆU VỀ TẤN CÔNG DDOS

1.1. Khái niệm


Tấn công từ chối dịch vụ phân tán (DDos – Distributed Denial of Service) là
hoạt động làm chấm dứt hoặc gián đoạn các dịch vụ tại máy nạn nhân. Tấn công Ddos
huy động số lượng lớn các máy bị lợi dụng để tấn công nạn nhân vào một cùng thời
điểm. Do DDos có tính chất phân tán nên việc ngăn chặn là rất khó khăn. Việc ngăn
chặn DDos không thể từ một máy tính bị tấn công mà phải kết hợp giữa các router để
tiến hành phân tích và chặn. Do có số lượng Agent lớn và bao phủ trên diện rộng nên
việc phát hiện được các gói tin tấn công nhưng khó có khả năng giải quyết triệt để
được DDos. Ở đây Agent là những máy trực tiếp gửi thông điệp tấn công
1.2. Cấu trúc mạng DDos
1.2.1 Tuyển mộ mạng Agent
Trước tiên kẻ tấn công phải làm đó là xây dựng lên mạng botnet. Kẻ tấn công
tiến hành thăm dò những máy tính nào dễ bị lợi dụng. Quá trình này được gọi là
scaning. Scaning có thể được làm bằng tay do kẻ tấn công sử dụng các công cụ hỗ trợ
scaning như nmap.... Các công cụ này đang ngày càng được phát triển hoàn thiện hơn.
Một chương trình khác hỗ trợ scaning, nhưng được thực thi một cách hoàn toàn
tự động để nhận dạng các máy dễ bị lợi dụng, chương trình này được gọi là internet
worm. Các internet worm được thực thi hoàn toàn tự động và các thể dễ dàng lây
nhiễm từ máy này sang máy khác. Một worm thường có 3 chức năng chính sau:
+ Scaning: Tìm kiếm các máy dễ bị lợi dụng
+ Khai thác: Tiến hành lây nhiễm và điều khiển từ xa
+ Tải kịch bản tấn công
Các worm chọn lựa những địa chỉ để scaning ở các dạng sau:
+ Lựa chọn bất kì trong 32 bit của địa chỉ IP (IPv4). Hiệu quả của phương pháp
này không cao do phải sử dụng rất nhiều địa chỉ IP để scan.
+ Sử dụng một dải địa chỉ bất kì đã được lựa chọn như chọn 8 bit hoặc 16 bit của
địa chỉ IP (IPv4). Quá trình này được dùng để scan những mạng đơn lẻ hoặc một
nhóm mạng trong cùng một thời điểm

- -
+ Tạo ra một danh sách các địa chỉ IP ưu tiên và tiến hành scan. Trong khi scan
sẽ bỏ qua những dải IP không tồn tại hoặc có độ bảo mật cao.
+ Sử dụng các thông tin trên máy bị nhiễm. Worm tiến hành phân tích và khai
thác các log file trên máy bị nhiễm và scan. Ví dụ như một log file của web browser sẽ
lưu trữ những địa chỉ mới truy cập vào website.và một file dùng để lưu trữ những địa
chỉ IP đích được giao tiếp thông qua giao thức SSH
Một chương trình máy khách được chạy nền trên máy tính bị hại được gọi là một
bot, nó sẽ thông báo cho kẻ tấn công các thông tin trạng thái của các máy dễ bị lợi
dụng và chờ đợi lệnh điều khiển từ kẻ tấn công để tấn công.
1.2.2 Điều khiển mạng Agent
Khi số lượng Agent lớn, có thể lên đến hàng nghìn host. Kẻ tấn công phải có
những phương pháp điều khiển mạng lưới Agent.Việc tìm ra những phương pháp tốt sẽ
giúp kẻ tấn công dễ dàng thu thập dược các thông tin và hành vi của các Agent
Ở đây có hai mô hình chính để kẻ tấn công điều khiển mạng lưới Agent
1.2.1.1 Agent-Handler

Hình 1: Mô hình Agent-Handler


Trong mô hình này, kẻ tấn công sẽ điều khiển mạng Handler. Các Hanlder sẽ
trực tiếp điều khiển các Agent gửi các thông điệp tấn công nạn nhân. Trong mô hình

- -
này, kẻ tấn công có thể rất dễ bị phát hiện do các máy Handler phải lưu trữ các thông
tin về Agent và các Agent phải lưu trữ thông tin về Handler. Do vậy việc truy tìm
ngược lại kẻ tấn công hoàn toàn có thể thực hiện được.
1.2.1.2 Internet Relay Chat(IRC)-Based

Hình 2: Mô hình IRC-Based


Một mô hình khác được triển khai đó là sử dụng hệ thống Internet Relay Chat
(IRC). Đầu tiên, Attacker (kẻ tấn công) và Agent sẽ truy cập vào IRC Server như một
người dùng bình thường. Các Agent phải học các kênh truyền hiện tại, sau đó sẽ nhảy
sang những kênh đó để nhận lệnh điều khiển từ kẻ tấn công thông. Trong mô hình này,
kẻ tấn công truy cập vào IRC Server sẽ qua một máy khác, được gọi là Steeping stone
để tránh bị phát hiện.

- -
1.2.3 Cập nhật mailware
Cũng như các phần mềm khác, các chương trình được cài đặt trên Handler hay
Agent phải được thường xuyên cập nhật. Hầu hết các công cụ Ddos hiện nay đều yêu
cầu kẻ tấn công gửi những dòng lệnh cập nhật trên các Handler và Agent bằng việc
download các phiên bản mới hơn qua giao thức http.
1.3 Phân loại tấn công Ddos
1.3.1 Tấn công vào băng thông mạng
Trong phương pháp này kẻ tấn công điều khiển mạng lưới Agent đồng loạt gửi
các gói tin ICMP hay UDP đến nạn nhân làm cho băng thông mạng của nạn nhân bị
quá tải và không thể phục vụ được. Ví dụ như trong trường hợp ICMP flood, nạn nhân
sẽ phải gửi trả lại các gói tin ICMP_REPLY tương ứng. Do số lượng của Agent gửi
đến nạn nhân rất lớn nên việc gửi lại các gói ICMP_REPLY dẫn đến nghẽn mạng.
Trong trường hợp UDP flood cũng tương tự.
Phương pháp tấn công này đặc biệt nguy hiểm do không những băng thông mạng
của nạn nhân bị quá tải mà còn ảnh hưởng đến các mạng lân cận. Hiện nay, với sự phát
triển của các công cụ Ddos, hầu hết đều hỗ trợ giả mạo địa chỉ IP.
1.3.2 Tấn công vào giao thức
Điển hình của phương pháp tấn công này là TCP SYN flood. Kẻ tấn công lợi
dụng quá trình bắt tay 3 bước trong giao thức TCP. Kẻ tấn công liên tục khởi tạo kết
nối TCP. Nạn nhân sẽ tiến hành gửi lại trả lời với SYN và ACK để chờ ACK từ phía
máy khách. Tuy nhiên, kẻ tấn công sẽ không gửi ACK đến nạn nhân hay nói cách khác
là sẽ không làm gì cả như quá trình bắt tay 3 bước. Cứ như vậy, nạn nhân sẽ tốn nhiều
tài nguyên và bộ nhớ để chờ các phiên TCP. Do vậy nạn nhân sẽ không thể phục vụ
được do tốn bộ nhớ đề chờ các kết nối ảo do kẻ tấn công khởi tạo.
1.3.3 Tấn công bằng những gói tin khác thường
Trong phương pháp này, kẻ tấn công dựa vào các điểm yếu của giao thức mạng.
Ví dụ khi tấn công Ping of Death. Kẻ tấn công sẽ gửi một số gói tin ICMP có kích
thước lớn hơn kích thước giới hạn. Gói tin sẽ bị chia nhỏ, khi nạn nhân ghép lại nhận
thấy rằng là gói tin quá lớn để xử lý. Kết quả là, hệ thống không thể xử lý được tình
trạng bất thường này và sẽ bị treo. Một trường hợp khác như tấn công Lan Attack. Kẻ
tấn công sẽ gửi các gói tin TCP SYN có địa chỉ nguồn, địa chỉ đích và số cổng giống

- -
nhau. Nạn nhân sẽ liên tục khởi tạo và kết nối với chính nó. Do vậy hệ thống sẽ bị treo
hoặc bị chậm lại.
1.3.4 Tấn công qua phần mềm trung gian
Trong phương pháp tấn công này, kẻ tấn công sẽ sử dụng một phần mềm hợp lệ
trên máy nạn nhân. Khai thác một số thuật toán và tiến hành đưa tham số trong trường
hợp xấu nhất. Do vậy, máy nạn nhân sẽ phải xử lý quá trình này và có thể bị treo. Đây
là phương pháp tấn công khá đơn giản nhưng lại có hiệu quả rất cao. Nhưng nguy
hiểm hơn cả là kẻ tấn công đã đột nhập được vào máy nạn nhân để có thể ăn cắp các
thông tin cá nhân của nạn nhân
.1.4 Các công cụ DDos
1.4.1 Trinoo
Trinoo cho phép kẻ tấn công kiểm soát một số máy để yêu cầu gửi đồng loạt các
gói tin UDP làm tê liệt mục tiêu. Master Trinoo có thể điều khiển các deamon trinoo
như:
- Đồng loạt gửi các gói tin UDP
- Dừng việc gửi gói tin
- Thay đổi cấu hình của các deamon trinoo
1.4.2 Tribe Flood Network (TFN)
TFN là công cụ tấn công vào băng thông. TFN hỗ trợ tấn công các kỹ thuật
ICMP flood, UDP flood, TCP SYN flood. Hiên tại, TFN hỗ trợ việc giả mạo địa chỉ IP.
Hoạt động hầu hết trên các hệ điều hành DDos.
1.4.3 Stacheldraht
Là một dạng khác của TFN nhưng có khả năng tự động update trên các Agent
1.4.4 Shaft
Shaft chính là biến thể của Trinoo. Hỗ trợ nhiều loại tấn công như ICMP, UDP,
TCP flood. Shaft còn hỗ trợ tấn công nhiều kỹ thuật cùng lúc. Vì vậy việc ngăn chặn
shaft cũng sẽ trở nên rất khó khăn. Và đặc biệt shaft còn cho biết các thông số như là
mức độ thiệt hại của nạn nhân để điều khiển các Agent

- -
1.4.5 Trinity
Có thể nói Trinity là công cụ nguy hiểm nhất. Nó có khả năng tấn công với hầu
hết các kỹ thuật như UDP, SYN và một số dạng flood khác. Tuy nhiên nó còn có thể
kết nối internet thông qua mạng Relay Chat (IRC) hoặc AOL's ICQ. Trinity thường sử
dụng các cổng 6667 và cũng có thể là 1 chương trình backdoor lắng nghe ở cổng
33270 qua kết nối TCP
1.4.6 Knight
Knight là một cộng cụ hoạt động trên hệ điều hành windows. Knight cung cấp
các kỹ thuật tấn công như UDP flood, SYN flood. Và nó có thể tự động update thông
qua các giao thức http hoặc ftp. Knight được cài đặt sử dụng Trojan thông qua chương
trình backdoor được gọi là Back Oifice. Knight được sử dụng trong mô hình IRC-
Based
1.4.7 Kaiten
Kaiten chính là biến thể của Knight. Kaiten hỗ trợ các kỹ thuật tấn công như
UDP flood, TCP flood, SYN. Có khả năng giả mạo địa chỉ IP. Kaiten cũng là công cụ
được sử dụng trong mô hình IRC-Based

- -
Chương 2 : CÁC CỞ SỞ PHÂN TÍCH PHÁT HIỆN DDOS

2.1 Hệ thống phát hiện DDos hiện nay


Như chúng ta đã thấy, khả năng phát hiện một cuộc tấn công ngay lập tức sẽ ảnh
hưởng rất lớn đến quá trình ngăn chặn và làm giảm đến mức thấp nhất tác hại mà một
cuộc tấn công DDos gây ra.
Hiện nay các hệ thống phát hiện đang được phát triển và khá công phu. Hầu hết
đã phát hiện được các loại tấn công Dos và DDos nhưng khó có thể đạt được độ chính
xác cao.
Những hệ thống phát hiện DDos này thường sử dụng rất nhiều phương thức để
dò tìm và phát hiện. Thông thường các công cụ này so sánh lưu lượng hiện tại với lưu
lượng có thể chấp nhận được. Công nghệ này vẫn còn có một vài thiếu sót. Trước tiên,
ngưỡng này thường đặt tĩnh và yêu cầu người sử dụng phải cấu hình để phù hợp với
mọi môi trường, tuy nhiên sẽ khó có thể thay đổi thích ứng với môi trường mới. Thứ
hai, chỉ có một số ít các ngưỡng được thiết lập vì sự thống kê chi tiết các giao thức
không có giá trị cho người sử dụng. Thứ 3, ngưỡng chỉ áp dụng ở mức độ tổng hợp
cao. Sự thiếu sót này có thể dẫn tới sự đánh giá sai về tính rõ ràng và tính phủ định của
hệ thống phát hiện. Thậm chí một phát hiện sự xâm hại có thể chặn nhầm một địa chỉ
hợp lệ.
Do vậy, để hiệu quả một hệ thống phát hiện xâm nhập phải thêm nhiều tính năng
để phát hiện và phân biệt một sự tấn công với các hoạt động bình thường.
2.2 Các yêu cầu đối với môt hệ thống phát hiện DDos
2.2.1 Phát hiện nhiều cơ chế
Hiện nay các hình thức tấn công Ddos rất đa dạng và luôn được phát triển không
ngừng. Cà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
Ddos thật sự hiệu quả khi phát hiện được hầu hết các kiểu tấn công. Luôn đánh giá
được hệ thống mạng khi có những dấu hiệu bất thường, phải cập nhật thường xuyên
những kiểu tấn công mới để có biện pháp phát hiện nhanh nhất .

- -
2.2.2 Phản ứng
Khi một cuộc tấn công DDos xảy ra. Bước đầu tiên và cũng là quan trọng nhất là
phát hiện chính xác các gói tin tấn công. Hệ thống phòng thủ phải đáp ứng trong thời
gian thực, đặc biệt là tốc độ phản ứng phải cao. Tránh trường hợp chặn nhầm gói tin
hợp lệ.
2.3 Phân tích phát hiện các cuộc tấn công DDos
2.3.1 Tổng quan về phát hiện các cuộc tấn công DDos
- Phát hiện ở gần nguồn tấn công
Giả sử tổng số lưu lượng để tắt một mạng là V, và lưu lượng một cuộc tấn công
DDos là U.Chúng ta có thể dễ dàng phát hiện tấn công tại nạn nhân khi V lớn hơn
đáng kể lưu lượng bình thường. Tuy nhiên, số lượng tấn công gần nguồn sẽ không
phân biệt được từ một lưu lượng bình thường, tỷ số V/U sẽ rất nhỏ nếu U đủ lớn.
Thông thường như các phương án đã đặt ra đó là đánh dấu gói tin và truy tìm ngược
lại. Các phương án này thường không có hiệu quả cao khi mà cuộc tấn công diễn ra
với quy mô rất lớn. Do vậy việc phát hiện tấn công gần nguồn sẽ tránh được tắc nghẽn
và đạt hiệu quả cao nhất.
- Phát hiện tấn công tại mạng của nạn nhân
Như đã nói ở phần trước, việc phát hiện tấn công tại nạn nhân không khó vì lúc
đó lưu lượng mạng tại nạn nhân sẽ trở nên rất cao và tất nhiên sẽ dẫn đến tình trạng
không thể cung cấp được các dịch vụ. Tuy nhiên, thông thường việc phát hiện và phản
ứng lại tại nạn nhân thường muộn và vào lúc cuộc tấn công đang ở mức cao. Nạn nhân
lựa chọn tắt server và sau đó liên hệ với các ISP. Các ISP sau khi đã nhận được lời đề
nghị của nạn nhân sẽ tiến hành đẩy ngược lại lưu lượng tấn công tại các router. Công
việc này thường tốn rất nhiều thời gian. Ví dụ khi nạn nhân phát hiện ra cuộc tấn công,
một thông điệp sẽ được gửi đến các upstream router của nạn nhân. Thông điệp bao
gồm đích của lưu lượng tấn công, và 1 yêu cầu để lọc lưu lượng tấn công này. Tuy
nhiên, việc gửi thông điệp này trong thời gian ngắn nhất có thể là vô cùng quan trọng
để ngăn chặn tấn công DDos. Bởi vậy, cần có một cơ chế phát hiện thật nhanh để gửi
thông điệp trong giai đoạn tấn công.

- -
2.3.2 Một số thuật toán phát hiện DDos
Thực tế đã chứng minh, khi các cuộc tấn công DDos xảy ra. Lập tức phân tích sẽ
thấy được lưu lượng mạng rất khác thường. Do đó hầu hết các thuật toán phân tích
phát hiện tấn công DDos hiện nay đều dựa trên tính khác thường của lưu lượng mạng.
Một số các công nghệ thống kê được áp dụng để tiến hành phân tích, thống kê những
lưu lượng tải làm việc để phát hiện. Từ những kỹ thuật phân tích này, sẽ có những
thuật toán phát hiện để đưa ra các tham số hoặc công nghệ thống kê, các mức độ nguy
hiểm của cuộc tấn công.
- Thông số kiểm tra: Thông số kiểm tra được dùng để
phân loại các thuật toán như số lượng lớn lưu lượng, số địa chỉ IP
mới hoặc tỷ lệ các gói tin đến và đi trong mạng.
- Công nghệ thống kê: Sử dụng các thuật toán thống
kê để phân tích mạng. Ví dụ như ngưỡng giới han phù hợp, phát
hiện điểm thay đổi và phân tích wavelet.
- Mức độ phân tích: Khi phân tích các chi tiết các
thông số, các mức độ nguy hiểm sẽ được gán.
Sau đây, tôi sẽ giới thiệu tổng quan về các thuật toán phát hiện DDos hiện nay .
Nếu muốn tìm hiểu kỹ hơn về các thuật toán nêu ở dưới thì có thể tham khảo trong [4]
phần tài liệu tham khảo.

- -
2.3.2.1 Số lượng lớn lưu lượng
- Thuật toán Adaptive Threshold (ngưỡng giới hạn khả năng đáp ứng)
Thuật toán này nói chung khá đơn giản và dễ hiểu. Thuật toán phát hiện sự không
bình thường dựa trên sự vị phạm của một ngưỡng khả năng đáp ứng của lưu lượng
mạng trong thời gian gần. Thuật toán đặc biệt có khả năng phát hiện cao nhất khi kẻ
tấn công tiến hành một cuôc tấn công TCP SYN. Thuật toán tin tưởng vào việc kiểm
tra phép đo lưu lượng có vượt qua một ngưỡng giới hạn cụ thể hay không. Nếu vượt
qua, chứng tỏ đã có một cuộc tấn công xảy ra.
- Thuật toán CUSUM (tổng tích lũy)
Thuật toán tổng tích lũy dựa trên giá trị trung bình của một quá trình xử lý thống
kê. Sự phát hiện điểm thay đổi cần phải theo dõi trong các khoảng thời gian. Một công
thức được xây dựng để theo dõi sự thay đổi này, khi vượt qua một ngưỡng giới hạn
chứng tỏ đã xảy ra một cuộc tấn công.
2.3.2.2 Source IP Address Monitoring (theo dõi địa chỉ IP nguồn)
Thuật toán Source IP Address Monitoring (SIM) dựa trên việc theo dõi và đánh
giá các địa chỉ IP mới. Thuật toán được chia làm 2 phần. Đó là off-line training và
detection and learning. Trong phần off-line training, thuật toán sẽ tiến hành theo dõi,
đánh giá phân tích các địa chỉ IP trong khoảng thời gian và đưa các địa chỉ IP vào
trong IP address database (IAD). Những địa chỉ trong IAD được gọi là các địa chỉ
thường xuyên truy cập. IAD xóa những IP hết hạn để giảm thiểu bộ nhớ cho hệ thống
và cập nhật những đia chỉ IP mới. IAD được xây dựng và cập nhật off-line để chắc
chắn rằng trong IAD không bao gồm bất cứ địa chỉ tấn công nào. Còn trong phần
detection and learning, SIM tiến hành thống kê những lưu lượng đến trong các khoảng
thời gian. So khớp các địa chỉ IP đến trong IAD để tìm ra những IP mới. Phân tích
những IP mới này, có một hàm để đánh giá các IP mới (sử dụng thuật toán CUSUM).
Khi sự thay đổi vượt qua ngưỡng giới hạn chứng tỏ đã có một cuộc tấn công xảy ra.

- -
2.3.2.3 Ratio of Input/Output Traffic (tỷ lệ lưu lượng đến và đi)
Thuật toán dựa trên giả định rằng trong quá trình hoạt động bình thường trên
internet, các gói tin theo hướng ra ngoài internet sẽ tỷ lệ thuận với các gói tin theo
hướng ngược lại. Nếu tỷ lệ này quá lớn chứng tỏ đã có sự tấn công từ bên ngoài.

- -
Chương 3: XÂY DỰNG HỆ THỐNG PHÁT HIỆN NGĂN CHẶN
DDOS TỰ ĐỘNG
Trong chương này tôi sẽ nêu chi tiết về cách xây dựng hệ thống phát hiện DDos.
Thuật toán sử dụng trong hệ thống là thuật toán (SIM) được nói ở trên.
3.1 Cơ chế kiểm tra địa chỉ nguồn
Cơ chế kiểm tra địa chỉ nguồn là việc lưu các địa chỉ IP thường xuyên truy cập
vào server trong một cơ sở dữ liệu. Khi có một cuộc tấn công xảy ra ta sẽ tiến hành so
sánh các địa chỉ IP trong thời gian tấn công với các IP trong cơ sở dữ liệu (IP Address
Database) để phát hiện ra các IP mới.
Về cơ bản, cơ chế yêu cầu chúng ta xây dựng quy tắc để phân biệt các IP hợp lệ
với các IP tấn công. Công việc này sẽ được tiến hành bằng cách kiểm tra các gói tin
đến với các IP trong IAD.
3.1.1 IP Address Database (IAD)
Đầu tiên định nghĩa lưu lượng của một đia chỉ IP là IP flow.
Si={si1, si2,….., sin} là tập hợp các địa chỉ IP hợp lệ truy cập trong ngày i. |Si|=ni.
Fk={f1, f2,…, fm} là tập hợp các địa chỉ IP truy cập từ ngày 1 đến ngày k. |Fk|=m.
A={a1,a2,a3,…,ax} là tập hợp các địa chỉ IP truy cập trong một cuộc tấn công
DDos
Như vậy sẽ có một nhóm các địa chỉ IP thường xuyên truy cập một các đều đặn.
Khi một cuộc tấn công DDos sử dụng địa chỉ IP bất kì (random IP address), lưu lượng
theo dõi trong k ngày như sau:
k
|S1  S2  S3 …  Sk| <  ni <<|A|
i=1

Hiên nhiên, Fk  (S1  S2  S3 ….  Sk).


Tiến hành thống kê và xây dựng một ngưỡng giới hạn để quyết định mức độ
thường xuyên trong tập F.
Pnormal= |F  Sj| /|Sj|: tỷ lệ phần trăm của một IP flow bình thường trong ngày j
(j>k)
PDDos = |F  A|/|A|: tỷ lệ phần trăm của một IP flow tấn công.

- -
Định nghĩa IP address database (IAD) là tập hợp các địa chỉ IP đã xuất hiện
thường xuyên trong một khoảng thời gian (có thể là 1 tháng).
Trong IAD, xây dựng 2 quy tắc để quyết định mức độ truy cập thường xuyên của
một địa chỉ IP.
+ Thứ nhất: Số ngày nó đã truy cập
p1(d): tập hợp duy nhất các địa chỉ IP đã truy cập trong ít nhất d ngày.
f1(d): tỷ lệ phần trăm lưu lượng tốt khi sử dụng p1(d) trong IAD.
+ Thứ hai: số gói tin trên địa chỉ IP
p2(u): tập hợp duy nhất các địa chỉ IP có ít nhất u gói tin.
f2(u): tỷ lệ phần trăm lưu lượng tốt khi sử dụng p2(u) trong IAD
Như vậy nếu |p1(d)| và |p2(u)| nhỏ sẽ giảm được bộ nhớ yêu cầu để duy trì IAD, |
f1(d)| và |f2(u)| lớn sẽ có nhiều địa chỉ IP trong cở sở dữ liệu.
Trong thuật toán trên, có hai tham số được đưa ra. Đó là số ngày (d) và số gói tin
trên địa chỉ IP (u). Hai tham số trên có thể được tùy chỉnh trong các điều kiện mạng
khác nhau. Việc kết hợp hai quy tắc trên sẽ làm cho IAD hiệu quả hơn rất nhiều
Fc=p1(d)  p2(u)
Như vậy các địa chỉ IP thuộc tập Fc sẽ được lưu vào IAD
3.1.2 Duy trì và hoạt động của IAD
Khi lưu lượng mạng ở mức bình thường, tính toán các địa chỉ IP trong các gói tin
đến và cập nhật vào IAD. Tiến hành xóa các địa chỉ IP hết hạn trong IAD với mục đích
không làm IAD quá lớn. Việc xóa các địa chỉ IP có thể đặt trong thời gian là 2 tuần.
Các địa chỉ IP trong IAD đều gồm 2 trường. Đó là IP address và timestamp. Khi thêm
một địa chỉ IP vào trong IAD bắt đầu tính thời gian trong trường timestamp. Và sau
một khoảng thời gian (2 tuần) địa chỉ này sẽ bị xóa khỏi IAD.
Tham khảo thêm kỹ thuật xây dựng IAD trong [2]

- -
3.2 Kỹ thuật phát hiện tấn công DDos theo thuật toán CUSUM
Trong giai đoạn này, tiến hành phân tích thống kê các lưu lượng đến giữa hai
khoảng thời gian là  n. Với kỹ thuật phát hiện tấn công này, một bảng băm sẽ được
sử dụng để ghi lại các địa chỉ IP xuất hiện giữa hai khoảng thời gian. Trong bảng băm
nay sẽ gồm 2 trường: IP address và timestamp. So sánh các trường này với các trường
trong IAD để có thể tính toán có bao nhiêu địa chỉ IP mới đã xuất hiện trong các khe
thời gian. Phân tích các địa chỉ IP mới này cho biết khi nào cuộc tấn công DDos xảy
ra.
Trước tiên lựa chọn các địa chỉ IP trong mỗi khoảng thời gian  n (n=1,2,3,4…).
Sau đó gán  1=  2=….=  n.
Gọi Tn là tập các địa chỉ IP vừa thiết lập và Dn là các địa chỉ IP trong IAD tại thời
điểm  n. |Tn-Tn  Dn| sẽ là tập các địa chỉ IP mới trong khoảng thời gian  n.
Ta có Xn=|Tn-T  Dn|/Tn: tỷ lệ phần trăm địa chỉ IP mới trên tổng số các địa chỉ IP
trong khoảng thời gian  n.
Đặt Z={Zn,n=1,2,3…} sao cho Zn=Xn-  . Với a=  - 
a là giá trị trung bình của {Zn} trong quá trình lưu lượng mạng bình thường
 là giá trị trung bình của {Xn} trong quá trình lưu lượng bình thường
Do đó, khi lưu lượng mạng bình thường tất cả các giá trị của Zn đều âm
Khi có một cuộc tấn công xảy ra, giá trị của Z n sẽ đột nhiên tăng và có giá trị
dương. Lúc này h+a>0, h chính là giá trị trung bình tăng nhỏ nhất trong suốt cuộc tấn
công.
Thuật toán CUSUM sẽ tiến hành tổng hợp Zn và được thiết lập bởi công thức sau:
yn=(yn-1 + Zn)+ và y0=0

Với x+ = x nếu x > 0 và x+ = 0 nếu x <= 0


Trong đó n >= k. Trường hợp không bị tấn công giá trị của yn-1+Zn âm.
Hàm quyết định có cuộc tấn công hay không được định nghĩa như sau:
dN(yn) = 0 nếu yn<= N và dN(yn) = 1 nếu yn > N

Ở đây N là ngưỡng giới hạn cho sự phát hiện tấn công. d N(yn) là hàm quyết định
phát hiện trong thời gian  n.
Ta có công thức:

- -
 N =(  N - m)+/N (1)

 1
N ->  = h | a | (2)

Ở đây  N là thời gian phát hiện,  N là điểm thay đổi. Trong đó m là thời điểm
bắt đầu cuộc tấn công. Để thuật toán CUSUM tối ưu nhất, chọn h=2|a|. Theo nghiên
cứu thuật toán CUSUM có thể chọn |a|=0.05
Trong công thức (1) chọn vị trí nhỏ nhất khi cuộc tấn công bắt đầu. Do vậy 
N=m+1.

Vì vậy từ (1) và (2) hoàn toàn có thể tính được giá trị của ngưỡng N.
Dưới đây là lược đồ minh họa đã được thí nghiệm trong bài báo “Detecting
Distrubuted Denial of Service Attacks Using Source Address Monitoring”[1]

Hình 3: Tỷ lệ phần trăm new IP với  n=10s

- -
Hình 4: Thuật toán CUSUM khí luu lượng mạng bình thường

Hình 5: Tấn công với 200 địa chỉ IP mới

- -
Chương 4: PHÁT TRIỂN HOÀN THIỆN GIAO THỨC LAN TỎA
NGƯỢC

Giao thức lan tỏa ngược được nghiên cứu bởi nhóm của anh Hoàng Văn Quân
(K49CB) với sự hướng dẫn của thầy Đoàn Minh Phương. Tham khảo tại [5]. Tuy
nhiên do thời gian có hạn, nên việc nghiên cứu giao thức lan tỏa ngược vẫn chưa được
hoàn thiện hoàn toàn. Do vậy trong khóa luận này, tôi sẽ hoàn thiện những chức năng
còn thiếu của lan tỏa ngược.
4.1 Khái niệm
Giao thức lan tỏa ngược là hệ thống phòng thủ chống lại các cuộc tấn công DDos
theo phương án phản ứng lại và kết hợp nhiều vị trí.
Giao thức ‘Lan tỏa ngược’ dựa trên 3 nguyên tắc để ngăn chặn các cuộc tấn công:
+ Sử dụng các bộ lọc trên các router để chặn các gói tin DDos.
+ Dùng cơ chế ‘lan tỏa ngược’ để đẩy nhiệm vụ lọc cho các router gần kẻ tấn
công.
+ Sử dụng một số giải thuật để nâng cao hiệu suất và chống lừa dối
4.2 Cơ chế hoạt động của giao thức lan tỏa ngược
Khi nạn nhân có dấu hiệu của sự tấn công từ chối dịch vụ thì trên gateway của
nạn nhân sẽ bât bộ lọc và lắng nghe các gói tin tấn công đến từ interface nào. Việc bật
bộ lọc sẽ hủy bỏ tất cả các gói tin tấn công còn việc lắng nghe để gửi yêu cầu qua cạc
mạng đó sang router hàng xóm để bật bộ lọc và lắng nghe các router liền kề sau. Công
việc cứ tiếp tục như vậy cho đến gần nguồn tấn công nhất.
Theo cơ hoạt động như trên thì giao thức lan tỏa ngược luôn truyền ngược lại và
do quá trình lắng nghe từ các cạc mạng nên cho dù nguồn tấn công giả mạo địa chỉ IP
thì luôn đến đươc gần nguồn tấn công nhất.

- -
Hình 6: Cơ chế hoạt động của lan tỏa ngược

4.2.1 Khởi động


Khi nạn nhân phát hiện tấn công từ chối dịch vụ tiến hành gửi yêu cầu khởi động
lan tỏa ngược đến gateway (Victim_GW) với tham số là địa chỉ của mình và địa chỉ
của Agent (a.b.c.d).
4.2.2 Bắt đầu
Sau khi nhân được yêu cầu từ nạn nhân. Victim_GW tiến hành bật bộ lọc để ngăn
chặn các gói tin có địa chỉ nguồn là a.b.c.d trong khoảng thời gian tstart.
4.2.3 Kiểm tra giả mạo
Trong giai đoạn này Victim_GW sẽ tiến hành ping đến địa chỉ a.b.c.d để kiểm tra
Agent có giả mạo hay không. Nếu không có thời gian phản hồi chứng tỏ Agent đã giả
mạo địa chỉ IP và chuyển sang “lan tỏa ngược”.
4.2.4 Rút gọn
Đầu tiên, Victim_GW tiến hành tìm kiếm và xác định 2 router gần Agent nhất có
thiết lập cơ chế “lan tỏa ngược”. Cơ chế tìm kiếm tại victim như sau: Victim_GW tiến
hành gửi các gói tin ICMP tới a.b.c.d. Các router trên đường đi tới A_GW sẽ lần lượt
gửi về gói tin ICMP time exceeded. Sau khi nhận được các gói tin trả lời từ các router
trên đường đi, Victim_GW tiến hành kết nối tin cậy với A_GW. Sau đó gửi gửi thông

- -
điệp xác nhận xem router đó có hỗ trợ lan tỏa ngược không. Hai router trả lời sớm nhất
giả sử ở đây là X và Y.
Router X và Y sau khi nhận được yêu cầu xác nhận từ Victim_GW sẽ tiến hành
xác nhận lại Victim_GW. Ở đây có hai trường hợp xảy ra:
Trường hợp thứ nhất nếu Victim có địa chỉ trùng với Victim_GW thì bỏ qua
bước này vì đã xác nhận được chính xác Victim là người yêu cầu.
Trường hợp thứ hai nếu Victim và Victim_GW có địa chỉ khác nhau thì router X
và router Y sẽ kiểm tra Victim_GW có đứng kề trước Victim trên đường đi hay không.
Giải thuật cho cách kiểm tra này là: Router X và Router Y tiến hành ping đến Victim
với tham số TTL là h+1 và h, với h là số hops từ Vimtim_GW đến router tương ứng
Nếu router không nhận được trả lời hợp lệ từ Victim và Victim_GW thì sẽ gửi
thông báo từ chối và ngắt kết nối tới Victim _GW. Giải thuật kết thúc. Nếu tất cả đều
hợp lệ thì routerX, routerY và Victim_GW đã tin tưởng lẫn nhau, kết nối tin cậy để
thực hiện tiếp ngăn chặn.
4.2.5 Ngăn chặn
Sau khi đã kết nối tin cậy với router X và router Y, Victim _GW yêu cầu router Y
đặt bộ lọc trong khoảng thời gian tY và gửi lưu lượng DDos R1 từ a.b.c.d nhận được.
Victim _GW thiết lập kết nối tin cậy với Router X. Yêu cầu đặt file shadowX để
giám sát luồng Ddos từ a.b.c.d trong khoảng thời gian ∆t, sau đó ngắt kết nối với
RouterX.
Nếu trong khoảng thời gian ∆t vẫn thấy có lưu lượng Ddos từ cạc mạng kết nối
với router Y, chứng tỏ router không đặt bộ lọc. Tiến hành đặt bộ lọc với thời gian tlong.
RouterY sau khi đặt FilterY với thời gian t Y, vừa ngăn chặn lưu lượng DDos,
đồng thời sẽ theo dõi lưu lượng gói tin R2 request từ a.b.c.d đến nạn nhân qua mình.
Nếu R1 lớn hơn R2 rất nhiều tức là Agent đã mạo danh địa chỉ a.b.c.d. RouterY
hủy bộ lọc, sau đó gửi R2 cho Victim _GW. Victim _GW nhận được, so sánh với R1
rồi ngắt kết nối với RouterY, thực hiện lan tỏa ngược.
Nếu R1 xấp xỉ bằng R2 có nghĩa a.b.c.d đúng là địa chỉ của Agent đang tấn công,
RouterY thông báo lại với Victim _GW, Victim _GW xác nhận lại rồi ngắt kết nối.
RouterY thực hiện lan tỏa ngược nhưng đóng vai trò của Victim _GW.

- -
Hình 7: Ngăn chặn Ddos
4.2.6 Lan tỏa ngược
Trong quá trình này Victim _GW đặt bộ lọc với thời gian t start, sau đó gửi yêu cầu
thiết lập bộ lọc qua các router hàng xóm với cạc mạng mà nó nhận được gói tin Ddos.
Router hàng xóm sau khi nhận được yêu cầu, lập bộ lọc với thời gian t tmp và tiến
hành gửi yêu cầu thiết lập bộ lọc tới router kề sau.Trong trường hợp nếu router đang
đặt bộ lọc và vẫn nhận được yêu cầu đặt bộ lọc tương tự thì sẽ khởi động lại thời gian
của bộ lọc đã đặt
Trong khoảng thời gian đặt bộ lọc ttmp, router sau khi đã gửi yêu cầu lập bộ lọc tới
các router hàng xóm mà vẫn thấy còn lưu lượng DDos từ phía các router này, tiến hành
gửi 3 lần yêu cầu lập bộ lọc cho router hàng xóm kết nối với cạc mạng đó. Nếu sau 3
lần gửi mà lưu lượng DDos vẫn không giảm thì có nghĩa là router hàng xóm không đặt
bộ lọc, và router này sẽ tự động lập bộ lọc với thời gian tlong. Kết thúc giải thuật.
Sau khi hết thời gian đặt bộ lọc, các router tạo file shadow để giám sát các router
hàng xóm sau nó.Trong khoảng thời gian này mà vẫn thấy có lưu lượng Ddos thì sẽ bật
lại bộ lọc với thời gian tlong.Giải thuật kết thúc.
Khi quá trình lan tỏa ngược đến router gần Agent nhất (A_GW), xảy ra khi IP
của router hàng xóm trùng với IP Agent, router lập bộ lọc có thời gian t long >> ttmp. Giải
thuật kết thúc.

4.3 Hạn chế của giao thức lan tỏa ngược

- -
Thứ nhất việc cài đặt giao thức lan tỏa ngược quá phức tạp. Phải cài đặt giao thức
trên từng router. Do đó trong thực tế việc này khó có thể làm được.
Thứ hai nếu kẻ tấn công có cơ chế giả mạo IP, thì ứng với mỗi 1 IP, A_GW sẽ
phải tạo 1 bộ lọc khác nhau
4.4 Phát triển giao thức lan tỏa ngược
Như trong phần nghiên cứu của nhóm anh Hoàng Văn Quân đã triển khai và thực
thi được giao thức lan tỏa ngược. Nhưng phần rút gọn và chống lừa dối vẫn chưa được
triển khai. Trong phần phát triển giao thức lan tỏa ngược này tôi sẽ phát triển thêm
phần chống lừa dối còn phần rút gọn được anh Nguyễn Thế Hùng cùng nhóm nghiên
cứu về lan tỏa ngược này triển khai
4.4.1 Chống lừa dối
Kẻ tấn công có thể chiếm quyền một router trên đường đi và không đặt filter như
yêu cầu của router kề trước nó.
Kẻ tấn công có thể điều khiển Agent_GW giả vờ đặt bộ lọc trong một thời gian
tcheat và tcheat<tlong (tlong là thời gian đặt bộ lọc ban đầu). Khi Victim_GW ngắt kết nối thì
sẽ tiến hành tấn công tiếp
4.4.2 Giải pháp
Trong khi gửi yêu cầu lan tỏa ngược đến Agent_GW thì lúc này ở Agent tiến
hành bật chương trình kiểm tra Agent_GW có đặt đúng với thời gian quy định hay
không. Nếu trong thời gian đặt bộ lọc đã được thiết lập từ trước vẫn thấy có lưu lượng
mạng từ kẻ tấn công thì tiến hành bật bộ lọc ngay tại Agent. Do vậy việc giả mạo sẽ
được giải quyết hoàn toàn

4.4.3 Giải thuật


Sau khi nhận được xâu client gửi tới LTN_Server, tiến hành lấy địa chỉ IP server
và gửi xâu client cho router hàng xóm. Nếu thấy router hàng xóm không hỗ trợ lan tỏa
ngược và có giả mạo IP thì đặt bộ lọc ngay. Còn không tiến hành gửi xâu client tới
server. Kiểm tra liên tục file /var/log/message, trong khi đó sẽ giảm dần thời gian mà
thời gian cần đặt bộ lọc lúc đầu. Quá trình kiểm tra file log được grep với IP nguồn và
IP đích. Tiến hành kiểm tra số sequence number.

- -
Nếu thấy số sequence number này khác với số sequence number cuối cùng khi bộ
lọc đã được đặt tại router gần Agent thì chứng tỏ đã có gói tin từ Agent truyền qua.
Router hàng xóm đã bị kẻ tấn công chiếm quyền và đặt bộ lọc với thời gian ngắn hơn
hoặc có thể giả vờ đặt bộ lọc. Đặt bộ lọc ngay với thời gian đặt là thời gian còn lại
4.4.4 Triển khai
Do việc cài đặt và triển khai giao thức lan tỏa ngược đã thành công. Nên trong
khóa luận này tôi vẫn sử dụng mô hình được triển khai và thêm chức năng chống lừa
dối.Mô hình triển khai như sau:

Hình 8: Mô hình triển khai chống lừa dối


Giả sử máy C9 và C10 (Agent) cùng ping đến địa chỉ của S1 (nạn nhân). Theo
giao thức lan tỏa ngược ta tiến hành đặt bộ lọc ở R5 (gần nguồn tấn công nhất). Giả sử,
cấu hình lại việc đặt bộ lọc tại R5 với thời gian tcheat, tcheat<tlong (tcheat=20s, tlong=40s). Lúc
này theo cơ chế chống lừa dối, tại R3 sau khi truyền lan tỏa ngược đến R5 sẽ bật chế
độ kiểm tra thời gian đặt bộ lọc tại R5. Sau khi hết thời gian t cheat. R5 tiến hành hủy bỏ
bộ lọc và cho gói tin truyền qua. Lúc này tại R3 bắt đầu thấy gói tin từ C9 và C10
truyền qua, và thời gian yêu cầu đặt bộ lọc vẫn còn. R3 lập tức đặt bộ lọc với thời gian

- -
tlong-tcheat (20s) để chặn các gói tin từ C9 và C10. Như vậy việc chống lừa dối hoàn toàn
được giải quyết. Cơ chế kiểm tra ở R3 được thể hiện như sau

Hình 9: Kết quả thực nghiệm chống lừa dối

- -
Chương 5: TRIỂN KHAI HỆ THỐNG PHÁT HIỆN NGĂN CHẶN TỰ
ĐỘNG KẾT HỢP GIAO THỨC LAN TỎA NGƯỢC

5.1 Đánh giá hiệu quả của hệ thống


Do DDos là một cuộc tấn công rất nguy hiểm và có tính chất phân tán. Trong
thực tế một cuộc tấn công DDos có thể lên tới hàng nghìn host bị động tấn công nạn
nhân. Bởi vậy việc ngăn chặn hoàn toàn một cuộc tấn công DDos là vô cùng khó.
Hệ thống phát hiện và tự động ngăn chặn được thiết kế đặt ở nạn nhân. Do cơ chế
của giao thức lan tỏa ngược là đẩy lùi đến gần nguồn tấn công nhất. Việc kết hợp hai
phương pháp này sẽ có hiệu quả tương đối cao.
Những ưu điểm của hệ thống:
- Tự động cảnh báo khi phát hiện có cuộc tấn công
DDos
- Chặn tự động những địa chỉ IP mới khi có cuộc tấn
công
- Chặn được khi có giả mạo địa chỉ IP
- Hệ thống vẫn hoạt động khi router hàng xóm không
hỗ trợ lan tỏa ngược
Tuy nhiên bên cạnh đó hệ thống còn rất nhiều nhược điểm. Thứ nhất giao thức
lan tỏa ngược khá phức tạp và phải cài đặt trên các router. Thứ hai hệ thống ngăn chặn
tự động sẽ chặn những địa chỉ IP mới. Chính vì thế có thể chặn nhầm những địa chỉ IP
không thường xuyên lui tới nhưng tỷ lệ này sẽ rất thấp do kỹ thuật xây dựng IAD đã
trình bày.
Một vấn đề nữa, do đây là hệ thống tự động ngăn chặn nên tôi sẽ để giao thức
trong lan tỏa ngược với tham số là “all”. Còn về thời gian sẽ thiết lập một tham số cố
định

- -
5.2 Cơ chế hoạt động
Hệ thống sẽ liên tục theo dõi các gói tin đến trên các cạc mạng. Với thời gian
theo dõi khoảng 2 tuần. Hệ thống sẽ tiến hành phân tích và lưu nhưng địa chỉ IP
thường xuyên truy cập với điều kiện đã nói khi xây dựng IAD. Sau đó tiến hành cập
nhật những gói tin đến vào IAD và xóa những gói tin đã hết hạn.
Khi IAD đã được thiết lập, hệ thống liên tục theo dõi và phân tích những địa chỉ
IP mới. Trong hệ thống này tôi sử dụng phần mềm IPTraf để tiến hành bắt gói tin.
IPTraf là công cụ dùng để giám sát mạng, nó chặn các gói tin trên mạng và báo cáo về
tình hình sử dụng mạng. Cụ thể trong hệ thống này. Trong quá trình xây dựng IAD,
việc phân tích file log hoàn toàn offline để không bị ảnh hưởng bởi các gói tin khi bị
tấn công. Theo dõi mạng liên tục mọi ngày để thống kê được các thông số khi lưu
lượng mạng bình thường. Khi đã có các thông số khi lưu lượng mạng bình thường tiến
hành bắt gói tin liên tục trong một phút để theo dõi và ghi những gói tin đã bắt được
này vào trong file log. Phân tích các gói tin đã ghi được trong thời gian 1 phút. Theo
cơ chế phát hiện ở trên, sử dụng  n=1s. Tính toán các IP mới để biết được hệ thống
có bị tấn công hay không.
Khi phát hiện bị tấn công sẽ tiến hành chặn những địa chỉ IP mới (theo giao thức
lan tỏa ngược). Bởi vậy trong quá trình tấn công, những gói tin thường xuyên truy cập
sẽ hoạt động bình thường và những gói tin tấn công sẽ bị chặn.
5.3 Triển khai hệ thống
Do đây mới là mô hình thí nghiệm nên việc triển khai cũng ở quy mô đơn giản.
Việc trình bày về kỹ thuật phát hiện khá chi tiết ở trên nên việc triển khai cũng không
quá khó khăn.
Tiến hành thiết lập mô hình mạng như sau

- -
Hình 10: Sơ đồ hệ thống
Server S1 là nạn nhân
R2 là gateway của nạn nhân
R3, R4 là router lõi
R5, R6, R7, R8 là các router gateway tương ứng của các router R3, R4
C9, C10, C11, C12, C13, C14, C15, C16 là các máy truy xuất đến nạn nhân
Do việc xác định các IP thường xuyên truy cập cần thời gian khá dài nên ở mô
hình này sẽ thiết lập thông số thời gian là 5 phút. Hệ thống sẽ bắt các gói tin trong thời
gian trên. Như đã nói, sử dụng phần mềm IPTraf để bắt gói tin

- -
Hình 11: Phần mềm bắt gói tin IPTraf
Từ các máy C9, C10, C11, C12 ping đến S1 trong khoảng thời gian trên. Sau 5
phút, hệ thống lưu lại các địa chỉ 172.16.6.2, 172.16.6.3, 172.16.7.2, 172.16.7.3 vào
IAD

- -
Hình 12: Xây dựng IAD
Giả sử khi ping từ máy C13 đến S1 là lúc lưu lượng mạng bình thường. Hệ thống
tính toán và xác định được giá trị  (giá trị trung bình của {Xn} khi lưu lượng mạng
bình thường). Do đó tại thời điểm này, toàn bộ các giá trị của Y đều bằng 0.

- -
Hình 13: Giá trị của Y khi lưu lượng mạng bình thường
Từ các máy C14, C15, C16 ping đến S1. Lúc này các máy C9, C10, C11, C12
vẫn ping bình thường đến S1. Hệ thống ở S1 phát hiện bị tấn công, tất nhiên các giá trị
của Y tăng lên rất nhanh và vượt qua giới hạn cho phép (N=0.05).

- -
Hình 14: Giá trị của Y khi có cuộc tấn công
Sau đó hệ thống tiến hành chặn địa chỉ IP của C14, C15, C16 do đây là các IP
mới bằng giao thức lan tỏa ngược. Các máy C9, C10, C11, C12 vẫn ping được bình
thường do đây là các IP thường xuyên truy cập.

- -
Hình 15: Chặn các IP mới bằng giao thức lan tỏa ngược
Việc phát hiện và ngăn chặn của hệ thống có hiệu quả khá cao.

5.4 Kết luận


Như vậy trong luận văn này tôi đã giới thiệu tổng quan và phận loại các cuộc tấn
công Ddos hiện nay. Bên cạnh đó tôi cũng đã giới thiệu qua về các thuật toán phát hiện
Ddos được sử dụng phổ biển trên thế giới. Những thuật toán này có thể giúp phát triển
những hệ thống dựa trên những nền tảng đã có. Như trong luận văn này, tôi đã sử dụng
thuật toán CUSUM để phát hiện dấu hiệu của cuộc tấn công Ddos. Việc phát hiện
chính xác đồng thời kết hợp với giao thức lan tỏa ngược đã làm cho hệ thống trở nên
hoàn thiện hơn rất nhiều. Do giao thức lan tỏa ngược phiên bản đầu tiên vẫn còn thiếu
một số chức năng nên trong luận văn đã tiến hành bổ xung các chức năng còn thiếu
trong giao thức “lan tỏa ngược”. Lan tỏa ngược là một giao thức khá mạnh, có thể
ngăn chặn ngay cả khi Agent giả mạo đia chỉ IP. Việc đặt bộ lọc ở gần nguồn tấn công
nhất của giao thức lan tỏa ngược là phương pháp tối ưu nhất trong các giao thức ngăn
chặn Ddos hiện nay.
Tuy nhiên do thời gian có hạn nên hệ thống còn khá nhiều vấn đề chưa được giải
quyết. Ví dụ như: có thể tính các địa chỉ IP mới một cách chi tiết hơn nữa để hạn chế
tối đa việc chặn nhầm và việc tự động chạy giao thức lan tỏa ngược trên các router….

- -
Hy vọng trong một tương lai không xa hệ thống sẽ được phát triển và hoàn thiện
hơn để có thể ứng dụng trong thực tế.

- -
Tài liệu tham khảo
[1] T. Peng, C. Leckie, and K. Ramamohanarao. (2003) Detecting distributed
denial of service attacks using source ip address monitoring
[2] Tao Peng Christopher Leckie Kotagiri Ramamohanarao: Protection from
Distributed Denial of Service Attack Using History-based IP Filtering
[3] B. E. Brodsky and B. S. Darkhovsky. Nonparametric Methods in Change-point
Problems. Kluwer Academic Publishers, 1993.
[4] Mbabazi Ruth Reg. No. 2005/HD18/4029U B.Sc Elec (Mak): Victim-based
defense against IP packet flooding denial of service attacks
[5] Hoàng văn Quân : Ngăn chặn Ddos bằng giao thức “lan tỏa ngược”

- -

You might also like