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

Phát hiện và phòng chống một số dạng tấn công từ chối dịch vụ phân tán

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

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

Trần Mạnh Thắng

PHÁT HIỆN VÀ PHÒNG CHỐNG MỘT SỐ DẠNG TẤN CÔNG
TỪ CHỐI DỊCH VỤ PHÂN TÁN

Ngành: Kỹ thuật phần mềm
Mã số: 9480103

LUẬN ÁN TIẾN SĨ KỸ THUẬT PHẦN MỀM

NGƯỜI HƯỚNG DẪN KHOA HỌC:
1. PGS.TS. Nguyễn Khanh Văn
2. PGS.TS. Nguyễn Linh Giang

Hà Nội - 2019


LỜI CAM ĐOAN
Tôi xin cam đoan tất cả các nội dung trong luận án “Phát hiện và phòng chống một số dạng tấn
công từ chối dịch vụ phân tán” là công trình nghiên cứu của riêng tôi dưới sự hướng dẫn của
tập thể hướng dẫn. Các số liệu, kết quả trong luận án là trung thực và chưa từng được tác giả
khác công bố trong bất kỳ công trình nào. Việc tham khảo các nguồn tài liệu đã được thực hiện
trích dẫn và ghi nguồn tài liệu tham khảo quy định.
Hà Nội, ngày 11 tháng 3 năm 2019

Tập thể hướng dẫn

PGS.TS Nguyễn Khanh Văn



Nghiên cứu sinh

PGS.TS Nguyễn Linh Giang

i

Trần Mạnh Thắng


LỜI CẢM ƠN
Trước hết, tôi xin trân trọng cảm ơn Trường Đại học Bách Khoa Hà Nội, Phòng Đào tạo, Viện
Công nghệ thông tin và Truyền thông, các thầy cô cùng các bạn đã tạo điều kiện thuận lợi và
đóng góp nhiều ý kiến quý báu giúp tôi hoàn thành bản luận án này.
Đặc biệt, tôi xin bày tỏ lòng biết ơn chân thành và sâu sắc đến hai Thầy hướng dẫn khoa học,
PGS.TS. Nguyễn Khanh Văn và PGS.TS. Nguyễn Linh Giang đã hết lòng hướng dẫn, giúp đỡ
và tạo mọi điều kiện thuận lợi cho tôi trong suốt quá trình thực hiện Luận án.
Tôi xin cảm ơn gia đình và người thân đã luôn bên tôi, ủng hộ và động viên tôi trong suốt quá
trình nghiên cứu.
Tôi xin chân thành cảm ơn!
Hà Nội, ngày 11 tháng 3 năm 2019
Nghiên cứu sinh

Trần Mạnh Thắng

ii


MỤC LỤC
LỜI CAM ĐOAN ................................................................................................................... i

MỤC LỤC ............................................................................................................................. ii
MỞ ĐẦU ............................................................................................................................... 1
1. Tính cấp thiết của đề tài ................................................................................................. 1
2. Đối tượng nghiên cứu và phương pháp nghiên cứu ........................................................ 2
3. Nội dung nghiên cứu ..................................................................................................... 3
4. Ý nghĩa khoa học và ý nghĩa thực tiễn của luận án ......................................................... 6
5. Điểm mới của luận án .................................................................................................... 7
6. Cấu trúc của luận án ...................................................................................................... 7
CHƯƠNG 1. TỔNG QUAN VỀ TẤN CÔNG VÀ PHÒNG CHỐNG TẤN CÔNG DDOS .... 9
1.1. Tổng quan về tấn công từ chối dịch vụ phân tán DDoS.................................................... 9
1.2. Các dạng tấn công DDoS phổ biến ................................................................................ 11
1.2.1. Tấn công DDoS ở lớp mạng ................................................................................... 11
1.2.2. Tấn công DDoS vào lớp ứng dụng ......................................................................... 12
1.3. Các công cụ tấn công DDoS phổ biến............................................................................ 13
1.3.1. IRC-based .............................................................................................................. 14
1.3.2. Web-based ............................................................................................................. 14
1.4. Những thách thức trong việc phát hiện và phòng chống tấn công DDoS ........................ 15
1.5. Tổng quan về các phương pháp phòng chống tấn công DDoS........................................ 16
1.5.1. Nhóm phương pháp phòng chống tấn công lớp mạng ............................................. 18
1.5.1.1. Nhóm phương pháp áp dụng ở gần nguồn tấn công......................................... 18
1.5.1.2. Nhóm phương pháp áp dụng ở phía đối tượng được bảo vệ ............................ 18
1.5.1.3. Nhóm phương pháp áp dụng ở hạ tầng mạng trung gian ................................. 19
1.5.1.4. Nhóm phương pháp kết hợp ........................................................................... 19
1.5.2. Nhóm phương pháp phòng chống tấn công lớp ứng dụng ....................................... 19
1.5.2.1. Nhóm phương pháp áp dụng ở phía đối tượng được bảo vệ ............................ 20
1.5.2.2. Nhóm phương pháp kết hợp ........................................................................... 20
1.5.3. Nhóm các phương pháp theo giai đoạn phòng chống .............................................. 20
1.5.3.1. Giai đoạn phòng thủ ....................................................................................... 20
1.5.3.2. Giai đoạn phát hiện tấn công .......................................................................... 21
iii



1.5.3.3. Giai đoạn xử lý tấn công. ................................................................................ 21
1.5.4. Phân tích lựa chọn phương pháp theo vị trí triển khai ............................................. 22
1.5.5. Các nghiên cứu liên quan đến phòng chống tấn công TCP Syn Flood..................... 23
1.5.6. Các nghiên cứu liên quan đến phòng chống tấn công Web App-DDoS ................... 26
1.6. Nghiên cứu tiêu chí đánh giá hiệu quả phương pháp ...................................................... 27
1.7. Nghiên cứu, khảo sát về đánh giá thực nghiệm .............................................................. 28
1.7.1. Khảo sát các tập dữ liệu đánh giá thực nghiệm ....................................................... 29
1.7.2. Đánh giá thực nghiệm với tấn công TCP Syn Flood và Web App-DDoS ................ 31
1.8. Kết luận chương 1 ......................................................................................................... 33
CHƯƠNG 2. PHÁT HIỆN VÀ PHÒNG CHỐNG TẤN CÔNG TCP SYN FLOOD ............ 34
2.1. Giới thiệu bài toán ......................................................................................................... 34
2.1.1. Tổng quan về nội dung nghiên cứu trong chương 2 ................................................ 34
2.1.2. Về hạn chế và phạm vi ứng dụng của phương pháp giải quyết ................................ 36
2.2. Tổng quan về dạng tấn công TCP Syn Flood ................................................................. 37
2.3. Mô hình triển khai phương pháp phát hiện và phòng chống tấn công TCP Syn Flood .... 38
2.3.1. Mô hình tổng thể và các thành phần cơ bản ............................................................ 39
2.3.2. Nguyên lý hoạt động cơ bản ................................................................................... 40
2.4. Phát hiện tấn công TCP Syn Flood ................................................................................ 41
2.5. Phát hiện và loại bỏ các gói tin giả mạo trong tấn công DDoS TCP Syn Flood .............. 43
2.5.1. Đặc trưng của các gói tin IP được gửi đi từ cùng một máy nguồn ........................... 43
2.5.2. Kiểm chứng giả thuyết về tính chất tăng dần của giá trị PID .................................. 44
2.5.2.1. Kiểm chứng giả thuyết PID dựa trên quan sát ngẫu nhiên ............................... 45
2.5.2.2 Kiểm chứng giả thuyết PID trên toàn bộ tập dữ liệu thu được .......................... 46
2.5.3. Giải pháp phát hiện và loại bỏ các gói tin giả mạo PIDAD1 ................................... 46
2.5.3.1. Thuật toán DBSCAN ...................................................................................... 47
2.5.3.2. Giải pháp PIDAD1 ......................................................................................... 48
2.5.4. Giải pháp phát hiện và loại bỏ các gói tin giả mạo PIDAD2 ................................... 51
2.5.4.1. Cơ chế thuật toán lọc bỏ nhanh gói tin giả mạo ............................................... 52

2.5.4.2. Phân tích đánh giá về giải pháp PIDAD2 trên góc độ lý thuyết ....................... 55
2.5.4.3. Tăng tốc độ xử lý của giải pháp PIDAD2 với thuật toán Bloom Filter ............ 57
2.5.5. Phương pháp xác thực địa chỉ IP nguồn ................................................................. 58
2.6. Đánh giá thực nghiệm ................................................................................................... 60
iv


2.6.1. Xây dựng mô hình và dữ liệu đánh giá thực nghiệm ............................................... 60
2.6.2. Đánh giá thực nghiệm cho giải pháp PIDAD1 và PIDAD2 .................................... 63
2.6.2.1. Giải pháp PIDAD1 ......................................................................................... 63
2.6.2.2. Giải pháp PIDAD2 ......................................................................................... 64
2.6.2.3. So sánh hiệu quả của giải pháp PIDAD1 và PIDAD2 ..................................... 64
2.6.3. So sánh hiệu quả của giải pháp PIDAD2 với các giải pháp khác............................. 66
2.7. Kết luận chương 2 ......................................................................................................... 68
CHƯƠNG 3. PHÁT HIỆN VÀ PHÒNG CHỐNG TẤN CÔNG WEB APP-DDOS ............. 70
3.1. Giới thiệu bài toán ......................................................................................................... 70
3.2. Tổng quan về tấn công Web App-DDoS........................................................................ 71
3.2.1. Ứng dụng Web....................................................................................................... 71
3.2.1.1. Máy chủ Web ................................................................................................. 71
3.2.1.2. Nguyên lý hoạt động ...................................................................................... 71
3.2.1.3. Giao thức HTTP ............................................................................................. 72
3.2.2. Đặc trưng và thách thức trong phòng chống tấn công Web App-DDoS .................. 73
3.1.2.1. Một số đặc trưng của tấn công Web App-DDoS ............................................. 73
3.2.2.2. Vấn đề khó khăn trong phòng, chống tấn công Web App-DDoS ..................... 73
3.3. Mô hình, phương pháp phòng chống tấn công Web App-DDoS..................................... 74
3.3.1. Mô hình tổng thể và các thành phần cơ bản ............................................................ 74
3.3.2. Nguyên lý hoạt động cơ bản ................................................................................... 75
3.4. Phát hiện tấn công Web App-DDoS .............................................................................. 77
3.4.1. Tiêu chí phát hiện tấn công dựa trên tần suất truy nhập .......................................... 78
3.4.2. Tiêu chí phát hiện tấn công dựa vào thời gian truy cập ngẫu nhiên ......................... 78

3.5. Phòng chống tấn công Web App-DDoS sử dụng phương pháp FDDA ..................................... 79
3.5.1. Ý tưởng cơ bản của phương pháp FDDA ............................................................... 80
3.5.2. Các khái niệm sử dụng trong phương pháp FDDA ................................................. 81
3.5.3. Thiết lập tham số đầu vào cho phương pháp FDDA ............................................... 82
3.5.4. Tiêu chí về tần suất truy cập ................................................................................... 82
3.5.4.1. Thiết kế bảng dữ liệu lưu vết truy cập TraTab................................................. 83
3.5.4.2. Thiết lập tham số đầu vào và cơ chế đồng bộ .................................................. 85
3.5.4.3. Thuật toán chi tiết tính tần suất f thời gian thực .............................................. 85
3.5.4.4. Cài đặt thuật toán............................................................................................ 89
v


3.5.4.5. Tìm và loại bỏ nhanh các nguồn gửi yêu cầu tấn công tần suất cao ................. 89
3.5.5. Xây dựng tiêu chí tương quan trong phương pháp FDDA ...................................... 91
3.5.5.1 Xây dựng tập dữ liệu tương quan ..................................................................... 91
3.5.5.2. Thiết kế cấu trúc dữ liệu cho thuật toán .......................................................... 94
3.5.5.3. Phát hiện nguồn gửi tấn công sử dụng tập dữ liệu tương quan ......................... 95
3.5.5. Thuật toán xử lý tấn công của phương pháp FDDA ................................................ 96
3.6. Đánh giá thực nghiệm ................................................................................................... 98
3.6.1. Tạo dữ liệu thử nghiệm .......................................................................................... 98
3.6.4. Đánh giá thử nghiệm phương pháp FDDA ............................................................. 99
3.6.4.1. Kết quả xác định nguồn gửi yêu cầu tấn công theo tiêu chí tần suất ................ 99
3.6.4.2. Kết quả xây dựng tập yêu cầu tương quan..................................................... 100
3.6.4.3. Kết quả đánh giá thử nghiệm phương pháp FDDA ....................................... 100
3.6.5. So sánh hiệu quả của phương pháp FDDA với các phương pháp khác .................. 101
3.7. Kết luận chương 3 ....................................................................................................... 102
KẾT LUẬN VÀ ĐỀ XUẤT ............................................................................................... 103
1. Kết luận ......................................................................................................................... 103
2. Kiến nghị, đề xuất .......................................................................................................... 104
DANH MỤC CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ CỦA LUẬN ÁN ................................ 105

TÀI LIỆU THAM KHẢO .................................................................................................. 106

vi


BẢN DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Các chữ viết tắt
STT
1

Chữ viết tắt
CSDL

Tiếng Anh

Tiếng Việt

Database

Cơ sở dữ liệu

2

AS

Autonomous System

Tập hợp các mạng có cùng chính sách
định tuyến và thường thuộc quyền quản
lý, khai thác của một chủ thể.


3

OSI

Open Systems
Interconnection

Mô hình tham chiếu kết nối các hệ
thống mở

4

DDoS

Distributed Denial of
Service

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

5

DBSCAN

Density-based spatial
clustering of applications
with noise

Thuật toán gom nhóm các phần tử dựa
trên mật độ


6

IP

Internet Protocol

Giao thức Internet

7

ISP

Internet service provider

Nhà cung cấp dịch vụ Internet

8

TCP

Transmission Control
Protocol

Giao thức điều khiển truyền vận

9

TTL


Time to Live

Thời gian sống của gói tin

10

RTT

Round Trip Time

Thời gian trễ trọn vòng

11

MSS

Maximum Segment Size

Chiều dài tối đa kích thước thông tin

12

DF

Do not Fragment

Gói tin không phân mảnh

13


TL

Total length

Chiều dài gói tin

14

FDDA

Framework for Fast
Detecting Source Attack In
Web Application DDoS
Attack

Phương pháp phát hiện nhanh nguồn
gửi yêu cầu tấn công DDoS vào ứng
dụng Web.

15

TL

Internet Relay Chat

Giao thức gửi nhận tin nhắn

16

IoT


Internet of Things

Internet kết nối vạn vật

vii


BẢN DANH MỤC CÁC BẢNG
Bảng 1.1 So sánh hiệu quả của phương pháp phòng chống tấn công lớp mạng .................... 23
Bảng 1.2 So sánh hiệu quả của phương pháp phòng chống tấn công lớp ứng dụng .............. 23
Bảng 1.3 Bảng tiêu chí đánh giá hiệu quả phòng thủ ........................................................... 27
Bảng 1.4 Bảng thông tin về tập các dữ liệu kiểm thử ............................................................ 29
Bảng 2.1 Kiểm chứng giá trị PID trên tập dữ liệu DARPA ................................................... 45
Bảng 2.2 Kiểm chứng giá trị PID trên tập dữ liệu ĐHBK ..................................................... 46
Bảng 2.3 Kiểm chứng tỷ lệ gói tin có giá trị PID tăng dần .................................................... 46
Bảng 2.4 Quy mô tấn công giả định và xác suất lỗi .............................................................. 56
Bảng 2.5 Bảng tham số điểu khiển tấn công ......................................................................... 62
Bảng 2.6 Kết quả thực nghiệm của phương pháp PIDAD1 ................................................... 64
Bảng 2.7 Kết quả thực nghiệm phương pháp PIDAD2 ......................................................... 64
Bảng 3.1 CSLD của thành phần Web App-DDoS Defence ................................................... 76
Bảng 3.2 Bảng cấu trúc lệnh tấn công DDoS lớp ứng dụng .................................................. 98
Bảng 3.3 Bảng thực nghiệm xác định tần suất truy cập ....................................................... 100
Bảng 3.4 Kết quả thực nghiệm của phương pháp FDDA .................................................... 100
Bảng 3.5 Bảng so sánh kết quả thực nghiệm giữa FDDA và KNN,NB ............................... 101

viii


BẢN DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ

Hình 1.1 Thành phần cơ bản của mạng Botnet .................................................................... 10
Hình 1.2 Phân loại phương pháp phòng chống tấn công DDoS ............................................ 17
Hình 2.1 TCP handshakes ................................................................................................... 37
Hình 2.2 Thành phần TCP Syn Flood Defence ..................................................................... 39
Hình 2.3 Mô hình hệ thống phát hiện và xử lý tấn công DDoS Syn Flood ............................ 40
Hình 2.4 Cơ chế giả mạo IP của tin tặc................................................................................. 42
Hình 2.5 Phương pháp xác định tần số xuất hiện gói tin TCP Reset ...................................... 42
Hình 2.6 IP Header ............................................................................................................. 44
Hình 2.7 Thuật toán DBSCAN ............................................................................................ 47
Hình 2.8 Thuật toán PIDAD1 trong Training phase .............................................................. 50
Hình 2.9 Thuật toán của prương pháp PIDAD1 .................................................................... 51
Hình 2.10 Sơ đồ giải pháp PIDAD2 ..................................................................................... 53
Hình 2.11 Thuật toán giải pháp PIDAD2 .............................................................................. 54
Hình 2.12 Hình minh họa thuật toán Bloom filter ................................................................. 57
Hình 2.13 Mô hình xác thực địa chỉ IP nguồn....................................................................... 59
Hình 2.14 Phương pháp xác thực địa chỉ IP nguồn sử dụng Bloom Filter ............................. 59
Hình 2.15 Mô hình hệ thống đánh giá thực nghiệm .............................................................. 61
Hình 2.16 Thành phần hệ thống thực nghiệm trên máy chủ vật lý 01 .................................... 61
Hình 2.17 Thành phần hệ thống thực nghiệm trên máy chủ vật lý 02 .................................... 62
Hình 2.18 Thành phần hệ thống thực nghiệm trên máy chủ vật lý 03 .................................... 62
Hình 2.19 Tỷ lệ phát hiện đúng gói tin giả mạo của giải pháp PIDAD và PIDAD2 ............... 65
Hình 2.20 Thời gian xử lý của giải pháp PIDAD và PIDAD2 ............................................... 65
Hình 2.21 Tỷ lệ True Positive của các giải pháp PIDAD2 và C4.5 ....................................... 67
Hình 2.22 Tỷ lệ False Positive của các giải pháp PIDAD2 và C4.5 ...................................... 67
Hình 2.23 Thời gian xử lý của các giải pháp PIDAD2 và C4.5 ............................................. 68
Hình 3.1 Thành phần phòng chống tấn công Web App-DDoS .............................................. 75
Hình 3.2 Các chức năng trong thành phần Web App-DDoS Defence.................................... 75
Hình 3.3 Mô hình phương pháp phát hiện tấn công Web App-DDoS.................................... 77
Hình 3. 4 Ví dụ về thời điểm gửi yêu cầu tới máy chủ .......................................................... 79
Hình 3.5 Mô hình cơ bản của phương pháp FDDA............................................................... 80

Hình 3.6 Minh họa tần suất gửi yêu cầu từ các srcIP ............................................................ 83
ix


Hình 3.7 Bảng dữ liệu lưu vết truy cập TD ............................................................................ 84
Hình 3.8 Minh họa xử lý bảng vết truy cập........................................................................... 86
Hình 3.9 Minh họa xử lý bảng vết truy cập (tiếp theo) .......................................................... 86
Hình 3.10 Thuật toán tìm tần suất truy cập theo thời gian thực ............................................. 87
Hình 3.11 Tiến trình xử lý Zooming-in ................................................................................ 88
Hình 3.12 Minh họa phạm vi tần suất xác định yêu cầu tấn công .......................................... 90
Hình 3.13 Minh họa về gửi yêu cầu tương quan từ một máy tính.......................................... 91
Hình 3.14 Cấu trúc bảng dữ liệu TR ...................................................................................... 94
Hình 3.15 Cấu trúc bảng dữ liệu TA...................................................................................... 94
Hình 3.16 Thuật toán phát hiện nguồn gửi tấn công sử dụng tập dữ liệu tương quan............. 96
Hình 3.17 Mô hình phương pháp FDDA .............................................................................. 97
Hình 3.18 Thuật toán FDDA ................................................................................................ 98
Hình 3.19 Thời gian xử lý dữ liệu kiểm thử của FDDA ,KNN và NB ................................. 101

x


MỞ ĐẦU
1. Tính cấp thiết của đề tài
Tấn công từ chối dịch vụ (Denial of Service - DoS) là một dạng tấn công mạng nguy hiểm
mà tin tặc thường sử dụng để làm gián đoạn hoạt động của một hệ thống thông tin. Để thực
hiện một cuộc tấn công từ chối dịch vụ hiệu quả, có thể vượt qua sự phòng chống của đối
tượng bị tấn công, tin tặc thường tổ chức cuộc tấn công với sự tham gia đồng thời từ nhiều
máy tính khác nhau; hình thức này thường được gọi là tấn công từ chối dịch vụ phân tán
(Distributed Denial of Service -DDoS).
Trong thời gian vừa qua, với sự phát triển và ứng dụng rộng rãi công nghệ thông tin và truyền

thông, đặc biệt là trong giai đoạn bùng nổ công nghệ 4.0, ngành công nghệ thông tin và
truyền thông đã mang lại nhiều lợi ích to lớn cho cơ quan, tổ chức trong các lĩnh vực chính
trị, kinh tế, xã hội. Tuy nhiên, bên cạnh những lợi ích to lớn ngành công nghệ thông tin và
truyền thông mang lại thì việc này cũng kéo theo các nguy cơ mất an toàn thông tin mà các
cơ quan, tổ chức phải đối mặt. Một trong những nguy cơ đó là các cuộc tấn công mạng, đặc
biệt là các cuộc tấn công DDoS. Ảnh hưởng của một cuộc tấn công DDoS quy mô lớn có
thể làm dừng hoạt động hạ tầng mạng của một quốc gia, gây gián đoạn công tác chỉ đạo điều
hành của Chính phủ, ngừng hoạt động của các hạ tầng trọng yếu (điện, nước, giao thông, tài
chính…) làm ảnh hưởng nghiêm trọng đến trật tự an toàn xã hội, lợi ích công cộng, quốc
phòng, an ninh.
Từ đó, chúng ta có thể thấy rằng việc đưa ra các phương pháp phòng chống tấn công DDoS
hiệu quả nhằm bảo đảm an toàn thông tin cho cơ quan, tổ chức trước các cuộc tấn công mạng
là vấn đề quan trọng và cấp bách.
Nguyên nhân dẫn tới những cuộc tấn công DDoS ngày càng trở nên nguy hiểm là việc số
lượng các thiết bị đầu cuối, IoT kết nối mạng ngày càng nhiều trong thời kỳ công nghệ 4.0.
Những điểm yếu an toàn ở các thiết bị này cho phép tin tặc có thể chiếm quyền điều khiển
và huy động nó trở thành thành viên của mạng máy tính ma (botnet). Bằng cách này, tin tặc
có thể xây dựng một mạng lưới botnet, tập hợp các máy tay sai, với kích thước lớn, từ đó
phát động tấn công DDoS hết sức nguy hiểm.
Trên thực tế đã có nhiều công trình nghiên cứu liên quan đến phát hiện và phòng chống dạng
tấn công DDoS, nhưng thực tế đều cho thấy dạng tấn công này vẫn hoạt động và gây ra hậu
quả. Do đó, việc tiếp tục nghiên cứu và đề xuất ra các phương pháp phòng chống tấn công
DDoS phù hợp và hiệu quả vẫn đang là vấn đề cần thiết và thách thức đối với các nhà nghiên
cứu hiện nay.
Trong quá trình công tác với thâm niên chuyên môn được tích lũy nhiều năm trong lĩnh vực
này, NCS đã từng phải đối mặt trực tiếp với nhiều cuộc tấn công DDoS xảy ra đối với hệ
thống thông tin của cơ quan, tổ chức. Qua quá trình thực tế đó, NCS đã thu thập được nhiều
kinh nghiệm về phân tích và xử lý các cuộc tấn công DDoS. Tuy nhiên, NCS tự nhận thấy
rằng, phương án xử lý các cuộc tấn công đã thực hiện tại thời điểm đó chỉ là giải pháp tạm


1


thời, mà không có một nền tảng hay phương pháp tổng thể để có thể giải quyết được các vấn
đề cốt lõi của vấn đề một cách khoa học và hiệu quả.
Niềm đam mê về chuyên môn nghiệp vụ và nghiên cứu khoa học đã thôi thúc tác giả trở
thành nghiên cứu sinh tại trường Đại học Bách Khoa Hà Nội, với đề tài nghiên cứu chuyên
sâu: “Phát hiện và phòng chống một số dạng tấn công từ chối dịch vụ phân tán”.
Kết quả nghiên cứu được trình bày trong luận án này do NCS thực hiện dưới sự hướng dẫn
của tập thể hướng dẫn. Sau đây, để thuận tiện cho việc trình bày luận án, tác giả (“tôi”) sẽ
đại diện nhóm nghiên cứu trình bày các nội dung nghiên cứu của luận án.
2. Đối tượng nghiên cứu và phương pháp nghiên cứu
Đối tượng nghiên cứu của luận án là phương pháp phát hiện và phòng chống một số dạng
tấn công DDoS. Trong đó, luận án tập trung vào 03 nhóm vấn đề:




Tổng quan về tấn công và phòng chống tấn công DDoS;
Phát hiện và phòng chống tấn công TCP Syn Flood (dạng tấn công gửi tràn ngập gói
tin khởi tạo kết nối giả mạo địa chỉ IP nguồn, xảy ra ở lớp mạng);
Phát hiện và phòng chống tấn công Web App-DDoS (dạng tấn công DDoS vào ứng
dụng Web, xảy ra ở lớp ứng dụng).

NCS tập trung vào hai dạng tấn công này vì đây là những dạng tấn công đang xảy ra phổ
biến và được coi là thực sự nguy hiểm.
Các phương pháp phát hiện và phòng chống hai dạng tấn công TCP Syn Flood và Web AppDDoS được đề xuất ở trên là các phương pháp được triển khai ở phía gần máy chủ bị tấn
công. Lý do đề xuất vì: Đối tượng bị tấn công DDoS của tin tặc có thể là hạ tầng mạng hoặc
máy chủ. Trường hợp, đối tượng bị tấn công DDoS là hạ tầng mạng, thì tin tặc có thể sử
dụng hình thức tấn công Volumetric (hình thức tấn công làm cạn kiệt băng thông kết nối

Internet của đối tượng cần bảo vệ với các ISP). Đối với dạng tấn công này, thì phương pháp
chặn lọc hiệu quả chỉ có thể thực hiện ở hệ thống của các ISP. Thêm nữa, để thực hiện hình
thức tấn công Volumetric hiệu quả, tin tặc cũng phải sử dụng nguồn tài nguyên rất lớn (cần
một mạng botnet đủ lớn) để thực hiện tấn công. Trường hợp, đối tượng bị tấn công DDoS là
máy chủ, thì tin tặc có thể sử dụng hình thức tấn công DDoS dạng làm cạn kiệt tài nguyên
trên máy chủ.
Trên thực tế, đối tượng tấn công là máy chủ xảy ra thường xuyên và phổ biến hơn, bởi vì
các máy chủ là lộ mặt trực tiếp ngoài Internet nên đối tượng tấn công dễ xác định hơn và tin
tặc cũng không cần tài nguyên quá lớn mà vẫn có thể làm đối bị tấn công rơi vào trạng thái
từ chối dịch vụ.
Khi đối tượng tấn công là máy chủ thì phương pháp phòng chống được triển khai phía gần
đích là phù hợp và hiệu quả hơn. Khi đó, nếu phương pháp chặn lọc hiệu quả, băng thông
kết nối Internet vẫn còn thì máy chủ vẫn có thể cung cấp dịch vụ mà không bị rơi vào trạng
thái từ chối dịch vụ.

2


Tin tặc thường sử dụng hai dạng tấn công TCP Syn Flood và Web App-DDoS để tấn công
các Server. Hai dạng tấn công này thường được thực hiện trên cơ sở khai thác điểm yếu của
giao thức hay nguyên lý hoạt động của giao thức mà máy chủ sử dụng.
Về phương pháp nghiên cứu, NCS kết hợp giữa lý thuyết, kinh nghiệm và những quan sát
thực tế để tìm ra các vấn đề cần phải giải quyết. Trên cơ sở đó, NCS đề xuất phương pháp
phù hợp để giải quyết các vấn đề đặt ra.
3. Nội dung nghiên cứu
NCS đã thực hiện một quá trình nghiên cứu liên quan đến phát hiện và phòng chống tấn công
DDoS kể từ trước và trong quá trình làm NCS tại trường Đại học Bách Khoa Hà Nội.
Trong quá trình công tác tại Cục An toàn thông tin - Bộ Thông tin và Truyền thông, NCS đã
trực tiếp hỗ trợ cơ quan trong tổ chức xử lý, giảm thiểu các cuộc tấn công DDoS quy mô
lớn. Trải qua nhiều kinh nghiệm thực tế, NCS thấy rằng hai dạng tấn công TCP Syn Flood

và Web App-DDoS là hai dạng tấn công phổ biến. Các cuộc tấn công DDoS thuộc hai dạng
này đều gây thiệt hại nghiêm trọng cho các cơ quan, tổ chức khi bị tấn công, mặc dù họ đã
được trang bị và triển khai các biện pháp phòng chống nhất định. Sau mỗi lần hỗ trợ cơ quan,
tổ chức xử lý tấn công DDoS, NCS có được kinh nghiệm về các đặc trưng riêng của mỗi đợt
tấn công và tại thời điểm đó NCS cũng đưa ra các biện pháp thủ công để xử lý tạm thời. Tuy
nhiên, NCS tự nhận thấy rằng kinh nghiệm có được còn rất hạn chế và luôn bị động khi phải
đối mặt với những cuộc tấn công DDoS mới. Từ đó, NCS thấy rằng cần tập trung và tiếp tục
nghiên cứu để có những kiến thức chuyên sâu hơn về tấn công DDoS nói chung và với hai
dạng tấn công đã đề cập ở trên.
Khi làm NCS tại Viện Công nghệ thông tin, trường Đại học Bách Khoa Hà Nội, được sự
hướng dẫn của tập thể hướng dẫn, NCS có cơ hội nghiên cứu chuyên sâu về tấn công, phát
hiện và phòng chống DDoS một cách tổng thể, có khoa học.
Trong những năm đầu tiên của quá trình nghiên cứu, NCS tập trung nghiên cứu tổng quan
về các dạng tấn công, các đặc trưng của mỗi dạng tấn công, những khó khăn, thách thức
trong việc phòng chống mỗi dạng tấn công và các phương pháp phòng chống.
Sau khi có được những kiến thức mang tính nền tảng, NCS tập trung nghiên cứu, đề xuất
được các phương pháp cụ thể để giải quyết các bài toán đặt ra như sau:
Bài toán thứ nhất về phát hiện và phòng chống tấn công TCP Syn Flood. Bài toán này, NCS
đã đề xuất các phương pháp cụ thể dựa trên một phát hiện mối liên hệ giữa các gói tin IP khi
được gửi ra từ cùng một máy tính. Dựa vào kinh nghiệm chuyên môn và quan sát thực tế,
NCS quan sát thấy rằng các gói tin được gửi ra ngoài từ một máy tính thì có giá trị trường
Identification (PID) tăng liên tục cách nhau một đơn vị (sở cứ cho phát hiện này, được luận
án trình bày chi tiết ở các phần sau). Tuy nhiên, việc phát hiện các gói tin có giá PID tăng
liên tiếp ở phía máy chủ bị tấn công không hề đơn giản. Bởi vì, mỗi máy tính khi tham gia
tấn công DDoS đều chạy song song nhiều ứng dụng với các kết nối mạng khác nhau, có
nghĩa là các gói tin gửi ra khỏi máy tính sẽ đi nhiều hướng khác nhau mà không phải chỉ mỗi

3



hướng đến máy chủ bị tấn công. Do đó, từ phía máy chủ bị tấn công, chúng ta chỉ thu được
các gói tin có giá trị PID tăng liên tục, ngắt quãng.
Bên cạnh đó, khi tấn công TCP Syn Flood xảy ra thì ở phía máy chủ sẽ nhận được số lượng
rất lớn các gói tin SYN. Do đó, việc xử lý các gói tin SYN này như thế nào thật nhanh, để
máy chủ giảm thiểu thời gian rơi vào trạng thái từ chối dịch vụ, cũng là một vấn đề lớn khác
đặt ra đối với các phương pháp mà chúng tôi đề xuất.
Để giải quyết hai vấn đề đặt ra đối với bài toán thứ nhất, NCS đề xuất 02 giải pháp [39, 35]
trên cơ sở giả thuyết là trường thông tin PID của các gói tin không bị giả mạo. Giải pháp thứ
nhất [39], NCS sử dụng thuật toán DBSCAN để nhóm các gói tin SYN có giá trị PID tăng
liên tiếp vào từng nhóm. Trong mỗi nhóm đó, chúng tôi xác định một giá trị PID của gói tin
giả mạo tiếp theo sẽ gửi đến hệ thống.
Điểm hạn chế của giải pháp sử dụng thuật toán DBSCAN là phải cần một khoảng thời gian
ban đầu nhất định cho việc thu thập các gói tin SYN đầu tiên, làm thông tin đầu vào cho
thuật toán DBSCAN để xác định dấu hiệu của các gói tin giả mạo tiếp theo gửi đến. Trong
thời gian này, máy chủ bị tấn công vẫn phải hứng chịu các gói tin tấn công gửi đến. Thêm
nữa, phương pháp này cũng yêu cầu phải cập nhật liên tục trạng thái các nhóm của thuật toán
DBSCAN khi có gói tin hay nhóm mới được tạo ra. Điều này làm ảnh hưởng lớn đến tốc độ
xử lý chung của cả phương pháp.
Để giải quyết các hạn chế của phương pháp thứ nhất, NCS đề xuất giải pháp thứ hai [35] cho
phép phát hiện và loại bỏ ngay các gói tin SYN tấn công đầu tiên gửi đến mà không cần
khoảng thời gian xử lý lúc đầu như phương pháp thứ nhất. Giải pháp này lưu trữ các giá trị
PID trong các bảng dữ liệu có cấu trúc kết hợp với một phương pháp tìm kiếm nhanh các
giá trị PID tăng liên tiếp thay vì sử dụng thuật toán DBSCAN.
Trong nghiên cứu [35], tuy giải pháp đề xuất cho phép phát hiện và loại bỏ nhanh các gói
tin giả mạo gửi đến nhưng việc lưu trữ và truy vấn các thông tin về địa chỉ IP và giá trị PID
mới được lưu trữ trong các bảng dữ liệu với phương pháp tìm kiếm đơn giản. Việc này dẫn
tới giảm tốc độ xử lý chung của phương pháp đề xuất khi số lượng các gói tin gửi đến hệ
thống là rất lớn. Để tiếp tục tăng tốc độ xử lý của giải pháp PIDAD2, NCS đề xuất giải pháp
lưu trữ và tìm kiếm nhanh thông tin PID, IP nguồn sử dụng thuật toán Bloom Filter [2]. Sau
khi bảo vệ cơ sở, nghiên cứu này [86] đã được chấp nhận trình bày tại Hội nghị ACDT 2018.

Các giải pháp mà NCS đề xuất ở trên mới chỉ tập trung vào việc phát hiện và loại bỏ các gói
tin giả mạo trong quá trình phòng chống mà chưa đề cập đến việc phát hiện tấn công như thế
nào. Thêm nữa, việc xác thực các IP nguồn để cho phép các IP nguồn thực được kết nối với
máy chủ khi tấn công đang xảy ra cũng là một vấn đề quan trọng trong bài toán tổng thể về
phát hiện và phòng chống tấn công TCP Syn Flood. Do đó, NCS đã đề xuất một mô hình
tổng thể về phương pháp phát hiện tấn công TCP Syn Flood và cơ chế xác thực IP nguồn tại
nghiên cứu [48].
Cả hai giải pháp đề xuất ở trên dựa trên giả thuyết là ở phía máy chủ bị tấn công, chúng ta
có thể nhận được tối thiểu 03 gói tin có giá trị PID tăng liên tiếp. Tuy nhiên, trong thực tế sẽ

4


có nhiều trường hợp ở phía máy chủ bị tấn công, chúng ta chỉ nhận được từ 01 đến 02 gói
tin giả mạo. Khi đó, hai giải pháp [39, 35] sẽ bỏ sót các gói tin giả mạo này. Đây là vấn đề
tiếp theo mà NCS cần phải tiếp tục giải quyết.
Để giải quyết vấn đề này, NCS sẽ tiếp tục nghiên cứu một giải pháp mới dựa trên nghiên
cứu chúng tôi đã đề xuất trước đây [78]. Giải pháp này, NCS dự kiến sẽ sử dụng thuật toán
DBSCAN một cách hoàn toàn khác với giá trị epsilon và minpts có giá trị độc lập cho mỗi
nhóm trong thuật toán DBSCAN. Cặp giá trị này của mỗi Cluster là tham số để xác định các
gói tin giả mạo tiếp theo nhận được vào từng Cluster.
Bài toán thứ hai mà NCS phải giải quyết là phát hiện và phòng chống tấn công Web AppDDoS. Trong thực tế, tin tặc cũng có thể sử dụng tấn công TCP Syn Flood để tấn công ứng
dụng Web. Tuy nhiên, tin tặc thường sử dụng tấn công DDoS ở lớp ứng dụng để thực hiện
tấn công Web App-DDoS với mức độ tinh vi và nguy hiểm hơn dạng tấn công TCP Syn
Flood. Thêm nữa, việc phát hiện và phòng chống tấn công Web App-DDoS có những đặc
trưng và thách thức riêng.
Để giải quyết bài toán thứ hai, NCS đề xuất phương pháp phát hiện nhanh các nguồn gửi
yêu cầu tấn công Web App-DDoS ngay khi tấn công xảy ra trong nghiên cứu [57]. Đề xuất
này cũng đưa ra một mô hình mở cho phép kết hợp, bổ sung nhiều tiêu chí khác nhau để phát
hiện và xác định nguồn gửi yêu cầu tấn công. Trong đó, có tiêu chí cho phép phát hiện ngay

ra các nguồn gửi yêu cầu tấn công mà không phải trải qua quá trình máy học/huấn luyện như
các phương pháp khác.
Trong nghiên cứu [57], NCS sử dụng 02 tiêu chí (tiêu chí về tần suất truy cập và tiêu chí về
tương quan giữa các yêu cầu gửi đến máy chủ) để xác định các nguồn gửi yêu cầu tấn công.
Tuy nhiên, trong nghiên cứu này, các tiêu chí NCS đưa ra và thực hiện ở mức độ rất cơ bản
để đánh giá mô hình và phương pháp đề xuất.
Trong quá trình hoàn thiện luận án và sau khi luận án được Hội đồng đánh giá cấp cơ sở
thông qua, NCS tiếp tục đi sâu nghiên cứu, đề xuất giải pháp cụ thể hơn cho 02 tiêu chí
chúng tôi đã sử dụng trong nghiên cứu [57]. Cụ thể:
Đối với tiêu chí về tần suất truy nhập, NCS đề xuất giải pháp cho phép tìm ra tần suất truy
cập từ các IP nguồn gửi yêu cầu theo thời gian thực. Giải pháp đề xuất cần rất ít tài nguyên
để lưu trữ và xử lý. Tần suất xác định được sẽ là dữ liệu đầu vào cho thuật toán của tiêu chí
về tần suất. Bên cạnh đó, trong nghiên cứu này NCS cũng đề xuất một giải pháp mới để xác
định các nguồn gửi yêu cầu tấn công thay cho phương pháp sử dụng DBSCAN trong nghiên
cứu [57]. Kết quả nghiên cứu được đã được chấp nhận [23] trình bày tại Hội nghị IEEE
RIVF 2019.
Đối với tiêu chí về mối quan hệ tương quan giữa các yêu cầu gửi đến máy chủ từ một nguồn,
NCS đưa ra giải pháp để thiết lập tập các yêu cầu tương quan trong quá trình huấn luyện
(training). Tập các yêu cầu tương quan được thiết lập dựa trên các điều kiện để bảo đảm rằng
tập các yêu cầu này là sạch và tin tặc rất khó để có thể đưa các yêu cầu sai lệch vào tập dữ

5


liệu này trong quá trình huấn luyện. Kết quả nghiên cứu được chúng tôi gửi đăng tại Tạp chí
Khoa học và Công nghệ.
Đánh giá thực nghiệm các phương pháp đề xuất cũng là một vấn đề lớn đặt ra đối với tôi.
Qua việc nghiên cứu các công trình liên quan, NCS thấy rằng các công trình này không sử
dụng chung tập dữ liệu kiểm thử để đánh giá thực nghiệm. Phần lớn các tác giả đều tự xây
dựng mô hình và dữ liệu kiểm thử riêng để phục vụ việc đánh giá hiệu quả phương pháp họ

đề xuất. Do đó, tương tự với cách làm của các tác giả, trong nghiên cứu này, NCS xây dựng
một hệ thống trên môi trường ảo hóa để tạo ra tập dữ liệu kiểm thử. Mô hình bao gồm C&C
máy chủ và một mạng botnet được điều khiển bởi máy chủ đó. Tập dữ liệu kiểm thử được
sử dụng để đánh giá hiệu quả của các phương pháp chúng tôi đề xuất và so sánh với các
phương pháp khác trên cùng tập dữ liệu được tạo ra.
4. Ý nghĩa khoa học và ý nghĩa thực tiễn của luận án
Luận án có những đóng góp về mặt khoa học và thực tiễn như sau:
a) Về ý nghĩa khoa học:
Đối với lĩnh vực an toàn thông tin nói chung và việc phát hiện và phòng chống tấn công
DDoS nói riêng, luận án đã đóng góp thêm 06 công trình nghiên cứu (02 công trình đã được
chập nhận đăng tại Hội nghị ACDT 2018 và IEEE RIVF 2019 sau khi bảo vệ cơ sở). Trong
quá trình hoàn thiện luận án, NCS đã tham gia viết và chuẩn bị gửi đăng thêm công trình
nghiên cứu đến Tạp chí Khoa học và Công nghệ Các Trường Đại Học Kỹ Thuật. Dự án
nghiên cứu vẫn đang được tiếp tục phát triển để hoàn thiện kết quả và mở rộng các hướng
nghiên cứu khác.
Đối với cộng đồng nghiên cứu khoa học, kết quả của luận án sẽ cung cấp thêm nguồn tài
liệu tham khảo hữu ích, phục vụ việc nghiên cứu và đề xuất các phương pháp phòng chống
tấn công DDoS.
Các hướng nghiên cứu tập trung vào phòng chống 2 dạng tấn công điển hình, phổ biến và
nguy hiểm. Các nghiên cứu này đều có tính mở cao, cho phép tiếp tục mở rộng để làm tăng
hiệu quả, mức độ chính xác trong việc phát hiện và phòng chống tấn công DDoS.
b) Ý nghĩa thực tiễn:
Kết quả nghiên cứu của luận án cũng đã đóng góp vào hai đề tài nghiên cứu khoa học: (1)
Đề tài nghiên cứu khoa học cấp Bộ, mã số B2016-BKA-06 về “Xây dựng hệ thống xử lý tấn
công từ chối dịch vụ và mạng botnet”; (2) Đề tài nghiên cứu khoa học cấp quốc gia mã số
KC.01.05/16-20 về “Nghiên cứu, phát triển hệ thống phân tích vết truy cập dịch vụ cho phép
phát hiện, cảnh báo hành vi bất thường và nguy cơ mất an toàn thông tin trong Chính phủ
điện tử” với nội dung nghiên cứu về phát triển, đề xuất các kỹ thuật mới/cải tiến cho phát
hiện dấu hiệu của các tấn công DoS/DDoS, tấn công APT dựa trên phân tích dữ liệu log truy
cập.


6


Trong quá trình thực hiện các nhiệm vụ của các đề tài nghiên cứu khoa học, chúng tôi đã
xây dựng được một hệ thống phòng chống tấn công DDoS thực sự và đang được triển khai
thử nghiệm tại trường Đại học Bách Khoa Hà Nội.
Bên cạnh đó, chúng tôi cũng đã xây dựng được một mạng botnet trên môi trưởng ảo hóa cho
phép thực hiện nhiều hình thức tấn công DDoS khác nhau để tạo ra các dữ liệu kiểm thử cho
các nghiên cứu khác nhau. Dữ liệu kiểm thử này, chúng tôi đã tải lên trang mạng trực tuyến
và địa chỉ tải dữ liệu kiểm thử trong phần phụ lục của luận án.
5. Điểm mới của luận án
Những điểm mới của luận án được thể hiện thông qua những đóng góp chính như sau:







Đề xuất phương pháp mới trong việc phát hiện và loại bỏ các gói tin giả mạo trong
tấn công TCP SYN Flood (tấn công tràn ngập gói tin TCP SYN).
Đề xuất mô hình khung phòng chống tấn công DDoS-Web, có tính mở, cho phép kết
hợp nhiều tiêu chí phát hiện để làm tăng hiệu quả, mức độ chính xác trong việc phát
hiện và phòng chống tấn công.
Xây dựng 02 tiêu chí phát hiện nhanh cho phép loại bỏ tức thời các nguồn gửi yêu
cầu khả nghi tấn công và xác minh các nguồn gửi yêu cầu bình thường trong tấn công
DDoS-Web. Các thuật toán đề xuất trên cơ sở sử dụng các tiêu chí này cho phép sử
dụng tức thời vào chống tấn công (không cần thời gian chuẩn bị, huấn luyện dữ liệu),
xử lý lọc bỏ nhanh và cần ít tài nguyên lưu trữ.

Xây dựng hệ thống mô phỏng và dữ liệu phục vụ kiểm thử cho hai dạng tấn công có
đặc trưng riêng là TCP SYN Flood và tấn công DDoS-Web trên môi trường ảo hóa.

6. Cấu trúc của luận án
Từ nội dung nghiên cứu mà chúng tôi đã thực hiện trong quá trình nghiên cứu sinh, kết quả
nghiên cứu được trình bày trong luận án theo cấu trúc như sau:
Trong chương 1, luận án trình bày các nhóm vấn đề chính bao gồm:








Tổng quan về tấn công từ chối dịch vụ phân tán DDoS;
Các dạng tấn công DDoS phổ biến;
Các công cụ tấn công DDoS phổ biến;
Những thách thức trong việc phát hiện và phòng chống tấn công DDoS;
Tổng quan về các phương pháp phòng, chống tấn công DDoS;
Nghiên cứu về tiêu chí đánh giá hiệu quả các phương pháp đề xuất;
Nghiên cứu, khảo sát về đánh giá thực nghiệm phương pháp phòng chống tấn công
DDoS.

Trong chương 2, luận án đi vào giải quyết một trong hai bài toán đặt ra thông qua việc đề
xuất phương pháp phát hiện và phòng tấn công DDoS dạng TCP Syn Flood. Trong đó, nội
dung trình bày bao gồm các nội dung chính như sau:




Tổng quan về dạng tấn công TCP Syn Flood và các phương pháp phòng chống;
Mô hình phương pháp phát hiện và phòng chống tấn công TCP Syn Flood;

7






Phát hiện tấn công TCP Syn Flood;
Phòng chống tấn công TCP Syn Flood thông qua cơ chế phát hiện và loại bỏ các gói
tin giả mạo sử dụng trong tấn công DDoS TCP Syn Flood;
Đánh giá thực nghiệm.

Trong chương 3, luận án trình bày về phương pháp đề xuất để giải quyết bài toán thứ hai đặt
ra về phát hiện và phòng chống tấn công Web App-DDoS. Trong đó nội dung trình bày bao
gồm các nội dung chính như sau:






Tổng quan về tấn công Web App-DDoS và phương pháp phòng chống.
Mô hình, phương pháp phòng chống tấn công Web App-DDoS.
Phát hiện tấn công Web App-DDoS.
Phòng chống tấn công Web App-DDoS sử dụng phương pháp FDDA.
Đánh giá thực nghiệm.




Kết luận Chương.

8


CHƯƠNG 1. TỔNG QUAN VỀ TẤN CÔNG VÀ PHÒNG
CHỐNG TẤN CÔNG DDOS
Chương 1, luận án tập trung trình bày về các nội dung cơ bản, tổng quan liên quan đến cách
thức tấn công và các nghiên cứu liên quan đến phát hiện và phòng chống tấn công DDoS.
Cụ thể, chúng tôi đưa ra tổng quan về các hình thức tấn công DDoS mà tin tặc sử dụng trong
các cuộc tấn công DDoS và các khó khăn, thách thức trong việc phòng chống tấn công DDoS
và hệ thống lại các phương pháp phòng chống tấn công. Nội dung chương 1 là cơ sở để
chúng tôi tiếp tục nghiên cứu, đi sâu vào các phương pháp cụ thể mà chúng tôi đề xuất trong
chương 2 và chương 3.
Chương 1 bao gồm các nội dung chính sau:








Tổng quan về tấn công từ chối dịch vụ phân tán DDoS;
Các dạng tấn công DDoS phổ biến;
Các công cụ tấn công DDoS phổ biến;
Những thách thức trong việc phát hiện và phòng chống tấn công DDoS;
Tổng quan về các phương pháp phòng chống tấn công DDoS;

Nghiên cứu về tiêu chí đánh giá hiệu quả các phương pháp đề xuất;
Nghiên cứu khảo sát đánh giá thực nghiệm phương pháp phòng chống tấn công
DDoS.

1.1. Tổng quan về tấn công từ chối dịch vụ phân tán DDoS
Tấn công từ chối dịch vụ là dạng tấn công mạng với mục đích làm mất tính khả dụng của
một hệ thống thông tin. Tấn công từ chối dịch vụ khi được thực hiện từ nhiều IP nguồn khác
nhau thì được gọi là hình thức tấn công từ chối dịch vụ phân tán – DDoS. Về cơ bản, tấn
công DDoS có thể được chia ra thành hai lớp phổ biến:
Lớp thứ nhất, tin tặc thực hiện tấn công bằng cách gửi các gói tin độc hại (gói tin với các
trường thông tin không bình thường) đến đích tấn công thông qua việc khai thác các điểm
yếu an toàn thông tin [39] để làm máy chủ phát sinh các lỗi làm treo, tê liệt hoạt động và rơi
vào trạng thái từ chối dịch vụ.
Lớp thứ hai là lớp các dạng tấn công DDoS phổ biến, trong đó tin tặc làm gián đoạn các kết
nối hợp lệ tới máy chủ bằng cách (1) làm cạn kiệt hạ tầng mạng (network/transport-level
flooding attacks) như: băng thông kết nối, tài nguyên xử lý của thiết bị mạng… (2) hoặc cạn
kiệt tài nguyên xử lý của máy chủ thông qua các ứng dụng/dịch vụ mà máy chủ cung cấp
(application-level flooding attacks) như: bộ nhớ chính, khả năng xử lý của CPU, băng thông
kết nối hay các cổng vào ra…).
Thông thường, các cuộc tấn công DDoS được tin tặc thực hiện qua môi trường mạng sử
dụng các mạng máy tính ma (botnet) [35]. Thông qua mạng botnet, tin tặc gửi tràn ngập liên
tục các gói tin hoặc các yêu cầu tới đích tấn công, làm cho hệ thống đó bị lỗi hoặc cạn kiệt
tài nguyên và rơi vào trạng thái từ chối dịch vụ.

9


Mạng botnet là mạng của các máy tính bị nhiễm mã độc và được điều khiển bởi những máy
chủ điều khiển (C&C Server). Để có mạng botnet, tin tặc tạo ra các phần mềm độc hại và
phát tán chúng qua môi trường mạng bằng các hình thức khác nhau như gửi thư điện tử giả

mạo, phát tán qua các phần mềm không chính thống hoặc lừa người dùng truy cập vào các
trang thông tin độc hại.
Hình dưới đây mô tả các thành phần cơ bản của mạng botnet:

Tin tặc

Các máy
điều khiển

Các máy
trong mạng
botnet

Máy nạn nhân

Hình 1.1 Thành phần cơ bản của mạng Botnet [89]
Do số lượng các lỗ hổng, điểm yếu an toàn thông tin phát hiện ngày càng nhiều cũng như
nhận thức của người sử dụng còn rất hạn chế nên việc xây dựng các mạng botnet của tin tặc
vẫn gây hâu quả rất lớn, nhiều mạng botnet lớn có quy mô hàng triệu máy tính tạo thành và
được tin tặc lợi dụng để thực hiện các cuộc tấn công DDoS quy mô lớn. Theo báo cáo của
các hãng bảo mật Abor [106], cuộc tấn công DDoS đã ghi nhận được có băng thông lên tới
hơn 662Gbps.

10


Thêm nữa, để vượt qua các phương pháp phòng, chống tấn công DDoS, tin tặc thường sử
dụng nhiều biện pháp khác nhau như giả mạo địa chỉ IP nguồn tấn công hoặc giả mạo các
yêu cầu gửi đến máy chủ như các yêu cầu thông thường, làm phía hệ thống bị tấn công không
thể phân biệt yêu cầu nào yêu cầu được gửi đi từ mạng botnet.


1.2. Các dạng tấn công DDoS phổ biến
Trong phần này, luận án trình bày cụ thể hơn về các dạng tấn công DDoS liên quan trực tiếp
đến hướng nghiên cứu của luận án là lớp các dạng tấn công DDoS làm cạn kiệt tài nguyên
của hệ thống bị tấn công ở lớp mạng và lớp ứng dụng. Nội dung trình bày trong phần này,
luận án sử dụng các thuật ngữ tiếng anh, những thuật ngữ này đã được sử dụng phổ biến, sử
dụng từ ngữ ngắn gọn nhưng thể hiện được bản chất của nội dung cần mô tả.
Hai lớp của các dạng tấn công DDoS phổ biến liên quan trực tiếp đến nghiên cứu của Luận
án, bao gồm các nội dung sau:
1.2.1. Tấn công DDoS ở lớp mạng
Các dạng tấn công DDoS xảy ra ở lớp mạng thường sử dụng các gói tin của các giao thức
ICMP, TCP, UDP hoặc DNS để làm cạn kiệt tài nguyên xử lý hoặc băng thông của hạ tầng
mạng. Các dạng tấn công này được chia làm 04 loại phổ biến:
a) Flooding attacks: Dạng tấn công làm cạn kiệt băng thông của đối tượng cần bảo vệ thông
qua cơ chế gửi tràn ngập các gói tin có kích thước lớn như: UDP flood, ICMP flood, TCP
flood… [57].
b) Protocol exploitation flooding attacks: Dạng tấn công làm cạn kiệt tài nguyên xử lý của
hệ thống thông qua việc khai thác các điểm yếu an toàn thông tin của các giao thức mạng
mà hệ thống đó sử dụng như: TCP SYN flood, TCP SYN-ACK flood, ACK & PUSH ACK
flood, RST/FIN flood… [86].
c) Reflection-based flooding attacks: Dạng tấn công tin tặc thực hiện bằng cách gửi yêu cầu
giả mạo đến một hệ thống trung gian, trong khi giả mạo địa chỉ IP nguồn gửi là địa chỉ của
đích bị tấn công. Hệ thống trung gian sẽ gửi yêu cầu phản hồi về hệ thống bị tấn công, thay
vì gửi về máy tính của tin tặc. Hình thức tấn công này cũng lợi dụng điểm yếu an toàn thông
tin của các giao thức sử dụng hoặc do lỗi thiết lập cấu hình bảo mật của các hệ thống trung
gian, để từ đó cho phép tin tặc gửi một yêu cầu giả mạo có kích thước nhỏ đến hệ thống
trung gian. Sau đó, hệ thống trung gian sẽ gửi phản hồi yêu cầu có kích thước và số lượng
lớn về hệ thống bị tấn công như Smurf and Fraggle… [86].
d) Amplification-based flooding attacks: Dạng tấn công này được thực hiện tương tự các
thực hiện dạng tấn công Reflection-based. Tuy nhiên, với dạng tấn công này, tin tặc sử dụng

mạng botnet thay vì khai thác hệ thống trung gian như ở trên. Khi đó, mạng botnet được sử
dụng với hai mục đích: Gửi gói tin phản hồi đến đích bị tấn công và khuếch tán số lượng lớn
các gói tin phản hồi thông qua các đặc trưng của gói tin quảng bá (IP broadcast).

11


1.2.2. Tấn công DDoS vào lớp ứng dụng
Các dạng tấn công DDoS ở lớp ứng dụng tập trung vào việc làm cạn kiệt tài nguyên xử lý
của Server. Các dạng tấn công này thường sử dụng ít băng thông hơn so với các dạng tấn
công DDoS xảy ra ở lớp mạng.
Tấn công DDoS vào lớp ứng dụng thường xảy ra với ứng dụng Web. Hình thức tấn công
DDoS vào ứng dụng Web được tin tặc thực hiện dưới nhiều hình thức và phương pháp khác
nhau, bao gồm 04 dạng cơ bản sau:
a) Session flooding attacks: Dạng tấn công này, tin tặc gửi số lượng lớn phiên kết nối tới
Server. Tần suất và số lượng gửi cao gấp nhiều lần so với các truy cập của người dùng bình
thường, dẫn tới cạn kiệt tài nguyên trên Server, làm máy chủ rơi vào trạng thái từ chối dịch
vụ. Hình thức phổ biến của dạng tấn công này là tin tặc gửi tràn ngập các phiên kết nối, mỗi
phiên kết nối có tối thiểu một yêu cầu HTTP hợp lệ dưới dạng GET/POST tới máy chủ bị
tấn công thông qua mạng botnet [86]. Do đó, nếu mỗi máy tính trong mạng botnet gửi số
lượng lớn các yêu cầu HTTP hợp lệ (ví dụ gửi 10 yêu cầu trong 1 giây) đến máy chủ thì số
lượng yêu câu gửi đến máy chủ sẽ rất lớn.
b) Request flooding attacks: Dạng tấn công này, tin tặc gửi số lượng lớn các yêu cầu trong
một phiên kết nối tới Server. Dạng tấn công này dựa trên đặc trưng của giao thức HTTP cho
phép gửi nhiều yêu cầu trong một phiên kết nối. Từ đó, tin tặc có thể gửi số lượng nhỏ các
phiên kết nối tới máy chủ nhưng chứa số lượng lớn các yêu cầu. Hình thức tấn công này cho
phép vượt qua khả năng kiểm soát của các thiết bị bảo mật về số lượng kết nối tới Server.
c) Asymmetric attacks: Dạng tấn công này, tin tặc gửi phiên kết nối trong đó có các yêu cầu
làm máy chủ tiêu tốn nhiều tài nguyên để xử lý (high-workload requests). Dạng tấn công
này có hai hình thức phổ biến như sau:

- Multiple HTTP GET/POST flood: Hình thức tấn công này, tin tặc gửi số lượng lớn các lệnh
thực thi (HTTP VERB) trong một yêu cầu được đóng gói trong một gói tin tới máy chủ trong
một phiên kết nối. Với hình thức này, tin tặc có thể duy trì khối lượng yêu cầu cần xử lý lớn
trên máy chủ với tốc độ gửi gói tin thấp. Do đó, hình thức tấn công này có thể vượt qua các
công nghệ phát hiện tấn công dựa vào phát hiện dị thường (Anomaly Detection) và các công
nghệ phát hiện xâm nhập dựa trên phân tích gói tin.
- Faulty Application: Hình thức tấn công này, tin tặc lợi dụng việc thiết kế hoặc thiết lập lỗi
cấu hình bảo mật giữa ứng dụng Web và cơ sở dữ liệu. Từ đó, tin tặc có thể gửi số lượng lớn
các yêu cầu như SQL-like injections để yêu cầu máy chủ liên tục thực hiện câu truy vấn dữ
liệu để tiêu tốn tài nguyên của Server.
d) Slow request/response attacks: Tương tự dạng tấn công Asymmetric attacks, tin tặc gửi
phiên kết nối trong đó có các yêu cầu làm máy chủ tiêu tốn nhiều tài nguyên để xử lý. Tuy
nhiên về hình thức thực hiện lại khác nhau và có 04 hình thức như sau:
- Slowloris attack [88]: Hình thức tấn công này, tin tặc gửi yêu cầu dạng GET nhưng không
hoàn thiện tới Server. Việc này làm máy chủ phải đợi phần còn lại của yêu cầu để xử lý mà
không thể hủy bỏ yêu cầu. Số lượng các yêu cầu không hợp lệ này liên tục gửi đến máy chủ
12


và máy chủ phải dành tài nguyên để xử lý mỗi yêu cầu không hoàn thiện dẫn tới cạn kiệt tài
nguyên.
- HTTP fragmentation attack: Tương tự hình thức tấn công Slowloris, mục đích của hình
thức tấn công này là giữ số lượng lớn các kết nối với máy chủ để làm cạn kiệt tài nguyên
Server. Nhưng hình thức thực hiện thì khác nhau. Hình thức này, một yêu cầu gửi tới máy
chủ được tin tặc phân chia ra thành các gói tin nhỏ, phân mảnh. Các gói tin phân mảnh được
gửi rất chậm tới máy chủ trong khoảng thời gian timeout cho phép của Server. Việc này dẫn
tới máy chủ phải đợi, gom đủ các gói tin phân mảnh để xử lý. Khi số lượng các yêu cầu bị
phân mảnh gửi đến máy chủ lớn, máy chủ phải dành tài nguyên cho mỗi yêu cầu dẫn đến
cạn kiệt tài nguyên.
- Slow post attack (R-U-Dead-Yet RUDY) [72]: Hình thức tấn công này tương tự hình thức

tấn công Slowloris. Tuy nhiên, thay vì gửi yêu cầu GET tới máy chủ thì tin tặc gửi yêu cầu
POST tới máy chủ với cách thức như sau: (1) tin tặc gửi phần header của yêu cầu, trong đó
có thông tin về chiều dài dữ liệu của phần nội dung; (2) tin tặc gửi các gói tin tiếp theo chứa
phần nội dung của yêu cầu với tốc độ rất chậm (1 byte/2 phút). Từ đó, máy chủ phải đợi,
gom đủ các gói tin tiếp theo để hoàn thiện yêu cầu POST. Do đó, khi tin tặc điều khiển mạng
bonet gửi số lượng lớn các yêu cầu POST không hoàn thiện tới máy chủ sẽ làm máy chủ cạn
kiệt tài nguyên.
- Slow reading attack [87] : Hình thức tấn công này, tin tặc sẽ yêu cầu máy chủ gửi rất chậm
phản hồi thay vì gửi chậm các yêu cầu như các hình thức tấn công ở trên. Khi đó, tin tặc sẽ
thiết lập thông tin về kích thước dữ liệu (window-size) có thể nhận được từ máy chủ rất nhỏ
trong quá trình khởi tạo kết nối. Việc này dẫn đến máy chủ phải gửi nhiều, rất chậm các phản
hồi về phía máy gửi yêu cầu so với các yêu cầu bình thường. Dẫn tới, máy chủ phải duy trì
số lượng lớn các kết nối và khi tin tặc điều khiển mạng botnet thực hiện hình thức tấn công
này, dẫn đến cạn kiệt tài nguyên.

1.3. Các công cụ tấn công DDoS phổ biến
Như đã đề cập ở trên, một trong những hình thức phổ biến để thực hiện tấn công DDoS là
tin tặc sử dụng mạng botnet để ra lệnh cho các máy tính trong mạng đó (bot) thực hiện tấn
công thông qua một máy chủ điều khiển (C&C Server). Số lượng bot trong mạng botnet
càng lớn thì năng lực tấn công DDoS càng cao. Trong phần này, luận án trình bày về cấu
trúc của mạng botnet và các công cụ phổ biến để thực hiện tấn công DDoS.
Cấu trúc cơ bản của mạng botnet bao gồm 03 thành phần:



Master là thiết bị đầu cuối mà tin tặc sử dụng để kết nối và điều khiển các máy chủ
C&C.
Handlers là hệ thống các máy chủ điều khiển C&C, các máy chủ này nhận lệnh trực
tiếp từ các máy Master và gửi lệnh điều khiển cho các bot. Các Handlers thường là
các máy tính/Server bị lây nhiễm phần mềm độc hại và bị tin tặc chiếm quyền điều

khiển. Tuy nhiên, với cách thức này thì các máy chủ C&C dễ bị phát hiện bởi các

13




phần mềm diệt vi rút. Do đó, tin tặc có thể sử dụng một kênh giao tiếp khác với các
máy chủ C&C như các phần mềm ứng dụng IRC - Internet Relay Chat.
Bot là các thiết bị đầu cuối bị lây nhiễm phần mềm độc hại do tin tặc phát tán trong
quá trình xây dựng, hình thành mạng botnet. Các thiết bị này khi bị lây nhiễm phần
mềm độc hại sẽ trở thành thành viên của mạng botnet, tự động kết nối về các máy
Handlers và chịu sự điều khiển trực tiếp của những máy này khi chúng nhận được
lệnh từ máy Master.

Căn cứ vào cách thức khác nhau để các máy Master điều khiển các Bot, mạng botnet được
chia làm 03 dạng như sau [70, 85]:
1.3.1. IRC-based
IRC [9] là một giao thức cho phép người sử dụng gửi tin nhắn cho nhau qua mạng Internet.
Dịch vụ này hoạt động trên cấu trúc Client/Server có các kênh giao tiếp giữa các máy chủ
với nhau. Một mạng IRC có thể kết nối hàng triệu Client với nhau thông qua các máy chủ
sử dụng giao thức IRC. Khi đó, máy Master và Bot đóng vai trò là các Client trong mạng
IRC và máy Handlers đóng vai trò là các máy chủ trong mạng IRC. Tin tặc cũng có thể kiểm
soát được trạng thái, số lượng của các Bot trong mạng Botnet.
Thông qua mạng IRC, tin tặc có thể gửi lệnh điều khiển, các tệp tin độc hại, các mã thực thi
đến các Bot. Việc sử dụng giao thức và cấu trúc mạng IRC để giao tiếp trong mạng botnet
cho phép vượt qua sự giám sát của các thiết bị bảo mật.
Nhược điểm của việc sử dụng IRC trong tấn công DDoS là toàn bộ hoạt động của mạng tập
trung ở các máy chủ IRC. Do đó, khi các máy chủ có sự cố hay bị cô lập thì hoạt động của
mạng bonet sẽ bị gián đoạn hoặc ngừng hoạt động.

Một số công cụ tấn công DDoS được phát triển dựa trên nền tảng IRC, bao gồm: Trinity v3
[10] (sử dụng giao thức với các dạng gói tin: UDP, TCP SYN, TCP ACK và TCP NUL) và
Kaiten [60] (sử dụng giao thức với các dạng gói tin: UDP, TCP, SYN, and PUSH+ACH).
1.3.2. Web-based
Giao thức khác mà tin tặc có thể sử dụng để điều khiển mạng botnet là HTTP [60]. Cách
thức hoạt động của mạng botnet sử dụng giao thức HTTP cũng khác so với IRC. Cụ thể là,
đối với dạng Web-based botnet, các Web Bot không kết nối và duy trì kết nối tới máy chủ
C&C. Thay vào đó, các Web Bot định kỳ gửi yêu cầu truy vấn tới máy chủ điều khiển để
nhận lệnh điều khiển thông qua giao thức HTTP.
Web-based botnet có thể vượt qua sự giám sát của các thiết bị bảo mật khi trộn lẫn kết nối
tới máy chủ điều khiển với truy cập hợp lệ của người sử dụng bình thường, đặc biệt là khi
các kết nối tới máy chủ điều khiển được mã hóa thông tin.
Một số công cụ tấn công DDoS được phát triển dựa trên nền tảng Web-based, bao gồm:
BlackEnergy [58], Low-Orbit Ion Cannon (LOIC) [71] và Aldi [27].

14


×