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 hoà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 quá 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 luôn khuyến khích và giúp đỡ tôi trong mọi hoà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 quá trình học, làm và hoà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 hoàn toà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 toá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 xuyên 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 luôn
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 quá 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
quá 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 nguyên 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 toà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 hoàn toà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 nguyên 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 hoàn toà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 toá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 soá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ổ quát 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 ngoà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, ngoà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 quá 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 ngoài đều được chuyển tiếp đi qua
quá trình này và được xử lý [17], cho nên có thể ngăn chặn hoàn toà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ọ. Ngoài ra, hệ thống phòng thủ của

25


×