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

Nghiên cứu các giải pháp phòng chống tấn công từ chối dịch vụ phân tán (DDoS) dùng công nghệ FPGA

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 (2.18 MB, 78 trang )

LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn trân trọng nhất tới PGS.TS. Phạm Ngọc Nam, người
đã cho tôi những định hướng và những ý kiến rất quý báu để tơi hồn thành được
khóa luận tốt nghiệp này.
Tơi xin tỏ lịng biết ơn sâu sắc tới các thầy cơ, bạn bè đã dìu dắt, giúp đỡ tơi
tiến bộ trong suốt q trình làm khóa luận tốt nghiệp. Xin cảm ơn gia đình và bè
bạn, những người ln khuyến khích và giúp đỡ tơi trong mọi hồn cảnh khó khăn.
Tơi xin cảm ơn Viện Điện tử viễn thông, Viện Đào tạo Sau đại học, Trường Đại học
Bách khoa Hà Nội đã hết sức tạo điều kiện cho tơi trong q trình học, làm và hồn
thành khóa luận này.
Hà Nội, ngày … tháng …năm 2018
Người thực hiện

Hồ Anh Phúc

1


LỜI CAM ĐOAN
Tơi xin cam đoan, những gì mà tơi viết trong luận văn này là do sự tìm hiểu,
nghiên cứu của bản thân và sự hướng dẫn của PGS.TS. Phạm Ngọc Nam. Mọi kết
quả nghiên cứu cũng như ý tưởng của các tác giả khác nếu có đều được trích dẫn
nguồn gốc cụ thể.
Tơi xin hồn tồn chịu trách nhiệm về những gì mà tơi đã cam đoan ở trên.

Hà Nội, ngày … tháng …năm 2018
Người thực hiện

Hồ Anh Phúc

2




MỤC LỤC
DANH MỤC HÌNH VẼ ..............................................................................................6
LỜI NĨI ĐẦU ............................................................................................................8
CHƯƠNG I. TỔNG QUAN VỀ DDOS ...................................................................11
1.1 Tấn công từ chối dịch vụ phân tán (DDoS) .....................................................11
1.1.1 Tấn công lớp 3/4 ........................................................................................12
1.1.2 Tấn công lớp 7 ...........................................................................................19
1.1.3 Các nguồn tấn công DDoS ........................................................................21
1.1.4 Các hình thức tấn cơng ..............................................................................21
1.1.5 Xu hướng DDoS ........................................................................................22
1.2 Giới thiệu chung về phòng chống DDoS .........................................................23
1.2.1 Các hệ thống phòng chống DDoS phổ biến ..............................................23
1.2.2 Các giải pháp độc quyền, phía máy chủ ....................................................24
1.2.3 Phịng chống DDoS cho các nhà cung cấp dịch vụ ...................................24
1.2.4 Bảo vệ các mạng phân phối nội dung .......................................................25
CHƯƠNG II. GIẢI PHÁP CHỐNG TẤN CÔNG DDOS .......................................27
SỬ DỤNG CÔNG NGHỆ FPGA .............................................................................27
2.1 Kiến trúc của hệ thống phòng vệ dựa trên FPGA ............................................27
2.1.1 Cấu trúc của hệ thống ................................................................................27
2.1.2 Khối C-GEP ..............................................................................................28
2.1.3 Phần mềm IDS...........................................................................................39
2.1.5 Thiết bị chuyển mạch ................................................................................43
2.1.6 Bộ điều khiển SDN....................................................................................45
2.2 Tính kịp thời của hệ thống ...............................................................................45
CHƯƠNG III. ĐỀ XUẤT GIẢI PHÁP ....................................................................47
3.1 Thiết kế một bộ phát hiện DDoS dựa trên FPGA ............................................47
3.1.1 Khái niệm bộ giải mã nhiều bước .............................................................48
3.1.2 Thời gian phản hồi của bộ phát hiện tấn công ..........................................49

3.1.3 Thiết kế của bộ giải mã .............................................................................50

3


3.1.4 Đo tải ở thiết bị đầu cuối ...........................................................................51
3.1.5 Mô-đun phát hiện tấn công DDoS .............................................................51
3.1.6 Cây ra quyết định trong kiểu tấn công UDP .............................................52
3.1.7 Cơ sở dữ liệu dựa trên danh tiếng .............................................................55
3.2 Triển khai bộ phát hiện tấn công DDoS dựa trên FPGA .................................55
3.2.1 Các ràng buộc thiết kế tốc độ cao .............................................................56
3.2.2 Bộ giải mã .................................................................................................56
3.2.3 Module tương thích 1Gbps, 10Gbps .........................................................57
3.2.4 Tổng hợp và phân loại bảng băm ..............................................................57
CHƯƠNG IV. ĐÁNH GIÁ GIẢI PHÁP ..................................................................63
4.1 Mô phỏng bộ phát hiện tấn công .....................................................................63
4.1.1 Mẫu lưu lượng tin được sử dụng cho các thử nghiệm ..............................63
4.1.2 Thu thập lưu lượng tin mẫu .......................................................................63
4.1.3 Quy trình kiểm tra .....................................................................................63
4.2 Kiểm tra bộ phát hiện tấn công ........................................................................64
4.2.1 Biên dịch các phép đo ...............................................................................64
4.2.2 Quá trình đo lường ....................................................................................65
4.2.3 Kết quả đo .................................................................................................65
4.3 Báo cáo về các thí nghiệm kiểm tra tấn công ..................................................66
4.3.1. Tấn công NTP ..........................................................................................66
4.3.2 UDP flood ..................................................................................................68
4.3.3 DNS flood ..................................................................................................69
4.3.4 Tấn công phân mảnh UDP ........................................................................70
4.3.5 RIPv1 .........................................................................................................71
4.3.6 SYN flood ..................................................................................................73

KẾT LUẬN ...............................................................................................................74
TÀI LIỆU THAM KHẢO .........................................................................................76

4


DANH MỤC TỪ VIẾT TẮT
1

ACK

Acknowledgement

2

DNS

Domain Name System

3

DOS

Denial of Service

4

DDOS

Distributed Denial of Service


5

FPGA

Field-programmable gate array

6

FTP

7

HTTP

HyperText Transfer Protocol

8

ICMP

Internet Control Message Protocol

9

IDS

10

IP


Internet Protocol

11

IPS

Intrusion Prevention System

12

NAT

Network Address Translation

13

NTP

Network Time Protocol

14

UDP

User Datagram Protocol

15

RPC


Remote Procedure Call

16

TCP

Transmission Control Protocol

File Transfer Protocol

Intrusion Detection System

5


DANH MỤC HÌNH VẼ
Hình 1.1 Phân phối các cuộc tấn cơng DDoS giữa các lớp ......................................11
Hình 1.2 Tần suất và các biến thể của DDoS 2016...................................................12
Hình 1.3 Tấn cơng SYN flood ..................................................................................13
Hình 1.4 Tấn cơng UDP flood ..................................................................................15
Hình 1.5 Tấn cơng NTP ............................................................................................17
Hình 1.6 Tấn cơng DNS ............................................................................................18
Hình 1.7 Phân bố các cuộc tấn công lớp 7 quý 2 năm 2016 [3] ...............................20
Hình 1.8 Hệ thống phịng thủ của Incapsula .............................................................25
Hình 2.1 Sơ đồ khối của hệ thống bảo vệ .................................................................28
Hình 2.2 Sơ đồ của khối C-GEP ...............................................................................29
Hình 2.3 Cấu trúc logic của hệ thống giám sát C-GEP.............................................30
Hình 2.4 Sơ đồ phân tích cú pháp gói .......................................................................33
Hình 2.5 Phân loại gói dựa trên đường ống ..............................................................37

Hình 2.6 Phân loại gói dựa trên Block RAM ............................................................38
Hình 2.7 Ví dụ về quy trình RADAR .......................................................................40
Hình 2.8 Tạo lưu lượng tin cho IDS .........................................................................43
Hình 2.9 Điều khiển thiết bị chuyển mạch với nguyên lý RADAR .........................44
Hình 3.1 Hoạt động chính của bộ phát hiện DDoS ...................................................47
Hình 3.2 Phác thảo thời gian phản hồi của bộ phát hiện DDoS ...............................49
Hình 3.3 Cây ra quyết định trong kiểu tấn cơng dựa trên UDP ................................54
Hình 3.4 Cấu trúc của bộ phát hiện tấn cơng ............................................................56
Hình 3.5 Bảng thời gian lấy mẫu ..............................................................................59
Hình 3.6 Các bước của quá trình phân loại ...............................................................60
Hình 3.7 Logic của việc tái cấu hình ........................................................................60
Hình 3.8 Nguyên tắc hoạt động của việc quản lý quá trình phân loại ......................61
Hình 4.1 Sơ đồ khối của kiểm nghiệm vật lý ............................................................64
Hình 4.2 Bộ tạo lưu lượng tin ...................................................................................65
Hình 4.3 Mẫu từ tấn cơng NTP .................................................................................66

6


Hình 4.4 Một gói tin từ cuộc tấn cơng ......................................................................67
Hình 4.5 Mơ phỏng tấn cơng NTP ............................................................................67
Hình 4.6 Một số gói tin của cuộc tấn cơng ...............................................................68
Hình 4.7 Một gói tin của cuộc tấn cơng UDP flood .................................................68
Hình 4.8 Dấu hiệu ẩn ................................................................................................68
Hình 4.9 Một số gói tin của cuộc tấn cơng DNS ......................................................69
Hình 4.10 Một gói tin của cuộc tấn cơng DNS .........................................................69
Hình 4.11 Một số gói tin của cuộc tấn cơng phân mảnh UDP..................................70
Hình 4.12 Một gói tin của cuộc tấn cơng phân mảnh UDP ......................................70
Hình 4.13 Một số gói tin của cuộc tấn cơng RiP ......................................................71
Hình 4.14 Một gói tin của cuộc tấn cơng RiP ...........................................................72

Hình 4.15 Một số gói tin của cuộc tấn cơng SYN flood ...........................................73
Hình 4.16 Một gói tin của cuộc tấn cơng SYN flood ...............................................73

7


LỜI NĨI ĐẦU
Bảo vệ mạng máy tính khỏi các tác nhân độc hại ngày càng trở nên khó khăn
hơn mỗi năm. Tin tặc ngày càng tìm ra nhiều cách tinh vi và phức tạp hơn để tấn
công các nhà cung cấp nội dung số. Các chuyên gia bảo mật phải liên tục nâng cấp
và phát triển các giải pháp của họ để chiến đấu chống lại những mối đe dọa này.
Câu hỏi đặt ra là làm thế nào các nhà cung cấp dịch vụ có thể bảo vệ hệ
thống của mình chống lại những thế hệ tiếp theo của các cuộc tấn công phân tán từ
chối dịch vụ DDoS (Distributed Denial of Service), loại thiết bị nào có thể đem lại
hiệu quả nhất trong việc bảo vệ này? Thực ra, chúng ta phải tự điều chỉnh kỹ thuật
và công cụ của chính mình để chiến đấu với các mối đe dọa luôn thay đổi. Luận văn
này chỉ ra các xu hướng mới nhất trong lĩnh vực này và cố gắng đề xuất một giải
pháp đối với vấn đề đặt ra. Mục đích chính của luận văn là trình bày hệ thống phát
hiện xâm nhập (IDS) dựa trên phần cứng.
Việc giới thiệu sử dụng phần cứng FPGA (Field Programmable Gate Array)
vào phần lớn những quá trình hướng phần mềm mở ra nhiều cơ hội mới. Phần cứng
FPGA cung cấp khả năng xử lý song song ở tốc độ cao có thể làm tăng khả năng
tính tốn phức tạp và tốc độ của quá trình phát hiện. Hệ thống dựa trên FPGA có thể
phát hiện các cuộc tấn cơng DDoS nhất định chỉ tốn một phần thời gian so với thời
gian cần thiết cho một hệ thống hoàn toàn dựa trên phần mềm.
Một mục đích nữa của luận văn là để mơ tả làm thế nào người ta có thể phát
triển firmware trở thành hệ thống xử lý gói tin dựa trên FPGA tốc độ cao nhằm mục
đích có thể phát hiện các cuộc tấn công phổ biến nhất và nguy hiểm nhất. Như một
nghiên cứu điển hình, luận văn chứng minh khả năng của hệ thống này trong việc
phát hiện và dập tắt các cuộc tấn công (D)DoS thuộc nhiều chủng loại và độ phức

tạp khác nhau. Mặc dù luận văn này không cung cấp giải pháp kỹ thuật cho tất cả
các kiểu tấn cơng DDoS, nó có thể giải quyết phần lớn các cuộc tấn công kiểu này.
Luận văn mô tả một hệ thống linh hoạt, có thể mở rộng và các giải pháp cho các

8


kiểu tấn công DDoS phổ biến nhất và hướng dẫn thiết kế mô-đun cho các kiểu tấn
công DDoS khác. Quá trình đánh giá giải pháp bao gồm sử dụng các mẫu lưu lượng
tin được ghi lại trong nhiều cuộc tấn công và việc sử dụng một số công cụ tấn công
phổ biến nhất được thiết kế để làm chết các máy chủ. Khả năng xử lý dữ liệu của
phần cứng cung cấp cho chúng ta những cái nhìn rõ nét về hệ thống chuyển mạch,
có thể được sử dụng để hỗ trợ việc ra quyết định cho đĩa điều khiển của SDN
(Software Defined Networking).
Trong những năm gần đây, phương thức tấn công từ chối dịch vụ DDoS đã
thay đổi đáng kể, một phần nguyên nhân là bắt nguồn từ sự phát triển nở rộ của các
thiết bị IoT. Băng thông sẵn sàng cho các cuộc tấn công DDoS ngày một tăng lên
nhanh chóng. Cuộc siêu tấn cơng Dyn năm 2016 với 1Tbps băng thơng là một ví dụ
rất đáng để suy nghĩ [1]. Điều này đặt ra một mối đe dọa nghiêm trọng đối với các
nhà cung cấp nội dung số hiện tại. Trường hợp nổi tiếng nhất đã được ghi lại là với
krebsonsecurity.com (một blog bảo mật mạng của Brian Krebs) – cuộc tấn công đã
khiến trang web không thể truy cập được trong nhiều ngày và Akamai (một mạng
phân phối nội dung lớn và là host của trang web này) đã phải xem xét các hậu quả
về tài chính do cuộc tấn cơng đem lại với Krebs [8].
Sự phát triển nhanh chóng của các thiết bị IoT và việc sử dụng chúng vào
những mục đích độc hại trong các cuộc tấn công là rất đáng kể, tạo ra một lỗ hổng
an ninh mạng nghiêm trọng. Luận văn này cố gắng nghiên cứu các tài liệu và giới
thiệu một giải pháp hiệu quả cho các vấn đề này.
Cùng với sự phát triển của mạng Internet và tốc độ nhanh của đổi mới công
nghệ, sự phát triển của các công nghệ giám sát và phòng thủ mạng cũng đang phát

triển không ngừng. Nếu chúng ta không phát triển bây giờ chúng ta phải trả giá rất
nghiêm trọng trong tương lai. Luận văn này đóng góp ở một khía cạnh rất quan
trọng đó là việc giới thiệu một hệ thống hữu ích để phòng chống DDoS.

9


Mục đích của luận văn này là trình bày thiết kế và triển khai thực hiện của
một hệ thống xử lý gói tin dựa trên FPGA. Hệ thống được dựa trên C-GEP được sản
xuất bởi AITIA ZRt. C-GEP là một bộ xử lý gói tin với nền tảng Xilinx Virtex 6
FPGAs. Bộ phát hiện của hệ thống này cho phép xử lý các gói tin với dung lượng
100Gbps. Hệ thống IDS (hệ thống phát hiện xâm nhập) được đề xuất đã được kiểm
nghiệm bởi các cuộc tấn công thực sự.

10


CHƯƠNG I. TỔNG QUAN VỀ DDOS
1.1 Tấn công từ chối dịch vụ phân tán (DDoS)
Tấn công DDoS đã tồn tại từ buổi bình minh của Internet; những hình thức
hiện đại của nó đã bắt đầu từ đầu thế kỷ 21. Cuộc tấn công DDoS lớn đầu tiên xảy
ra vào năm 1999 tại Minnesota nhằm vào hệ thống máy chủ của trường đại học này
trong nhiều ngày. Tuy nhiên DDoS trở nên phổ biến như hiện tại thực sự là bắt đầu
từ năm 2010 khi nhóm hacker khét tiếng, Anonymous, bắt đầu sử dụng phương
thức này [13]. DDoS đã được sử dụng như một phương thức phục vụ cho các mục
đích hoạt động chính trị, tống tiền và trả thù. Trong những năm gần đây, các loại tấn
công DDoS đã bùng nổ đáng kể cả về quy mô và tần suất. Từ năm 2015 đến năm
2016, các cuộc tấn công DDoS đã tăng 139% về mặt quy mơ [3].
Có nhiều loại tấn công DDoS khác nhau với cùng chung một đặc điểm là cố
gắng sử dụng cạn kiệt tài nguyên của nạn nhân. Tất cả những nỗ lực này đều nhằm

mục đích làm cho nạn nhân khơng thể phục vụ khách hàng thường xun của mình.
Các cuộc tấn cơng DDoS thường nằm ở (i) Lớp 3/4 và (ii) Lớp 7.

Hình 1.1 Phân phối các cuộc tấn công DDoS giữa các lớp

11


1.1.1 Tấn công lớp 3/4
Các cuộc tấn công lớp-3/4 thường là các cuộc tấn công đơn giản và phổ biến
hơn so với lớp 7. Mục đích của các cuộc tấn công thường là để áp đảo mạng của
nạn nhân bằng cách làm cho bộ xử lý hoặc dung lượng bộ nhớ của nạn nhân ln
trong tình trạng cạn kiệt dẫn đến làm quá tải các máy chủ của họ. Các loại phổ biến
nhất là UDP flood [4], SYN flood [5], phân mảnh UDP [6], và một loạt các kiểu tấn
công khác sử dụng các giao thức cụ thể, chẳng hạn như NTP, DNS [6]. Những kiểu
tấn công này tuy là hết sức nguyên thủy ở cấp độ gói tin, nhưng chúng có thể rất
hiệu quả nếu chúng được sử dụng đúng cách. Một trong những xu hướng trong
những năm gần đây chính là sự gia tăng tần suất của các cuộc tấn cơng này.

Hình 1.2 Tần suất và các biến thể của DDoS 2016
Hình 1.2 dựa trên nghiên cứu vào quý 2 năm 2016 của Akamai. Nó chỉ ra các
kiểu tấn cơng Internet phổ biến nhất của DDoS. Có thể thấy rằng các cuộc tấn cơng
flood dựa trên UDP đóng góp phần lớn trên tổng số các cuộc tấn cơng DDoS, và sự
phổ biến của các cuộc tấn công dựa trên TCP có xu hướng giảm.
a) SYN flood

12


Đây là một trong những hình thức tấn cơng lâu đời nhất, nó được biết đến từ

năm 1996 khai thác điểm yếu của giao thức TCP. TCP là một giao thức hướng kết
nối an toàn sử dụng rất nhiều tài nguyên (chủ yếu là bộ nhớ và CPU). Tấn công
SYN flood dựa trên phương thức là kẻ tấn công sử dụng một lượng nhỏ tài nguyên
để có thể tạo ra ngày càng nhiều hơn nữa những kết nối mới khiến cho các luồng tin
thơng thường khơng cịn bộ nhớ để hoạt động [9]. Kiểu tấn công này sử dụng
nguyên tắc của chiến tranh bất đối xứng: một đơn vị tấn công gây ra việc sử dụng
nhiều đơn vị tài nguyên của nạn nhân. Thật khơng may, bởi vì thuộc tính này cho
nên khơng có một phương thức thống nhất để chống lại SYN flood. Thơng thường
phía bên máy chủ phải lập kế hoạch phịng ngừa để đối phó với những ảnh hưởng
của kiểu tấn cơng này. Bởi vì vơ số phương pháp phát hiện hình thức tấn cơng lâu
đời nhất này đã được phát triển trong những năm qua, độ phổ biến của SYN flood
đang có xu hướng giảm sút.

Hình 1.3 Tấn công SYN flood
Kẻ tấn công gửi các yêu cầu (request ảo) TCP SYN tới máy chủ bị tấn cơng.
Để xử lý lượng gói tin SYN này hệ thống cần tốn một lượng bộ nhớ cho kết nối.

13


Khi có rất nhiều gói SYN ảo tới máy chủ và chiếm hết các yêu cầu xử lý của
máy chủ. Một người dùng bình thường kết nối tới máy chủ ban đầu thực hiện
Request TCP SYN và lúc này máy chủ khơng cịn khả năng đáp lại - kết nối không
được thực hiện. Đây là kiểu tấn công mà kẻ tấn cơng lợi dụng q trình giao tiếp
của TCP theo Three-way.
Các đoạn mã nguy hiểm có khả năng sinh ra một số lượng cực lớn các gói
TCP SYN tới máy chủ bị tấn cơng, địa chỉ IP nguồn của gói tin đã bị thay đổi và đó
chính là tấn cơng DoS.
Hình 1.3 thể hiện các giao tiếp bình thường với máy chủ và bên dưới thế hiện
khi máy chủ bị tấn cơng gói SYN đến sẽ rất nhiều trong khi đó khả năng trả lời của

máy chủ lại có hạn và khi đó máy chủ sẽ từ chối các truy cập hợp pháp.
Quá trình TCP Three-way handshake được thực hiện: Khi máy X muốn giao
tiếp với máy A. (1) máy X bắn ra một gói TCP SYN tới máy A – (2) máy A khi
nhận được gói SYN từ X sẽ gửi lại máy X gói ACK đồng ý kết nối – (3) máy X gửi
lại máy A gói ACK và bắt đầu các giao tiếp dữ liệu.
Máy X và máy A sẽ dữ kết nối ít nhất là 75 giây, sau đó lại thực hiện một
q trình TCP Three-way handshake lần nữa để thực hiện phiên kết nối tiếp theo để
trao đổi dữ liệu.
Thật không may kẻ tấn công đã lợi dụng kẽ hở này để thực hiện hành vi tấn
công nhằm sử dụng hết tài nguyên của hệ thống bằng cách giảm thời gian yêu cầu
Three-way handshake xuống rất nhỏ và khơng gửi lại gói ACK, cứ bắn gói SYN ra
liên tục trong một thời gian nhất định và khơng bao giờ trả lời lại gói SYN&ACK từ
máy bị tấn cơng.
Với ngun tắc chỉ chấp nhận gói SYN từ một máy tới hệ thống sau mỗi 75
giây nếu địa chỉ IP nào vi phạm sẽ chuyển vào Rule deny access sẽ ngăn cản tấn
công này.

14


b) UDP flood
UDP flood là một thể loại được định nghĩa tiêu cực, tức là bất kỳ cuộc tấn
công nào dựa trên UDP thì khơng thuộc bất kỳ loại nào khác nữa. Triển khai được
biết đến nhiều nhất của loại này là kẻ tấn cơng gửi các gói UDP tùy ý tới các cổng
được lựa chọn. Hệ điều hành của nạn nhân tìm kiếm một ứng dụng đang chạy trên
cổng đó, và nếu nó khơng tìm thấy (thường là khơng), nó sẽ gửi một thơng báo
ICMP cho biết khơng có ứng dụng nào trên cổng đó.

Hình 1.4 Tấn cơng UDP flood
Trong kiểu tấn cơng này, kẻ tấn cơng có thể sử dụng tài nguyên của chúng

với hiệu năng rất thấp, nhưng với chuyên môn và sự chuẩn bị tối thiểu cũng có thể
tạo ra một cuộc tấn cơng hiệu quả vào một hệ thống khơng phịng bị tốt. Do hiệu
năng thấp, các botnet thường được sử dụng trong kiểu tấn công này. Tuy nhiên,

15


trong trường hợp khơng có mơ tả đặc điểm kỹ thuật chính xác, kiểu tấn cơng này
khó phát hiện hơn so với các kiểu tấn công khác. Tỷ lệ của các cuộc tấn cơng dạng
này có xu hướng giảm do có hiệu năng thấp.
c) Phân mảnh UDP
Đây là kiểu tấn cơng lớp 3, 4 phổ biến nhất [3], [8]. Nó khai thác một đặc
điểm của gói tin IPv4 (datagram) đó là những gói tin này phải được chia nhỏ do giới
hạn của tầng liên kết dữ liệu (data link). Các mảnh đã được phân chia của datagram
được sắp xếp lại bởi máy chủ. Vì vậy nếu kẻ tấn cơng cài vào một mảnh datagram
bị làm sai lệch, nó cũng sẽ được sắp xếp bởi máy chủ và máy chủ cũng sẽ cố gắng
biên dịch nó cùng với các gói dữ liệu khác. Tất nhiên việc biên dịch này không
thành công vì kẻ tấn cơng khơng gửi phần cịn lại của datagram. Trong kiểu tấn
công này, CPU và bộ nhớ của nạn nhân được tiêu thụ nhiều nhất; nó rất phổ biến
bởi sự đơn giản và hiệu quả cao. Hiện tại, việc phịng vệ chủ yếu được thực hiện ở
phía nạn nhân để cố gắng đối phó với những ảnh hưởng của cuộc tấn công. Sự phổ
biến của kiểu tấn công này đang tăng lên đều đặn bởi vì kiểu này có thể tấn cơng
trực tiếp rất hiệu quả.
d) NTP
NTP được khuếch đại là một trong những kiểu tấn công DDoS phổ biến nhất.
Hình thức phổ biến nhất của nó địi hỏi phải giả mạo. Kẻ tấn công gửi NTP
MON_GETLIST tới máy chủ NTP nhưng sửa địa chỉ IP đích thành IP nguồn. Lệnh
MON_GETLIST tra khảo địa chỉ IP của sáu trăm lượt truy cập cuối cùng. Nhờ vào
điều này những kẻ tấn cơng có thể tăng băng thơng riêng của họ lên đến một nghìn
[7]. Trong cách tấn cơng này những kẻ tấn công muốn tiêu thụ băng thông của nạn

nhân. Với đặc tính giả mạo và ẩn định danh thật, việc ngăn chặn những cuộc tấn
công kiểu này không thể thực hiện được chỉ bởi phương thức chặn địa chỉ IP. Người
ta có thể phịng ngừa những cuộc tấn cơng kiểu này bằng cách lọc các gói tin NTP
gửi đến địa chỉ IP của nạn nhân. Đây là một cách dễ dàng để phát hiện những cuộc

16


tấn cơng kiểu này, nhưng nhờ vào tính hiệu quả của nó, kiểu tấn cơng này vẫn cịn
rất phổ biến.

Hình 1.5 Tấn công NTP
e) DNS
Kiểu tấn công được khuếch đại dựa trên DNS là một trong những kiểu tấn
công DDoS phổ biến nhất. Đây cũng là một loại tấn công yêu cầu phải giả mạo.
Những kẻ tấn công thực hiện các truy vấn DNS mà địa chỉ IP của nạn nhân đang
liên kết tới. Số lượng lớn máy chủ DNS với băng thông cao và khả năng tạo các
truy vấn lớn làm cho kiểu tấn công này trở thành một trong những kiểu tấn công
phổ biến nhất. Tấn công dựa trên DNS khơng có hiệu quả cao như NTP, nhưng dễ
thực hiện hơn. Hình thức tấn cơng này cũng cố gắng sử dụng băng thơng của các
nạn nhân của nó.

17


Hình 1.6 Tấn cơng DNS
f) CHARGEN
CHARGEN (Giao thức máy tạo ký tự) là một phần của Bộ giao thức
Internet, theo Định nghĩa RFC 864 [14]. Đây là giao thức cũ, hiếm khi được sử
dụng. Nó có thể dựa trên TCP hoặc UDP, nhưng tấn công DDoS chỉ khai thác UDP.

Bản chất của giao thức này là gửi một chuỗi ký tự có chiều dài ngẫu nhiên (0-512)
phản hồi lại những gói nhận được trên cổng tương ứng của nó (19). Giao thức này
cũng có thể được sử dụng để thực hiện tấn cơng DDoS có sử dụng giả mạo. Hình
thức tấn công này đã trở nên phổ biến trong những năm gần đây khi mà tin tặc đã
phát hiện ra giao thức đã bị quên lãng một phần này.
g) SSDP
SSDP (Simple Service Discovery Protocol) là một dịch vụ khám phá phân
tán. Giao thức này cũng có thể được sử dụng như một bộ khuếch đại cho các cuộc
tấn công DDoS. Các thông điệp được gửi tới cổng 1900, sẽ được gửi tới các thiết bị
chạy SSDP. Giống như đối với CHARGEN, giao thức cũ khơng an tồn này được
phát hiện lại gần đây vào năm 2014 [7]. Bởi vì hiệu quả của kiểu này khơng bằng
DNS hoặc NTP, nó có thể sẽ không trở thành một dạng tấn công tiêu chuẩn. Nhưng
dự kiến những cuộc tấn công kiểu này sẽ tăng lên cho đến khi những hệ thống
phòng vệ đều được trang bị để chống lại nó.

18


h) ACK flood
ACK flood tương tự như SYN flood là một dạng tấn công trực tiếp sử dụng
giao thức TCP. Cơ chế hoạt động của nó yếu hơn nhiều so với SYN flood bởi vì
một gói chỉ gây ra một kiểm tra bộ nhớ. Tuy nhiên, ngược lại với SYN flood, hầu
hết hệ thống phịng thủ khơng được chuẩn bị chống lại ACK flood ở mức độ như là
với SYN flood. Dạng tấn công này chủ yếu được sử dụng để phá vỡ các hệ thống
bảo vệ đơn giản. Hiệu quả của nó tương tự như UDP flood.
i) RIPv1
RiPv1 (Routing Distance Vector Protocol) là một trong số những giao thức
định tuyến mạng dựa trên vector đầu tiên. Giống như với hầu hết các giao thức thời
kỳ đó, tính bảomật đã bị bỏ qua khá nhiều. Giống như SSDP, giao thức này cũng có
thể được sử dụng như một bộ khuếch đại cho các cuộc tấn cơng. Hơn thế nữa hình

thức tấn cơng này có thể mang lại hiệu quả gấp cả trăm lần và trở nên hồn tồn
khơng được biết đến đối với nhiều hệ thống phịng thủ. Vì vậy một sự gia tăng đáng
kể của kiểu tấn công này có thể được dự kiến trong vài năm tới.
1.1.2 Tấn công lớp 7
Các cuộc tấn công lớp 7 sử dụng những phương pháp tinh vi hơn để đạt được
mục tiêu của chúng. Những cuộc tấn công này khai thác những điểm yếu của ứng
dụng, vì vậy địi hỏi tài ngun phần cứng tấn cơng ít hơn nhiều so với những loại
khác đã kể trên. Tuy nhiên việc thực hiện chúng là khó hơn nhiều bởi vì cần phải
tìm ra được những lỗ hổng có thể khai thác được ở những phần mềm cụ thể. Để
thiết kết một cuộc tấn công như vậy, kẻ tấn công cần phải biết về phần mềm cài đặt
ở phía máy chủ, hay thậm chí là cả những phần mềm được cài đặt trên một chiếc
điện thoại thơng minh. Những cuộc tấn cơng này gửi ít gói tin hơn nhiều so với tấn
cơng ở lớp 3 và 4, vì vậy để bắt được những gói tin này trong kiến trúc mạng cũng
là khó hơn nhiều. Các cuộc tấn công lớp 7 vẫn chưa thực sự lan rộng. Lý do cho
điều này một phần là do khá dễ dàng để có được băng thơng lớn với các cuộc tấn

19


công lớp 3 và 4 và việc sử dụng chúng cũng có thể gây thiệt hại cho chính những kẻ
tấn công [10].
a) Tần suất của các cuộc tấn công lớp 7

Hình 1.7 Phân bố các cuộc tấn cơng lớp 7 quý 2 năm 2016 [3]
b) HTTP Get, Post
Các ứng dụng HTTP thường giao tiếp với hai lệnh chính: GET thường là
được sử dụng để truy cập những nội dung tĩnh, POST được sử dụng để truy cập nội
dung được tạo động.
Các cuộc tấn cơng HTTP có hai hình thức phổ biến.
1) Truy vấn hồn tồn hợp pháp tấn cơng nhiều máy chủ. Thông thường các

truy vấn gây ra việc tiêu tốn nhiều tài nguyên nhất được sử dụng. Để thực
hiện việc này, các botnet được sử dụng để tránh các bộ lọc chống lại tấn công
băng thông.
2) Gửi một header GET/POST hợp lệ từ kẻ tấn công. Phần thân của gói tin
thơng điệp được gửi một cách từ từ sau đó, điều này sẽ làm cho máy chủ bận
rộn với việc giữ liên lạc với kẻ tấn cơng đó. Cách tấn công này mang lại hiệu
quả hơn rất nhiều, nhưng dễ bị phát hiện hơn.

20


1.1.3 Các nguồn tấn công DDoS
Những nguồn tấn công DDoS phổ biến nhất là từ các thiết bị truy cập
Internet bị nhiễm phần mềm độc hại. Đó có thể là máy tính cá nhân, điện thoại
thơng minh và ngày càng nhiều hơn các thiết bị IoT. Hầu hết các thiết bị này khơng
có băng thơng rộng và khả năng tính tốn lớn, bởi vậy với hầu hết các cuộc tấn
cơng, rất nhiều các thiết bị đã bị hack này phải được kết nối chung tới một botnet.
Phần mềm botnet phổ biến nhất hiện nay là Mirai botnet đã được phát triển
cách đây không lâu [15] và được công bố rộng rãi bởi những người đã tạo ra nó
cũng như một số biến thể của Mirai cũng đã đang được phát triển. Mirai botnet nói
chung “săn” các thiết bị IoT được thiết kế riêng và không liên kết với nhau. Trong
hầu hết các trường hợp, việc bị hack có thể tránh được với một chút thận trọng, ví
dụ, chúng ta khơng nên để tên người dùng và mật khẩu kiểu như
administrator/666666 trong mã nguồn [21].
1.1.4 Các hình thức tấn cơng
a) Tấn công trực tiếp không giả mạo
Danh sách này bao gồm các phiên bản không giả mạo của SYN, UDP, phân
mảnh UDP, ACK floods. Các kiểu tấn công này chiếm khoảng 40% tổng số của tất
cả các cuộc tấn công. Chúng ta sẽ dễ dàng tìm ra một câu trả lời đơn giản cho
những cuộc tấn công này. Trong trường hợp này, IPS chịu trách nhiệm về việc giải

mã địa chỉ IP của kẻ tấn cơng cái mà có thể được lọc ra bằng cách phân loại tỷ lệ
lưu lượng tin một cách đơn giản sau khi phát hiện cuộc tấn công trong hầu hết các
trường hợp. Trong một cuộc tấn công DDoS, bất kỳ luồng thông tin nào cũng chậm
lại mà khơng phải vì lý do kiểm sốt tắc nghẽn.
Nếu IPS đã làm tê liệt địa chỉ IP của kẻ tấn cơng, nó sẽ tạo ra các luật ACL
rút ra từ các địa chỉ đó, sau đó gửi tới các thiết bị chuyển mạch. Các luật ACL hoặc
vơ hiệu hóa các địa chỉ này hoặc giới hạn thông lượng của chúng.
b) Tấn công trực tiếp giả mạo

21


Danh mục này bao gồm các phiên bản giả mạo của SYN, UDP, phân mảnh
UDP, ACK floods. Các cuộc tấn công này chiếm khoảng 5-10% tổng số của tất cả
các cuộc tấn cơng. Trong trường hợp này, điều khó khăn nhất là tìm ra trong sự dàn
xếp giả mạo này một dấu hiệu đủ tốt về sự can thiệp. Thật không may, bộ lọc dựa
trên IP không phải là một giải pháp cho việc này.
Một điều khơng may khác đó là trong hầu hết các trường hợp khơng có nhiều
giải pháp ngăn chặn có thể được thực hiện đối với kiểu tấn công này mà không làm
ảnh hưởng đến lưu lượng tin bình thường.
c) Tấn cơng phản hồi được tăng cường
Những kiểu tấn công này chiếm khoảng 50% trong tổng số các cuộc tấn
công. Danh sách này bao gồm các kiểu tấn công NTP, DNS, SSDP, CHARGEN,
RIP. Với các kiểu tấn công này, lọc IP không thể được sử dụng bởi vì các gói tin
thơng điệp tấn cơng đến từ các nhà cung cấp dịch vụ hợp pháp, bởi vậy khơng thể bị
vơ hiệu hóa. Ngược lại, các bộ lọc theo nội dung có thể được sử dụng.
Ví dụ: Trong trường hợp kiểu tấn cơng NTP, địa chỉ gửi gói tin chứa thơng
điệp NTP MON_GETLIST response có thể bị giới hạn như là địa chỉ IP đã bị lợi
dụng bởi kẻ tấn công.
Đối với các cuộc tấn công được phản hồi và tăng cường khác, cách ngăn

chặn tiêu chuẩn này cũng nên được làm theo, nghĩa là vơ hiệu hóa các gói tin trả về
đặc trưng cho các kiểu tấn công cụ thể trên các địa chỉ IP đã bị tấn cơng.
1.1.5 Xu hướng DDoS
Xu hướng DDoS hiện nay có thể được chia thành hai nhóm.
Có lẽ xu hướng DDoS quan trọng nhất hiện nay là sự tăng lên trong sức
mạnh và băng thông dùng để tấn công, và sự gia tăng tỷ lệ của tấn công brute-force
ở lớp 3 và 4. Hai xu hướng này là hậu quả trực tiếp của sự lan tràn của các thiết bị
IoT được thiết kế kém.

22


Nhóm xu hướng khác là tăng cường sức mạnh, tấn cơng liên tục dựa trên các
giao thức cũ, nhóm này bao gồm CHARGEN, RIP, SSDP. Xu hướng này khai thác
những thiếu sót trong hệ thống phịng thủ. Xu hướng này đã tồn tại trong nhiều
năm.
1.2 Giới thiệu chung về phòng chống DDoS
Có một số hình thức bảo vệ các cuộc tấn công DDoS với các mức hiệu quả
khác nhau. Do sự đa dạng của các cuộc tấn công DDoS, không thể có một phương
pháp phịng thủ phổ qt nào. Cùng với những "bản99 vá tự thiết kế" cho các giải
pháp tinh vi dựa trên ASIC, có rất nhiều hệ thống bảo vệ khác đã được tạo ra trong
những thập kỷ qua. Các phương pháp phòng thủ phổ biến nhất là:
-

Phân tích dấu hiệu nhận diện (Signature Analysis): Tìm kiếm trong các gói
tin các mẫu nhận diện và so sánh với các mẫu cho trước [18].

-

Phân tích lưu lượng tin (Traffic Analysis): Tìm kiếm sự bất thường trong

luồng lưu lượng thơng tin có thể cho biết đang có hay khơng một cuộc tấn
công.

-

Hệ thống dựa trên danh tiếng: một cơ sở dữ liệu trung tâm lưu trữ địa chỉ IP
của những kẻ tấn công đã biết cùng với các botnet [12].

-

Quét từ phía máy chủ: người chủ hệ thống dùng các mẫu test khác nhau để
tìm hiểu xem có hay khơng đang có một cuộc tấn cơng, ví dụ như dùng hệ
thống captcha.
Các hệ thống mới nhất sử dụng nhiều phương pháp hơn các phương pháp cơ

bản này, bao gồm cả những giải pháp độc quyền chưa từng được công bố.
1.2.1 Các hệ thống phòng chống DDoS phổ biến
Các hệ thống bảo vệ phổ biến nhất thường là các bộ định tuyến lõi của mạng
kết hợp với tường lửa. Tường lửa kết hợp với bộ định tuyến lõi là thiết bị phịng vệ
có dung lượng cao với hiệu suất khác nhau tùy vào dòng sản phẩm. Thiết bị này
đảm bảo an ninh cao từ các cuộc tấn cơng bên ngồi. Việc khai thác sử dụng các

23


thiết bị này đi cùng với sự hiểu biết về quy hoạch mạng cái mà có liên quan đến
những điểm yếu khác nhau, được tạo ra bởi các yếu tố phần cứng, phần mềm mạng
và các tiêu chuẩn tương ứng của chúng. Hệ thống sẽ hoạt động tốt trong một mạng
được thiết kế tốt và tuân theo các tiêu chuẩn, làm giảm thiểu các điểm yếu và lỗ
hổng của các giao thức. Một ví dụ điển hình về ứng dụng phương pháp này là việc

cấu hình tốt của máy chủ web.
1.2.2 Các giải pháp độc quyền, phía máy chủ
Những giải pháp này khơng nhằm mục đích phát hiện hoặc ngăn chặn các
cuộc tấn cơng, nhưng nó làm giảm hậu quả mang lại từ cuộc tấn công. Việc của nhà
phát triển ứng dụng là không bỏ qua những cơ hội trong khi phát triển code để có
thể lập trình một cách cẩn thận nhằm hạn chế các cuộc tấn công trong tương lai. Lấy
một ví dụ, nếu máy chủ web có thể xử lý 200 yêu cầu cùng một lúc và 10 phút là
thời gian hết hạn của các kết nối này, một cuộc tấn cơng DDoS kiểu HTTP GET có
thể vơ hiệu hóa việc xử lý 20 gói tin mỗi phút. Nếu quản trị viên hệ thống tùy chỉnh
thời gian hết hạn là 6 giây, kẻ tấn công sẽ phải sử dụng số lượng tài nguyên nhiều
hơn gấp 100 lần. Lập trình mộtcách cẩn thận có thể ngăn chặn hầu hết những cuộc
tấn cơng khơng mong đợi, bởi vì hầu hết những kẻ tấn công không phải là một
chuyên gia mà chỉ là sử dụng lại các công cụ tấn công đã được dùng từ nhiều năm
và được tải xuống từ Internet. Thật không may là ngay cả các chương trình được lập
trình thận trọng nhất cũng khơng hiệu quả đối với các cuộc tấn công nghiêm trọng
hơn cái mà cần có những nhu cầu bảo vệ phức tạp hơn.
1.2.3 Phòng chống DDoS cho các nhà cung cấp dịch vụ
Trong một số trường hợp, chỉ thiết lập hệ thống bảo vệ phía người dùng cuối
là khơng đủ, vì đó là cơ hội thực sự cho kẻ tấn công chỉ cần làm bão hịa mạng của
người dùng bằng một số ít lượng gói tin được gửi đi. Hệ thống ngăn chặn xâm nhập
(Intrusion Prevention System), không may lại không hiệu quả trong việc chống lại
các cuộc tấn cơng làm bão hịa mạng như vậy.

24


Như vậy, các thiết bị IPS không chỉ cần phải được thiết lập bên phía người
dùng cuối, thay vào đó, chúng còn phải được thiết lập trong hệ thống của các nhà
cung cấp dịch vụ, nơi việc làm bão hòa mạng là khó khăn hơn nhiều bởi vì nhà cung
cấp có băng thơng thường lớn hơn nhiều so với người dùng cuối.

1.2.4 Bảo vệ các mạng phân phối nội dung
Imperva cung cấp dịch vụ bảo vệ tấn công DoS lớn nhất và thành công nhất
trên thế giới [16], họ sở hữu một hệ thống phòng thủ rất phức tạp. Hiện tại, hệ thống
này có thể phát hiện được cả xâm nhập thường và giả mạo.

Hình 1.8 Hệ thống phịng thủ của Incapsula
Incapsula cung ứng giải pháp bảo vệ đa cấp độ và hiệu quả, giải pháp này đã
làm cho công ty trở thành doanh nghiệp dẫn đầu thị trường. Đây hiện là hệ thống
công nghệ tiên tiến bậc nhất trong việc phịng chống DDoS, ít nhất là trong số các
giải pháp thương mại. Một mặt, nó hoạt động như một proxy cho máy khách, ẩn đi
địa chỉ IP của người dùng. Incapsula, ngồi phân tích dựa trên lưu lượng tin truyền
thống, nó cịn dùng hệ thống danh tiếng với việc sử dụng cơ sở dữ liệu để lọc các
mẫu bị nghi ngờ có thể là một cuộc tấn cơng DDoS [17]. Dễ thấy, hệ thống này gây
ra sự chậm trễ nghiêm trọng trong truyền dẫn. Để hệ thống này làm việc hiệu quả,
mỗi gói tin phải trải qua tất cả các q trình của Incapsula. Cơng ty cũng tư vấn cho
khách hàng của họ rằng tất cả gói tin đến từ bên ngồi đều được chuyển tiếp đi qua
q trình này và được xử lý [17], cho nên có thể ngăn chặn hồn tồn việc tấn cơng
làm tắc nghẽn bộ nhớ và bộ xử lý. Tuy nhiênđiều này không thật sự đúng bởi vì nếu
địa chỉ IP của khách hàng bị kẻ tấn công biết được, kẻ tấn công này có thể tấn cơng
làm ngập bằng cách gửi các gói tin tới địa chỉ IP của khách hàng và đồng thời làm
tắc nghẽn các thiết bị mạng lân cận của họ. Ngồi ra, hệ thống phịng thủ của

25


×